From 5840bea8f66ec252eb90030ca66657641b994dd6 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 6 Oct 2005 19:47:43 +0000 Subject: [PATCH] bug fix where io would get syntax colored svn: r1004 --- collects/drscheme/private/rep.ss | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/collects/drscheme/private/rep.ss b/collects/drscheme/private/rep.ss index c7ac0aa6fc..77f37f0f8f 100644 --- a/collects/drscheme/private/rep.ss +++ b/collects/drscheme/private/rep.ss @@ -737,17 +737,21 @@ TODO (define/augment (after-insert start len) (inner (void) after-insert start len) (cond - [(in-edit-sequence?) (set! had-an-insert? (cons start len))] + [(in-edit-sequence?) + (set! had-an-insert (cons (cons start len) had-an-insert))] [else (update-after-insert)])) - (define had-an-insert? #f) - - (define/augment (on-edit-sequence) - (set! had-an-insert? #f)) + ;; private field + (define had-an-insert '()) (define/augment (after-edit-sequence) - (when had-an-insert? - (update-after-insert (car had-an-insert?) (cdr had-an-insert?)))) + (inner (void) after-edit-sequence) + (let ([to-clean had-an-insert]) + (set! had-an-insert '()) + (for-each + (lambda (pr) + (update-after-insert (car pr) (cdr pr))) + to-clean))) (define/private (update-after-insert start len) (unless inserting-prompt? @@ -765,7 +769,6 @@ TODO (when (space . > . max-space) (let ([to-delete-end (+ start (- space max-space))]) (delete/io start to-delete-end)))))) - (set! prompt-position (get-unread-start-point)) (reset-region prompt-position 'end)))