summaryrefslogtreecommitdiff
path: root/lisp/imenu.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-02-22 01:31:14 +0000
committerRichard M. Stallman <rms@gnu.org>1995-02-22 01:31:14 +0000
commit28cd02143a9f257b4e5509aaf430b6448347bd94 (patch)
treec90f4a3d1f94c00d8203165bd70224fa252ec08d /lisp/imenu.el
parenta263fe76bca6823819d7ef6b8b8a6e5a65ee3e35 (diff)
downloademacs-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.el8
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 ()