Add :after-hook facility to define-derived-mode.
commit2eb6817ba971184cc109f8530f4b3b38f65650ea
authorAlan Mackenzie <acm@muc.de>
Sun, 8 May 2016 13:24:20 +0000 (8 13:24 +0000)
committerAlan Mackenzie <acm@muc.de>
Sun, 8 May 2016 13:24:20 +0000 (8 13:24 +0000)
treeb23258db9a4d1720583784fd1b90824a45835f91
parent344eb61ab3607827930354589174bb8d270241b9
Add :after-hook facility to define-derived-mode.

This allow a form to be evaluated _after_ a major mode's hooks have been run.
It is needed to solve some problems in CC Mode, including bug #16759 and
bug #23476.

* lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
`:after-hook', and generate the requisite code for it.
(derived-mode-make-docstring): Take account of the possibility of :after-hook.

* lisp/subr.el (delayed-after-hook-forms): New variable.
(run-mode-hooks): As the last thing evaluate the forms in
delayed-after-hook-forms.

* doc/lispref/modes.texi (Derived Modes): Document :after-hook.
(Mode Hooks): Document the new feature in run-mode-hooks.

* etc/NEWS: Note the new feature.
doc/lispref/modes.texi
etc/NEWS
lisp/emacs-lisp/derived.el
lisp/subr.el