1 This is ../info/lispref.info, produced by makeinfo version 4.0 from
4 INFO-DIR-SECTION XEmacs Editor
6 * Lispref: (lispref). XEmacs Lisp Reference Manual.
11 GNU Emacs Lisp Reference Manual Second Edition (v2.01), May 1993 GNU
12 Emacs Lisp Reference Manual Further Revised (v2.02), August 1993 Lucid
13 Emacs Lisp Reference Manual (for 19.10) First Edition, March 1994
14 XEmacs Lisp Programmer's Manual (for 19.12) Second Edition, April 1995
15 GNU Emacs Lisp Reference Manual v2.4, June 1995 XEmacs Lisp
16 Programmer's Manual (for 19.13) Third Edition, July 1995 XEmacs Lisp
17 Reference Manual (for 19.14 and 20.0) v3.1, March 1996 XEmacs Lisp
18 Reference Manual (for 19.15 and 20.1, 20.2, 20.3) v3.2, April, May,
19 November 1997 XEmacs Lisp Reference Manual (for 21.0) v3.3, April 1998
21 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995 Free Software
22 Foundation, Inc. Copyright (C) 1994, 1995 Sun Microsystems, Inc.
23 Copyright (C) 1995, 1996 Ben Wing.
25 Permission is granted to make and distribute verbatim copies of this
26 manual provided the copyright notice and this permission notice are
27 preserved on all copies.
29 Permission is granted to copy and distribute modified versions of
30 this manual under the conditions for verbatim copying, provided that the
31 entire resulting derived work is distributed under the terms of a
32 permission notice identical to this one.
34 Permission is granted to copy and distribute translations of this
35 manual into another language, under the above conditions for modified
36 versions, except that this permission notice may be stated in a
37 translation approved by the Foundation.
39 Permission is granted to copy and distribute modified versions of
40 this manual under the conditions for verbatim copying, provided also
41 that the section entitled "GNU General Public License" is included
42 exactly as in the original, and provided that the entire resulting
43 derived work is distributed under the terms of a permission notice
44 identical to this one.
46 Permission is granted to copy and distribute translations of this
47 manual into another language, under the above conditions for modified
48 versions, except that the section entitled "GNU General Public License"
49 may be included in a translation approved by the Free Software
50 Foundation instead of in the original English.
53 File: lispref.info, Node: Garbage Collection, Prev: Pure Storage, Up: Building XEmacs and Object Allocation
58 When a program creates a list or the user defines a new function
59 (such as by loading a library), that data is placed in normal storage.
60 If normal storage runs low, then XEmacs asks the operating system to
61 allocate more memory in blocks of 2k bytes. Each block is used for one
62 type of Lisp object, so symbols, cons cells, markers, etc., are
63 segregated in distinct blocks in memory. (Vectors, long strings,
64 buffers and certain other editing types, which are fairly large, are
65 allocated in individual blocks, one per object, while small strings are
66 packed into blocks of 8k bytes. [More correctly, a string is allocated
67 in two sections: a fixed size chunk containing the length, list of
68 extents, etc.; and a chunk containing the actual characters in the
69 string. It is this latter chunk that is either allocated individually
70 or packed into 8k blocks. The fixed size chunk is packed into 2k
71 blocks, as for conses, markers, etc.])
73 It is quite common to use some storage for a while, then release it
74 by (for example) killing a buffer or deleting the last pointer to an
75 object. XEmacs provides a "garbage collector" to reclaim this
76 abandoned storage. (This name is traditional, but "garbage recycler"
77 might be a more intuitive metaphor for this facility.)
79 The garbage collector operates by finding and marking all Lisp
80 objects that are still accessible to Lisp programs. To begin with, it
81 assumes all the symbols, their values and associated function
82 definitions, and any data presently on the stack, are accessible. Any
83 objects that can be reached indirectly through other accessible objects
86 When marking is finished, all objects still unmarked are garbage. No
87 matter what the Lisp program or the user does, it is impossible to refer
88 to them, since there is no longer a way to reach them. Their space
89 might as well be reused, since no one will miss them. The second
90 ("sweep") phase of the garbage collector arranges to reuse them.
92 The sweep phase puts unused cons cells onto a "free list" for future
93 allocation; likewise for symbols, markers, extents, events, floats,
94 compiled-function objects, and the fixed-size portion of strings. It
95 compacts the accessible small string-chars chunks so they occupy fewer
96 8k blocks; then it frees the other 8k blocks. Vectors, buffers,
97 windows, and other large objects are individually allocated and freed
98 using `malloc' and `free'.
100 Common Lisp note: unlike other Lisps, XEmacs Lisp does not call
101 the garbage collector when the free list is empty. Instead, it
102 simply requests the operating system to allocate more storage, and
103 processing continues until `gc-cons-threshold' bytes have been
106 This means that you can make sure that the garbage collector will
107 not run during a certain portion of a Lisp program by calling the
108 garbage collector explicitly just before it (provided that portion
109 of the program does not use so much space as to force a second
112 - Command: garbage-collect
113 This command runs a garbage collection, and returns information on
114 the amount of space in use. (Garbage collection can also occur
115 spontaneously if you use more than `gc-cons-threshold' bytes of
116 Lisp data since the previous garbage collection.)
118 `garbage-collect' returns a list containing the following
121 ((USED-CONSES . FREE-CONSES)
122 (USED-SYMS . FREE-SYMS)
123 (USED-MARKERS . FREE-MARKERS)
128 => ((73362 . 8325) (13718 . 164)
129 (5089 . 5098) 949121 118677
130 (conses-used 73362 conses-free 8329 cons-storage 658168
131 symbols-used 13718 symbols-free 164 symbol-storage 335216
132 bit-vectors-used 0 bit-vectors-total-length 0
133 bit-vector-storage 0 vectors-used 7882
134 vectors-total-length 118677 vector-storage 537764
135 compiled-functions-used 1336 compiled-functions-free 37
136 compiled-function-storage 44440 short-strings-used 28829
137 long-strings-used 2 strings-free 7722
138 short-strings-total-length 916657 short-string-storage 1179648
139 long-strings-total-length 32464 string-header-storage 441504
140 floats-used 3 floats-free 43 float-storage 2044 markers-used 5089
141 markers-free 5098 marker-storage 245280 events-used 103
142 events-free 835 event-storage 110656 extents-used 10519
143 extents-free 2718 extent-storage 372736
144 extent-auxiliarys-used 111 extent-auxiliarys-freed 3
145 extent-auxiliary-storage 4440 window-configurations-used 39
146 window-configurations-on-free-list 5
147 window-configurations-freed 10 window-configuration-storage 9492
148 popup-datas-used 3 popup-data-storage 72 toolbar-buttons-used 62
149 toolbar-button-storage 4960 toolbar-datas-used 12
150 toolbar-data-storage 240 symbol-value-buffer-locals-used 182
151 symbol-value-buffer-local-storage 5824
152 symbol-value-lisp-magics-used 22
153 symbol-value-lisp-magic-storage 1496
154 symbol-value-varaliases-used 43
155 symbol-value-varalias-storage 1032 opaque-lists-used 2
156 opaque-list-storage 48 color-instances-used 12
157 color-instance-storage 288 font-instances-used 5
158 font-instance-storage 180 opaques-used 11 opaque-storage 312
159 range-tables-used 1 range-table-storage 16 faces-used 34
160 face-storage 2584 glyphs-used 124 glyph-storage 4464
161 specifiers-used 775 specifier-storage 43869 weak-lists-used 786
162 weak-list-storage 18864 char-tables-used 40
163 char-table-storage 41920 buffers-used 25 buffer-storage 7000
164 extent-infos-used 457 extent-infos-freed 73
165 extent-info-storage 9140 keymaps-used 275 keymap-storage 12100
166 consoles-used 4 console-storage 384 command-builders-used 2
167 command-builder-storage 120 devices-used 2 device-storage 344
168 frames-used 3 frame-storage 624 image-instances-used 47
169 image-instance-storage 3008 windows-used 27 windows-freed 2
170 window-storage 9180 lcrecord-lists-used 15
171 lcrecord-list-storage 360 hash-tables-used 631
172 hash-table-storage 25240 streams-used 1 streams-on-free-list 3
173 streams-freed 12 stream-storage 91))
175 Here is a table explaining each element:
178 The number of cons cells in use.
181 The number of cons cells for which space has been obtained
182 from the operating system, but that are not currently being
186 The number of symbols in use.
189 The number of symbols for which space has been obtained from
190 the operating system, but that are not currently being used.
193 The number of markers in use.
196 The number of markers for which space has been obtained from
197 the operating system, but that are not currently being used.
200 The total size of all strings, in characters.
203 The total number of elements of existing vectors.
206 A list of alternating keyword/value pairs providing more
207 detailed information. (As you can see above, quite a lot of
208 information is provided.)
210 - User Option: gc-cons-threshold
211 The value of this variable is the number of bytes of storage that
212 must be allocated for Lisp objects after one garbage collection in
213 order to trigger another garbage collection. A cons cell counts
214 as eight bytes, a string as one byte per character plus a few
215 bytes of overhead, and so on; space allocated to the contents of
216 buffers does not count. Note that the subsequent garbage
217 collection does not happen immediately when the threshold is
218 exhausted, but only the next time the Lisp evaluator is called.
220 The initial threshold value is 500,000. If you specify a larger
221 value, garbage collection will happen less often. This reduces the
222 amount of time spent garbage collecting, but increases total
223 memory use. You may want to do this when running a program that
224 creates lots of Lisp data.
226 You can make collections more frequent by specifying a smaller
227 value, down to 10,000. A value less than 10,000 will remain in
228 effect only until the subsequent garbage collection, at which time
229 `garbage-collect' will set the threshold back to 10,000. (This does
230 not apply if XEmacs was configured with `--debug'. Therefore, be
231 careful when setting `gc-cons-threshold' in that case!)
233 - Function: memory-limit
234 This function returns the address of the last byte XEmacs has
235 allocated, divided by 1024. We divide the value by 1024 to make
236 sure it fits in a Lisp integer.
238 You can use this to get a general idea of how your actions affect
241 - Variable: pre-gc-hook
242 This is a normal hook to be run just before each garbage
243 collection. Interrupts, garbage collection, and errors are
244 inhibited while this hook runs, so be extremely careful in what
245 you add here. In particular, avoid consing, and do not interact
248 - Variable: post-gc-hook
249 This is a normal hook to be run just after each garbage collection.
250 Interrupts, garbage collection, and errors are inhibited while
251 this hook runs, so be extremely careful in what you add here. In
252 particular, avoid consing, and do not interact with the user.
254 - Variable: gc-message
255 This is a string to print to indicate that a garbage collection is
256 in progress. This is printed in the echo area. If the selected
257 frame is on a window system and `gc-pointer-glyph' specifies a
258 value (i.e. a pointer image instance) in the domain of the
259 selected frame, the mouse cursor will change instead of this
260 message being printed.
262 - Glyph: gc-pointer-glyph
263 This holds the pointer glyph used to indicate that a garbage
264 collection is in progress. If the selected window is on a window
265 system and this glyph specifies a value (i.e. a pointer image
266 instance) in the domain of the selected window, the cursor will be
267 changed as specified during garbage collection. Otherwise, a
268 message will be printed in the echo area, as controlled by
269 `gc-message'. *Note Glyphs::.
271 If XEmacs was configured with `--debug', you can set the following
272 two variables to get direct information about all the allocation that
273 is happening in a segment of Lisp code.
275 - Variable: debug-allocation
276 If non-zero, print out information to stderr about all objects
279 - Variable: debug-allocation-backtrace
280 Length (in stack frames) of short backtrace printed out by
284 File: lispref.info, Node: Standard Errors, Next: Standard Buffer-Local Variables, Prev: Building XEmacs and Object Allocation, Up: Top
289 Here is the complete list of the error symbols in standard Emacs,
290 grouped by concept. The list includes each symbol's message (on the
291 `error-message' property of the symbol) and a cross reference to a
292 description of how the error can occur.
294 Each error symbol has an `error-conditions' property that is a list
295 of symbols. Normally this list includes the error symbol itself and
296 the symbol `error'. Occasionally it includes additional symbols, which
297 are intermediate classifications, narrower than `error' but broader
298 than a single error symbol. For example, all the errors in accessing
299 files have the condition `file-error'.
301 As a special exception, the error symbol `quit' does not have the
302 condition `error', because quitting is not considered an error.
304 *Note Errors::, for an explanation of how errors are generated and
319 `"Args out of range"'
320 *Note Sequences Arrays Vectors::.
324 See `/' and `%' in *Note Numbers::.
326 `beginning-of-buffer'
327 `"Beginning of buffer"'
331 `"Buffer is read-only"'
332 *Note Read Only Buffers::.
334 `cyclic-function-indirection'
335 `"Symbol's chain of function indirections contains a loop"'
336 *Note Function Indirection::.
339 `"Arithmetic domain error"'
345 `"End of file during parsing"'
346 This is not a `file-error'.
347 *Note Input Functions::.
350 This error and its subcategories do not have error-strings,
351 because the error message is constructed from the data items alone
352 when the error condition `file-error' is present.
356 This is a `file-error'.
359 `file-already-exists'
360 This is a `file-error'.
361 *Note Writing to Files::.
364 This is a `file-error'.
365 *Note Modification Time::.
368 `"Invalid byte code"'
369 *Note Byte Compilation::.
373 *Note Classifying Lists::.
375 `invalid-read-syntax'
376 `"Invalid read syntax"'
377 *Note Input Functions::.
381 *Note Regular Expressions::.
384 `"The mark is not active now"'
387 *Note Catch and Throw::.
390 `"Arithmetic overflow error"'
392 `"Attempt to modify a protected field"'
394 `"Arithmetic range error"'
397 *Note Searching and Matching::.
400 `"Attempt to set a constant symbol"'
401 *Note Variables that Never Change: Constant Variables.
404 `"Arithmetic singularity error"'
407 *Note ToolTalk Support::.
409 `undefined-keystroke-sequence'
410 `"Undefined keystroke sequence"'
412 `"Symbol's function definition is void"'
413 *Note Function Cells::.
416 `"Symbol's value as variable is void"'
417 *Note Accessing Variables::.
419 `wrong-number-of-arguments'
420 `"Wrong number of arguments"'
421 *Note Classifying Lists::.
423 `wrong-type-argument'
424 `"Wrong type argument"'
425 *Note Type Predicates::.
427 These error types, which are all classified as special cases of
428 `arith-error', can occur on certain systems for invalid use of
429 mathematical functions.
432 `"Arithmetic domain error"'
433 *Note Math Functions::.
436 `"Arithmetic overflow error"'
437 *Note Math Functions::.
440 `"Arithmetic range error"'
441 *Note Math Functions::.
444 `"Arithmetic singularity error"'
445 *Note Math Functions::.
448 `"Arithmetic underflow error"'
449 *Note Math Functions::.
452 File: lispref.info, Node: Standard Buffer-Local Variables, Next: Standard Keymaps, Prev: Standard Errors, Up: Top
454 Buffer-Local Variables
455 **********************
457 The table below lists the general-purpose Emacs variables that are
458 automatically local (when set) in each buffer. Many Lisp packages
459 define such variables for their internal use; we don't list them here.
467 `buffer-auto-save-file-name'
473 `buffer-display-table'
474 *note Display Tables::
477 *note Format Conversion::
480 *note Buffer File Name::
483 *note Buffer File Name::
485 `buffer-file-truename'
486 *note Buffer File Name::
489 *note Files and MS-DOS::
491 `buffer-invisibility-spec'
492 *note Invisible Text::
495 *note Saving Buffers::
498 *note Read Only Buffers::
506 `cache-long-line-scans'
510 *note Searching and Case::
513 *note Usual Display::
516 *note Comments: (emacs)Comments.
519 *note System Environment::
521 `defun-prompt-regexp'
528 *note Moving Point: (emacs)Moving Point.
536 `local-write-file-hooks'
537 *note Saving Buffers::
552 *note Modeline Data::
554 `modeline-buffer-identification'
555 *note Modeline Variables::
558 *note Modeline Data::
561 *note Modeline Variables::
564 *note Modeline Variables::
567 *note Modeline Variables::
573 *note Standard Regexps::
576 *note Standard Regexps::
578 `point-before-scroll'
579 Used for communication between mouse commands and scroll-bar
582 `require-final-newline'
586 *note Selective Display::
588 `selective-display-ellipses'
589 *note Selective Display::
592 *note Usual Display::
598 *note Modeline Variables::
601 File: lispref.info, Node: Standard Keymaps, Next: Standard Hooks, Prev: Standard Buffer-Local Variables, Up: Top
606 The following symbols are used as the names for various keymaps.
607 Some of these exist when XEmacs is first started, others are loaded
608 only when their respective mode is used. This is not an exhaustive
611 Almost all of these maps are used as local maps. Indeed, of the
612 modes that presently exist, only Vip mode and Terminal mode ever change
616 A keymap containing bindings to bookmark functions.
618 `Buffer-menu-mode-map'
619 A keymap used by Buffer Menu mode.
622 A keymap used by C++ mode.
625 A keymap used by C mode. A sparse keymap used by C mode.
627 `command-history-map'
628 A keymap used by Command History mode.
631 A keymap for subcommands of the prefix `C-x 4'.
634 A keymap for subcommands of the prefix `C-x 5'.
637 A keymap for `C-x' commands.
640 A keymap used by Debugger mode.
643 A keymap for `dired-mode' buffers.
646 A keymap used in `edit-abbrevs'.
649 A keymap used in `edit-tab-stops'.
651 `electric-buffer-menu-mode-map'
652 A keymap used by Electric Buffer Menu mode.
654 `electric-history-map'
655 A keymap used by Electric Command History mode.
657 `emacs-lisp-mode-map'
658 A keymap used by Emacs Lisp mode.
661 A keymap for characters following the Help key.
664 A keymap used by the help utility package.
665 It has the same keymap in its value cell and in its function cell.
668 A keymap used by the `e' command of Info.
671 A keymap containing Info commands.
674 A keymap that defines the characters you can type within
678 A keymap used when in Itimer Edit mode.
680 `lisp-interaction-mode-map'
681 A keymap used by Lisp mode.
684 A keymap used by Lisp mode.
686 A keymap for minibuffer input with completion.
688 `minibuffer-local-isearch-map'
689 A keymap for editing isearch strings in the minibuffer.
691 `minibuffer-local-map'
692 Default keymap to use when reading from the minibuffer.
694 `minibuffer-local-must-match-map'
695 A keymap for minibuffer input with completion, for exact match.
698 The keymap for characters following `C-c'. Note, this is in the
699 global map. This map is not actually mode specific: its name was
700 chosen to be informative for the user in `C-h b'
701 (`display-bindings'), where it describes the main use of the `C-c'
705 The keymap consulted for mouse-clicks on the modeline of a window.
708 A keymap used in Objective C mode as a local map.
711 A local keymap used by Occur mode.
713 `overriding-local-map'
714 A keymap that overrides all other local keymaps.
717 A local keymap used for responses in `query-replace' and related
718 commands; also for `y-or-n-p' and `map-y-or-n-p'. The functions
719 that use this map do not support prefix keys; they look up one
722 `read-expression-map'
723 The minibuffer keymap used for reading Lisp expressions.
725 `read-shell-command-map'
726 The minibuffer keymap used by shell-command and related commands.
728 `shared-lisp-mode-map'
729 A keymap for commands shared by all sorts of Lisp modes.
732 A keymap used by Text mode.
735 The keymap consulted for mouse-clicks over a toolbar.
738 A keymap used by View mode.
741 File: lispref.info, Node: Standard Hooks, Next: Index, Prev: Standard Keymaps, Up: Top
746 The following is a list of hook variables that let you provide
747 functions to be called from within Emacs on suitable occasions.
749 Most of these variables have names ending with `-hook'. They are
750 "normal hooks", run by means of `run-hooks'. The value of such a hook
751 is a list of functions. The recommended way to put a new function on
752 such a hook is to call `add-hook'. *Note Hooks::, for more information
755 The variables whose names end in `-function' have single functions
756 as their values. Usually there is a specific reason why the variable is
757 not a normal hook, such as the need to pass arguments to the function.
758 (In older Emacs versions, some of these variables had names ending in
759 `-hook' even though they were not normal hooks.)
761 The variables whose names end in `-hooks' or `-functions' have lists
762 of functions as their values, but these functions are called in a
763 special way (they are passed arguments, or else their values are used).
765 `activate-menubar-hook'
767 `activate-popup-menu-hook'
769 `ad-definition-hooks'
771 `adaptive-fill-function'
773 `add-log-current-defun-function'
775 `after-change-functions'
777 `after-delete-annotation-hook'
781 `after-insert-file-functions'
787 `after-set-visited-file-name-hooks'
789 `after-write-file-hooks'
795 `before-change-functions'
797 `before-delete-annotation-hook'
803 `blink-paren-function'
805 `buffers-menu-switch-to-buffer-function'
815 `c-special-indent-hook'
819 `change-major-mode-hook'
821 `command-history-hook'
823 `comment-indent-function'
825 `compilation-buffer-name-function'
827 `compilation-exit-message-function'
829 `compilation-finish-function'
831 `compilation-parse-errors-function'
833 `compilation-mode-hook'
835 `create-console-hook'
841 `dabbrev-friend-buffer-function'
843 `dabbrev-select-buffers-function'
845 `delete-console-hook'
851 `deselect-frame-hook'
857 `dired-after-readin-hook'
859 `dired-before-readin-hook'
865 `disabled-command-hook'
867 `display-buffer-function'
869 `ediff-after-setup-control-frame-hook'
871 `ediff-after-setup-windows-hook'
873 `ediff-before-setup-control-frame-hook'
875 `ediff-before-setup-windows-hook'
877 `ediff-brief-help-message-function'
881 `ediff-control-frame-position-function'
883 `ediff-display-help-hook'
885 `ediff-focus-on-regexp-matches-function'
887 `ediff-forward-word-function'
889 `ediff-hide-regexp-matches-function'
891 `ediff-keymap-setup-hook'
895 `ediff-long-help-message-function'
897 `ediff-make-wide-display-function'
899 `ediff-merge-split-window-function'
901 `ediff-meta-action-function'
903 `ediff-meta-redraw-function'
907 `ediff-prepare-buffer-hook'
911 `ediff-registry-setup-hook'
915 `ediff-session-action-function'
917 `ediff-session-group-setup-hook'
919 `ediff-setup-diff-regions-function'
921 `ediff-show-registry-hook'
923 `ediff-show-session-group-hook'
925 `ediff-skip-diff-region-function'
927 `ediff-split-window-function'
933 `ediff-toggle-read-only-function'
935 `ediff-unselect-hook'
937 `ediff-window-setup-function'
941 `electric-buffer-menu-mode-hook'
943 `electric-command-history-hook'
945 `electric-help-mode-hook'
947 `emacs-lisp-mode-hook'
949 `fill-paragraph-function'
953 `find-file-not-found-hooks'
957 `font-lock-after-fontify-buffer-hook'
959 `font-lock-beginning-of-syntax-function'
961 `font-lock-mode-hook'
963 `fume-found-function-hook'
965 `fume-list-mode-hook'
967 `fume-rescan-buffer-hook'
973 `hack-local-variables-hook'
975 `highlight-headers-follow-url-function'
977 `hyper-apropos-mode-hook'
979 `indent-line-function'
983 `indent-region-function'
985 `initial-calendar-window-hook'
987 `isearch-mode-end-hook'
995 `kill-buffer-query-functions'
999 `kill-emacs-query-functions'
1009 `lisp-indent-function'
1011 `lisp-interaction-mode-hook'
1015 `list-diary-entries-hook'
1017 `load-read-function'
1019 `log-message-filter-function'
1023 `mail-citation-hook'
1029 `make-annotation-hook'
1031 `makefile-mode-hook'
1035 `mark-diary-entries-hook'
1039 `menu-no-selection-hook'
1041 `mh-compose-letter-hook'
1043 `mh-folder-mode-hook'
1045 `mh-letter-mode-hook'
1049 `minibuffer-exit-hook'
1051 `minibuffer-setup-hook'
1055 `mouse-enter-frame-hook'
1057 `mouse-leave-frame-hook'
1059 `mouse-track-cleanup-hook'
1061 `mouse-track-click-hook'
1063 `mouse-track-down-hook'
1065 `mouse-track-drag-hook'
1067 `mouse-track-drag-up-hook'
1069 `mouse-track-up-hook'
1071 `mouse-yank-function'
1075 `news-reply-mode-hook'
1079 `nongregorian-diary-listing-hook'
1081 `nongregorian-diary-marking-hook'
1091 `plain-TeX-mode-hook'
1097 `pre-abbrev-expand-hook'
1101 `pre-display-buffer-function'
1107 `print-diary-entries-hook'
1111 `protect-innocence-hook'
1113 `remove-message-hook'
1115 `revert-buffer-function'
1117 `revert-buffer-insert-contents-function'
1119 `rmail-edit-mode-hook'
1123 `rmail-retry-setup-hook'
1125 `rmail-summary-mode-hook'
1127 `scheme-indent-hook'
1135 `send-mail-function'
1139 `shell-set-directory-error-hook'
1141 `special-display-function'
1145 `suspend-resume-hook'
1147 `temp-buffer-show-function'
1151 `terminal-mode-hook'
1153 `terminal-mode-break-hook'
1161 `today-visible-calendar-hook'
1163 `today-invisible-calendar-hook'
1165 `tooltalk-message-handler-hook'
1167 `tooltalk-pattern-handler-hook'
1169 `tooltalk-unprocessed-message-hook'
1175 `vc-checkout-writable-buffer-hook'
1177 `vc-log-after-operation-hook'
1179 `vc-make-buffer-writable-hook'
1183 `vm-arrived-message-hook'
1185 `vm-arrived-messages-hook'
1187 `vm-chop-full-name-function'
1189 `vm-display-buffer-hook'
1191 `vm-edit-message-hook'
1193 `vm-forward-message-hook'
1195 `vm-iconify-frame-hook'
1197 `vm-inhibit-write-file-hook'
1205 `vm-menu-setup-hook'
1211 `vm-rename-current-buffer-function'
1215 `vm-resend-bounced-message-hook'
1217 `vm-resend-message-hook'
1219 `vm-retrieved-spooled-mail-hook'
1221 `vm-select-message-hook'
1223 `vm-select-new-message-hook'
1225 `vm-select-unread-message-hook'
1227 `vm-send-digest-hook'
1229 `vm-summary-mode-hook'
1231 `vm-summary-pointer-update-hook'
1233 `vm-summary-redo-hook'
1235 `vm-summary-update-hook'
1237 `vm-undisplay-buffer-hook'
1239 `vm-visit-folder-hook'
1243 `write-contents-hooks'
1245 `write-file-data-hooks'
1249 `write-region-annotate-functions'
1251 `x-lost-selection-hooks'
1253 `x-sent-selection-hooks'
1255 `zmacs-activate-region-hook'
1257 `zmacs-deactivate-region-hook'
1259 `zmacs-update-region-hook'