]> code.delx.au - gnu-emacs/blobdiff - lispref/elisp.texi
*** empty log message ***
[gnu-emacs] / lispref / elisp.texi
index e1467e97b62e138e86cc236f7785929d7284499e..ad09c6d190c27215470a6f57ff9016c76ef05b74 100644 (file)
@@ -4,54 +4,17 @@
 @settitle GNU Emacs Lisp Reference Manual
 @c %**end of header
 
-@smallbook
-
-@ifinfo
-This version is the edition 2.5 of the GNU Emacs Lisp
-Reference Manual.  It corresponds to Emacs Version 20.3
-@c Please REMEMBER to update edition number in *four* places in this file
-@c                 and also in *one* place in intro.texi
+@c Versino of the manual.
+@set VERSION 2.8
 
-Published by the Free Software Foundation
-59 Temple Place, Suite 330
-Boston, MA  02111-1307  USA
+@dircategory Editors
+@direntry
+* Elisp: (elisp).      The Emacs Lisp Reference Manual.
+@end direntry
 
-Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998 Free Software Foundation, Inc. 
-
-Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission notice
-identical to this one except for the removal of this paragraph (this
-paragraph not being relevant to the printed manual).
-
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the
-entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation
-approved by the Foundation.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-section entitled ``GNU General Public License'' is included exactly as
-in the original, and provided that the entire resulting derived work is
-distributed under the terms of a permission notice identical to this
-one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the section entitled ``GNU General Public License'' may be
-included in a translation approved by the Free Software Foundation
-instead of in the original English.
-@end ifinfo
+@smallbook
+@setchapternewpage odd
+@finalout
 
 @c Combine indices.
 @synindex cp fn
@@ -61,64 +24,82 @@ instead of in the original English.
 @c We use the "type index" to index new functions and variables.
 @c @syncodeindex tp fn
 
-@setchapternewpage odd
-@finalout
+@ifnottex
+This Info file contains edition @value{VERSION} of the GNU Emacs Lisp
+Reference Manual, corresponding to Emacs version 21.1.
+@c Please REMEMBER to update edition number in *four* places in this file
+@c                 and also in *one* place in intro.texi
+
+Published by the Free Software Foundation
+59 Temple Place, Suite 330
+Boston, MA  02111-1307  USA
+
+Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000
+ Free Software Foundation, Inc. 
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``Copying'', with the Front-Cover texts being
+``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A copy
+of the license is included in the section entitled ``GNU Free
+Documentation License''.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software.  Copies published by the Free
+Software Foundation raise funds for GNU development.''
+@end ifnottex
 
 @titlepage
 @title GNU Emacs Lisp Reference Manual
-@subtitle For Emacs Version 20.3
+@subtitle For Emacs Version 21
 @c The edition number appears in several places in this file
 @c and also in the file intro.texi.
-@subtitle Revision 2.5, May 1998
+@subtitle Revision @value{VERSION}, May 2000
 
 @author by Bil Lewis, Dan LaLiberte, Richard Stallman
 @author and the GNU Manual Group
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998 Free Software Foundation, Inc. 
+Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000
+Free Software Foundation, Inc. 
 
 @sp 2
-Edition 2.5 @*
-Revised for Emacs Version 20.3,@*
-May 1998.@*
+Edition @value{VERSION} @*
+Revised for Emacs Version 21.1,@*
+May 2000.@*
 @sp 2
-ISBN 1-882114-72-8
+ISBN 1-882114-73-6
 
 @sp 2
 Published by the Free Software Foundation @*
 59 Temple Place, Suite 330@*
 Boston, MA  02111-1307  USA
 
-Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``Copying'', with the Front-Cover texts being
+``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A copy
+of the license is included in the section entitled ``GNU Free
+Documentation License''.
 
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-section entitled ``GNU General Public License'' is included
-exactly as in the original, and provided that the entire resulting
-derived work is distributed under the terms of a permission notice
-identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the section entitled ``GNU General Public License'' may be
-included in a translation approved by the Free Software Foundation
-instead of in the original English.
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software.  Copies published by the Free
+Software Foundation raise funds for GNU development.''
 
 Cover art by Etienne Suvasa.
 @end titlepage
 @page
 
-@node Top, Copying, (dir), (dir)
+@node Top, Introduction, (dir), (dir)
 
-@ifinfo
-This Info file contains edition 2.5 of the GNU Emacs Lisp
-Reference Manual, corresponding to GNU Emacs version 20.3.
-@end ifinfo
+@ifnottex
+This Info file contains edition @value{VERSION} of the GNU Emacs Lisp
+Reference Manual, corresponding to GNU Emacs version 21.1.
+@end ifnottex
 
 @menu
-* Copying::                 Conditions for copying and changing GNU Emacs.
 * Introduction::            Introduction and conventions used.
 * Standards: Coding Conventions.    Coding conventions for Emacs Lisp.
 
@@ -129,6 +110,7 @@ Reference Manual, corresponding to GNU Emacs version 20.3.
 * Sequences Arrays Vectors::  Lists, strings and vectors are called sequences.
                                 Certain functions act on any kind of sequence.
                                 The description of vectors is here as well.
+* Hash Tables::             Very fast lookup-tables.
 * Symbols::                 Symbols represent names, uniquely.
 
 * Evaluation::              How Lisp expressions are evaluated.
@@ -169,14 +151,16 @@ Reference Manual, corresponding to GNU Emacs version 20.3.
 * Abbrevs::                 How Abbrev mode works, and its data structures.
 
 * Processes::               Running and communicating with subprocesses.
+* Display::                Features for controlling the screen display.
+* Calendar::               Customizing the calendar and diary.
 * System Interface::        Getting the user id, system type, environment
                               variables, and other such things.
-* Display::                Parameters controlling screen usage.
-                              The bell.  Waiting for input.
-* Calendar::               Customizing the calendar and diary.
 
 Appendices
 
+* Antinews::                Info for users downgrading to Emacs 20.
+* GNU Free Documentation License:: The license for this documentation
+* GPL::                     Conditions for copying and changing GNU Emacs.
 * Tips::                    Advice and coding conventions for Emacs Lisp.
 * GNU Emacs Internals::     Building and dumping Emacs;
                               internal data structures.
@@ -189,7 +173,7 @@ Appendices
 * Index::                   Index including concepts, functions, variables,
                               and other terms.
 
-* New Symbols::             New functions and variables in Emacs 20.
+* New Symbols::             New functions and variables in Emacs 21.
 
       --- The Detailed Node Listing ---
 
@@ -240,7 +224,7 @@ Programming Types
 * Integer Type::        Numbers without fractional parts.
 * Floating Point Type:: Numbers with fractional parts and with a large range.
 * Character Type::      The representation of letters, numbers and
-                        control characters.
+                          control characters.
 * Sequence Type::       Both lists and arrays are classified as sequences.
 * Cons Cell Type::      Cons cells, and lists (which are made from cons cells).
 * Array Type::          Arrays include strings and vectors.
@@ -254,7 +238,7 @@ Programming Types
 * Primitive Function Type::     A function written in C, callable from Lisp.
 * Byte-Code Type::      A function written in Lisp, then compiled.
 * Autoload Type::       A type used for automatically loading seldom-used
-                        functions.
+                          functions.
 
 List Type
 
@@ -542,11 +526,11 @@ Keymaps
 * Inheritance and Keymaps::    How one keymap can inherit the bindings
                                  of another keymap.
 * Prefix Keys::                 Defining a key with a keymap as its definition.
-* Menu Keymaps::               A keymap can define a menu for X windows
+* Menu Keymaps::               A keymap can define a menu for X
                                  or for use from the terminal.
 * Active Keymaps::             Each buffer has a local keymap
                                   to override the standard (global) bindings.
-                               Each minor mode can also override them.
+                                 Each minor mode can also override them.
 * Key Lookup::                  How extracting elements from keymaps works.
 * Functions for Key Lookup::    How to request key lookup.
 * Changing Key Bindings::       Redefining a key in a keymap.
@@ -698,10 +682,10 @@ Frames
 * Pop-Up Menus::           Displaying a menu for the user to select from.
 * Dialog Boxes::            Displaying a box to ask yes or no.
 * Pointer Shapes::          Specifying the shape of the mouse pointer.
-* Window System Selections::Transferring text to and from other window.
+* Window System Selections::Transferring text to and from other windows.
 * Color Names::                    Getting the definitions of color names.
 * Resources::              Getting resource values from the server.
-* Server Data::                    Getting info about the X server.
+* Display Feature Testing:: Determining the features of a terminal.
 
 Positions
 
@@ -786,9 +770,31 @@ Text Properties
                               them back.
 * Lazy Properties::         Computing text properties in a lazy fashion
                               only when text is examined.
+* Clickable Text::          Using text properties to make regions of text
+                              do something when you click on them.
+* Fields::                  The @code{field} property defines
+                              fields within the buffer.
 * Not Intervals::          Why text properties do not use
                              Lisp-visible text intervals.
 
+Non-ASCII Characters
+
+* Text Representations::    Unibyte and multibyte representations
+* Converting Representations::  Converting unibyte to multibyte and vice versa.
+* Selecting a Representation::  Treating a byte sequence as unibyte or multi.
+* Character Codes::         How unibyte and multibyte relate to
+                                codes of individual characters.
+* Character Sets::          The space of possible characters codes
+                                is divided into various character sets.
+* Chars and Bytes::         More information about multibyte encodings.
+* Splitting Characters::    Converting a character to its byte sequence.
+* Scanning Charsets::       Which character sets are used in a buffer?
+* Translation of Characters::   Translation tables are used for conversion.
+* Coding Systems::          Coding systems are conversions for saving files.
+* Input Methods::           Input methods allow users to enter various
+                                non-ASCII characters without speciak keyboards.
+* Locales::                 Interacting with the POSIX locale.
+
 Searching and Matching
 
 * String Search::           Search for an exact match.
@@ -860,10 +866,10 @@ Operating System Interface
 
 Starting Up Emacs
 
-* Start-up Summary::        Sequence of actions Emacs performs at start-up.
+* Startup Summary::         Sequence of actions Emacs performs at start-up.
 * Init File::               Details on reading the init file (@file{.emacs}).
 * Terminal-Specific::       How the terminal-specific Lisp file is read.
-* Command Line Arguments::  How command line arguments are processed,
+* Command-Line Arguments::  How command line arguments are processed,
                               and how you can customize them.
 
 Getting out of Emacs
@@ -907,6 +913,7 @@ Object Internals
 
 @include lists.texi
 @include sequences.texi
+@include hash.texi
 @include symbols.texi
 @include eval.texi
 
@@ -945,9 +952,9 @@ Object Internals
 @include abbrevs.texi
 @include processes.texi
 
-@include os.texi
 @include display.texi
 @include calendar.texi
+@include os.texi
 
 @c MOVE to Emacs Manual:  include misc-modes.texi
 
@@ -955,6 +962,9 @@ Object Internals
 
 @c  REMOVE this:  include non-hacker.texi
 
+@include anti.texi
+@include doclicense.texi
+@include gpl.texi
 @include tips.texi
 @include internals.texi
 @include errors.texi