# HG changeset patch # User Eli Zaretskii # Date 1224069922 0 # Node ID a0397c75f952a833a8bdc5dfdfcca79cf31b4115 # Parent a962df9a86fb7024db268f801d3ac573041e5ca2 (Major Mode Conventions, Mode Line Variables): `mode-name' need not be a string. xref to "Mode Line Data" for details, and to "Emulating Mode Line" for computing a string value. diff -r a962df9a86fb -r a0397c75f952 doc/lispref/modes.texi --- a/doc/lispref/modes.texi Tue Oct 14 19:01:50 2008 +0000 +++ b/doc/lispref/modes.texi Wed Oct 15 11:25:22 2008 +0000 @@ -317,8 +317,9 @@ @item The major mode command should set the variable @code{mode-name} to the -``pretty'' name of the mode, as a string. This string appears in the -mode line. +``pretty'' name of the mode, usually a string (but see @ref{Mode Line +Data}, for other possible forms). The name of the mode appears +in the mode line. @item @cindex functions in modes @@ -1865,8 +1866,12 @@ @defvar mode-name This buffer-local variable holds the ``pretty'' name of the current -buffer's major mode. Each major mode should set this variable so that the -mode name will appear in the mode line. +buffer's major mode. Each major mode should set this variable so that +the mode name will appear in the mode line. The value does not have +to be a string, but can use any of the data types valid in a mode-line +construct (@pxref{Mode Line Data}). To compute the string that will +identify the mode name in the mode line, use @code{format-mode-line} +(@pxref{Emulating Mode Line}). @end defvar @defvar mode-line-process