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)
scheme/unit
(require (for-syntax racket/base)
racket/unit
racket/class
racket/surrogate
"sig.rkt")

View File

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