bug#4455: 23.1.50; Can't turn off auto-fill-mode via mouse-minor-mode-menu
Stephen Berman <[email protected]> Thu, 17 Sep 2009 02:02:16 +0200
| Newsgroups | gmane.emacs.bugs,gmane.emacs.pretest.bugs |
|---|---|
| Message-ID | <[email protected]> |
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