Closed sorawee closed 3 months ago
Sorry it too me so long to get to this one. I'm not doubting that it happens but I'm not able to make it happen with those steps. I don't suppose you got a stacktrace, did you?
I can still reproduce it with the above steps. Here's the stack trace.
classify-position: called on a color:text<%> whose colorer is stopped.
context...:
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/framework/private/color.rkt:1032:4: classify-position method in text-mixin
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/framework/private/racket.rkt:1500:0: maybe-insert-brace-pair
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wxme/keymap.rkt:739:2: call-function method in keymap%
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wxme/keymap.rkt:511:2: chain-handle-key-event method in keymap%
[repeats 2 more times]
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wxme/keymap.rkt:462:2: handle-key-event method in keymap%
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wxme/editor.rkt:215:2: on-local-char method in editor%
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wxme/editor-canvas.rkt:504:2: on-char method in editor-canvas%
/Users/sorawee/projects/racket/racket/collects/racket/private/more-scheme.rkt:148:2: call-with-break-parameterization
/Users/sorawee/projects/racket/racket/collects/ffi/unsafe/atomic.rkt:73:13
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wx/cocoa/window.rkt:889:4: dispatch-on-char method in window%
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wx/common/queue.rkt:436:6
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wx/common/queue.rkt:487:32
/Users/sorawee/projects/racket/extra-pkgs/gui/gui-lib/mred/private/wx/common/queue.rkt:639:3
[ edit -- oops, too many not
s ]
Oh, this may just be the tip of the iceberg wrt to text mode (as the colorer is disabled), but does this fix it?
$ git diff
diff --git a/gui-lib/framework/private/racket.rkt b/gui-lib/framework/private/racket.rkt
index 9eb88080..751da49c 100644
--- a/gui-lib/framework/private/racket.rkt
+++ b/gui-lib/framework/private/racket.rkt
@@ -1501,7 +1501,8 @@
(define open-parens
(for/list ([x (racket-paren:get-paren-pairs)]) (string-ref (car x) 0)))
(cond
- [(not (preferences:get 'framework:automatic-parens))
+ [(or (not (preferences:get 'framework:automatic-parens))
+ (send text is-stopped?))
(define startpos (send text get-start-position))
(if (and (send text get-overwrite-mode)
(= startpos (send text get-end-position)))
That appears to fix the problem, yes. Thank you!
Steps to reproduce:
#lang
line).Then this error will occur: