From 8aadc03719aeebb35775e6033454f86885d0aade Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 31 Jan 2013 20:58:20 -0600 Subject: [PATCH] more close paren adjustment repairs --- collects/framework/private/color.rkt | 2 ++ collects/tests/framework/racket.rkt | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/collects/framework/private/color.rkt b/collects/framework/private/color.rkt index d9b5349276..5066dfa097 100644 --- a/collects/framework/private/color.rkt +++ b/collects/framework/private/color.rkt @@ -1073,7 +1073,9 @@ added get-regions ;; paren, in which case it returns #f. (define/private (get-close-paren pos) (define-values (a b) (get-token-range pos)) + (define token (classify-position pos)) (cond + [(memq token '(string comment error)) #f] [(or (= a pos) (= b pos)) (define raw-bcs (backward-containing-sexp pos 0)) (define bcs (skip-whitespace raw-bcs 'backward #t)) diff --git a/collects/tests/framework/racket.rkt b/collects/tests/framework/racket.rkt index 97c10901b7..0cd2376a01 100644 --- a/collects/tests/framework/racket.rkt +++ b/collects/tests/framework/racket.rkt @@ -326,6 +326,21 @@ #\] '(["( x)" "" ""] ["( x)" "" ""])) +(test-parens-behavior/full 'close-adjusts-properly-when-inside-a-comment + "[();" "" "" + #\) + '(["[();)" "" ""] + ["[();)" "" ""])) +(test-parens-behavior/full 'close-adjusts-properly-when-inside-an-unclosed-string + "[()\"" "" "" + #\) + '(["[()\")" "" ""] + ["[()\")" "" ""])) +(test-parens-behavior/full 'close-adjusts-properly-when-inside-a-string + "[()\"" "" "\"" + #\) + '(["[()\")" "" "\""] + ["[()\")" "" "\""])) #| for these, the key-event with meta-down doesn't seem to work... maybe a Mac OS issue; and may cause problems with these tests on another platform? .nah. |#