From 4a579cf60ff0cbee84130a2de1b3bae8bd7a295a Mon Sep 17 00:00:00 2001 From: John Clements Date: Wed, 4 Dec 2002 20:53:18 +0000 Subject: [PATCH] ... original commit: b30d010e2dc4aee8a6bd537669741bad041add4a --- collects/framework/private/keymap.ss | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/collects/framework/private/keymap.ss b/collects/framework/private/keymap.ss index 206cbc13..dfa0244c 100644 --- a/collects/framework/private/keymap.ss +++ b/collects/framework/private/keymap.ss @@ -269,11 +269,16 @@ #t)] [make-insert-brace-pair - (lambda (brace-pair-str) ; this string must be two characters long! + (lambda (open-brace close-brace) (lambda (edit event) (send edit begin-edit-sequence) - (send edit insert brace-pair-str) - (send edit set-position (max 0 (- (send edit get-start-position) 1))) + (let ([selection-start-box (box 0)] + [selection-end-box (box 0)]) + (send edit get-position selection-start-box selection-end-box) + (send edit set-position (unbox selection-end-box)) + (send edit insert close-brace) + (send edit set-position (unbox selection-start-box)) + (send edit insert open-brace)) (send edit end-edit-sequence)))] [collapse-variable-space @@ -868,12 +873,12 @@ (add "flash-paren-match" flash-paren-match) - (add "insert-()-pair" (make-insert-brace-pair "()")) - (add "insert-[]-pair" (make-insert-brace-pair "[]")) - (add "insert-{}-pair" (make-insert-brace-pair "{}")) - (add "insert-\"\"-pair" (make-insert-brace-pair "\"\"")) - (add "insert-||-pair" (make-insert-brace-pair "||")) - (add "insert-##-pair" (make-insert-brace-pair "##")) + (add "insert-()-pair" (make-insert-brace-pair "(" ")")) + (add "insert-[]-pair" (make-insert-brace-pair "[" "]")) + (add "insert-{}-pair" (make-insert-brace-pair "{" "}")) + (add "insert-\"\"-pair" (make-insert-brace-pair "\"" "\"")) + (add "insert-||-pair" (make-insert-brace-pair "|" "|")) + (add "insert-##-pair" (make-insert-brace-pair "#" "#")) (add "toggle-anchor" toggle-anchor) (add "center-view-on-line" center-view-on-line)