emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 343b293: Fix imenu--generic-function after fix for


From: Filipp Gunbin
Subject: [Emacs-diffs] master 343b293: Fix imenu--generic-function after fix for Bug#32024.
Date: Wed, 18 Jul 2018 09:12:21 -0400 (EDT)

branch: master
commit 343b29381cc53d53b1a2c1fdfacf0f5c4761f505
Author: Filipp Gunbin <address@hidden>
Commit: Filipp Gunbin <address@hidden>

    Fix imenu--generic-function after fix for Bug#32024.
    
    * lisp/imenu.el (imenu--generic-function): Restore returning of nconc
      result from the function.  Move filtering out empty menus so it is
      done before removing dummy element and splicing main element into
      index-alist.
---
 lisp/imenu.el | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/lisp/imenu.el b/lisp/imenu.el
index edca51e..7285b10 100644
--- a/lisp/imenu.el
+++ b/lisp/imenu.el
@@ -832,15 +832,14 @@ depending on PATTERNS."
     (dolist (item index-alist)
       (when (listp item)
        (setcdr item (sort (cdr item) 'imenu--sort-by-position))))
-    (let ((main-element (assq nil index-alist)))
-      (nconc (delq main-element (delq 'dummy index-alist))
-             (cdr main-element)))
     ;; Remove any empty menus.  That can happen because of skipping
     ;; things inside comments or strings.
-    (when (consp (car index-alist))
-      (setq index-alist  (cl-delete-if-not
-                          (lambda (it) (cdr it))
-                          index-alist)))))
+    (setq index-alist (cl-delete-if
+                       (lambda (it) (and (consp it) (null (cdr it))))
+                       index-alist))
+    (let ((main-element (assq nil index-alist)))
+      (nconc (delq main-element (delq 'dummy index-alist))
+             (cdr main-element)))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]