@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
This is edition @value{VERSION} of the GNU Emacs Lisp
Reference Manual, corresponding to Emacs version @value{EMACSVER}.
-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
+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''.
+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
@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.
* 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
---------------------
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.
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.
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
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.
* 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.
* 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
* 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
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
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.
-* 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.
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.
@include index.texi
+@ignore
@node New Symbols, , Index, Top
@unnumbered New Symbols Since the Previous Edition
@printindex tp
+@end ignore
@bye