From: Eli Zaretskii Date: Sat, 2 Sep 2000 11:19:55 +0000 (+0000) Subject: (mouse-popup-menubar): Supply the prompt string for X-Git-Tag: emacs-pretest-21.0.90~1843 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5983611033e97a719d8150b6ea3fd1b97cf05e2a;p=emacs.git (mouse-popup-menubar): Supply the prompt string for minor-mode keymaps, if they don't have one. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bfe171fe673..3f2f863dbb9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2000-09-02 Eli Zaretskii + + * mouse.el (mouse-popup-menubar): Supply the prompt string for + minor-mode keymaps, if they don't have one. + 2000-09-02 Eli Zaretskii * eshell/esh-module.el (eval-when-compile): Don't lose if 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