# HG changeset patch # User Richard M. Stallman # Date 793416674 0 # Node ID 8cbc8846b19bccd6d6daf7029975a3ef78533f34 # Parent 4443f78a2117954599f600ca93296668379008a8 (imenu--cleanup): Set alist to its default just once, at the beginning. Don't recurse on a cdr which is nil. diff -r 4443f78a2117 -r 8cbc8846b19b lisp/imenu.el --- a/lisp/imenu.el Wed Feb 22 01:30:19 1995 +0000 +++ b/lisp/imenu.el Wed Feb 22 01:31:14 1995 +0000 @@ -488,16 +488,18 @@ ;; 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 ()