fixed PR 9062
svn: r7723
This commit is contained in:
parent
bfe7279853
commit
c46aacc0a3
|
@ -19,7 +19,8 @@
|
|||
(import [prefix drscheme:language-configuration: drscheme:language-configuration/internal^]
|
||||
[prefix drscheme:rep: drscheme:rep^]
|
||||
[prefix drscheme:init: drscheme:init^]
|
||||
[prefix drscheme:language: drscheme:language^])
|
||||
[prefix drscheme:language: drscheme:language^]
|
||||
[prefix drscheme:unit: drscheme:unit^])
|
||||
(export drscheme:eval^)
|
||||
|
||||
(define (editor->port-name txt)
|
||||
|
@ -27,7 +28,9 @@
|
|||
[n (send txt get-filename b)])
|
||||
(cond
|
||||
[(or (unbox b) (not n))
|
||||
'unknown]
|
||||
(if (is-a? txt drscheme:unit:definitions-text<%>)
|
||||
(send txt get-port-name-identifier)
|
||||
'unknown)]
|
||||
[else n])))
|
||||
|
||||
(define (traverse-program/multiple language-settings
|
||||
|
|
|
@ -756,8 +756,7 @@ TODO
|
|||
(number? (srcloc-position loc))
|
||||
(number? (srcloc-span loc))))
|
||||
(map (λ (srcloc)
|
||||
(if (equal? (normal-case-path (normalize-path (send definitions-text get-filename)))
|
||||
(normal-case-path (normalize-path (srcloc-source srcloc))))
|
||||
(if (send definitions-text port-name-matches? (srcloc-source srcloc))
|
||||
(make-srcloc definitions-text
|
||||
(srcloc-line srcloc)
|
||||
(srcloc-column srcloc)
|
||||
|
|
|
@ -92,7 +92,9 @@ module browser threading seems wrong.
|
|||
get-tab
|
||||
get-next-settings
|
||||
after-set-next-settings
|
||||
set-needs-execution-message))
|
||||
set-needs-execution-message
|
||||
get-port-name-identifier
|
||||
port-name-matches?))
|
||||
|
||||
(define-struct teachpack-callbacks
|
||||
(get-names ;; settings -> (listof string)
|
||||
|
@ -403,6 +405,20 @@ module browser threading seems wrong.
|
|||
(define/public (get-tab) tab)
|
||||
(define/public (set-tab t) (set! tab t))
|
||||
|
||||
(define port-name-identifier #f)
|
||||
(define/public (get-port-name-identifier)
|
||||
(unless port-name-identifier
|
||||
(set! port-name-identifier (gensym 'unsaved-editor)))
|
||||
port-name-identifier)
|
||||
(define/public (port-name-matches? id)
|
||||
(let ([filename (get-filename)])
|
||||
(or (and (path? id)
|
||||
(path? filename)
|
||||
(equal? (normal-case-path (normalize-path (get-filename)))
|
||||
(normal-case-path (normalize-path id))))
|
||||
(and (symbol? port-name-identifier)
|
||||
(equal? port-name-identifier id)))))
|
||||
|
||||
(inherit get-surrogate set-surrogate)
|
||||
(define/public (set-current-mode mode)
|
||||
(let ([surrogate (drscheme:modes:mode-surrogate mode)])
|
||||
|
|
Loading…
Reference in New Issue
Block a user