From: Glenn Morris Date: Wed, 1 Feb 2012 08:32:31 +0000 (-0800) Subject: Document locally disabling globalized minor modes in the lispref X-Git-Tag: emacs-pretest-24.0.94~362^2~9 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7a9a2fc6c85fb27a7b7deb60b6de4f7db84b59e8;p=emacs.git Document locally disabling globalized minor modes in the lispref * doc/lispref/modes.texi (Defining Minor Modes): Mention disabling global minor modes on a per-major-mode basis. * etc/NEWS: Clarify entry. --- diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index e2ea774fd48..6a8b7750f0b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2012-02-01 Glenn Morris + + * modes.texi (Defining Minor Modes): + Mention disabling global minor modes on a per-major-mode basis. + 2012-01-31 Chong Yidong * syntax.texi (Parsing Expressions): Clarify intro (Bug#10657). diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 5536006ecbe..6f99ddc3972 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -1521,8 +1521,15 @@ starts, for example by providing a @code{:require} keyword. Use @code{:group @var{group}} in @var{keyword-args} to specify the custom group for the mode variable of the global minor mode. + +When you define a globalized minor mode, you should generally also +define a non-globalized version to toggle the mode on an individual +buffer basis. This allows users to disable a globally enabled minor +mode in a specific major mode if they wish, by deactivating the local +minor mode in the major mode's hook. @end defmac + @node Mode Line Format @section Mode-Line Format @cindex mode line diff --git a/etc/NEWS b/etc/NEWS index 8a588f397cb..73862f6a961 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1290,8 +1290,9 @@ on-the-fly spell checking for comments and strings. *** New hook `change-major-mode-after-body-hook', run by `run-mode-hooks' just before any other mode hooks. -*** Enabled globalized minor modes can be disabled in specific modes, -by running (FOO-mode-hook 0) via a mode hook. +*** Enabled globalized minor modes can be disabled in specific major modes. +If the global mode is global-FOO-mode, then run (FOO-mode -1) in the +major mode's hook, where FOO-mode toggles the mode on a per-buffer basis. +++ *** `define-minor-mode' accepts a new keyword :variable.