changeset 64845:583d71cf38e2

(Defining Minor Modes): Explain when init-value can be non-nil.
author Richard M. Stallman <rms@gnu.org>
date Tue, 09 Aug 2005 12:09:14 +0000
parents 054baac75349
children c73bec99da0b
files lispref/modes.texi
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lispref/modes.texi	Tue Aug 09 12:06:59 2005 +0000
+++ b/lispref/modes.texi	Tue Aug 09 12:09:14 2005 +0000
@@ -1373,7 +1373,8 @@
 mode, with @var{doc} as its documentation string.  It also defines a
 variable named @var{mode}, which is set to @code{t} or @code{nil} by
 enabling or disabling the mode.  The variable is initialized to
-@var{init-value}.
+@var{init-value}.  Except in unusual circumstances (see below), this
+value must be @code{nil}.
 
 The string @var{lighter} says what to display in the mode line
 when the mode is enabled; if it is @code{nil}, the mode is not displayed
@@ -1424,6 +1425,14 @@
 variable @code{@var{mode}-hook}.
 @end defmac
 
+  The initial value must be @code{nil} except in cases where (1) the
+mode is preloaded in Emacs, or (2) it is painless to for loading to
+enable the mode even though the user did not request it.  For
+instance, if the mode has no effect unless something else is enabled,
+and will always be loaded by that time, enabling it by default is
+harmless.  But these are unusual circumstances.  Normally, the
+initial value must be @code{nil}.
+
 @findex easy-mmode-define-minor-mode
   The name @code{easy-mmode-define-minor-mode} is an alias
 for this macro.