]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't clobber docstrings of explicitly-defined mode hook variables
authorPhil Sainty <psainty@orcon.net.nz>
Mon, 16 Oct 2017 10:38:42 +0000 (23:38 +1300)
committerNoam Postavsky <npostavs@gmail.com>
Tue, 31 Oct 2017 12:20:30 +0000 (08:20 -0400)
* lisp/emacs-lisp/derived.el (define-derived-mode):
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
mode hook variable, do not clobber pre-existing docstrings.

lisp/emacs-lisp/derived.el
lisp/emacs-lisp/easy-mmode.el

index 3fa3818526c6ae11e73f3b334669bf28b548c2f8..751291afa8862f3c8d1c2068fe8159f500ab0338 100644 (file)
@@ -203,11 +203,13 @@ See Info node `(elisp)Derived Modes' for more details."
                     parent child docstring syntax abbrev))
 
     `(progn
-       (defvar ,hook nil
-         ,(format "Hook run after entering %s mode.
+       (defvar ,hook nil)
+       (unless (get ',hook 'variable-documentation)
+         (put ',hook 'variable-documentation
+              ,(format "Hook run after entering %s mode.
 No problems result if this variable is not bound.
 `add-hook' automatically binds it.  (This is true for all hook variables.)"
-                  name))
+                       name)))
        (unless (boundp ',map)
         (put ',map 'definition-name ',child))
        (with-no-warnings (defvar ,map (make-sparse-keymap)))
index bf087fc2e9ad3888d7b52b7ca30df0a010bce4f3..ac8dcc69d21ec22a2cfbc0ad62453f523b2e54b2 100644 (file)
@@ -309,11 +309,13 @@ the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
        ;; up-to-here.
        :autoload-end
 
-       (defvar ,hook nil
-         ,(format "Hook run after entering or leaving `%s'.
+       (defvar ,hook nil)
+       (unless (get ',hook 'variable-documentation)
+         (put ',hook 'variable-documentation
+              ,(format "Hook run after entering or leaving `%s'.
 No problems result if this variable is not bound.
 `add-hook' automatically binds it.  (This is true for all hook variables.)"
-                 modefun))
+                       modefun)))
 
        ;; Define the minor-mode keymap.
        ,(unless (symbolp keymap)       ;nil is also a symbol.