emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-26 3e7ebbe: Don't clobber docstrings of explicitly-d


From: Noam Postavsky
Subject: [Emacs-diffs] emacs-26 3e7ebbe: Don't clobber docstrings of explicitly-defined mode hook variables
Date: Tue, 31 Oct 2017 08:44:15 -0400 (EDT)

branch: emacs-26
commit 3e7ebbe1bd5d33476190c789d17e4dd2d5f1bdfb
Author: Phil Sainty <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Don't clobber docstrings of explicitly-defined mode hook variables
    
    * 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    | 8 +++++---
 lisp/emacs-lisp/easy-mmode.el | 8 +++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/lisp/emacs-lisp/derived.el b/lisp/emacs-lisp/derived.el
index 3fa3818..751291a 100644
--- a/lisp/emacs-lisp/derived.el
+++ b/lisp/emacs-lisp/derived.el
@@ -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)))
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index bf087fc..ac8dcc6 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]