diff options
author | Ken Manheimer <ken.manheimer@gmail.com> | 2011-03-29 14:26:01 -0400 |
---|---|---|
committer | Ken Manheimer <ken.manheimer@gmail.com> | 2011-03-29 14:26:01 -0400 |
commit | d806ab682a8e914345db3f2eede292f85745c98c (patch) | |
tree | 1c92f7e126958fe72a6aca21e966a0e5a1bc006a /lisp/allout.el | |
parent | 94eab1c84d9862cb56db2f610362e33107d75774 (diff) | |
download | emacs-d806ab682a8e914345db3f2eede292f85745c98c.tar.gz |
* allout.el (allout-hide-by-annotation, allout-flag-region): Reduce
possibility of overlay leakage by making them volatile.
* allout-widgets.el (allout-widgets-tally): Define as nil so the hash is
not shared between buffers. Mode initialization is responsible for giving
it a useful starting value.
(allout-item-span): Reduce possibility of overlay leakage by making them
volatile.
(allout-widgets-count-buttons-in-region): Add diagnostic function for
tracking down overlay leaks.
Diffstat (limited to 'lisp/allout.el')
-rw-r--r-- | lisp/allout.el | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/allout.el b/lisp/allout.el index 3fb8ed7ccd5..736ec42718b 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -4489,8 +4489,9 @@ Topic exposure is marked with text-properties, to be used by ;; advance to just after end of this annotation: (setq next (allout-next-single-char-property-change (point) 'allout-was-hidden nil end)) - (overlay-put (make-overlay prev next nil 'front-advance) - 'category 'allout-exposure-category) + (let ((o (make-overlay prev next nil 'front-advance))) + (overlay-put o 'category 'allout-exposure-category) + (overlay-put o 'evaporate t)) (allout-deannotate-hidden prev next) (setq prev next) (if next (goto-char next))))) |