]> git.eshelyaron.com Git - emacs.git/commitdiff
(Coding Conventions): Explain how important it is
authorRichard M. Stallman <rms@gnu.org>
Sat, 14 May 2005 14:02:39 +0000 (14:02 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 14 May 2005 14:02:39 +0000 (14:02 +0000)
that just loading certain files not change Emacs behavior.

lispref/tips.texi

index 538affd74501640428fba46b86ede7760f6dfe15..8ec755f54b16688adb602aea35ddd27ece2d76c6 100644 (file)
@@ -36,6 +36,16 @@ all.
 code intended for widespread use:
 
 @itemize @bullet
+@item
+Simply loading the package should not change Emacs's editing behavior.
+Include a command or commands to enable and disable the feature,
+or to invoke it.
+
+This convention is mandatory for any file that includes custom
+definitions.  If fixing such a file to follow this convention requires
+an incompatible change, go ahead and make the incompatible change;
+don't postpone it.
+
 @item
 Since all global variables share the same name space, and all
 functions share another name space, you should choose a short word to
@@ -201,17 +211,6 @@ way.
 In addition, they should mark the text as a kind of ``link'' so that
 @kbd{mouse-1} will follow it also.  @xref{Links and Mouse-1}.
 
-@item
-When a package provides a modification of ordinary Emacs behavior, it is
-good to include a command to enable and disable the feature, provide a
-command named @code{@var{whatever}-mode} which turns the feature on or
-off, and make it autoload (@pxref{Autoload}).  Design the package so
-that simply loading it has no visible effect---that should not enable
-the feature.@footnote{Consider that the package may be loaded
-arbitrarily by Custom for instance.}  Users will request the feature by
-invoking the command.  It is a good idea to define this command
-as a minor mode.
-
 @cindex unloading packages
 If loading the file adds functions to hooks, define a function
 @code{@var{feature}-unload-hook}, where @var{feature} is the name of