home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / elisp / elisp-37 < prev    next >
Encoding:
GNU Info File  |  1993-05-11  |  25.6 KB  |  575 lines

  1. This is Info file elisp, produced by Makeinfo-1.52 from the input file
  2. elisp.texi.
  3.  
  4.    This file documents GNU Emacs Lisp.
  5.  
  6.    This is edition 2.0 of the GNU Emacs Lisp Reference Manual, for
  7. Emacs Version 19.
  8.  
  9.    Published by the Free Software Foundation, 675 Massachusetts Avenue,
  10. Cambridge, MA 02139 USA
  11.  
  12.    Copyright (C) 1990, 1991, 1992 Free Software Foundation, Inc.
  13.  
  14.    Permission is granted to make and distribute verbatim copies of this
  15. manual provided the copyright notice and this permission notice are
  16. preserved on all copies.
  17.  
  18.    Permission is granted to copy and distribute modified versions of
  19. this manual under the conditions for verbatim copying, provided that
  20. the entire resulting derived work is distributed under the terms of a
  21. permission notice identical to this one.
  22.  
  23.    Permission is granted to copy and distribute translations of this
  24. manual into another language, under the above conditions for modified
  25. versions, except that this permission notice may be stated in a
  26. translation approved by the Foundation.
  27.  
  28. 
  29. File: elisp,  Node: Process Internals,  Prev: Window Internals,  Up: Object Internals
  30.  
  31. Process Internals
  32. -----------------
  33.  
  34.                                       The fields of a process are:
  35.  
  36.                                   `name'
  37.                                         A string, the name of the
  38.                                         process.
  39.  
  40.                                   `command'
  41.                                         A list containing the command
  42.                                         arguments that were used to
  43.                                         start this process.
  44.  
  45.                                   `filter'
  46.                                         A function used to accept
  47.                                         output from the process instead
  48.                                         of a buffer, or `nil'.
  49.  
  50.                                   `sentinel'
  51.                                         A function called whenever the
  52.                                         process receives a signal, or
  53.                                         `nil'.
  54.  
  55.                                   `buffer'
  56.                                         The associated buffer of the
  57.                                         process.
  58.  
  59.                                   `pid'
  60.                                         An integer, the Unix process ID.
  61.  
  62.                                   `childp'
  63.                                         A flag, non-`nil' if this is
  64.                                         really a child process.  It is
  65.                                         `nil' for a network connection.
  66.  
  67.                                   `flags'
  68.                                         A symbol indicating the state
  69.                                         of the process.  Possible
  70.                                         values include `run', `stop',
  71.                                         `closed', etc.
  72.  
  73.                                   `reason'
  74.                                         An integer, the Unix signal
  75.                                         number that the process
  76.                                         received that caused the
  77.                                         process to terminate or stop.
  78.                                         If the process has exited, then
  79.                                         this is the exit code it
  80.                                         specified.
  81.  
  82.                                   `mark'
  83.                                         A marker indicating the
  84.                                         position of end of last output
  85.                                         from this process inserted into
  86.                                         the buffer.  This is usually
  87.                                         the end of the buffer.
  88.  
  89.                                   `kill_without_query'
  90.                                         A flag, non-`nil' meaning this
  91.                                         process should not cause
  92.                                         confirmation to be needed if
  93.                                         Emacs is killed.
  94.  
  95. 
  96. File: elisp,  Node: Standard Errors,  Next: Standard Buffer-Local Variables,  Prev: GNU Emacs Internals,  Up: Top
  97.  
  98. Standard Errors
  99. ***************
  100.  
  101.                                       Here is the complete list of the
  102. error symbols in standard Emacs, grouped by concept.  The list includes
  103. each symbol's message (on the `error-message' property of the symbol),
  104. and a cross reference to a description of how the error can occur.
  105.  
  106.                                       Each error symbol has an
  107. `error-conditions' property which is a list of symbols.  Normally, this
  108. list includes the error symbol itself, and the symbol `error'.
  109. Occasionally it includes additional symbols, which are intermediate
  110. classifications, narrower than `error' but broader than a single error
  111. symbol.  For example, all the errors in accessing files have the
  112. condition `file-error'.
  113.  
  114.                                       As a special exception, the error
  115. symbol `quit' does not have the condition `error', because quitting is
  116. not considered an error.
  117.  
  118.                                       *Note Errors::, for an
  119. explanation of how errors are generated and handled.
  120.  
  121.                                   `SYMBOL'
  122.                                         STRING; REFERENCE.
  123.  
  124.                                   `error'
  125.                                         `"error"'
  126.                                         *Note Errors::.
  127.  
  128.                                   `quit'
  129.                                         `"Quit"'
  130.                                         *Note Quitting::.
  131.  
  132.                                   `args-out-of-range'
  133.                                         `"Args out of range"'
  134.                                         *Note Sequences Arrays
  135.                                         Vectors::.
  136.  
  137.                                   `arith-error'
  138.                                         `"Arithmetic error"'
  139.                                         See `/' and `%' in *Note
  140.                                         Numbers::.
  141.  
  142.                                   `beginning-of-buffer'
  143.                                         `"Beginning of buffer"'
  144.                                         *Note Motion::.
  145.  
  146.                                   `buffer-read-only'
  147.                                         `"Buffer is read-only"'
  148.                                         *Note Read Only Buffers::.
  149.  
  150.                                   `end-of-buffer'
  151.                                         `"End of buffer"'
  152.                                         *Note Motion::.
  153.  
  154.                                   `end-of-file'
  155.                                         `"End of file during parsing"'
  156.                                         This is not a `file-error'.
  157.                                         *Note Input Functions::.
  158.  
  159.                                   `file-error'
  160.                                         This error, and its
  161.                                         subcategories, do not have
  162.                                         error-strings, because the
  163.                                         error message is constructed
  164.                                         from the data items alone when
  165.                                         the error condition
  166.                                         `file-error' is present.
  167.                                         *Note Files::.
  168.  
  169.                                   `file-locked'
  170.                                         This is a `file-error'.
  171.                                         *Note File Locks::.
  172.  
  173.                                   `file-already-exists'
  174.                                         This is a `file-error'.
  175.                                         *Note Writing to Files::.
  176.  
  177.                                   `file-supersession'
  178.                                         This is a `file-error'.
  179.                                         *Note Buffer Modification::.
  180.  
  181.                                   `invalid-function'
  182.                                         `"Invalid function"'
  183.                                         *Note Classifying Lists::.
  184.  
  185.                                   `invalid-read-syntax'
  186.                                         `"Invalid read syntax"'
  187.                                         *Note Input Functions::.
  188.  
  189.                                   `invalid-regexp'
  190.                                         `"Invalid regexp"'
  191.                                         *Note Regular Expressions::.
  192.  
  193.                                   `no-catch'
  194.                                         `"No catch for tag"'
  195.                                         *Note Catch and Throw::.
  196.  
  197.                                   `search-failed'
  198.                                         `"Search failed"'
  199.                                         *Note Searching and Matching::.
  200.  
  201.                                   `setting-constant'
  202.                                         `"Attempt to set a constant
  203.                                         symbol"'
  204.                                         The values of the symbols `nil'
  205.                                         and `t' may not be changed.
  206.                                         *Note Variables that Never
  207.                                         Change: Constant Variables.
  208.  
  209.                                   `void-function'
  210.                                         `"Symbol's function definition
  211.                                         is void"'
  212.                                         *Note Function Cells::.
  213.  
  214.                                   `void-variable'
  215.                                         `"Symbol's value as variable is
  216.                                         void"'
  217.                                         *Note Accessing Variables::.
  218.  
  219.                                   `wrong-number-of-arguments'
  220.                                         `"Wrong number of arguments"'
  221.                                         *Note Classifying Lists::.
  222.  
  223.                                   `wrong-type-argument'
  224.                                         `"Wrong type argument"'
  225.                                         *Note Type Predicates::.
  226.  
  227. 
  228. File: elisp,  Node: Standard Buffer-Local Variables,  Next: Standard Keymaps,  Prev: Standard Errors,  Up: Top
  229.  
  230. Buffer-Local Variables
  231. **********************
  232.  
  233.                                       The table below shows all of the
  234. variables that are automatically local (when set) in each buffer in
  235. Emacs Version 18 with the common packages loaded.
  236.  
  237.                                   `abbrev-mode'
  238.                                         *note Abbrevs::.
  239.  
  240.                                   `auto-fill-function'
  241.                                         *note Auto Filling::.
  242.  
  243.                                   `buffer-auto-save-file-name'
  244.                                         *note Auto-Saving::.
  245.  
  246.                                   `buffer-backed-up'
  247.                                         *note Backup Files::.
  248.  
  249.                                   `buffer-display-table'
  250.                                         *note Display Tables::.
  251.  
  252.                                   `buffer-file-name'
  253.                                         *note Buffer File Name::.
  254.  
  255.                                   `buffer-file-number'
  256.                                         *note Buffer File Name::.
  257.  
  258.                                   `buffer-file-truename'
  259.                                         *note Buffer File Name::.
  260.  
  261.                                   `buffer-offer-save'
  262.                                         *note Saving Buffers::.
  263.  
  264.                                   `buffer-read-only'
  265.                                         *note Read Only Buffers::.
  266.  
  267.                                   `buffer-saved-size'
  268.                                         *note Point::.
  269.  
  270.                                   `buffer-undo-list'
  271.                                         *note Undo::.
  272.  
  273.                                   `case-fold-search'
  274.                                         *note Searching and Case::.
  275.  
  276.                                   `ctl-arrow'
  277.                                         *note Usual Display::.
  278.  
  279.                                   `default-directory'
  280.                                         *note System Environment::.
  281.  
  282.                                   `fill-column'
  283.                                         *note Auto Filling::.
  284.  
  285.                                   `left-margin'
  286.                                         *note Indentation::.
  287.  
  288.                                   `local-abbrev-table'
  289.                                         *note Abbrevs::.
  290.  
  291.                                   `local-write-file-hooks'
  292.                                         *note Saving Buffers::.
  293.  
  294.                                   `major-mode'
  295.                                         *note Mode Help::.
  296.  
  297.                                   `mark-active'
  298.                                         *note The Mark::.
  299.  
  300.                                   `mark-ring'
  301.                                         *note The Mark::.
  302.  
  303.                                   `minor-modes'
  304.                                         *note Minor Modes::.
  305.  
  306.                                   `mode-line-format'
  307.                                         *note Mode Line Data::.
  308.  
  309.                                   `mode-name'
  310.                                         *note Mode Line Variables::.
  311.  
  312.                                   `overwrite-mode'
  313.                                         *note Insertion::.
  314.  
  315.                                   `paragraph-separate'
  316.                                         *note Standard Regexps::.
  317.  
  318.                                   `paragraph-start'
  319.                                         *note Standard Regexps::.
  320.  
  321.                                   `require-final-newline'
  322.                                         *note Insertion::.
  323.  
  324.                                   `selective-display'
  325.                                         *note Selective Display::.
  326.  
  327.                                   `selective-display-ellipses'
  328.                                         *note Selective Display::.
  329.  
  330.                                   `tab-width'
  331.                                         *note Usual Display::.
  332.  
  333.                                   `truncate-lines'
  334.                                         *note Truncation::.
  335.  
  336. 
  337. File: elisp,  Node: Standard Keymaps,  Next: Standard Hooks,  Prev: Standard Buffer-Local Variables,  Up: Top
  338.  
  339. Standard Keymaps
  340. ****************
  341.  
  342.                                       The following symbols are used as
  343. the names for various keymaps.  Some of these exist when Emacs is first
  344. started, others are only loaded when their respective mode is used.
  345. This is not an exhaustive list.
  346.  
  347.                                       Almost all of these maps are used
  348. as local maps.  Indeed, of the modes that presently exist, only Vip
  349. mode and Terminal mode ever change the global keymap.
  350.  
  351.                                   `Buffer-menu-mode-map'
  352.                                         A full keymap used by Buffer
  353.                                         Menu mode.
  354.  
  355.                                   `c-mode-map'
  356.                                         A sparse keymap used in C mode
  357.                                         as a local map.
  358.  
  359.                                   `command-history-map'
  360.                                         A full keymap used by Command
  361.                                         History mode.
  362.  
  363.                                   `ctl-x-4-map'
  364.                                         A sparse keymap for subcommands
  365.                                         of the prefix `C-x 4'.
  366.  
  367.                                   `ctl-x-map'
  368.                                         A full keymap for `C-x'
  369.                                         commands.
  370.  
  371.                                   `debugger-mode-map'
  372.                                         A full keymap used by Debugger
  373.                                         mode.
  374.  
  375.                                   `dired-mode-map'
  376.                                         A full keymap for `dired-mode'
  377.                                         buffers.
  378.  
  379.                                   `doctor-mode-map'
  380.                                         A sparse keymap used by Doctor
  381.                                         mode.
  382.  
  383.                                   `edit-abbrevs-map'
  384.                                         A sparse keymap used in
  385.                                         `edit-abbrevs'.
  386.  
  387.                                   `edit-tab-stops-map'
  388.                                         A sparse keymap used in
  389.                                         `edit-tab-stops'.
  390.  
  391.                                   `electric-buffer-menu-mode-map'
  392.                                         A full keymap used by Electric
  393.                                         Buffer Menu mode.
  394.  
  395.                                   `electric-history-map'
  396.                                         A full keymap used by Electric
  397.                                         Command History mode.
  398.  
  399.                                   `emacs-lisp-mode-map'
  400.                                         A sparse keymap used in Emacs
  401.                                         Lisp mode.
  402.  
  403.                                   `function-keymap'
  404.                                         The keymap for the definitions
  405.                                         of keypad and function keys.
  406.                                         If there are none, then it
  407.                                         contains an empty sparse keymap.
  408.  
  409.                                   `fundamental-mode-map'
  410.                                         The local keymap for
  411.                                         Fundamental mode.
  412.                                         It is empty and should not be
  413.                                         changed.
  414.  
  415.                                   `Helper-help-map'
  416.                                         A full keymap used by the help
  417.                                         utility package.
  418.                                         It has the same keymap in its
  419.                                         value cell and in its function
  420.                                         cell.
  421.  
  422.                                   `Info-edit-map'
  423.                                         A sparse keymap used by the `e'
  424.                                         command of Info.
  425.  
  426.                                   `Info-mode-map'
  427.                                         A sparse keymap containing Info
  428.                                         commands.
  429.  
  430.                                   `isearch-mode-map'
  431.                                         A keymap that defines the
  432.                                         characters you can type within
  433.                                         incremental search.
  434.  
  435.                                   `lisp-interaction-mode-map'
  436.                                         A sparse keymap used in Lisp
  437.                                         mode.
  438.  
  439.                                   `lisp-mode-map'
  440.                                         A sparse keymap used in Lisp
  441.                                         mode.
  442.  
  443.                                   `mode-specific-map'
  444.                                         The keymap for characters
  445.                                         following `C-c'.  Note, this is
  446.                                         in the global map.  This map is
  447.                                         not actually mode specific: its
  448.                                         name was chosen to be
  449.                                         informative for the user in
  450.                                         `C-h b' (`display-bindings'),
  451.                                         where it describes the main use
  452.                                         of the `C-c' prefix key.
  453.  
  454.                                   `occur-mode-map'
  455.                                         A local keymap used in Occur
  456.                                         mode.
  457.  
  458.                                   `query-replace-map'
  459.                                         A local keymap used for
  460.                                         responses in `query-replace'
  461.                                         and related commands; also for
  462.                                         `y-or-n-p' and `map-y-or-n-p'.
  463.                                         The functions that use this map
  464.                                         do not support prefix keys;
  465.                                         they look up one event at a
  466.                                         time.
  467.  
  468.                                   `text-mode-map'
  469.                                         A sparse keymap used by Text
  470.                                         mode.
  471.  
  472.                                   `view-mode-map'
  473.                                         A full keymap used by View mode.
  474.  
  475. 
  476. File: elisp,  Node: Standard Hooks,  Next: Index,  Prev: Standard Keymaps,  Up: Top
  477.  
  478. Standard Hooks
  479. **************
  480.  
  481.                                       The following is a list of hook
  482. variables which let you provide functions to be called from within
  483. Emacs on suitable occasions.
  484.  
  485.                                       Most of these variables have
  486. names ending with `-hook' are "normal hooks", that are run with
  487. `run-hooks'.  The value of such a hook is a list of functions.  The
  488. recommended way to put a new function on such a hook is to call
  489. `add-hook'.  *Note Hooks::, for more information about using hooks.
  490.  
  491.                                       The variables whose names end in
  492. `-function' have single functions as their values.  Usually there is a
  493. specific reason why the variable is not a normal hook, such as, the
  494. need to pass an argument to the function.  (In older Emacs versions,
  495. some of these variables had names ending in `-hook' even though they
  496. were not normal hooks.)
  497.  
  498.                                       The variables whose names end in
  499. `-hooks' have lists of functions as their values, but these functions
  500. are called in a special way (they are passed arguments, or else their
  501. values are used).
  502.  
  503.                                   `activate-mark-hook'
  504.                                   `after-change-function'
  505.                                   `after-init-hook'
  506.                                   `auto-fill-function'
  507.                                   `auto-save-hook'
  508.                                   `before-change-function'
  509.                                   `before-init-hook'
  510.                                   `blink-paren-function'
  511.                                   `c-mode-hook'
  512.                                   `command-history-hook'
  513.                                   `comment-indent-function'
  514.                                   `deactivate-mark-hook'
  515.                                   `dired-mode-hook'
  516.                                   `disabled-command-hook'
  517.                                   `edit-picture-hook'
  518.                                   `electric-buffer-menu-mode-hook'
  519.                                   `electric-command-history-hook'
  520.                                   `electric-help-mode-hook'
  521.                                   `emacs-lisp-mode-hook'
  522.                                   `find-file-hooks'
  523.                                   `find-file-not-found-hooks'
  524.                                   `first-change-hook'
  525.                                   `fortran-comment-hook'
  526.                                   `fortran-mode-hook'
  527.                                   `ftp-setup-write-file-hooks'
  528.                                   `ftp-write-file-hook'
  529.                                   `indent-mim-hook'
  530.                                   `LaTeX-mode-hook'
  531.                                   `ledit-mode-hook'
  532.                                   `lisp-indent-function'
  533.                                   `lisp-interaction-mode-hook'
  534.                                   `lisp-mode-hook'
  535.                                   `m2-mode-hook'
  536.                                   `mail-mode-hook'
  537.                                   `mail-setup-hook'
  538.                                   `medit-mode-hook'
  539.                                   `mh-compose-letter-hook'
  540.                                   `mh-folder-mode-hook'
  541.                                   `mh-letter-mode-hook'
  542.                                   `mim-mode-hook'
  543.                                   `news-mode-hook'
  544.                                   `news-reply-mode-hook'
  545.                                   `news-setup-hook'
  546.                                   `nroff-mode-hook'
  547.                                   `outline-mode-hook'
  548.                                   `plain-TeX-mode-hook'
  549.                                   `pre-abbrev-expand-hook'
  550.                                   `pre-command-hook'
  551.                                   `post-command-hook'
  552.                                   `prolog-mode-hook'
  553.                                   `protect-innocence-hook'
  554.                                   `rmail-edit-mode-hook'
  555.                                   `rmail-mode-hook'
  556.                                   `rmail-summary-mode-hook'
  557.                                   `scheme-indent-hook'
  558.                                   `scheme-mode-hook'
  559.                                   `scribe-mode-hook'
  560.                                   `shell-mode-hook'
  561.                                   `shell-set-directory-error-hook'
  562.                                   `suspend-hook'
  563.                                   `suspend-resume-hook'
  564.                                   `temp-buffer-show-function'
  565.                                   `term-setup-hook'
  566.                                   `terminal-mode-hook'
  567.                                   `terminal-mode-break-hook'
  568.                                   `TeX-mode-hook'
  569.                                   `text-mode-hook'
  570.                                   `vi-mode-hook'
  571.                                   `view-hook'
  572.                                   `window-setup-hook'
  573.                                   `write-contents-hooks'
  574.                                   `write-file-hooks'
  575.