Function: imenu--create-keymap

imenu--create-keymap is a byte-compiled function defined in imenu.el.gz.

Signature

(imenu--create-keymap TITLE ALIST &optional CMD)

Source Code

;; Defined in /usr/src/emacs/lisp/imenu.el.gz
(defun imenu--create-keymap (title alist &optional cmd)
  `(keymap ,title
           ,@(mapcar
              (if imenu-allow-duplicate-menu-items
                  (lambda (item)
                    `(,(car item)
                      ,(car item)
                      ,@(cond
                         ((imenu--subalist-p item)
                          (imenu--create-keymap (car item) (cdr item) cmd))
                         (t
                          (lambda () (interactive)
                            (if cmd (funcall cmd item) item))))))
                (lambda (item)
                  `(,(intern (car item))
                    ,(car item)
                    ,@(cond
                       ((imenu--subalist-p item)
                        (imenu--create-keymap (car item) (cdr item) cmd))
                       (t
                        (lambda () (interactive)
                          (if cmd (funcall cmd item) item)))))))
              (remq nil alist))))