adjust racket mode to restore the wordbreak map when it is removed

This commit is contained in:
Robby Findler 2013-09-06 15:35:38 -05:00
parent 782114ac08
commit 2e49672561
2 changed files with 8 additions and 5 deletions

View File

@ -1,7 +1,7 @@
#lang scheme/base #lang racket/base
(require (for-syntax scheme/base) (require (for-syntax racket/base)
scheme/unit racket/unit
racket/class racket/class
racket/surrogate racket/surrogate
"sig.rkt") "sig.rkt")

View File

@ -1283,8 +1283,11 @@
(define text-mode-mixin (define text-mode-mixin
(mixin (color:text-mode<%> mode:surrogate-text<%>) (-text-mode<%>) (mixin (color:text-mode<%> mode:surrogate-text<%>) (-text-mode<%>)
(define saved-wordbreak-map #f)
(define/override (on-disable-surrogate text) (define/override (on-disable-surrogate text)
(keymap:remove-chained-keymap text keymap) (keymap:remove-chained-keymap text keymap)
(send text set-wordbreak-map saved-wordbreak-map)
(super on-disable-surrogate text)) (super on-disable-surrogate text))
(define/override (on-enable-surrogate text) (define/override (on-enable-surrogate text)
@ -1292,8 +1295,8 @@
(super on-enable-surrogate text) (super on-enable-surrogate text)
(send (send text get-private-racket-container-keymap) chain-to-keymap keymap #f) (send (send text get-private-racket-container-keymap) chain-to-keymap keymap #f)
;; I don't know about these editor flag settings. (set! saved-wordbreak-map (send text get-wordbreak-map))
;; maybe they belong in drracket?
(send text set-load-overwrites-styles #f) (send text set-load-overwrites-styles #f)
(send text set-wordbreak-map wordbreak-map) (send text set-wordbreak-map wordbreak-map)
(let ([bw (box 0)] (let ([bw (box 0)]