summaryrefslogtreecommitdiff
path: root/lisp/mouse.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2009-09-17 01:32:56 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2009-09-17 01:32:56 +0000
commit97b952b7403ff8a0bee316d60f8cbe69d6195d85 (patch)
treef671890dadd69df4970a025c09583c9f5b3df16e /lisp/mouse.el
parentf9af9719571e216119aa40c6a4910f1f91d1dcac (diff)
downloademacs-97b952b7403ff8a0bee316d60f8cbe69d6195d85.tar.gz
(minor-mode-menu-from-indicator): Pay attention
to :minor-mode-function (bug#4455).
Diffstat (limited to 'lisp/mouse.el')
-rw-r--r--lisp/mouse.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 168a82e1742..dd3edbb13ae 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -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)