fixed a bug in define popdown (PR 8083) and a bug in undoing the [ thing (PR 8073)
svn: r3185
This commit is contained in:
parent
f3ecc118f0
commit
c1239c146e
|
@ -604,10 +604,9 @@ module browser threading seems wrong.
|
||||||
(λ (menu editor event)
|
(λ (menu editor event)
|
||||||
(when (is-a? editor text%)
|
(when (is-a? editor text%)
|
||||||
(let* ([canvas (send editor get-canvas)]
|
(let* ([canvas (send editor get-canvas)]
|
||||||
[frame (and canvas (send canvas get-frame))])
|
[frame (and canvas (send canvas get-top-level-window))])
|
||||||
(unless (is-a? frame -frame<%>)
|
(when (is-a? frame -frame<%>)
|
||||||
(let* ([tab (send frame get-current-tab)]
|
(let* ([language-settings (send (send frame get-definitions-text) get-next-settings)]
|
||||||
[language-settings (send (send tab get-definitions-text) get-next-settings)]
|
|
||||||
[new-language (drscheme:language-configuration:language-settings-language language-settings)]
|
[new-language (drscheme:language-configuration:language-settings-language language-settings)]
|
||||||
[capability-info (send new-language capability-value 'drscheme:define-popup)])
|
[capability-info (send new-language capability-value 'drscheme:define-popup)])
|
||||||
(when capability-info
|
(when capability-info
|
||||||
|
@ -1031,7 +1030,8 @@ module browser threading seems wrong.
|
||||||
on-tab-change
|
on-tab-change
|
||||||
enable-evaluation
|
enable-evaluation
|
||||||
disable-evaluation
|
disable-evaluation
|
||||||
get-definitions/interactions-panel-parent))
|
get-definitions/interactions-panel-parent
|
||||||
|
register-capability-menu-item))
|
||||||
|
|
||||||
(define frame-mixin
|
(define frame-mixin
|
||||||
(mixin (drscheme:frame:<%> frame:searchable-text<%> frame:delegate<%> frame:open-here<%>)
|
(mixin (drscheme:frame:<%> frame:searchable-text<%> frame:delegate<%> frame:open-here<%>)
|
||||||
|
|
|
@ -1229,11 +1229,12 @@
|
||||||
;; on the context where it is typed in.
|
;; on the context where it is typed in.
|
||||||
(define (insert-paren text)
|
(define (insert-paren text)
|
||||||
(let* ([pos (send text get-start-position)]
|
(let* ([pos (send text get-start-position)]
|
||||||
[change-to
|
[real-char #\[]
|
||||||
(λ (c)
|
[change-to (λ (c) (set! real-char c))]
|
||||||
(send text insert c pos (+ pos 1)))])
|
[start-pos (send text get-start-position)]
|
||||||
(send text begin-edit-sequence)
|
[end-pos (send text get-end-position)])
|
||||||
(send text insert #\[ pos (send text get-end-position))
|
(send text begin-edit-sequence #f #f)
|
||||||
|
(send text insert "[" start-pos 'same #f)
|
||||||
(when (eq? (send text classify-position pos) 'parenthesis)
|
(when (eq? (send text classify-position pos) 'parenthesis)
|
||||||
(let* ([before-whitespace-pos (send text skip-whitespace pos 'backward #t)]
|
(let* ([before-whitespace-pos (send text skip-whitespace pos 'backward #t)]
|
||||||
[backward-match (send text backward-match before-whitespace-pos 0)])
|
[backward-match (send text backward-match before-whitespace-pos 0)])
|
||||||
|
@ -1320,7 +1321,9 @@
|
||||||
(change-to #\()]))]
|
(change-to #\()]))]
|
||||||
[else
|
[else
|
||||||
(change-to #\()]))))
|
(change-to #\()]))))
|
||||||
(send text end-edit-sequence)))
|
(send text delete pos (+ pos 1) #f)
|
||||||
|
(send text end-edit-sequence)
|
||||||
|
(send text insert real-char start-pos end-pos)))
|
||||||
|
|
||||||
;; beginning-of-sequence? : text number -> boolean
|
;; beginning-of-sequence? : text number -> boolean
|
||||||
;; determines if this position is at the beginning of a sequence
|
;; determines if this position is at the beginning of a sequence
|
||||||
|
|
Loading…
Reference in New Issue
Block a user