Function: imenu--cleanup
imenu--cleanup is a byte-compiled function defined in imenu.el.gz.
Signature
(imenu--cleanup &optional ALIST)
Documentation
Find all markers in ALIST and make them point nowhere.
If ALIST is nil (the normal case), use imenu--index-alist.
Non-nil arguments are in recursive calls.
Source Code
;; Defined in /usr/src/emacs/lisp/imenu.el.gz
(defun imenu--cleanup (&optional alist)
"Find all markers in ALIST and make them point nowhere.
If ALIST is nil (the normal case), use `imenu--index-alist'.
Non-nil arguments are in recursive calls."
;; If alist is provided use that list.
;; If not, empty the table of lists already seen
;; and use imenu--index-alist.
(if alist
(setq imenu--cleanup-seen (cons alist imenu--cleanup-seen))
(setq alist imenu--index-alist imenu--cleanup-seen (list alist)))
(when alist
(dolist (item alist)
(cond
((markerp (cdr item)) (set-marker (cdr item) nil))
;; Don't process one alist twice.
((memq (cdr item) imenu--cleanup-seen))
((imenu--subalist-p item) (imenu--cleanup (cdr item)))))
t))