adjust online expansion's internals to call set-dirty only at
the end of an edit sequence instead of on every edit inside the edit sequence
This commit is contained in:
parent
a504f77d54
commit
7041ea1d80
|
@ -1085,7 +1085,7 @@
|
||||||
get-tab get-canvas invalidate-bitmap-cache
|
get-tab get-canvas invalidate-bitmap-cache
|
||||||
set-position get-start-position get-end-position
|
set-position get-start-position get-end-position
|
||||||
highlight-range dc-location-to-editor-location
|
highlight-range dc-location-to-editor-location
|
||||||
begin-edit-sequence end-edit-sequence)
|
begin-edit-sequence end-edit-sequence in-edit-sequence?)
|
||||||
|
|
||||||
|
|
||||||
(define/public (fetch-data-to-send)
|
(define/public (fetch-data-to-send)
|
||||||
|
@ -1312,14 +1312,26 @@
|
||||||
|
|
||||||
(values x y w h))
|
(values x y w h))
|
||||||
|
|
||||||
|
(define need-to-dirty? #f)
|
||||||
|
|
||||||
(define/augment (after-insert start end)
|
(define/augment (after-insert start end)
|
||||||
(oc-set-dirty (get-tab))
|
(if (in-edit-sequence?)
|
||||||
|
(set! need-to-dirty? #t)
|
||||||
|
(oc-set-dirty (get-tab)))
|
||||||
(inner (void) after-insert start end))
|
(inner (void) after-insert start end))
|
||||||
|
|
||||||
(define/augment (after-delete start end)
|
(define/augment (after-delete start end)
|
||||||
(oc-set-dirty (get-tab))
|
(if (in-edit-sequence?)
|
||||||
|
(set! need-to-dirty? #t)
|
||||||
|
(oc-set-dirty (get-tab)))
|
||||||
(inner (void) after-delete start end))
|
(inner (void) after-delete start end))
|
||||||
|
|
||||||
|
(define/augment (after-edit-sequence)
|
||||||
|
(when need-to-dirty?
|
||||||
|
(set! need-to-dirty? #f)
|
||||||
|
(oc-set-dirty (get-tab)))
|
||||||
|
(inner (void) after-edit-sequence))
|
||||||
|
|
||||||
(define/augment (after-load-file success?)
|
(define/augment (after-load-file success?)
|
||||||
(when success?
|
(when success?
|
||||||
(oc-set-dirty (get-tab)))
|
(oc-set-dirty (get-tab)))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user