GNU bug report logs -
#4455
23.1.50; Can't turn off auto-fill-mode via mouse-minor-mode-menu
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 16 Sep 2009 21:33:15 -0400
with message-id <jwvr5u6fjbe.fsf-monnier+emacsbugreports <at> gnu.org>
and subject line Re: bug#4455: 23.1.50; Can't turn off auto-fill-mode via mouse-minor-mode-menu
has caused the Emacs bug report #4455,
regarding 23.1.50; Can't turn off auto-fill-mode via mouse-minor-mode-menu
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact help-debbugs <at> gnu.org
immediately.)
--
4455: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4455
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
1. emacs -Q
2. Click mouse-3 over the major mode indicator in the mode line and
select Auto fill from the pop-up menu.
3. Click mouse-1 over "Fill" in the mode line and select "Turn Off[sic]
minor mode" from the pop-up menu.
=> Auto Fill mode remains enabled.
I traced this problem to auto-fill-function from simple.el, which is the
value of cmd in the last when-sexp of popup-menu from mouse.el: since
auto-fill-function is not interactive, (commandp cmd) is nil and the
body of the when-clause, containing a call to cmd, is not evaluated.
But simply making auto-fill-function interactive is not enough, since
auto-fill-function is a no-op. The following redefinition of
auto-fill-function makes step 3 above DTRT, but I suspect it is not the
right fix, since I assume auto-fill-function was meant to be a no-op:
(defun auto-fill-function ()
"Automatically break line at a previous space, in insertion of text."
(interactive)
(auto-fill-mode))
In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
of 2009-09-17 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.10502000
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=local
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
[Message part 3 (message/rfc822, inline)]
> 2. Click mouse-3 over the major mode indicator in the mode line and
> select Auto fill from the pop-up menu.
> 3. Click mouse-1 over "Fill" in the mode line and select "Turn Off[sic]
> minor mode" from the pop-up menu.
> => Auto Fill mode remains enabled.
> I traced this problem to auto-fill-function from simple.el, which is the
> value of cmd in the last when-sexp of popup-menu from mouse.el: since
> auto-fill-function is not interactive, (commandp cmd) is nil and the
> body of the when-clause, containing a call to cmd, is not evaluated.
Thank you for tracking it down. I've installed the patch below which
should fix it.
Stefan
--- mouse.el.~1.357.~ 2009-07-21 17:38:12.000000000 -0400
+++ mouse.el 2009-09-16 21:30:41.000000000 -0400
@@ -158,7 +158,8 @@
(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 @@
(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)
This bug report was last modified 15 years and 330 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.