original commit: 0ea7279ce43538129cc71427153ffd48f2833854
This commit is contained in:
Robby Findler 2003-08-12 03:16:05 +00:00
parent f2f3a24268
commit 9d53a7c65a

View File

@ -367,17 +367,28 @@
(define/override (on-insert start len)
(begin-edit-sequence)
(super-on-insert start len))
(inherit find-string)
(define/override (after-insert start len)
(unless rewriting
(set! rewriting #t)
(let loop ([pos start])
(let ([str (string (integer->char 160))]
[last-pos (+ start len)])
(let loop ([pos start])
(when (<= pos (+ start len))
(let ([next-pos (find-string str 'forward pos last-pos)])
(when next-pos
(delete next-pos (+ next-pos 1) #f)
(insert " " next-pos next-pos #f)
(loop (+ next-pos 1)))))))
#;
(let loop ([pos start])
(when (<= pos (+ start len))
(let ([char (get-character pos)])
(when (char=? char (integer->char 160))
(delete pos (+ pos 1) #f)
(insert " " pos pos #f))
(loop (+ pos 1))))
(set! rewriting #f)))
(loop (+ pos 1)))))
(set! rewriting #f))
(super-after-insert start len)
(end-edit-sequence))
(super-instantiate ())))