GNU bug report logs -
#41682
makefile-gmake-mode does not trigger "eval-after-load"'s hooks
Previous Next
Full log
Message #13 received at control <at> debbugs.gnu.org (full text, mbox):
tags 41682 + notabug
quit
Konstantin Kharlamov <hi-angel <at> yandex.ru> writes:
> Functions added with (eval-after-load 'makefile-gmake-mode …) do not
> trigger when the mode is enabled
I think you've misunderstood what eval-after-load does.
'makefile-gmake-mode' is a major mode function defined in the file
make-mode.el which provides the named feature 'make-mode'. See
(info "(elisp) Named Features") and (info "(elisp) Hooks for Loading").
https://www.gnu.org/software/emacs/manual/html_node/elisp/Named-Features.html
https://www.gnu.org/software/emacs/manual/html_node/elisp/Hooks-for-Loading.html
eval-after-load, and its newer, preferred sibling with-eval-after-load,
register some Lisp to be run when a file or named feature is or has
already been loaded.
If you want to register some Lisp to run only once, after make-mode.el
is loaded (and makefile-gmake-mode has been defined), then you should
write:
(with-eval-after-load 'make-mode
(foo)
(bar))
If you want to register some Lisp to run every time makefile-gmake-mode
is enabled, then you should write:
(add-hook 'makefile-gmake-mode-hook #'foo)
If you want to register some Lisp to run every time any make-mode.el
major mode is enabled, then you should write:
(add-hook 'makefile-mode-hook #'foo)
Is there some other case you're trying to address, or can this bug be
closed?
--
Basil
This bug report was last modified 5 years and 44 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.