aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mackenzie2020-03-30 19:25:40 +0000
committerAlan Mackenzie2020-03-30 19:25:40 +0000
commit650a664ccd1e801f869f64d441b65db7dcb395f0 (patch)
tree63e6e7f4654af144312c0d86e1c998ad9c3305f9
parentc6e0981b96eaa12c28b70c949ccd6e426c13df4d (diff)
downloademacs-650a664ccd1e801f869f64d441b65db7dcb395f0.tar.gz
emacs-650a664ccd1e801f869f64d441b65db7dcb395f0.zip
Let imenu to work on the menu bar when its list is a single non-nested member.
* lisp/imenu.el (imenu-update-menubar): No longer accept a list of length 1 as being sufficient evidence for a nested list structure. Instead, additionally check whether or not certain elements are atoms.
-rw-r--r--lisp/imenu.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/imenu.el b/lisp/imenu.el
index fb8b3de662b..1949f2f48f7 100644
--- a/lisp/imenu.el
+++ b/lisp/imenu.el
@@ -911,11 +911,15 @@ to `imenu-update-menubar'.")
911 (setq index-alist (imenu--split-submenus index-alist)) 911 (setq index-alist (imenu--split-submenus index-alist))
912 (let* ((menu (imenu--split-menu index-alist 912 (let* ((menu (imenu--split-menu index-alist
913 (buffer-name))) 913 (buffer-name)))
914 (menu1 (imenu--create-keymap (car menu) 914 (menu1 (imenu--create-keymap
915 (cdr (if (< 1 (length (cdr menu))) 915 (car menu)
916 menu 916 (cdr (if (or (< 1 (length (cdr menu)))
917 (car (cdr menu)))) 917 ;; Have we a non-nested single entry?
918 'imenu--menubar-select))) 918 (atom (cdadr menu))
919 (atom (cadadr menu)))
920 menu
921 (car (cdr menu))))
922 'imenu--menubar-select)))
919 (setcdr imenu--menubar-keymap (cdr menu1))))))) 923 (setcdr imenu--menubar-keymap (cdr menu1)))))))
920 924
921(defun imenu--menubar-select (item) 925(defun imenu--menubar-select (item)