summaryrefslogtreecommitdiff
path: root/lispref/hooks.texi
blob: bc90c8773c297f16a33c2acf5fae28d1e4ad906e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1998, 2004 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.

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).  A few of these variables are actually normal
hooks which were named before we established the convention that normal
hooks' names should end in @samp{-hook}.

The variables whose names end in @samp{-function} have single functions
as their values.  (In older Emacs versions, some of these variables had
names ending in @samp{-hook} even though they were not normal hooks;
however, we have renamed all of those.)

@c !!! need  xref  to where each hook is documented or else document it
@c by specifying what is expected, and when it is called relative to
@c mode initialization.

@table @code
@item activate-mark-hook
@item after-change-functions
@item after-init-hook
@item after-insert-file-functions
@item after-make-frame-functions
@item after-revert-hook
@item after-save-hook
@item apropos-mode-hook
@item auto-fill-function
@item auto-save-hook
@item before-change-functions
@item before-init-hook
@item before-make-frame-hook
@item before-revert-hook
@item before-save-hook
@item blink-paren-function
@item buffer-access-fontify-functions
@item c-mode-hook
@item calendar-load-hook
@item change-major-mode-hook
@item command-history-hook
@item command-line-functions
@item comment-indent-function
@item custom-define-hook
@item deactivate-mark-hook
@item diary-display-hook
@item diary-hook
@item dired-mode-hook
@item disabled-command-hook
@item echo-area-clear-hook
@item edit-picture-hook
@item electric-buffer-menu-mode-hook
@item electric-command-history-hook
@item electric-help-mode-hook
@item emacs-lisp-mode-hook
@item find-file-hook
@item find-file-not-found-functions
@item first-change-hook
@item fortran-comment-hook
@item fortran-mode-hook
@item indent-mim-hook
@item initial-calendar-window-hook
@item kbd-macro-termination-hook
@item kill-buffer-hook
@item kill-buffer-query-functions
@item kill-emacs-hook
@item kill-emacs-query-functions
@item LaTeX-mode-hook
@item ledit-mode-hook
@item lisp-indent-function
@item lisp-interaction-mode-hook
@item lisp-mode-hook
@item list-diary-entries-hook
@item mail-mode-hook
@item mail-setup-hook
@item mark-diary-entries-hook
@item medit-mode-hook
@item menu-bar-update-hook
@item minibuffer-setup-hook
@item minibuffer-exit-hook
@item mouse-position-function
@item news-mode-hook
@item news-reply-mode-hook
@item news-setup-hook
@item nongregorian-diary-listing-hook
@item nongregorian-diary-marking-hook
@item nroff-mode-hook
@item outline-mode-hook
@item plain-TeX-mode-hook
@item post-command-hook
@item pre-abbrev-expand-hook
@item pre-command-hook
@item print-diary-entries-hook
@item prolog-mode-hook
@item protect-innocence-hook
@item redisplay-end-trigger-functions
@item rmail-edit-mode-hook
@item rmail-mode-hook
@item rmail-summary-mode-hook
@item scheme-indent-hook
@item scheme-mode-hook
@item scribe-mode-hook
@item shell-mode-hook
@item shell-set-directory-error-hook
@item suspend-hook
@item suspend-resume-hook
@item temp-buffer-show-function
@item term-setup-hook
@item terminal-mode-hook
@item terminal-mode-break-hook
@item TeX-mode-hook
@item text-mode-hook
@item today-visible-calendar-hook
@item today-invisible-calendar-hook
@item vi-mode-hook
@item view-hook
@item window-configuration-change-hook
@item window-scroll-functions
@item window-setup-hook
@item window-size-change-functions
@item write-contents-functions
@item write-file-functions
@item write-region-annotate-functions
@end table

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