view lispref/hooks.texi @ 10952:6069707b1151

Insure that all entry points call `bookmark-maybe-load-default-file'. Changed format of bookmark-alist and therefore of bookmark files. Have version stamps in bookmark files. Automatically upgrade old bookmark files to new format. Changed name of default bookmark file to ".emacs.bmk". Replaced "Bookmark-menu" with "bookmark-bmenu". The capitalization signified nothing; "bmenu" means "buffer-menu" -- that is, bmenu code is for the dired-like of bookmarks that appears when `list-bookmarks' is run, and the "bookmark-menu" prefix is for the menu-bar. Internally, use an alist instead of hardcoded list-positions for storing bookmark information. Applied <johng@media.mit.edu>'s patches for annotation support: (bookmark-send-annotation, bookmark-read-annotation-mode) (bookmark-edit-annotation-mode, bookmark-default-annotation-text) (bookmark-read-annotation-text-func, bookmark-read-annotation) (bookmark-send-edited-annotation, bookmark-edit-annotation): New functions. (bookmark-get-bookmark, bookmark-get-bookmark-record) (bookmark-name-from-full-record, bookmark-set-name) (bookmark-get-annotation, bookmark-set-annotation) (bookmark-get-info-node, bookmark-set-info-node) (bookmark-get-filename, bookmark-set-filename) (bookmark-get-position, bookmark-set-position) (bookmark-get-front-context-string, bookmark-set-front-context-string) (bookmark-get-rear-context-string, bookmark-set-rear-context-string): New subroutines. (bookmark-file-format-version, bookmark-end-of-version-stamp-marker): New variables. (bookmark-grok-file-format-version, bookmark-maybe-upgrade-file-format) (bookmark-upgrade-version-0-alist, bookmark-upgrade-file-format-from-0) (bookmark-insert-file-format-version-stamp): New functions. (bookmark-maybe-load-default-file): Renamed from bookmark-try-default-file'. (bookmark-old-default-file): New variable. (bookmark-default-file): Renamed from `bookmark-file'. New initial value, ".emacs.bmk". (bookmark-make-cell): Use backquote. Produce with the new format (Format Version 1). Use `format' to strip text-properties. (bookmark-write-file): Use `pp' instead of `princ'. Call `bookmark-insert-file-format-version-stamp'. (bookmark-all-names, bookmark-menu-popup-paned-bookmark-menu) (bookmark-menu-build-paned-menu, bookmark-menu-popup-paned-menu) (bookmark-insert-location): New functions. (bookmark-completing-read): New function. Everyone who called `completing-read' in the interactive spec now calls this. (bookmark-load-hook): New hook. (bookmark-make-menu-alist): Function deleted. (bookmark-popup-menu-and-apply-function): replaces `bookmark-make-menu-with-function'. (bookmark-load): Use `bookmark-alist-from-buffer'. Call `bookmark-maybe-upgrade-file-format'. (bookmark-set): If Info mode, record Info-current-node. Use `bookmark-bmenu-surreptitiously-rebuild-list'. (bookmark-buffer-file-name): Handle Info files. (bookmark-buffer-name): If Info mode, return Info-current-node. (bookmark-jump-noselect): For info node, use Info-goto-node. Use the helper functions, don't mess with the raw alist (except in completion, which we'll take care of later). Don't count on `bookmark-search-size' being correct; use the length of `forward-str' and `behind-str' instead. (bookmark-relocate): Use the helper functions; don't mess with the raw alist except in completion. (bookmark-rename): C-o in minibuffer now inserts old name. (bookmark-delete): New arg BATCH. (bookmark-bmenu-execute-deletions): Was `bookmark-bmenu-execute'. Just call bookmark-delete with the BATCH arg. Set the modification count and maybe save when done. Save point intuitively. (bookmark-insert-current-file-name): Just use `file-name-nondirectory'. (bookmark-location): Made non-interactive. (bookmark-bmenu-list): Replaces `list-bookmarks'. Delete arg ANNOTATION. Use mapcar to simplify. If not interactive-p, then use `set-buffer' instead of `switch-to-buffer'. (bookmark-kill-line): New function, used instead of kill-line. (bookmark-search-size): Init to 16 instead of 500.
author Richard M. Stallman <rms@gnu.org>
date Sat, 11 Mar 1995 02:05:20 +0000
parents 8bf07ff6a929
children a6eb5f12b0f3
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, Antinews, 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 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{-function} have single functions
as their values.  Usually there is a specific reason why the variable is
not a normal hook, such as the need to pass arguments to the function.
(In older Emacs versions, some of these variables had names ending in
@samp{-hook} even though they were not normal hooks.)

The variables whose names end in @samp{-hooks} or @samp{-functions} have
lists of functions as their values, but these functions are called in a
special way (they are passed arguments, or else their values are used).

@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-annotation-functions
@end table