aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2009-03-28 13:49:57 +0000
committerChong Yidong <[email protected]>2009-03-28 13:49:57 +0000
commitc986813b273acbeec45cb03210e51644d048235b (patch)
tree027072a56a3a5ed9fef21dedd8f798afa50b5c89 /doc
parent31c9eebb5aeba0e15554b3cf904b4f04102ff7ce (diff)
(Derived Modes): Note that define-derive-mode sets the mode-class
property.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/modes.texi8
1 files changed, 7 insertions, 1 deletions
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 4fa843e674..cd923e8fe4 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -738,7 +738,7 @@ documentation of the major mode.
one. An easy way to do this is to use @code{define-derived-mode}.
@defmac define-derived-mode variant parent name docstring keyword-args@dots{} body@dots{}
-This construct defines @var{variant} as a major mode command, using
+This macro defines @var{variant} as a major mode command, using
@var{name} as the string form of the mode name. @var{variant} and
@var{parent} should be unquoted symbols.
@@ -776,6 +776,12 @@ In addition, you can specify how to override other aspects of
evaluates the forms in @var{body} after setting up all its usual
overrides, just before running the mode hooks.
+If @var{parent} has a non-@code{nil} @code{mode-class} symbol
+property, then @code{define-derived-mode} sets the @code{mode-class}
+property of @var{variant} to the same value. This ensures, for
+example, that if @var{parent} is a special mode, then @var{variant} is
+also a special mode (@pxref{Major Mode Conventions}).
+
You can also specify @code{nil} for @var{parent}. This gives the new
mode no parent. Then @code{define-derived-mode} behaves as described
above, but, of course, omits all actions connected with @var{parent}.