The following is a list of 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. See
section Hooks, for more information
about using hooks.
The variables whose names end in `-hooks' or `-functions' are usually abnormal hooks; their values are lists of functions, but these functions are called in a special way (they are passed arguments, or their values are used). A few of these variables are actually normal hooks which were named before we established the convention that normal hooks' names should end in `-hook'.
The variables whose names end in `-function' have single functions as their values. (In older Emacs versions, some of these variables had names ending in `-hook' even though they were not normal hooks; however, we have renamed all of those.)
activate-mark-hookafter-change-functionafter-change-functionsafter-init-hookafter-insert-file-functionsafter-make-frame-hookafter-revert-hookafter-save-hookauto-fill-functionauto-save-hookbefore-change-functionbefore-change-functionsbefore-init-hookbefore-make-frame-hookbefore-revert-hookblink-paren-functionbuffer-access-fontify-functionsc-mode-hookcalendar-load-hookchange-major-mode-hookcommand-history-hookcommand-line-functionscomment-indent-functiondeactivate-mark-hookdiary-display-hookdiary-hookdired-mode-hookdisabled-command-hookecho-area-clear-hookedit-picture-hookelectric-buffer-menu-mode-hookelectric-command-history-hookelectric-help-mode-hookemacs-lisp-mode-hookfind-file-hooksfind-file-not-found-hooksfirst-change-hookfortran-comment-hookfortran-mode-hookftp-setup-write-file-hooksftp-write-file-hookindent-mim-hookinitial-calendar-window-hookkill-buffer-hookkill-buffer-query-functionskill-emacs-hookkill-emacs-query-functionsLaTeX-mode-hookledit-mode-hooklisp-indent-functionlisp-interaction-mode-hooklisp-mode-hooklist-diary-entries-hooklocal-write-file-hooksm2-mode-hookmail-mode-hookmail-setup-hookmark-diary-entries-hookmedit-mode-hookmenu-bar-update-hookminibuffer-setup-hookminibuffer-exit-hooknews-mode-hooknews-reply-mode-hooknews-setup-hooknongregorian-diary-listing-hooknongregorian-diary-marking-hooknroff-mode-hookoutline-mode-hookplain-TeX-mode-hookpost-command-hookpre-abbrev-expand-hookpre-command-hookprint-diary-entries-hookprolog-mode-hookprotect-innocence-hookredisplay-end-trigger-functionsrmail-edit-mode-hookrmail-mode-hookrmail-summary-mode-hookscheme-indent-hookscheme-mode-hookscribe-mode-hookshell-mode-hookshell-set-directory-error-hooksuspend-hooksuspend-resume-hooktemp-buffer-show-functionterm-setup-hookterminal-mode-hookterminal-mode-break-hookTeX-mode-hooktext-mode-hooktoday-visible-calendar-hooktoday-invisible-calendar-hookvi-mode-hookview-hookwindow-configuration-change-hookwindow-scroll-functionswindow-setup-hookwindow-size-change-functionswrite-contents-hookswrite-file-hookswrite-region-annotate-functions