diff options
| author | Alan Mackenzie | 2020-03-30 19:25:40 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2020-03-30 19:25:40 +0000 |
| commit | 650a664ccd1e801f869f64d441b65db7dcb395f0 (patch) | |
| tree | 63e6e7f4654af144312c0d86e1c998ad9c3305f9 | |
| parent | c6e0981b96eaa12c28b70c949ccd6e426c13df4d (diff) | |
| download | emacs-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.el | 14 |
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) |