view lispref/hooks.texi @ 18260:a642c99198ec

(PTR_TO_OFFSET): New macro. (POS_AS_IN_BUFFER): New macro. (SYNTAX_ENTRY_VIA_PROPERTY): Set to take `syntax-table' text property into account when doing SYNTAX (c). (re_compile_fastmap): disable fastmap if any of wordbound notwordbound wordbeg wordend notsyntaxspec syntaxspec are seen. (re_search_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start. (re_match_object): New variable. (re_match_2): SETUP_SYNTAX_TABLE_FOR_OBJECT at the start. (re_match_2_internal): For any of wordbound notwordbound wordbeg wordend notsyntaxspec syntaxspec call UPDATE_SYNTAX_TABLE before doing SYNTAX (c). [emacs]: Include charset.h and category.h [!emacs] (BASE_LEADING_CODE_P, WORD_BOUNDARY_P, CHAR_HEAD_P, SINGLE_BYTE_CHAR_P, SAME_CHARSET_P, MULTIBYTE_FORM_LENGTH, STRING_CHAR_AND_LENGTH, GET_CHAR_AFTER_2, GET_CHAR_BEFORE_2): New dummy macros. (enum re_opcode_t): New member categoryspec and notcategoryspec. (STORE_CHARACTER_AND_INCR, EXTRACT_CHARACTER, CHARSET_LOOKUP_RANGE_TABLE_WITH_COUNT, CHARSET_LOOKUP_RANGE_TABLE, CHARSET_BITMAP_SIZE, CHARSET_RANGE_TABLE_EXISTS_P, CHARSET_RANGE_TABLE CHARSET_PAST_RANGE_TABLE): New macros. (TRANSLATE): Cast return value to unsigned char, not char. (struct range_table_work_area): New structure. (EXTEND_RANGE_TABLE_WORK_AREA, SET_RANGE_TABLE_WORK_AREA, FREE_RANGE_TABLE_WORK_AREA, CLEAR_RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_USED, RANGE_TABLE_WORK_ELT): New macros. (FREE_STACK_RETURN): Call FREE_RANGE_TABLE_WORK_AREA. (regex_compile): Declare `c' and `c1' as int to store multibyte characters. Declare range_table_work and initialize it. Initialize bufp->multibyte to 0 if not emacs. For case '[' and `default', code re-written to handle multibyte characters. Add code for case 'c' and 'C' to handle category spec. (re_compile_fastmap): New local variables k, simple_char_max, and match_any_multibyte_characters. Use macro CHARSET_BITMAP_SIZE. Handle multibyte characters in cases charset, charset_not, wordchar, notwordchar, anychar, syntaxspec, notsyntaxspec, categoryspec, notcategoryspec. (STOP_ADDR_VSTRING, POS_ADDR_VSTRING): New macros. (re_search_2): Code re-written to handle multibyte characters. (AT_WORD_BOUNDARY): Macro disabled. (re_match_2_internal): New local variable multibyte. `d' is incremented while paying attention to multibyte characters if necessary. For case charset, charsetnot, wordbound, notwordbound, wordbeg, wordend, matchsyntax, and matchnotsyntax, code re-written to handle multibyte characters. Add code for case categoryspec and notcategoryspec. Declare c, c1 as unsigned int, not unsigned char.
author Richard M. Stallman <rms@gnu.org>
date Sun, 15 Jun 1997 19:00:12 +0000
parents bfe1d6597f08
children 66d807bdc5b4
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 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-function
@item after-change-functions
@item after-init-hook
@item after-insert-file-functions
@item after-make-frame-hook
@item auto-fill-function
@item auto-save-hook
@item before-change-function
@item before-change-functions
@item before-init-hook
@item before-make-frame-hook
@item blink-paren-function
@item c-mode-hook
@item calendar-load-hook
@item command-history-hook
@item comment-indent-function
@item deactivate-mark-hook
@item diary-display-hook
@item diary-hook
@item dired-mode-hook
@item disabled-command-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-hooks
@item find-file-not-found-hooks
@item first-change-hook
@item fortran-comment-hook
@item fortran-mode-hook
@item ftp-setup-write-file-hooks
@item ftp-write-file-hook
@item indent-mim-hook
@item initial-calendar-window-hook
@item kill-buffer-query-functions
@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 m2-mode-hook
@item mail-mode-hook
@item mail-setup-hook
@item mark-diary-entries-hook
@item medit-mode-hook
@item mh-compose-letter-hook
@item mh-folder-mode-hook
@item mh-letter-mode-hook
@item mim-mode-hook
@item minibuffer-setup-hook
@item minibuffer-exit-hook
@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 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-setup-hook
@item write-contents-hooks
@item write-file-hooks
@item write-region-annotate-functions
@end table