summaryrefslogtreecommitdiff
path: root/lisp/allout.el
diff options
context:
space:
mode:
authorKen Manheimer <ken.manheimer@gmail.com>2011-03-29 14:26:01 -0400
committerKen Manheimer <ken.manheimer@gmail.com>2011-03-29 14:26:01 -0400
commitd806ab682a8e914345db3f2eede292f85745c98c (patch)
tree1c92f7e126958fe72a6aca21e966a0e5a1bc006a /lisp/allout.el
parent94eab1c84d9862cb56db2f610362e33107d75774 (diff)
downloademacs-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.el5
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)))))