summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/lispref/ChangeLog4
-rw-r--r--doc/lispref/modes.texi12
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/emacs-lisp/easy-mmode.el30
4 files changed, 31 insertions, 19 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 9379301ea4a..399c07d13f5 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,7 @@
+2010-08-22 Chong Yidong <cyd@stupidchicken.com>
+
+ * modes.texi (Defining Minor Modes): Doc fix (Bug#6880).
+
2010-08-19 Chong Yidong <cyd@stupidchicken.com>
* objects.texi (Bool-Vector Type): Minor definition tweak (Bug#6878).
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 3953da59b93..12f16b67663 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1411,14 +1411,20 @@ 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
in the mode line.
-The optional argument @var{keymap} specifies the keymap for the minor mode.
-It can be a variable name, whose value is the keymap, or it can be an alist
-specifying bindings in this form:
+The optional argument @var{keymap} specifies the keymap for the minor
+mode. If non-@code{nil}, it should be a variable name (whose value is
+a keymap), a keymap, or an alist of the form
@example
(@var{key-sequence} . @var{definition})
@end example
+@noindent
+where each @var{key-sequence} and @var{definition} are arguments
+suitable for passing to @code{define-key} (@pxref{Changing Key
+Bindings}). If @var{keymap} is a keymap or an alist, this also
+defines the variable @code{@var{mode}-map}.
+
The above three arguments @var{init-value}, @var{lighter}, and
@var{keymap} can be (partially) omitted when @var{keyword-args} are
used. The @var{keyword-args} consist of keywords followed by
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 3905bf6db80..45a7cf2c87e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2010-08-22 Chong Yidong <cyd@stupidchicken.com>
+
+ * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix (Bug#6880).
+
2010-08-21 Vinicius Jose Latorre <viniciusjl@ig.com.br>
* whitespace.el: Fix slow cursor movement (Bug#6172). Reported by
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 13e08667839..a48816f99c6 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -86,25 +86,23 @@ replacing its case-insensitive matches with the literal string in LIGHTER."
;;;###autoload
(defmacro define-minor-mode (mode doc &optional init-value lighter keymap &rest body)
"Define a new minor mode MODE.
-This function defines the associated control variable MODE, keymap MODE-map,
-and toggle command MODE.
-
+This defines the control variable MODE and the toggle command MODE.
DOC is the documentation for the mode toggle command.
+
Optional INIT-VALUE is the initial value of the mode's variable.
Optional LIGHTER is displayed in the modeline when the mode is on.
-Optional KEYMAP is the default (defvar) keymap bound to the mode keymap.
- If it is a list, it is passed to `easy-mmode-define-keymap'
- in order to build a valid keymap. It's generally better to use
- a separate MODE-map variable than to use this argument.
-The above three arguments can be skipped if keyword arguments are
-used (see below).
-
-BODY contains code to execute each time the mode is activated or deactivated.
- It is executed after toggling the mode,
- and before running the hook variable `MODE-hook'.
- Before the actual body code, you can write keyword arguments (alternating
- keywords and values). These following keyword arguments are supported (other
- keywords will be passed to `defcustom' if the minor mode is global):
+Optional KEYMAP is the default keymap bound to the mode keymap.
+ If non-nil, it should be a variable name (whose value is a keymap),
+ a keymap, or a list of arguments for `easy-mmode-define-keymap'.
+ If KEYMAP is a keymap or list, this also defines the variable MODE-map.
+
+BODY contains code to execute each time the mode is enabled or disabled.
+ It is executed after toggling the mode, and before running MODE-hook.
+ Before the actual body code, you can write keyword arguments, i.e.
+ alternating keywords and values. These following special keywords
+ are supported (other keywords are passed to `defcustom' if the minor
+ mode is global):
+
:group GROUP Custom group name to use in all generated `defcustom' forms.
Defaults to MODE without the possible trailing \"-mode\".
Don't use this default group name unless you have written a