]> code.delx.au - gnu-emacs/blobdiff - lispref/elisp.texi
*** empty log message ***
[gnu-emacs] / lispref / elisp.texi
index cd92b6834788cf290af23f9c02cbfd40049da86d..83cd2ba98ecab175ae312e5c988df2e18c534f94 100644 (file)
@@ -6,17 +6,26 @@
 
 @c Version of the manual and of Emacs.
 @c Please remember to update the edition number in README as well.
-@set VERSION  2.7
+@set VERSION  2.9
 @set EMACSVER 22.0.50
 
 @dircategory Emacs
 @direntry
-* Elisp: (elisp).      The Emacs Lisp Reference Manual.
+* Elisp: (elisp).       The Emacs Lisp Reference Manual.
 @end direntry
 
+@c So that anyone making the printed manual gets the version we have
+@c tuned to avoid bad line breaks, etc.
 @smallbook
-@setchapternewpage odd
-@finalout
+
+@c per rms and peterb, use 10pt fonts for the main text, mostly to
+@c save on paper cost.  Also, do not declare @setchapternewpage odd,
+@c for the same reason. Do this inside @tex for now, so the
+@c last-released makeinfo does not complain.
+@tex
+@fonttextsize 10
+\global\hbadness=6000 % don't worry about not-too-underfull boxes
+@end tex
 
 @c Combine indices.
 @synindex cp fn
 @c We use the "type index" to index new functions and variables.
 @c @syncodeindex tp fn
 
-@ifnottex
-This Info file contains edition @value{VERSION} of the GNU Emacs Lisp
+@copying
+This is edition @value{VERSION} of the GNU Emacs Lisp
 Reference Manual, corresponding to Emacs version @value{EMACSVER}.
 
-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, 2002, 2003, 2004, 2005, Free Software Foundation, Inc.
+Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,
+1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+Inc.
 
+@quotation
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.2 or
 any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License'', 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''.
+Invariant Sections being ``GNU General Public License,'' 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
+@end quotation
+@end copying
 
 @titlepage
 @title GNU Emacs Lisp Reference Manual
@@ -59,33 +67,16 @@ Software Foundation raise funds for GNU development.''
 @author and the GNU Manual Group
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,@*
-1999, 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-
-@sp 2
-Edition @value{VERSION} @*
-Revised for Emacs Version @value{EMACSVER},@*
-January 2002.@*
-@sp 2
-ISBN 1-882114-73-6
+@insertcopying
 
-@sp 2
+@sp 1
 Published by the Free Software Foundation @*
-59 Temple Place, Suite 330@*
-Boston, MA  02111-1307  USA
-
-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.''
+51 Franklin St, Fifth Floor @*
+Boston, MA 02110-1301 @*
+USA @*
+ISBN 1-882114-73-6
 
+@sp 1
 Cover art by Etienne Suvasa.
 @end titlepage
 
@@ -97,7 +88,7 @@ Cover art by Etienne Suvasa.
 
 @ifnottex
 @node Top, Introduction, (dir), (dir)
-@top Emacs Lisp 
+@top Emacs Lisp
 
 This Info file contains edition @value{VERSION} of the GNU Emacs Lisp
 Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
@@ -142,7 +133,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
                               files are made.
 * Buffers::                 Creating and using buffer objects.
 * Windows::                 Manipulating windows and displaying buffers.
-* Frames::                 Making multiple X windows.
+* Frames::                 Making multiple system-level windows.
 * Positions::               Buffer positions and motion functions.
 * Markers::                 Markers represent positions and update
                               automatically when the text is changed.
@@ -175,7 +166,9 @@ Appendices
 * Index::                   Index including concepts, functions, variables,
                               and other terms.
 
+@ignore
 * New Symbols::             New functions and variables in Emacs @value{EMACSVER}.
+@end ignore
 
 Detailed Node Listing
 ---------------------
@@ -345,7 +338,7 @@ Kinds of Forms
                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
-* Special Forms::           ``Special forms'' are idiosyncratic primitives,
+* Special Forms::           "Special forms" are idiosyncratic primitives,
                               most of them extremely important.
 * Autoloading::             Functions set up to load files
                               containing their real definitions.
@@ -457,13 +450,14 @@ Writing Customization Definitions
 Loading
 
 * How Programs Do Loading:: The @code{load} function and others.
+* Load Suffixes::           Details about the suffixes that @code{load} tries.
 * Library Search::          Finding a library to load.
 * Loading Non-ASCII::       Non-@acronym{ASCII} characters in Emacs Lisp files.
 * Autoload::                Setting up a function to autoload.
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::              How to ``unload'' a library that was loaded.
+* Unloading::              How to "unload" a library that was loaded.
 * Hooks for Loading::      Providing code to be run when
                              particular libraries are loaded.
 
@@ -562,6 +556,10 @@ Minibuffers
 * Yes-or-No Queries::       Asking a question with a simple answer.
 * Multiple Queries::       Asking a series of similar questions.
 * Reading a Password::     Reading a password from the terminal.
+* Minibuffer Commands::     Commands used as key bindings in minibuffers.
+* Minibuffer Contents::     How such commands access the minibuffer text.
+* Minibuffer Windows::      Operating on the special minibuffer windows.
+* Recursive Mini::          Whether recursive entry to minibuffer is allowed.
 * Minibuffer Misc::         Various customization hooks and variables.
 
 Completion
@@ -603,7 +601,8 @@ Defining Commands
 
 Keymaps
 
-* Keymap Terminology::         Definitions of terms pertaining to keymaps.
+* Key Sequences::              Key sequences as Lisp objects.
+* Keymap Basics::               Basic concepts of keymaps.
 * Format of Keymaps::          What a keymap looks like as a Lisp object.
 * Creating Keymaps::           Functions to create and copy keymaps.
 * Inheritance and Keymaps::    How one keymap can inherit the bindings
@@ -742,7 +741,7 @@ Buffers
                               is visited.
 * Buffer Modification::     A buffer is @dfn{modified} if it needs to be saved.
 * Modification Time::       Determining whether the visited file was changed
-                              ``behind Emacs's back''.
+                              "behind Emacs's back".
 * Read Only Buffers::       Modifying text is not allowed in a
                               read-only buffer.
 * The Buffer List::         How to look at all the existing buffers.
@@ -797,7 +796,7 @@ Frames
 * Mouse Position::         Asking where the mouse is, or moving it.
 * 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.
+* Pointer Shape::           Specifying the shape of the mouse pointer.
 * Window System Selections::Transferring text to and from other windows.
 * Color Names::                    Getting the definitions of color names.
 * Text Terminal Colors::    Defining colors for text-only terminals.
@@ -831,8 +830,8 @@ Markers
 * Marker Insertion Types::  Two ways a marker can relocate when you
                               insert where it points.
 * Moving Markers::          Moving the marker to a new buffer or position.
-* The Mark::                How ``the mark'' is implemented with a marker.
-* The Region::              How to access ``the region''.
+* The Mark::                How "the mark" is implemented with a marker.
+* The Region::              How to access "the region".
 
 Text
 
@@ -863,8 +862,8 @@ Text
 * Registers::               How registers are implemented.  Accessing
                               the text or position stored in a register.
 * Base 64::                 Conversion to or from base 64 encoding.
-* MD5 Checksum::            Compute the MD5 ``message digest''/``checksum''.
-* Atomic Changes::          Installing several buffer changes ``atomically''.
+* MD5 Checksum::            Compute the MD5 "message digest"/"checksum".
+* Atomic Changes::          Installing several buffer changes "atomically".
 * Change Hooks::            Supplying functions to be run when text is changed.
 
 The Kill Ring
@@ -927,13 +926,13 @@ Non-ASCII Characters
 Searching and Matching
 
 * String Search::           Search for an exact match.
+* Searching and Case::      Case-independent or case-significant searching.
 * Regular Expressions::     Describing classes of strings.
 * Regexp Search::           Searching for a match for a regexp.
 * POSIX Regexps::           Searching POSIX-style for the longest match.
-* Search and Replace::     Internals of @code{query-replace}.
-* Match Data::              Finding out which part of the text matched
-                              various parts of a regexp, after regexp search.
-* Searching and Case::      Case-independent or case-significant searching.
+* Match Data::              Finding out which part of the text matched,
+                              after a string or regexp search.
+* Search and Replace::     Commands that loop, searching and replacing.
 * Standard Regexps::        Useful regexps for finding sentences, pages,...
 
 Regular Expressions
@@ -989,7 +988,8 @@ Processes
 * Datagrams::               UDP network connections.
 * Low-Level Network::       Lower-level but more general function
                               to create connections and servers.
-* Byte Packing::             Using bindat to pack and unpack binary data.
+* Misc Network::            Additional relevant functions for network connections.
+* Byte Packing::            Using bindat to pack and unpack binary data.
 
 Receiving Output from Processes
 
@@ -1003,11 +1003,10 @@ Emacs Display
 * Refresh Screen::          Clearing the screen and redrawing everything on it.
 * Forcing Redisplay::       Forcing redisplay.
 * Truncation::              Folding or wrapping long text lines.
-* The Echo Area::           Where messages are displayed.
+* The Echo Area::           Displaying messages at the bottom of the screen.
 * Warnings::                Displaying warning messages for the user.
-* Progress::                Informing user about progress of a long operation.
 * Invisible Text::          Hiding part of the buffer text.
-* Selective Display::       Hiding part of the buffer text.
+* Selective Display::       Hiding part of the buffer text (the old way).
 * Temporary Displays::      Displays that go away automatically.
 * Overlays::               Use overlays to highlight parts of the buffer.
 * Width::                   How wide a character or string is on the screen.
@@ -1016,12 +1015,11 @@ Emacs Display
                               for text characters: font, colors, etc.
 * Fringes::                 Controlling window fringes.
 * Scroll Bars::             Controlling vertical scroll bars.
-* Pointer Shape::           Controlling the mouse pointer shape.
 * Display Property::        Enabling special display features.
 * Images::                  Displaying images in Emacs buffers.
 * Buttons::                 Adding clickable buttons to Emacs buffers.
+* Abstract Display::        Emacs' Widget for Object Collections.
 * Blinking::                How Emacs shows the matching open parenthesis.
-* Inverse Video::          Specifying how the screen looks.
 * Usual Display::          The usual conventions for displaying nonprinting chars.
 * Display Tables::         How to specify other conventions.
 * Beeping::                 Audible signal to the user.
@@ -1036,11 +1034,15 @@ Operating System Interface
 * Time of Day::                    Getting the current time.
 * Time Conversion::         Converting a time from numeric form to a string, or
                               to calendrical data (or vice versa).
+* Time Parsing::            Converting a time from numeric form to text
+                              and vice versa.
 * Processor Run Time::      Getting the run time used by Emacs.
 * Time Calculations::       Adding, subtracting, comparing times, etc.
 * Timers::                 Setting a timer to call a function at a certain time.
-* Terminal Input::          Recording terminal input for debugging.
-* Terminal Output::         Recording terminal output for debugging.
+* Idle Timers::             Setting a timer to call a function when Emacs has
+                              been idle for a certain length of time.
+* Terminal Input::          Accessing and recordingo terminal input.
+* Terminal Output::         Controlling and recording terminal output.
 * Sound Output::            Playing sounds on the computer's speaker.
 * X11 Keysyms::             Operating on key symbols for X Windows
 * Batch Mode::              Running Emacs without terminal interaction.
@@ -1062,7 +1064,10 @@ Getting out of Emacs
 Tips and Conventions
 
 * Coding Conventions::      Conventions for clean and robust programs.
-* Compilation Tips::        Making compiled code run fast.
+* Key Binding Conventions::   Which keys should be bound by which programs.
+* Programming Tips::          Making Emacs code fit smoothly in Emacs.
+* Compilation Tips::          Making compiled code run fast.
+* Warning Tips::              Turning off compiler warnings.
 * Documentation Tips::      Writing readable documentation strings.
 * Comment Tips::           Conventions for writing comments.
 * Library Headers::         Standard headers for library packages.
@@ -1150,10 +1155,12 @@ Object Internals
 
 @include index.texi
 
+@ignore
 @node New Symbols, , Index, Top
 @unnumbered New Symbols Since the Previous Edition
 
 @printindex tp
+@end ignore
 
 @bye