]> git.eshelyaron.com Git - emacs.git/commitdiff
(imenu--create-keymap-2): Build menu with menu-item
authorDave Love <fx@gnu.org>
Mon, 23 Oct 2000 17:24:54 +0000 (17:24 +0000)
committerDave Love <fx@gnu.org>
Mon, 23 Oct 2000 17:24:54 +0000 (17:24 +0000)
using :key-sequence, making it much more usable.  Use nconc, not
append.
(imenu--create-keymap-1): Avoid append.

lisp/ChangeLog
lisp/imenu.el

index 78897ee5daafe64fc975ebfbc41fa3de697c5634..c85834eaf22c93474f366ccf756d3d55a5c34e3c 100644 (file)
@@ -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>
index eb7dc042e68a5cf782fc3d92ad2cee320ba2874d..1457f6f861ca87d84e4938c9e33a3efea359ee88 100644 (file)
@@ -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."