Always defvar a mode's hook and provide a docstring.

* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
* lisp/emacs-lisp/derived.el (define-derived-mode): Always defvar the
mode hook and provide a docstring.
This commit is contained in:
Stefan Monnier 2013-05-27 12:12:52 -04:00
parent 25c8401c40
commit 7f17cc40ef
3 changed files with 15 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2013-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/easy-mmode.el (define-minor-mode):
* emacs-lisp/derived.el (define-derived-mode): Always defvar the
mode hook and provide a docstring.
2013-05-27 Alan Mackenzie <acm@muc.de>
Remove spurious syntax-table text properties inserted by C-y.

View file

@ -192,12 +192,11 @@ See Info node `(elisp)Derived Modes' for more details."
parent child docstring syntax abbrev))
`(progn
(unless (get ',hook 'variable-documentation)
(put ',hook 'variable-documentation
(purecopy ,(format "Hook run when entering %s mode.
(defvar ,hook nil
,(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)))

View file

@ -296,6 +296,12 @@ 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'.
No problems result if this variable is not bound.
`add-hook' automatically binds it. (This is true for all hook variables.)"
mode))
;; Define the minor-mode keymap.
,(unless (symbolp keymap) ;nil is also a symbol.
`(defvar ,keymap-sym