diff options
author | Richard M. Stallman <rms@gnu.org> | 1995-02-22 01:31:14 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1995-02-22 01:31:14 +0000 |
commit | 28cd02143a9f257b4e5509aaf430b6448347bd94 (patch) | |
tree | c90f4a3d1f94c00d8203165bd70224fa252ec08d /lisp/imenu.el | |
parent | a263fe76bca6823819d7ef6b8b8a6e5a65ee3e35 (diff) | |
download | emacs-28cd02143a9f257b4e5509aaf430b6448347bd94.tar.gz |
(imenu--cleanup): Set alist to its default just once, at the beginning.
Don't recurse on a cdr which is nil.
Diffstat (limited to 'lisp/imenu.el')
-rw-r--r-- | lisp/imenu.el | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/imenu.el b/lisp/imenu.el index aa4dd433dbe..f35116d840c 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el @@ -488,16 +488,18 @@ or 'imenu-create-index-function") ;; Sets the markers in imenu--index-alist ;; point nowhere. ;; if alist is provided use that list. - (and imenu--index-alist + (or alist + (setq alist imenu--index-alist)) + (and alist (mapcar (function (lambda (item) (cond ((markerp (cdr item)) (set-marker (cdr item) nil)) - ((listp (cdr item)) + ((consp (cdr item)) (imenu--cleanup (cdr item)))))) - (if alist alist imenu--index-alist)) + alist) t)) (defun imenu-default-create-index-function () |