summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2016-05-08 13:24:20 +0000
committerAlan Mackenzie <acm@muc.de>2016-05-08 13:24:20 +0000
commit2eb6817ba971184cc109f8530f4b3b38f65650ea (patch)
treeb23258db9a4d1720583784fd1b90824a45835f91 /etc
parent344eb61ab3607827930354589174bb8d270241b9 (diff)
downloademacs-2eb6817ba971184cc109f8530f4b3b38f65650ea.tar.gz
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.
Diffstat (limited to 'etc')
-rw-r--r--etc/NEWS6
1 files changed, 6 insertions, 0 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 92d301ecd6f..22eb2eabc37 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -369,6 +369,12 @@ variable.
** New var syntax-ppss-table to control the syntax-table used in syntax-ppss.
++++
+** `define-derived-mode' can now specify an :after-hook form, which
+gets evaluated after the new mode's hook has run. This can be used to
+incorporate configuration changes made in the mode hook into the
+mode's setup.
+
** Autoload files can be generated without timestamps,
by setting 'autoload-timestamps' to nil.
FIXME As an experiment, nil is the current default.