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
This commit is contained in:
Robby Findler 2013-08-17 07:52:00 -05:00
parent 00e62bc983
commit aa6c0987b1

View File

@ -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