]> git.eshelyaron.com Git - emacs.git/commitdiff
(minor-mode-menu-from-indicator): Pay attention
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 17 Sep 2009 01:32:56 +0000 (01:32 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 17 Sep 2009 01:32:56 +0000 (01:32 +0000)
to :minor-mode-function (bug#4455).

lisp/ChangeLog
lisp/mouse.el

index df2c734a3413414c62f76dc50aab5f168c0a146d..19f5526a78649a43ea4c7e9751f14a8862ee9714 100644 (file)
@@ -1,3 +1,8 @@
+2009-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * mouse.el (minor-mode-menu-from-indicator): Pay attention
+       to :minor-mode-function (bug#4455).
+
 2009-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * startup.el (command-line): Initialize the window-system after
index 168a82e1742943173bfd96e634b15a40dbda4f33..dd3edbb13ae319c04540118a02ce448b203399bc 100644 (file)
@@ -158,7 +158,8 @@ items `Turn Off' and `Help'."
    (list (completing-read
          "Minor mode indicator: "
          (describe-minor-mode-completion-table-for-indicator))))
-  (let ((minor-mode (lookup-minor-mode-from-indicator indicator)))
+  (let* ((minor-mode (lookup-minor-mode-from-indicator indicator))
+         (mm-fun (or (get minor-mode :minor-mode-function) minor-mode)))
     (unless minor-mode (error "Cannot find minor mode for `%s'" indicator))
     (let* ((map (cdr-safe (assq minor-mode minor-mode-map-alist)))
            (menu (and (keymapp map) (lookup-key map [menu-bar]))))
@@ -167,10 +168,10 @@ items `Turn Off' and `Help'."
                 (mouse-menu-non-singleton menu)
              `(keymap
                 ,indicator
-                (turn-off menu-item "Turn Off minor mode" ,minor-mode)
+                (turn-off menu-item "Turn Off minor mode" ,mm-fun)
                 (help menu-item "Help for minor mode"
                       (lambda () (interactive)
-                        (describe-function ',minor-mode))))))
+                        (describe-function ',mm-fun))))))
       (popup-menu menu))))
 
 (defun mouse-minor-mode-menu (event)