diff options
author | Philipp Stephani <phst@google.com> | 2017-10-08 17:25:31 +0200 |
---|---|---|
committer | Philipp Stephani <phst@google.com> | 2017-12-21 21:49:08 +0100 |
commit | 798f07f1509ac973a379db921bd796e0df7f2982 (patch) | |
tree | bef1801ab4e29f6b2f56311a9a2e11c9cddbce18 | |
parent | ad2a47ce83c5c6fada96706a0e596ecc79d77696 (diff) | |
download | emacs-798f07f1509ac973a379db921bd796e0df7f2982.tar.gz |
Document that mode commands should be idempotent.
* doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
Conventions): Document that the mode commands should be idempotent.
-rw-r--r-- | doc/lispref/modes.texi | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index bd94aeadf15..1a601baee86 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -314,6 +314,11 @@ Data}, for other possible forms). The name of the mode appears in the mode line. @item +Calling the major mode command twice in direct succession should not +fail and should do the same thing as calling the command only once. +In other words, the major mode command should be idempotent. + +@item @cindex functions in modes Since all global names are in the same name space, all the global variables, constants, and functions that are part of the mode should @@ -1412,6 +1417,10 @@ a minor mode in a mode hook is a little uglier: @noindent However, this is not very commonly done. + Enabling or disabling a minor mode twice in direct succession should +not fail and should do the same thing as enabling or disabling it only +once. In other words, the minor mode command should be idempotent. + @item Add an element to @code{minor-mode-alist} for each minor mode (@pxref{Definition of minor-mode-alist}), if you want to indicate the |