Function: allout-widgets-additions-processor
allout-widgets-additions-processor is a byte-compiled function defined
in allout-widgets.el.gz.
Signature
(allout-widgets-additions-processor CHANGES)
Documentation
Widgetize and adjust items tracking allout outline structure additions.
Dispatched by allout-widgets-post-command-business in response to
:added entries recorded by allout-widgets-additions-recorder.
Source Code
;; Defined in /usr/src/emacs/lisp/allout-widgets.el.gz
;;;_ > allout-widgets-additions-processor (changes)
(defun allout-widgets-additions-processor (changes)
"Widgetize and adjust items tracking allout outline structure additions.
Dispatched by `allout-widgets-post-command-business' in response to
:added entries recorded by `allout-widgets-additions-recorder'."
(save-excursion
(let (handled
covered)
(dolist (change changes)
(let ((from (cadr change))
bucket
(to (caddr change)))
(if (< to from) (setq bucket to to from from bucket))
;; have we already handled exposure changes in this region?
(setq handled (allout-range-overlaps from to handled)
covered (car handled)
handled (cadr handled))
(when (not covered)
(goto-char from)
;; Prior sibling and parent can both be affected.
(if (allout-ascend)
(allout-redecorate-visible-subtree
(allout-get-or-create-item-widget 'redecorate)))
(if (< (point) from)
(goto-char from))
(while (and (< (point) to) (not (eobp)))
(allout-beginning-of-current-line)
(allout-redecorate-visible-subtree
(allout-get-or-create-item-widget))
(allout-next-visible-heading 1))
(if (> (point) to)
;; subtree may be well beyond to - incorporate in ranges:
(setq handled (allout-range-overlaps from (point) handled)
covered (car handled)
handled (cadr handled)))))))))