From fce4cbad3a6dcd68b182a7bcf9dd38df2d92356e Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 17 Jan 2013 15:38:15 -0600 Subject: [PATCH] loosen slightly the requirements for changing existing chars in the c:x;r;a keystroke --- collects/framework/private/dir-chars.rkt | 7 ++++++- collects/framework/private/keymap.rkt | 10 +++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/collects/framework/private/dir-chars.rkt b/collects/framework/private/dir-chars.rkt index 2c75ae73fb..e5e195cf58 100644 --- a/collects/framework/private/dir-chars.rkt +++ b/collects/framework/private/dir-chars.rkt @@ -1,6 +1,7 @@ #lang racket/base (require racket/list) (provide adjustable-chars + double-barred-chars up-chars dn-chars lt-chars @@ -36,4 +37,8 @@ (define adjustable-chars (remove-duplicates - (append up-chars dn-chars lt-chars rt-chars))) \ No newline at end of file + (append up-chars dn-chars lt-chars rt-chars))) + +(define double-barred-chars + (remove* '(#\+ #\- #\|) + adjustable-chars)) \ No newline at end of file diff --git a/collects/framework/private/keymap.rkt b/collects/framework/private/keymap.rkt index 4d8dc7a73a..1ebe295969 100644 --- a/collects/framework/private/keymap.rkt +++ b/collects/framework/private/keymap.rkt @@ -1506,10 +1506,10 @@ (define dn (xy->pos t x (+ y 1))) (define lt (xy->pos t (- x 1) y)) (define rt (xy->pos t (+ x 1) y)) - (define i-up? (and (i? t up) (member c up-chars))) - (define i-dn? (and (i? t dn) (member c dn-chars))) - (define i-lt? (and (i? t lt) (member c lt-chars))) - (define i-rt? (and (i? t rt) (member c rt-chars))) + (define i-up? (and (i? t up) (or (member c up-chars) (member c double-barred-chars)))) + (define i-dn? (and (i? t dn) (or (member c dn-chars) (member c double-barred-chars)))) + (define i-lt? (and (i? t lt) (or (member c lt-chars) (member c double-barred-chars)))) + (define i-rt? (and (i? t rt) (or (member c rt-chars) (member c double-barred-chars)))) (cond [(and i-up? i-dn? i-lt? i-rt?) (set t pos "╬")] [(and i-dn? i-lt? i-rt?) (set t pos "╦")] @@ -1526,7 +1526,7 @@ (when i-dn? (loop dn)) (when i-lt? (loop lt)) (when i-rt? (loop rt)))) - (send t end-edit-sequence))) + (send t end-edit-sequence))) (define (scan-for-start-pos t pos) (define-values (x y) (pos->xy t pos))