diff --git a/pkgs/gui-pkgs/gui-lib/framework/private/racket.rkt b/pkgs/gui-pkgs/gui-lib/framework/private/racket.rkt index c34c80c7da..86f0e63503 100644 --- a/pkgs/gui-pkgs/gui-lib/framework/private/racket.rkt +++ b/pkgs/gui-pkgs/gui-lib/framework/private/racket.rkt @@ -1787,7 +1787,7 @@ (if (and (send text get-overwrite-mode) (= start-pos end-pos)) (send text insert "[" start-pos (add1 start-pos) #f) (send text insert "[" start-pos 'same #f)) - (when (eq? (send text classify-position pos) 'parenthesis) + (when (equal? (send text classify-position pos) 'parenthesis) (let* ([before-whitespace-pos (send text skip-whitespace pos 'backward #t)] [keyword/distance (find-keyword-and-distance before-whitespace-pos text)]) (cond @@ -1852,9 +1852,10 @@ 0)]) (cond [(and second-backwards-match2 - (eq? (send text classify-position second-backwards-match) - ;;; otherwise, this isn't a `let loop', it is a regular let! - 'symbol) + (member (send text classify-position second-backwards-match) + ;;; otherwise, this isn't a `let loop', + ;;; it is a regular let + '(symbol keyword)) (member "let" letrec-like-forms) (text-between-equal? "let" text @@ -1875,7 +1876,7 @@ [(and (preferences:get 'framework:automatic-parens) (not (in-string/comment? text))) (send text insert real-char start-pos start-pos) - (when (eq? (send text classify-position start-pos) 'parenthesis) + (when (equal? (send text classify-position start-pos) 'parenthesis) (send text insert (case real-char [(#\() #\)] [(#\[) #\]] diff --git a/pkgs/gui-pkgs/gui-test/framework/tests/racket.rkt b/pkgs/gui-pkgs/gui-test/framework/tests/racket.rkt index fa3f9022b2..a85ab4b0a8 100644 --- a/pkgs/gui-pkgs/gui-test/framework/tests/racket.rkt +++ b/pkgs/gui-pkgs/gui-test/framework/tests/racket.rkt @@ -81,6 +81,7 @@ (test-magic-square-bracket 'let2 "(let (" "(let ([") (test-magic-square-bracket 'let3 "(let loop " "(let loop (") (test-magic-square-bracket 'let3 "(let loop (" "(let loop ([") +(test-magic-square-bracket 'let4 "(let rec (" "(let rec ([") (test-magic-square-bracket 'cond1 "(cond " "(cond [") (test-magic-square-bracket 'cond2 "(cond [" "(cond [(") (test-magic-square-bracket 'with-syntax1 "(syntax-case x " "(syntax-case x (")