view lispref/hooks.texi @ 53229:33c3c7c16e13

lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work. (here): New variable. (decode_options): Use it. (ec_get_tty, ec_set_tty, init_tty, window_change, hang_up_signal): New functions. (window_change_signal, init_signals, reset_tty, init_pty, copy_from_to): Ditto. (pty_conversation): Ditto. (main): Use them. (master, pty_name, old_tty, tty, old_tty_valid, tty_erase_char): New variables. (flow_control, meta_key, _sobuf, in_conversation, quit_conversation): Ditto. lisp/server.el (server-process-filter): Added support for opening a new terminal frame. dispextern.h (get_frame_size): Renamed to get_tty_size, added tty_output parameter. dispnew.c (Fredraw_frame): fflush the current terminal instead of stdout. (direct_output_for_insert, direct_output_forward_char, update_frame_1): Ditto. (Fding, bitch_at_user): Ditto. (update_frame_1): Count pending output for current terminal instead of stdout. (window_change_signal): Resize all terminals. (change_frame_size): Don't resize all terminals to the same size. frame.c (Vterminal_frame): Removed. (syms_of_frame): Removed declaration of Vterminal_frame. (make_terminal_frame): Set the top frame of the terminal to the new frame. (Fmake_terminal_frame): Get a new frame size from get_tty_size, don't copy it. (do_switch_frame): Handle terminal frame visibility. (next_frame, prev_frame): Skip over frames on different terminals. frame.h (Vterminal_frame): Removed. keyboard.c (input_fd): Removed. (read_avail_input): Removed first argument from read_socket_hook. Try to read from each available tty, until one succeeds. (Fsuspend_emacs): Don't suspend if there are multiple terminals. lisp.h (get_frame_size): Removed superflous declaration. xterm.c (Xtread_socket): Removed first parameter. macterm.h (XTread_socket): Ditto. w32inevt.c (w32_console_read_socket): Ditto. w32term.c (w32_read_socket): Ditto. sysdep.c (input_fd): Removed. (change_input_fd): Removed. (discard_tty_input): Discard pending input on _all_ input descriptors. (stuff_char, tabs_safe_p): Use current terminal instead of input_fd. (init_baud_rate, request_sigio, unrequest_sigio): Ditto. (init_sys_modes, reset_sys_modes): Ditto. (narrow_foreground_group, widen_foreground_group): Use stdin. (init_sys_modes, reset_sys_modes): otty parameter renamed to tty_out. (get_frame_size): Renamed to get_tty_size, added tty_out parameter. term.c (read_socket_hook): Removed first parameter. (clear_end_of_line): Use updating_frame, if possible. (write_glyphs, insert_glyphs, ins_del_lines): Ditto. (term_init): Renamed get_frame_size to get_tty_size. termchar.h (struct tty_output): New entries: top_frame, previous_terminal_frame. termhooks.h (read_socket_hook): Removed first parameter. window.c (init_window_once): Removed reference to Vterminal_frame. xdisp.c (previous_terminal_frame): Moved to struct tty_output. (redisplay_internal): Updated to use previous_terminal_frame in tty_output. Allow for simultaneous refresh of multiple ttys. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-5
author Karoly Lorentey <lorentey@elte.hu>
date Fri, 26 Dec 2003 04:24:54 +0000
parents 695cf19ef79e
children 780b9eb8b58e 375f2633d815
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 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 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