From aa6c0987b1e7767f1bfe02be3ca10e1cc193491a Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sat, 17 Aug 2013 07:52:00 -0500 Subject: [PATCH] on second thought 5aeca646 is probably wrong and this is probably the right fix The keys.ss framework test suite seems to confirm this fix, altho I'm not sure how exactly. Also tweak the stress test original commit: 9888c7f496bbb48978f46cf91fe2638a93b2c68b --- pkgs/gui-pkgs/gui-lib/framework/private/color.rkt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/gui-pkgs/gui-lib/framework/private/color.rkt b/pkgs/gui-pkgs/gui-lib/framework/private/color.rkt index 6dfdd9fd..01d54b9c 100644 --- a/pkgs/gui-pkgs/gui-lib/framework/private/color.rkt +++ b/pkgs/gui-pkgs/gui-lib/framework/private/color.rkt @@ -472,16 +472,15 @@ added get-regions (set-lexer-state-up-to-date?! ls #f) (update-lexer-state-observers) (queue-callback (λ () (colorer-callback)) #f))) - ((>= edit-start-pos (lexer-state-invalid-tokens-start ls)) + ((and (>= edit-start-pos (lexer-state-invalid-tokens-start ls)) + (> edit-start-pos (lexer-state-current-pos ls))) (let-values (((tok-start tok-end valid-tree invalid-tree orig-data) (split-backward ls (lexer-state-invalid-tokens ls) edit-start-pos))) (set-lexer-state-invalid-tokens! ls invalid-tree) (set-lexer-state-invalid-tokens-start! ls (+ (lexer-state-invalid-tokens-start ls) tok-end change-length)) - (set-lexer-state-invalid-tokens-mode! ls (and orig-data (data-lexer-mode orig-data))) - (when (<= edit-start-pos (lexer-state-current-pos ls)) - (set-lexer-state-current-pos! ls (+ (lexer-state-current-pos ls) change-length))))) + (set-lexer-state-invalid-tokens-mode! ls (and orig-data (data-lexer-mode orig-data))))) ((> edit-start-pos (lexer-state-current-pos ls)) (set-lexer-state-invalid-tokens-start! ls