GNU Emacs
ELisp
Standard Hooks
ELisp 28.2 elisp

Standard Hooks

The following is a list of some hook variables that let you provide functions to be called from within Emacs on suitable occasions. Most of these variables have names ending with -hook. They are normal hooks, run by means of run-hooks. The value of such a hook is a list of functions; the functions are called with no arguments and their values are completely ignored. The recommended way to put a new function on such a hook is to call add-hook. Hooks, for more information about using hooks. The variables whose names end in -functions are usually abnormal hooks (some old code may also use the deprecated -hooks suffix). Their values are lists of functions, but these functions are called in a special way: they are either passed arguments, or their return values are used in some way. The variables whose names end in -function have single functions as their values. This is not an exhaustive list, it only covers the more general hooks. For example, every major mode defines a hook named MODENAME-mode-hook. The major mode command runs this normal hook with run-mode-hooks as the very last thing it does. Mode Hooks. Most minor modes have mode hooks too. A special feature allows you to specify expressions to evaluate if and when a file is loaded (Hooks for Loading). That feature is not exactly a hook, but does a similar job.

activate-mark-hook, deactivate-mark-hook
The Mark.
after-change-functions, before-change-functions, first-change-hook
Change Hooks.
after-change-major-mode-hook, change-major-mode-after-body-hook
Mode Hooks.
after-init-hook, before-init-hook, emacs-startup-hook, window-setup-hook
Init File.
after-insert-file-functions, write-region-annotate-functions, write-region-post-annotation-function
Format Conversion.
after-make-frame-functions, before-make-frame-hook, server-after-make-frame-hook
Creating Frames.
after-save-hook, before-save-hook, write-contents-functions, write-file-functions
Saving Buffers.
after-setting-font-hook
Hook run after a frame's font changes.
auto-save-hook
Auto-Saving.
before-hack-local-variables-hook, hack-local-variables-hook
File Local Variables.
buffer-access-fontify-functions
Lazy Properties.
buffer-list-update-hook
Hook run when the buffer list changes (Buffer List).
buffer-quit-function
Function to call to quit the current buffer.
change-major-mode-hook
Creating Buffer-Local.
comint-password-function
This abnormal hook permits a derived mode to supply a password for the underlying command interpreter without prompting the user.
command-line-functions
Command-Line Arguments.
delayed-warnings-hook
The command loop runs this soon after post-command-hook (q.v.).
focus-in-hook, focus-out-hook
Input Focus.
delete-frame-functions, after-delete-frame-functions
Deleting Frames.
delete-terminal-functions
Multiple Terminals.
pop-up-frame-function, split-window-preferred-function
Choosing Window Options.
echo-area-clear-hook
Echo Area Customization.
find-file-hook, find-file-not-found-functions
Visiting Functions.
font-lock-extend-after-change-region-function
Region to Refontify.
font-lock-extend-region-functions
Multiline Font Lock.
font-lock-fontify-buffer-function, font-lock-fontify-region-function, font-lock-mark-block-function, font-lock-unfontify-buffer-function, font-lock-unfontify-region-function
Other Font Lock Variables.
fontification-functions
Automatic Face Assignment.
frame-auto-hide-function
Quitting Windows.
quit-window-hook
Quitting Windows.
kill-buffer-hook, kill-buffer-query-functions
Killing Buffers.
kill-emacs-hook, kill-emacs-query-functions
Killing Emacs.
menu-bar-update-hook
Menu Bar.
minibuffer-setup-hook, minibuffer-exit-hook
Minibuffer Misc.
mouse-leave-buffer-hook
Hook run when the user mouse-clicks in a window.
mouse-position-function
Mouse Position.
prefix-command-echo-keystrokes-functions
An abnormal hook run by prefix commands (such as C-u) which should return a string describing the current prefix state. For example, C-u produces C-u- and C-u 1 2 3-. Each hook function is called with no arguments and should return a string describing the current prefix state, or nil if there's no prefix state. Prefix Command Arguments.
prefix-command-preserve-state-hook
Hook run when a prefix command needs to preserve the prefix by passing the current prefix command state to the next command. For example, C-u needs to pass the state to the next command when the user types C-u - or follows C-u with a digit.
pre-redisplay-functions
Hook run in each window just before redisplaying it. Forcing Redisplay.
post-command-hook, pre-command-hook
Command Overview.
post-gc-hook
Garbage Collection.
post-self-insert-hook
Keymaps and Minor Modes.
suspend-hook, suspend-resume-hook, suspend-tty-functions, resume-tty-functions
Suspending Emacs.
syntax-begin-function, syntax-propertize-extend-region-functions, syntax-propertize-function, font-lock-syntactic-face-function
Syntactic Font Lock. Syntax Properties.
temp-buffer-setup-hook, temp-buffer-show-function, temp-buffer-show-hook
Temporary Displays.
tty-setup-hook
Terminal-Specific.
window-configuration-change-hook, window-scroll-functions, window-size-change-functions
Window Hooks.
Manual
Emacs Lisp 28.2
Texinfo Node
Standard Hooks
Source Ref
emacs-28.2
Source
View upstream