view lispref/hooks.texi @ 66119:bc2d2dc9f534

(compilation-goto-locus): Display the compilation buffer first and the source buffer second, in case they're in overlapping frames. Don't raise the compilation frame if it was the selected window upon entry. Pass the `other-window' arg to pop-to-buffer.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 16 Oct 2005 14:12:50 +0000
parents 822218f80ae4
children 9712592db32f 10fe5fadaf89
line wrap: on
line source

@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1998, 2002, 2003, 2004,
@c   2005 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/hooks
@node Standard Hooks, Index, Standard Keymaps, Top
@appendix Standard Hooks

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 @samp{-hook}.  They are
@dfn{normal hooks}, run by means of @code{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 @code{add-hook}.
@xref{Hooks}, for more information about using hooks.

Every major mode defines a mode hook named
@samp{@var{modename}-mode-hook}.  The major mode command runs this
normal hook with @code{run-mode-hooks} as the very last thing it does.
@xref{Mode Hooks}.  Most minor modes have mode hooks too.  Mode hooks
are omitted in the list below.

The variables whose names end in @samp{-hooks} or @samp{-functions} are
usually @dfn{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). The variables whose names end in
@samp{-function} have single functions as their values.

(In older Emacs versions, some normal hooks had names ending in
@samp{-hooks} or @samp{-functions}, and some abnormal hooks had names
ending in @samp{-hook}.  We have renamed all of these to conform to
the above conventions.)

@c We need to xref to where each hook is documented or else document
@c it here.

@table @code
@item activate-mark-hook
@xref{The Mark}.

@item after-change-functions
@xref{Change Hooks}.

@item after-change-major-mode-hook
@xref{Mode Hooks}.

@item after-init-hook
@xref{Init File}.

@item after-insert-file-functions
@xref{Saving Properties}.

@item after-make-frame-functions
@xref{Creating Frames}.

@item after-revert-hook
@xref{Reverting}.

@item after-save-hook
@xref{Saving Buffers}.

@item auto-fill-function
@xref{Auto Filling}.

@item auto-save-hook
@xref{Auto-Saving}.

@item before-change-functions
@xref{Change Hooks}.

@item before-init-hook
@xref{Init File}.

@item before-make-frame-hook
@xref{Creating Frames}.

@item before-revert-hook
@xref{Reverting}.

@item before-save-hook
@xref{Saving Buffers}.

@item blink-paren-function
@xref{Blinking}.

@item buffer-access-fontify-functions
@xref{Lazy Properties}.

@item calendar-load-hook
@inforef{Calendar Customizing,, emacs-xtra}.

@item change-major-mode-hook
@xref{Creating Buffer-Local}.

@item command-line-functions
@xref{Command-Line Arguments}.

@item comment-indent-function
@xref{Options for Comments,, Options Controlling Comments, emacs, the
GNU Emacs Manual}.

@item custom-define-hook
Hook called after defining each customize option.

@item deactivate-mark-hook
@xref{The Mark}.

@item desktop-after-read-hook
Normal hook run after a successful @code{desktop-read}.  May be used
to show a buffer list.  @xref{Saving Emacs Sessions,, Saving Emacs
Sessions, emacs, the GNU Emacs Manual}.

@item desktop-no-desktop-file-hook
Normal hook run when @code{desktop-read} can't find a desktop file.
May be used to show a dired buffer.  @xref{Saving Emacs Sessions,,
Saving Emacs Sessions, emacs, the GNU Emacs Manual}.

@item desktop-save-hook
Normal hook run before the desktop is saved in a desktop file.  This
is useful for truncating history lists, for example.  @xref{Saving
Emacs Sessions,, Saving Emacs Sessions, emacs, the GNU Emacs Manual}.

@item diary-display-hook
@inforef{Fancy Diary Display,, emacs-xtra}.

@item diary-hook
List of functions called after the display of the diary.  Can be used
for appointment notification.

@item disabled-command-function
@xref{Disabling Commands}.

@item echo-area-clear-hook
@xref{Echo Area Customization}.

@item emacs-startup-hook
@xref{Init File}.

@item find-file-hook
@xref{Visiting Functions}.

@item find-file-not-found-functions
@xref{Visiting Functions}.

@item first-change-hook
@xref{Change Hooks}.

@item font-lock-beginning-of-syntax-function
@xref{Syntactic Font Lock}.

@item font-lock-fontify-buffer-function
@xref{Other Font Lock Variables}.

@item font-lock-fontify-region-function
@xref{Other Font Lock Variables}.

@item font-lock-mark-block-function
@xref{Other Font Lock Variables}.

@item font-lock-syntactic-face-function
@xref{Syntactic Font Lock}.

@item font-lock-unfontify-buffer-function
@xref{Other Font Lock Variables}.

@item font-lock-unfontify-region-function
@xref{Other Font Lock Variables}.

@item initial-calendar-window-hook
@inforef{Calendar Customizing,, emacs-xtra}.

@item kbd-macro-termination-hook
@xref{Keyboard Macros}.

@item kill-buffer-hook
@xref{Killing Buffers}.

@item kill-buffer-query-functions
@xref{Killing Buffers}.

@item kill-emacs-hook
@xref{Killing Emacs}.

@item kill-emacs-query-functions
@xref{Killing Emacs}.

@item lisp-indent-function

@item list-diary-entries-hook
@inforef{Fancy Diary Display,, emacs-xtra}.

@item mail-setup-hook
@xref{Mail Mode Misc,, Mail Mode Miscellany, emacs, the GNU Emacs
Manual}.

@item mark-diary-entries-hook
@inforef{Fancy Diary Display,, emacs-xtra}.

@item menu-bar-update-hook
@xref{Menu Bar}.

@item minibuffer-setup-hook
@xref{Minibuffer Misc}.

@item minibuffer-exit-hook
@xref{Minibuffer Misc}.

@item mouse-position-function
@xref{Mouse Position}.

@item nongregorian-diary-listing-hook
@inforef{Hebrew/Islamic Entries,, emacs-xtra}.

@item nongregorian-diary-marking-hook
@inforef{Hebrew/Islamic Entries,, emacs-xtra}.

@item occur-hook

@item post-command-hook
@xref{Command Overview}.

@item pre-abbrev-expand-hook
@xref{Abbrev Expansion}.

@item pre-command-hook
@xref{Command Overview}.

@item print-diary-entries-hook
@inforef{Diary Customizing,, emacs-xtra}.

@item redisplay-end-trigger-functions
@xref{Window Hooks}.

@item scheme-indent-function

@item suspend-hook
@xref{Suspending Emacs}.

@item suspend-resume-hook
@xref{Suspending Emacs}.

@item temp-buffer-setup-hook
@xref{Temporary Displays}.

@item temp-buffer-show-function
@xref{Temporary Displays}.

@item temp-buffer-show-hook
@xref{Temporary Displays}.

@item term-setup-hook
@xref{Terminal-Specific}.

@item today-visible-calendar-hook
@inforef{Calendar Customizing,, emacs-xtra}.

@item today-invisible-calendar-hook
@inforef{Calendar Customizing,, emacs-xtra}.

@item window-configuration-change-hook
@xref{Window Hooks}.

@item window-scroll-functions
@xref{Window Hooks}.

@item window-setup-hook
@xref{Window Systems}.

@item window-size-change-functions
@xref{Window Hooks}.

@item write-contents-functions
@xref{Saving Buffers}.

@item write-file-functions
@xref{Saving Buffers}.

@item write-region-annotate-functions
@xref{Saving Properties}.
@end table

@ignore
   arch-tag: 55fd0296-d906-4551-b300-979d3846aa88
@end ignore