summaryrefslogtreecommitdiff
path: root/lisp/mouse.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2000-09-02 11:19:55 +0000
committerEli Zaretskii <eliz@gnu.org>2000-09-02 11:19:55 +0000
commit5983611033e97a719d8150b6ea3fd1b97cf05e2a (patch)
tree53b2b5f25bf5239fe8dcc30ef242018ff7edc6e7 /lisp/mouse.el
parent5514ba5c2a30f91458afa711499be96e970db7bd (diff)
downloademacs-5983611033e97a719d8150b6ea3fd1b97cf05e2a.tar.gz
(mouse-popup-menubar): Supply the prompt string for
minor-mode keymaps, if they don't have one.
Diffstat (limited to 'lisp/mouse.el')
-rw-r--r--lisp/mouse.el28
1 files changed, 23 insertions, 5 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 8cc878d2f90..502f8e02c60 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -170,13 +170,31 @@ not it is actually displayed."
(let* ((local-menu (and (current-local-map)
(lookup-key (current-local-map) [menu-bar])))
(global-menu (lookup-key global-map [menu-bar]))
+ ;; If a keymap doesn't have a prompt string (a lazy
+ ;; programmer didn't bother to provide one), create it and
+ ;; insert it into the keymap; each keymap gets its own
+ ;; prompt. This is required for non-toolkit versions to
+ ;; display non-empty menu pane names.
+ (minor-mode-menus
+ (mapcar
+ (function
+ (lambda (menu)
+ (let* ((minor-mode (car menu))
+ (menu (cdr menu))
+ (title-or-map (cadr menu)))
+ (or (stringp title-or-map)
+ (setq menu
+ (cons 'keymap
+ (cons (concat
+ (capitalize (subst-char-in-string
+ ?- ?\ (symbol-name
+ minor-mode)))
+ " Menu")
+ (cdr menu)))))
+ menu)))
+ (minor-mode-key-binding [menu-bar])))
(local-title-or-map (and local-menu (cadr local-menu)))
- (minor-mode-menus (mapcar #'cdr (minor-mode-key-binding [menu-bar])))
(global-title-or-map (cadr global-menu)))
- ;; If the keymaps don't have prompt string (a lazy programmer
- ;; didn't bother to provide one), create it and insert it into the
- ;; keymaps; each keymap gets its own prompt. This is required for
- ;; non-toolkit versions to display non-empty menu pane names.
(or (null local-menu)
(stringp local-title-or-map)
(setq local-menu (cons 'keymap