@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
@smallbook
@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
@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
@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}.
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.
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.
* 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
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
* 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.
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
* 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
* 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.
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.
* 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.
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.