mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
(imenu--create-keymap-2): Build menu with menu-item
using :key-sequence, making it much more usable. Use nconc, not append. (imenu--create-keymap-1): Avoid append.
This commit is contained in:
parent
379b70e730
commit
0dcf8835e3
2 changed files with 19 additions and 14 deletions
|
|
@ -4,6 +4,11 @@
|
|||
|
||||
2000-10-23 Dave Love <fx@gnu.org>
|
||||
|
||||
* imenu.el (imenu--create-keymap-2): Build menu with menu-item
|
||||
using :key-sequence, making it much more usable. Use nconc, not
|
||||
append.
|
||||
(imenu--create-keymap-1): Avoid append.
|
||||
|
||||
* textmodes/refill.el: Remove bits redundant with define-minor-mode.
|
||||
|
||||
2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
|
||||
|
|
|
|||
|
|
@ -631,26 +631,26 @@ as a way for the user to ask to recalculate the buffer's index alist."
|
|||
(defun imenu--create-keymap-2 (alist counter &optional commands)
|
||||
(let ((map nil))
|
||||
(mapcar
|
||||
(function
|
||||
(lambda (item)
|
||||
(cond
|
||||
((imenu--subalist-p item)
|
||||
(append (list (setq counter (1+ counter))
|
||||
(car item) 'keymap (car item))
|
||||
(imenu--create-keymap-2 (cdr item) (+ counter 10) commands)))
|
||||
(t
|
||||
(let ((end (if commands `(lambda () (interactive)
|
||||
(imenu--menubar-select ',item))
|
||||
(cons '(nil) item))))
|
||||
(cons (car item)
|
||||
(cons (car item) end)))))))
|
||||
(lambda (item)
|
||||
(cond
|
||||
((imenu--subalist-p item)
|
||||
(nconc (list (setq counter (1+ counter))
|
||||
(car item) 'keymap (car item))
|
||||
(imenu--create-keymap-2 (cdr item) (+ counter 10) commands)))
|
||||
(t
|
||||
(let ((end (if commands `(lambda ()
|
||||
(interactive)
|
||||
(imenu--menubar-select ',item))
|
||||
(cons '(nil) item))))
|
||||
(cons (car item)
|
||||
(list 'menu-item (car item) end :key-sequence nil))))))
|
||||
alist)))
|
||||
|
||||
;; If COMMANDS is non-nil, make a real keymap
|
||||
;; with a real command used as the definition.
|
||||
;; If it is nil, make something suitable for x-popup-menu.
|
||||
(defun imenu--create-keymap-1 (title alist &optional commands)
|
||||
(append (list 'keymap title) (imenu--create-keymap-2 alist 0 commands)))
|
||||
(cons 'keymap (cons title (imenu--create-keymap-2 alist 0 commands))))
|
||||
|
||||
(defun imenu--in-alist (str alist)
|
||||
"Check whether the string STR is contained in multi-level ALIST."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue