Fix documentation of :predicate in 'define-globalized-minor-mode'

* doc/lispref/modes.texi (Defining Minor Modes):
* lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
Document that :predicate creates a customizable user option.
(Bug#64048)
This commit is contained in:
Eli Zaretskii 2023-06-18 08:50:54 +03:00
parent 02f0be0301
commit b3f11e94fa
2 changed files with 13 additions and 7 deletions

View file

@ -1888,11 +1888,14 @@ user option called the same as the global mode variable, but with
@code{-modes} instead of @code{-mode} at the end, i.e.@:
@code{@var{global-mode}s}. This variable will be used in a predicate
function that determines whether the minor mode should be activated in
a particular major mode. Valid values of @code{:predicate} include
@code{t} (use in all major modes), @code{nil} (don't use in any major
modes), or a list of mode names, optionally preceded with @code{not}
(as in @w{@code{(not @var{mode-name} @dots{})}}). These elements can
be mixed, as shown in the following examples.
a particular major mode, and users can customize the value of the
variable to control the modes in which the minor mode will be switched
on. Valid values of @code{:predicate} (and thus valid values of the
user option it creates) include @code{t} (use in all major modes),
@code{nil} (don't use in any major modes), or a list of mode names,
optionally preceded with @code{not} (as in @w{@code{(not
@var{mode-name} @dots{})}}). These elements can be mixed, as shown in
the following examples.
@example
(c-mode (not mail-mode message-mode) text-mode)

View file

@ -450,14 +450,17 @@ TURN-ON is a function that will be called with no args in every buffer
and that should try to turn MODE on if applicable for that buffer.
Each of KEY VALUE is a pair of CL-style keyword arguments.
The :predicate argument specifies in which major modes should the
The :predicate key specifies in which major modes should the
globalized minor mode be switched on. The value should be t (meaning
switch on the minor mode in all major modes), nil (meaning don't
switch on in any major mode), a list of modes (meaning switch on only
in those modes and their descendants), or a list (not MODES...),
meaning switch on in any major mode except MODES. The value can also
mix all of these forms, see the info node `Defining Minor Modes' for
details.
details. The :predicate key causes the macro to create a user option
named the same as MODE, but ending with \"-modes\" instead of \"-mode\".
That user option can then be used to customize in which modes this
globalized minor mode will be switched on.
As the minor mode defined by this function is always global, any
:global keyword is ignored.
Other keywords have the same meaning as in `define-minor-mode',