summaryrefslogtreecommitdiff
path: root/doc/emacs/emacs.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/emacs/emacs.texi')
-rw-r--r--doc/emacs/emacs.texi1365
1 files changed, 1365 insertions, 0 deletions
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
new file mode 100644
index 00000000000..96cf365497d
--- /dev/null
+++ b/doc/emacs/emacs.texi
@@ -0,0 +1,1365 @@
+\input texinfo
+
+@setfilename ../../info/emacs
+@settitle GNU Emacs Manual
+
+@c The edition number appears in several places in this file
+@set EDITION Sixteenth
+@set EMACSVER 23.0.50
+
+@copying
+This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
+updated for Emacs version @value{EMACSVER}.
+
+Copyright @copyright{} 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997,
+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 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.2 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``The GNU Manifesto,'' ``Distribution'' and
+``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 are free to copy and modify
+this GNU Manual. Buying copies from GNU Press supports the FSF in
+developing GNU and promoting software freedom.''
+@end quotation
+@end copying
+
+@dircategory Emacs
+@direntry
+* Emacs: (emacs). The extensible self-documenting text editor.
+@end direntry
+
+@c in general, keep the following line commented out, unless doing a
+@c copy of this manual that will be published. The manual should go
+@c onto the distribution in the full, 8.5 x 11" size.
+@c set smallbook
+
+@ifset smallbook
+@smallbook
+@end ifset
+
+@c per rms and peterb, use 10pt fonts for the main text, mostly to
+@c save on paper cost.
+@c Do this inside @tex for now, so current makeinfo does not complain.
+@tex
+@ifset smallbook
+@fonttextsize 10
+@set EMACSVER 22
+\global\let\urlcolor=\Black % don't print links in grayscale
+\global\let\linkcolor=\Black
+@end ifset
+\global\hbadness=6666 % don't worry about not-too-underfull boxes
+@end tex
+
+@defcodeindex op
+@synindex pg cp
+
+@iftex
+@kbdinputstyle code
+
+@shorttitlepage GNU Emacs Manual
+@end iftex
+
+@titlepage
+@sp 6
+@center @titlefont{GNU Emacs Manual}
+@sp 4
+@center @value{EDITION} Edition, Updated for Emacs Version @value{EMACSVER}.
+@sp 5
+@center Richard Stallman
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+
+@sp 2
+Published by the Free Software Foundation @*
+51 Franklin Street, Fifth Floor @*
+Boston, MA 02110-1301 USA @*
+ISBN 1-882114-86-8
+
+@sp 2
+Cover art by Etienne Suvasa.
+
+@end titlepage
+
+
+@summarycontents
+@contents
+
+
+@ifnottex
+@node Top, Distrib, (dir), (dir)
+@top The Emacs Editor
+
+Emacs is the extensible, customizable, self-documenting real-time
+display editor. This Info file describes how to edit with Emacs and
+some of how to customize it; it corresponds to GNU Emacs version
+@value{EMACSVER}.
+
+@ifinfo
+To learn more about the Info documentation system, type @kbd{h}, and
+Emacs will take you to a programmed instruction sequence for the Info
+commands.
+@end ifinfo
+
+For information on extending Emacs, see @ref{Top, Emacs Lisp,, elisp, The
+Emacs Lisp Reference Manual}.
+@end ifnottex
+
+@ignore
+These subcategories have been deleted for simplicity
+and to avoid conflicts.
+Completion
+Backup Files
+Auto-Saving: Protection Against Disasters
+Snapshots
+Text Mode
+Outline Mode
+@TeX{} Mode
+Formatted Text
+Shell Command History
+
+The ones for Dired and Rmail have had the items turned into :: items
+to avoid conflicts.
+Also Running Shell Commands from Emacs
+and Sending Mail and Registers and Minibuffer.
+@end ignore
+
+@menu
+* Distrib:: How to get the latest Emacs distribution.
+* Copying:: The GNU General Public License gives you permission
+ to redistribute GNU Emacs on certain terms;
+ it also explains that there is no warranty.
+* GNU Free Documentation License:: The license for this documentation.
+* Intro:: An introduction to Emacs concepts.
+* Glossary:: Terms used in this manual.
+* Antinews:: Information about Emacs version 21.
+* Mac OS:: Using Emacs in the Mac.
+* Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS.
+* Manifesto:: What's GNU? Gnu's Not Unix!
+* Acknowledgments:: Major contributors to GNU Emacs.
+
+Indexes (each index contains a large menu)
+* Key Index:: An item for each standard Emacs key sequence.
+* Option Index:: An item for every command-line option.
+* Command Index:: An item for each command name.
+* Variable Index:: An item for each documented variable.
+* Concept Index:: An item for each concept.
+
+Important General Concepts
+* Screen:: How to interpret what you see on the screen.
+* User Input:: Kinds of input events (characters, buttons,
+ function keys).
+* Keys:: Key sequences: what you type to request one
+ editing action.
+* Commands:: Named functions run by key sequences to do editing.
+* Text Characters:: Character set for text (the contents of buffers
+ and strings).
+* Entering Emacs:: Starting Emacs from the shell.
+* Exiting:: Stopping or killing Emacs.
+* Emacs Invocation:: Hairy startup options.
+
+Fundamental Editing Commands
+* Basic:: The most basic editing commands.
+* Minibuffer:: Entering arguments that are prompted for.
+* M-x:: Invoking commands by their names.
+* Help:: Commands for asking Emacs about its commands.
+
+Important Text-Changing Commands
+* Mark:: The mark: how to delimit a ``region'' of text.
+* Killing:: Killing (cutting) text.
+* Yanking:: Recovering killed text. Moving text. (Pasting.)
+* Accumulating Text:: Other ways of copying text.
+* Rectangles:: Operating on the text inside a rectangle on the screen.
+* Registers:: Saving a text string or a location in the buffer.
+* Display:: Controlling what text is displayed.
+* Search:: Finding or replacing occurrences of a string.
+* Fixit:: Commands especially useful for fixing typos.
+* Keyboard Macros:: A keyboard macro records a sequence of
+ keystrokes to be replayed with a single command.
+
+Major Structures of Emacs
+* Files:: All about handling files.
+* Buffers:: Multiple buffers; editing several files at once.
+* Windows:: Viewing two pieces of text at once.
+* Frames:: Running the same Emacs session in multiple X windows.
+* International:: Using non-@acronym{ASCII} character sets (the MULE features).
+
+Advanced Features
+* Major Modes:: Text mode vs. Lisp mode vs. C mode ...
+* Indentation:: Editing the white space at the beginnings of lines.
+* Text:: Commands and modes for editing English.
+* Programs:: Commands and modes for editing programs.
+* Building:: Compiling, running and debugging programs.
+* Maintaining:: Features for maintaining large programs.
+* Abbrevs:: How to define text abbreviations to reduce
+ the number of characters you must type.
+@ifnottex
+* Picture Mode:: Editing pictures made up of characters using
+ the quarter-plane screen model.
+@end ifnottex
+* Sending Mail:: Sending mail in Emacs.
+* Rmail:: Reading mail in Emacs.
+* Dired:: You can ``edit'' a directory to manage files in it.
+* Calendar/Diary:: The calendar and diary facilities.
+* Gnus:: How to read netnews with Emacs.
+* Shell:: Executing shell commands from Emacs.
+* Emacs Server:: Using Emacs as an editing server for @code{mail}, etc.
+* Printing:: Printing hardcopies of buffers or regions.
+* Sorting:: Sorting lines, paragraphs or pages within Emacs.
+* Narrowing:: Restricting display and editing to a portion
+ of the buffer.
+* Two-Column:: Splitting apart columns to edit them
+ in side-by-side windows.
+* Editing Binary Files::Using Hexl mode to edit binary files.
+* Saving Emacs Sessions:: Saving Emacs state from one session to the next.
+* Recursive Edit:: A command can allow you to do editing
+ "within the command". This is called a
+ "recursive editing level".
+* Emulation:: Emulating some other editors with Emacs.
+* Hyperlinking:: Following links in buffers.
+* Dissociated Press:: Dissociating text for fun.
+* Amusements:: Various games and hacks.
+* Customization:: Modifying the behavior of Emacs.
+* X Resources:: X resources for customizing Emacs.
+
+Recovery from Problems
+* Quitting:: Quitting and aborting.
+* Lossage:: What to do if Emacs is hung or malfunctioning.
+* Bugs:: How and when to report a bug.
+* Contributing:: How to contribute improvements to Emacs.
+* Service:: How to get help for your own Emacs needs.
+
+@c Do NOT modify the following 3 lines! They must have this form to
+@c be correctly identified by `texinfo-multiple-files-update'. In
+@c particular, the detailed menu header line MUST be identical to the
+@c value of `texinfo-master-menu-header'. See texnfo-upd.el.
+
+@detailmenu
+ --- The Detailed Node Listing ---
+ ---------------------------------
+
+Here are some other nodes which are really inferiors of the ones
+already listed, mentioned here so you can get to them in one step:
+
+The Organization of the Screen
+
+* Point:: The place in the text where editing commands operate.
+* Echo Area:: Short messages appear at the bottom of the screen.
+* Mode Line:: Interpreting the mode line.
+* Menu Bar:: How to use the menu bar.
+
+Basic Editing Commands
+
+* Inserting Text:: Inserting text by simply typing it.
+* Moving Point:: How to move the cursor to the place where you want to
+ change something.
+* Erasing:: Deleting and killing text.
+* Basic Undo:: Undoing recent changes in the text.
+* Basic Files:: Visiting, creating, and saving files.
+* Basic Help:: Asking what a character does.
+* Blank Lines:: Commands to make or delete blank lines.
+* Continuation Lines:: Lines too wide for the screen.
+* Position Info:: What page, line, row, or column is point on?
+* Arguments:: Numeric arguments for repeating a command.
+* Repeating:: A short-cut for repeating the previous command.
+
+The Minibuffer
+
+* Minibuffer File:: Entering file names with the minibuffer.
+* Minibuffer Edit:: How to edit in the minibuffer.
+* Completion:: An abbreviation facility for minibuffer input.
+* Minibuffer History:: Reusing recent minibuffer arguments.
+* Repetition:: Re-executing commands that used the minibuffer.
+
+Completion
+
+* Example: Completion Example. Examples of using completion.
+* Commands: Completion Commands. A list of completion commands.
+* Strict Completion:: Different types of completion.
+* Options: Completion Options. Options for completion.
+
+Help
+
+* Help Summary:: Brief list of all Help commands.
+* Key Help:: Asking what a key does in Emacs.
+* Name Help:: Asking about a command, variable or function name.
+* Apropos:: Asking what pertains to a given topic.
+* Help Mode:: Special features of Help mode and Help buffers.
+* Library Keywords:: Finding Lisp libraries by keywords (topics).
+* Language Help:: Help relating to international language support.
+* Misc Help:: Other help commands.
+* Help Files:: Commands to display pre-written help files.
+* Help Echo:: Help on active text and tooltips (`balloon help')
+
+The Mark and the Region
+
+* Setting Mark:: Commands to set the mark.
+* Transient Mark:: How to make Emacs highlight the region--
+ when there is one.
+* Momentary Mark:: Enabling Transient Mark mode momentarily.
+* Using Region:: Summary of ways to operate on contents of the region.
+* Marking Objects:: Commands to put region around textual units.
+* Mark Ring:: Previous mark positions saved so you can go back there.
+* Global Mark Ring:: Previous mark positions in various buffers.
+
+Killing and Moving Text
+
+* Deletion:: Commands for deleting small amounts of text and
+ blank areas.
+* Killing by Lines:: How to kill entire lines of text at one time.
+* Other Kill Commands:: Commands to kill large regions of text and
+ syntactic units such as words and sentences.
+* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy
+ and paste, with enhanced rectangle support.
+
+Yanking
+
+* Kill Ring:: Where killed text is stored. Basic yanking.
+* Appending Kills:: Several kills in a row all yank together.
+* Earlier Kills:: Yanking something killed some time ago.
+
+Registers
+
+* RegPos:: Saving positions in registers.
+* RegText:: Saving text in registers.
+* RegRect:: Saving rectangles in registers.
+* RegConfig:: Saving window configurations in registers.
+* RegNumbers:: Numbers in registers.
+* RegFiles:: File names in registers.
+* Bookmarks:: Bookmarks are like registers, but persistent.
+
+Controlling the Display
+
+* Scrolling:: Moving text up and down in a window.
+* Auto Scrolling:: Redisplay scrolls text automatically when needed.
+* Horizontal Scrolling:: Moving text left and right in a window.
+* Follow Mode:: Follow mode lets two windows scroll as one.
+* Faces:: How to change the display style using faces.
+* Standard Faces:: Emacs' predefined faces.
+* Font Lock:: Minor mode for syntactic highlighting using faces.
+* Highlight Interactively:: Tell Emacs what text to highlight.
+* Fringes:: Enabling or disabling window fringes.
+* Displaying Boundaries:: Displaying top and bottom of the buffer.
+* Useless Whitespace:: Showing possibly-spurious trailing whitespace.
+* Selective Display:: Hiding lines with lots of indentation.
+* Optional Mode Line:: Optional mode line display features.
+* Text Display:: How text characters are normally displayed.
+* Cursor Display:: Features for displaying the cursor.
+* Line Truncation:: Truncating lines to fit the screen width instead
+ of continuing them to multiple screen lines.
+* Display Custom:: Information on variables for customizing display.
+
+Searching and Replacement
+
+* Incremental Search:: Search happens as you type the string.
+* Nonincremental Search:: Specify entire string and then search.
+* Word Search:: Search for sequence of words.
+* Regexp Search:: Search for match for a regexp.
+* Regexps:: Syntax of regular expressions.
+* Regexp Backslash:: Regular expression constructs starting with `\'.
+* Regexp Example:: A complex regular expression explained.
+* Search Case:: To ignore case while searching, or not.
+* Replace:: Search, and replace some or all matches.
+* Other Repeating Search:: Operating on all matches for some regexp.
+
+Incremental Search
+
+* Basic Isearch:: Basic incremental search commands.
+* Repeat Isearch:: Searching for the same string again.
+* Error in Isearch:: When your string is not found.
+* Special Isearch:: Special input in incremental search.
+* Non-ASCII Isearch:: How to search for non-ASCII characters.
+* Isearch Yank:: Commands that grab text into the search string
+ or else edit the search string.
+* Highlight Isearch:: Isearch highlights the other possible matches.
+* Isearch Scroll:: Scrolling during an incremental search.
+* Slow Isearch:: Incremental search features for slow terminals.
+
+Replacement Commands
+
+* Unconditional Replace:: Replacing all matches for a string.
+* Regexp Replace:: Replacing all matches for a regexp.
+* Replacement and Case:: How replacements preserve case of letters.
+* Query Replace:: How to use querying.
+
+Commands for Fixing Typos
+
+* Undo:: Full details of Emacs undo commands.
+* Kill Errors:: Commands to kill a batch of recently entered text.
+* Transpose:: Exchanging two characters, words, lines, lists...
+* Fixing Case:: Correcting case of last word entered.
+* Spelling:: Apply spelling checker to a word or a whole buffer.
+
+Keyboard Macros
+
+* Basic Keyboard Macro:: Defining and running keyboard macros.
+* Keyboard Macro Ring:: Where previous keyboard macros are saved.
+* Keyboard Macro Counter:: Inserting incrementing numbers in macros.
+* Keyboard Macro Query:: Making keyboard macros do different things each time.
+* Save Keyboard Macro:: Giving keyboard macros names; saving them in files.
+* Edit Keyboard Macro:: Editing keyboard macros.
+* Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard
+ macro.
+
+File Handling
+
+* File Names:: How to type and edit file-name arguments.
+* Visiting:: Visiting a file prepares Emacs to edit the file.
+* Saving:: Saving makes your changes permanent.
+* Reverting:: Reverting cancels all the changes not saved.
+* Autorevert:: Auto Reverting non-file buffers.
+* Auto Save:: Auto Save periodically protects against loss of data.
+* File Aliases:: Handling multiple names for one file.
+* Version Control:: Version control systems (RCS, CVS and SCCS).
+* Directories:: Creating, deleting, and listing file directories.
+* Comparing Files:: Finding where two files differ.
+* Diff Mode:: Editing diff output.
+* Misc File Ops:: Other things you can do on files.
+* Compressed Files:: Accessing compressed files.
+* File Archives:: Operating on tar, zip, jar etc. archive files.
+* Remote Files:: Accessing files on other sites.
+* Quoted File Names:: Quoting special characters in file names.
+* File Name Cache:: Completion against a list of files you often use.
+* File Conveniences:: Convenience Features for Finding Files.
+* Filesets:: Handling sets of files.
+
+Saving Files
+
+* Save Commands:: Commands for saving files.
+* Backup:: How Emacs saves the old version of your file.
+* Customize Save:: Customizing the saving of files.
+* Interlocking:: How Emacs protects against simultaneous editing
+ of one file by two users.
+* File Shadowing:: Copying files to "shadows" automatically.
+* Time Stamps:: Emacs can update time stamps on saved files.
+
+Backup Files
+
+* One or Many: Numbered Backups. Whether to make one backup file or many.
+* Names: Backup Names. How backup files are named.
+* Deletion: Backup Deletion. Emacs deletes excess numbered backups.
+* Copying: Backup Copying. Backups can be made by copying or renaming.
+
+Auto-Saving: Protection Against Disasters
+
+* Files: Auto Save Files. The file where auto-saved changes are
+ actually made until you save the file.
+* Control: Auto Save Control. Controlling when and how often to auto-save.
+* Recover:: Recovering text from auto-save files.
+
+Version Control
+
+* Introduction to VC:: How version control works in general.
+* VC Mode Line:: How the mode line shows version control status.
+* Basic VC Editing:: How to edit a file under version control.
+* Old Versions:: Examining and comparing old versions.
+* Secondary VC Commands:: The commands used a little less frequently.
+* Branches:: Multiple lines of development.
+* Remote Repositories:: Efficient access to remote CVS servers.
+* Snapshots:: Sets of file versions treated as a unit.
+* Miscellaneous VC:: Various other commands and features of VC.
+* Customizing VC:: Variables that change VC's behavior.
+
+Using Multiple Buffers
+
+* Select Buffer:: Creating a new buffer or reselecting an old one.
+* List Buffers:: Getting a list of buffers that exist.
+* Misc Buffer:: Renaming; changing read-onliness; copying text.
+* Kill Buffer:: Killing buffers you no longer need.
+* Several Buffers:: How to go through the list of all buffers
+ and operate variously on several of them.
+* Indirect Buffers:: An indirect buffer shares the text of another buffer.
+* Buffer Convenience:: Convenience and customization features for
+ buffer handling.
+
+Multiple Windows
+
+* Basic Window:: Introduction to Emacs windows.
+* Split Window:: New windows are made by splitting existing windows.
+* Other Window:: Moving to another window or doing something to it.
+* Pop Up Window:: Finding a file or buffer in another window.
+* Force Same Window:: Forcing certain buffers to appear in the selected
+ window rather than in another window.
+* Change Window:: Deleting windows and changing their sizes.
+* Window Convenience:: Convenience functions for window handling.
+
+Frames and Graphical Displays
+
+* Cut and Paste:: Mouse commands for cut and paste.
+* Mouse References:: Using the mouse to select an item from a list.
+* Menu Mouse Clicks:: Mouse clicks that bring up menus.
+* Mode Line Mouse:: Mouse clicks on the mode line.
+* Creating Frames:: Creating additional Emacs frames with various contents.
+* Frame Commands:: Iconifying, deleting, and switching frames.
+* Speedbar:: How to make and use a speedbar frame.
+* Multiple Displays:: How one Emacs job can talk to several displays.
+* Special Buffer Frames:: You can make certain buffers have their own frames.
+* Frame Parameters:: Changing the colors and other modes of frames.
+* Scroll Bars:: How to enable and disable scroll bars; how to use them.
+* Wheeled Mice:: Using mouse wheels for scrolling.
+* Drag and Drop:: Using drag and drop to open files and insert text.
+* Menu Bars:: Enabling and disabling the menu bar.
+* Tool Bars:: Enabling and disabling the tool bar.
+* Dialog Boxes:: Controlling use of dialog boxes.
+* Tooltips:: Showing "tooltips", AKA "balloon help" for active text.
+* Mouse Avoidance:: Moving the mouse pointer out of the way.
+* Non-Window Terminals:: Multiple frames on terminals that show only one.
+* Text-Only Mouse:: Using the mouse in text-only terminals.
+
+International Character Set Support
+
+* International Chars:: Basic concepts of multibyte characters.
+* Enabling Multibyte:: Controlling whether to use multibyte characters.
+* Language Environments:: Setting things up for the language you use.
+* Input Methods:: Entering text characters not on your keyboard.
+* Select Input Method:: Specifying your choice of input methods.
+* Multibyte Conversion:: How single-byte characters convert to multibyte.
+* Coding Systems:: Character set conversion when you read and
+ write files, and so on.
+* Recognize Coding:: How Emacs figures out which conversion to use.
+* Specify Coding:: Specifying a file's coding system explicitly.
+* Output Coding:: Choosing coding systems for output.
+* Text Coding:: Choosing conversion to use for file text.
+* Communication Coding:: Coding systems for interprocess communication.
+* File Name Coding:: Coding systems for file @emph{names}.
+* Terminal Coding:: Specifying coding systems for converting
+ terminal input and output.
+* Fontsets:: Fontsets are collections of fonts
+ that cover the whole spectrum of characters.
+* Defining Fontsets:: Defining a new fontset.
+* Undisplayable Characters::When characters don't display.
+* Unibyte Mode:: You can pick one European character set
+ to use without multibyte characters.
+* Charsets:: How Emacs groups its internal character codes.
+
+Major Modes
+
+* Choosing Modes:: How major modes are specified or chosen.
+
+Indentation
+
+* Indentation Commands:: Various commands and techniques for indentation.
+* Tab Stops:: You can set arbitrary "tab stops" and then
+ indent to the next tab stop when you want to.
+* Just Spaces:: You can request indentation using just spaces.
+
+Commands for Human Languages
+
+* Words:: Moving over and killing words.
+* Sentences:: Moving over and killing sentences.
+* Paragraphs:: Moving over paragraphs.
+* Pages:: Moving over pages.
+* Filling:: Filling or justifying text.
+* Case:: Changing the case of text.
+* Text Mode:: The major modes for editing text files.
+* Outline Mode:: Editing outlines.
+* TeX Mode:: Editing input to the formatter TeX.
+* HTML Mode:: Editing HTML, SGML, and XML files.
+* Nroff Mode:: Editing input to the formatter nroff.
+* Formatted Text:: Editing formatted text directly in WYSIWYG fashion.
+* Text Based Tables:: Editing text-based tables in WYSIWYG fashion.
+
+Filling Text
+
+* Auto Fill:: Auto Fill mode breaks long lines automatically.
+* Refill:: Keeping paragraphs filled.
+* Fill Commands:: Commands to refill paragraphs and center lines.
+* Fill Prefix:: Filling paragraphs that are indented
+ or in a comment, etc.
+* Adaptive Fill:: How Emacs can determine the fill prefix automatically.
+* Longlines:: Editing text with very long lines.
+
+Outline Mode
+
+* Format: Outline Format. What the text of an outline looks like.
+* Motion: Outline Motion. Special commands for moving through
+ outlines.
+* Visibility: Outline Visibility. Commands to control what is visible.
+* Views: Outline Views. Outlines and multiple views.
+* Foldout:: Folding means zooming in on outlines.
+
+@TeX{} Mode
+
+* Editing: TeX Editing. Special commands for editing in TeX mode.
+* LaTeX: LaTeX Editing. Additional commands for LaTeX input files.
+* Printing: TeX Print. Commands for printing part of a file with TeX.
+* Misc: TeX Misc. Customization of TeX mode, and related features.
+
+Editing Formatted Text
+
+* Requesting Formatted Text:: Entering and exiting Enriched mode.
+* Hard and Soft Newlines:: There are two different kinds of newlines.
+* Editing Format Info:: How to edit text properties.
+* Faces: Format Faces. Bold, italic, underline, etc.
+* Color: Format Colors. Changing the color of text.
+* Indent: Format Indentation. Changing the left and right margins.
+* Justification: Format Justification.
+ Centering, setting text flush with the
+ left or right margin, etc.
+* Other: Format Properties. The "special" text properties submenu.
+* Forcing Enriched Mode:: How to force use of Enriched mode.
+
+Editing Text-based Tables
+
+* Table Definition:: What is a text based table.
+* Table Creation:: How to create a table.
+* Table Recognition:: How to activate and deactivate tables.
+* Cell Commands:: Cell-oriented commands in a table.
+* Cell Justification:: Justifying cell contents.
+* Row Commands:: Manipulating rows of table cell.
+* Column Commands:: Manipulating columns of table cell.
+* Fixed Width Mode:: Fixing cell width.
+* Table Conversion:: Converting between plain text and tables.
+* Measuring Tables:: Analyzing table dimension.
+* Table Misc:: Table miscellany.
+
+Editing Programs
+
+* Program Modes:: Major modes for editing programs.
+* Defuns:: Commands to operate on major top-level parts
+ of a program.
+* Program Indent:: Adjusting indentation to show the nesting.
+* Parentheses:: Commands that operate on parentheses.
+* Comments:: Inserting, killing, and aligning comments.
+* Documentation:: Getting documentation of functions you plan to call.
+* Hideshow:: Displaying blocks selectively.
+* Symbol Completion:: Completion on symbol names of your program or language.
+* Glasses:: Making identifiersLikeThis more readable.
+* Misc for Programs:: Other Emacs features useful for editing programs.
+* C Modes:: Special commands of C, C++, Objective-C,
+ Java, and Pike modes.
+* Asm Mode:: Asm mode and its special features.
+* Fortran:: Fortran mode and its special features.
+
+Top-Level Definitions, or Defuns
+
+* Left Margin Paren:: An open-paren or similar opening delimiter
+ starts a defun if it is at the left margin.
+* Moving by Defuns:: Commands to move over or mark a major definition.
+* Imenu:: Making buffer indexes as menus.
+* Which Function:: Which Function mode shows which function you are in.
+
+Indentation for Programs
+
+* Basic Indent:: Indenting a single line.
+* Multi-line Indent:: Commands to reindent many lines at once.
+* Lisp Indent:: Specifying how each Lisp function should be indented.
+* C Indent:: Extra features for indenting C and related modes.
+* Custom C Indent:: Controlling indentation style for C and related modes.
+
+Commands for Editing with Parentheses
+
+* Expressions:: Expressions with balanced parentheses.
+* Moving by Parens:: Commands for moving up, down and across
+ in the structure of parentheses.
+* Matching:: Insertion of a close-delimiter flashes matching open.
+
+Manipulating Comments
+
+* Comment Commands:: Inserting, killing, and aligning comments.
+* Multi-Line Comments:: Commands for adding and editing multi-line comments.
+* Options for Comments::Customizing the comment features.
+
+Documentation Lookup
+
+* Info Lookup:: Looking up library functions and commands
+ in Info files.
+* Man Page:: Looking up man pages of library functions and commands.
+* Lisp Doc:: Looking up Emacs Lisp functions, etc.
+
+C and Related Modes
+
+* Motion in C:: Commands to move by C statements, etc.
+* Electric C:: Colon and other chars can automatically reindent.
+* Hungry Delete:: A more powerful DEL command.
+* Other C Commands:: Filling comments, viewing expansion of macros,
+ and other neat features.
+
+Compiling and Testing Programs
+
+* Compilation:: Compiling programs in languages other
+ than Lisp (C, Pascal, etc.).
+* Compilation Mode:: The mode for visiting compiler errors.
+* Compilation Shell:: Customizing your shell properly
+ for use in the compilation buffer.
+* Grep Searching:: Searching with grep.
+* Flymake:: Finding syntax errors on the fly.
+* Debuggers:: Running symbolic debuggers for non-Lisp programs.
+* Executing Lisp:: Various modes for editing Lisp programs,
+ with different facilities for running
+ the Lisp programs.
+* Lisp Libraries:: Creating Lisp programs to run in Emacs.
+* Lisp Eval:: Executing a single Lisp expression in Emacs.
+* Lisp Interaction:: Executing Lisp in an Emacs buffer.
+* External Lisp:: Communicating through Emacs with a separate Lisp.
+
+Running Debuggers Under Emacs
+
+* Starting GUD:: How to start a debugger subprocess.
+* Debugger Operation:: Connection between the debugger and source buffers.
+* Commands of GUD:: Key bindings for common commands.
+* GUD Customization:: Defining your own commands for GUD.
+* GDB Graphical Interface:: An enhanced mode that uses GDB features to
+ implement a graphical debugging environment through
+ Emacs.
+
+Maintaining Large Programs
+
+* Change Log:: Maintaining a change history for your program.
+* Format of ChangeLog:: What the change log file looks like.
+* Tags:: Go direct to any function in your program in one
+ command. Tags remembers which file it is in.
+* Emerge:: A convenient way of merging two versions of a program.
+
+Tags Tables
+
+* Tag Syntax:: Tag syntax for various types of code and text files.
+* Create Tags Table:: Creating a tags table with @code{etags}.
+* Etags Regexps:: Create arbitrary tags using regular expressions.
+* Select Tags Table:: How to visit a tags table.
+* Find Tag:: Commands to find the definition of a specific tag.
+* Tags Search:: Using a tags table for searching and replacing.
+* List Tags:: Listing and finding tags defined in a file.
+
+Abbrevs
+
+* Abbrev Concepts:: Fundamentals of defined abbrevs.
+* Defining Abbrevs:: Defining an abbrev, so it will expand when typed.
+* Expanding Abbrevs:: Controlling expansion: prefixes, canceling expansion.
+* Editing Abbrevs:: Viewing or editing the entire list of defined abbrevs.
+* Saving Abbrevs:: Saving the entire list of abbrevs for another session.
+* Dynamic Abbrevs:: Abbreviations for words already in the buffer.
+* Dabbrev Customization:: What is a word, for dynamic abbrevs. Case handling.
+
+@ifnottex
+Editing Pictures
+
+* Basic Picture:: Basic concepts and simple commands of Picture Mode.
+* Insert in Picture:: Controlling direction of cursor motion
+ after "self-inserting" characters.
+* Tabs in Picture:: Various features for tab stops and indentation.
+* Rectangles in Picture:: Clearing and superimposing rectangles.
+@end ifnottex
+
+Sending Mail
+
+* Mail Format:: Format of the mail being composed.
+* Mail Headers:: Details of permitted mail header fields.
+* Mail Aliases:: Abbreviating and grouping mail addresses.
+* Mail Mode:: Special commands for editing mail being composed.
+* Mail Amusements:: Distract the NSA's attention; add a fortune to a msg.
+* Mail Methods:: Using alternative mail-composition methods.
+
+Reading Mail with Rmail
+
+* Rmail Basics:: Basic concepts of Rmail, and simple use.
+* Rmail Scrolling:: Scrolling through a message.
+* Rmail Motion:: Moving to another message.
+* Rmail Deletion:: Deleting and expunging messages.
+* Rmail Inbox:: How mail gets into the Rmail file.
+* Rmail Files:: Using multiple Rmail files.
+* Rmail Output:: Copying message out to files.
+* Rmail Labels:: Classifying messages by labeling them.
+* Rmail Attributes:: Certain standard labels, called attributes.
+* Rmail Reply:: Sending replies to messages you are viewing.
+* Rmail Summary:: Summaries show brief info on many messages.
+* Rmail Sorting:: Sorting messages in Rmail.
+* Rmail Display:: How Rmail displays a message; customization.
+* Rmail Coding:: How Rmail handles decoding character sets.
+* Rmail Editing:: Editing message text and headers in Rmail.
+* Rmail Digest:: Extracting the messages from a digest message.
+* Out of Rmail:: Converting an Rmail file to mailbox format.
+* Rmail Rot13:: Reading messages encoded in the rot13 code.
+* Movemail:: More details of fetching new mail.
+* Remote Mailboxes:: Retrieving Mail from Remote Mailboxes.
+* Other Mailbox Formats:: Retrieving Mail from Local Mailboxes in
+ Various Formats
+
+Dired, the Directory Editor
+
+* Dired Enter:: How to invoke Dired.
+* Dired Navigation:: How to move in the Dired buffer.
+* Dired Deletion:: Deleting files with Dired.
+* Flagging Many Files:: Flagging files based on their names.
+* Dired Visiting:: Other file operations through Dired.
+* Marks vs Flags:: Flagging for deletion vs marking.
+* Operating on Files:: How to copy, rename, print, compress, etc.
+ either one file or several files.
+* Shell Commands in Dired:: Running a shell command on the marked files.
+* Transforming File Names:: Using patterns to rename multiple files.
+* Comparison in Dired:: Running `diff' by way of Dired.
+* Subdirectories in Dired:: Adding subdirectories to the Dired buffer.
+* Subdir Switches:: Subdirectory switches in Dired.
+* Subdirectory Motion:: Moving across subdirectories, and up and down.
+* Hiding Subdirectories:: Making subdirectories visible or invisible.
+* Dired Updating:: Discarding lines for files of no interest.
+* Dired and Find:: Using `find' to choose the files for Dired.
+* Wdired:: Operating on files by editing the Dired buffer.
+* Image-Dired:: Viewing image thumbnails in Dired
+* Misc Dired Features:: Various other features.
+
+The Calendar and the Diary
+
+* Calendar Motion:: Moving through the calendar; selecting a date.
+* Scroll Calendar:: Bringing earlier or later months onto the screen.
+* Counting Days:: How many days are there between two dates?
+* General Calendar:: Exiting or recomputing the calendar.
+* Writing Calendar Files:: Writing calendars to files of various formats.
+* Holidays:: Displaying dates of holidays.
+* Sunrise/Sunset:: Displaying local times of sunrise and sunset.
+* Lunar Phases:: Displaying phases of the moon.
+* Other Calendars:: Converting dates to other calendar systems.
+* Diary:: Displaying events from your diary.
+* Appointments:: Reminders when it's time to do something.
+* Importing Diary:: Converting diary events to/from other formats.
+* Daylight Saving:: How to specify when daylight saving time is active.
+* Time Intervals:: Keeping track of time intervals.
+* Advanced Calendar/Diary Usage:: Advanced Calendar/Diary customization.
+
+Movement in the Calendar
+
+* Calendar Unit Motion:: Moving by days, weeks, months, and years.
+* Move to Beginning or End:: Moving to start/end of weeks, months, and years.
+* Specified Dates:: Moving to the current date or another
+ specific date.
+
+Conversion To and From Other Calendars
+
+* Calendar Systems:: The calendars Emacs understands
+ (aside from Gregorian).
+* To Other Calendar:: Converting the selected date to various calendars.
+* From Other Calendar:: Moving to a date specified in another calendar.
+* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
+
+The Diary
+
+* Displaying the Diary:: Viewing diary entries and associated calendar dates.
+* Format of Diary File:: Entering events in your diary.
+* Date Formats:: Various ways you can specify dates.
+* Adding to Diary:: Commands to create diary entries.
+* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
+
+Gnus
+
+* Buffers of Gnus:: The group, summary, and article buffers.
+* Gnus Startup:: What you should know about starting Gnus.
+* Summary of Gnus:: A short description of the basic Gnus commands.
+
+Running Shell Commands from Emacs
+
+* Single Shell:: How to run one shell command and return.
+* Interactive Shell:: Permanent shell taking input via Emacs.
+* Shell Mode:: Special Emacs commands used with permanent shell.
+* Shell Prompts:: Two ways to recognize shell prompts.
+* Shell History:: Repeating previous commands in a shell buffer.
+* Directory Tracking:: Keeping track when the subshell changes directory.
+* Shell Options:: Options for customizing Shell mode.
+* Terminal emulator:: An Emacs window as a terminal emulator.
+* Term Mode:: Special Emacs commands used in Term mode.
+* Paging in Term:: Paging in the terminal emulator.
+* Remote Host:: Connecting to another computer.
+
+Using Emacs as a Server
+
+* Invoking emacsclient:: Emacs client startup options.
+
+Printing Hard Copies
+
+* PostScript:: Printing buffers or regions as PostScript.
+* PostScript Variables:: Customizing the PostScript printing commands.
+* Printing Package:: An optional advanced printing interface.
+
+Hyperlinking and Navigation Features
+
+* Browse-URL:: Following URLs.
+* Goto-address:: Activating URLs.
+* FFAP:: Finding files etc. at point.
+
+Customization
+
+* Minor Modes:: Each minor mode is one feature you can turn on
+ independently of any others.
+* Easy Customization:: Convenient way to browse and change user options.
+* Variables:: Many Emacs commands examine Emacs variables
+ to decide what to do; by setting variables,
+ you can control their functioning.
+* Key Bindings:: The keymaps say what command each key runs.
+ By changing them, you can "redefine keys".
+* Syntax:: The syntax table controls how words and
+ expressions are parsed.
+* Init File:: How to write common customizations in the
+ @file{.emacs} file.
+
+Variables
+
+* Examining:: Examining or setting one variable's value.
+* Hooks:: Hook variables let you specify programs for parts
+ of Emacs to run on particular occasions.
+* Locals:: Per-buffer values of variables.
+* File Variables:: How files can specify variable values.
+
+Customizing Key Bindings
+
+* Keymaps:: Generalities. The global keymap.
+* Prefix Keymaps:: Keymaps for prefix keys.
+* Local Keymaps:: Major and minor modes have their own keymaps.
+* Minibuffer Maps:: The minibuffer uses its own local keymaps.
+* Rebinding:: How to redefine one key's meaning conveniently.
+* Init Rebinding:: Rebinding keys with your init file, @file{.emacs}.
+* Function Keys:: Rebinding terminal function keys.
+* Named ASCII Chars:: Distinguishing @key{TAB} from @kbd{C-i}, and so on.
+* Mouse Buttons:: Rebinding mouse buttons in Emacs.
+* Disabling:: Disabling a command means confirmation is required
+ before it can be executed. This is done to protect
+ beginners from surprises.
+
+The Init File, @file{~/.emacs}
+
+* Init Syntax:: Syntax of constants in Emacs Lisp.
+* Init Examples:: How to do some things with an init file.
+* Terminal Init:: Each terminal type can have an init file.
+* Find Init:: How Emacs finds the init file.
+* Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file.
+
+Dealing with Emacs Trouble
+
+* DEL Does Not Delete:: What to do if @key{DEL} doesn't delete.
+* Stuck Recursive:: `[...]' in mode line around the parentheses.
+* Screen Garbled:: Garbage on the screen.
+* Text Garbled:: Garbage in the text.
+* Memory Full:: How to cope when you run out of memory.
+* After a Crash:: Recovering editing in an Emacs session that crashed.
+* Emergency Escape:: Emergency escape---
+ What to do if Emacs stops responding.
+* Total Frustration:: When you are at your wits' end.
+
+Reporting Bugs
+
+* Bug Criteria:: Have you really found a bug?
+* Understanding Bug Reporting:: How to report a bug effectively.
+* Checklist:: Steps to follow for a good bug report.
+* Sending Patches:: How to send a patch for GNU Emacs.
+
+Command Line Arguments for Emacs Invocation
+
+* Action Arguments:: Arguments to visit files, load libraries,
+ and call functions.
+* Initial Options:: Arguments that take effect while starting Emacs.
+* Command Example:: Examples of using command line arguments.
+* Resume Arguments:: Specifying arguments when you resume a running Emacs.
+* Environment:: Environment variables that Emacs uses.
+* Display X:: Changing the default display and using remote login.
+* Font X:: Choosing a font for text, under X.
+* Colors:: Choosing display colors.
+* Window Size X:: Start-up window size, under X.
+* Borders X:: Internal and external borders, under X.
+* Title X:: Specifying the initial frame's title.
+* Icons X:: Choosing what sort of icon to use, under X.
+* Misc X:: Other display options.
+
+Environment Variables
+
+* General Variables:: Environment variables that all versions of Emacs use.
+* Misc Variables:: Certain system specific variables.
+* MS-Windows Registry:: An alternative to the environment on MS-Windows.
+
+X Options and Resources
+
+* Resources:: Using X resources with Emacs (in general).
+* Table of Resources:: Table of specific X resources that affect Emacs.
+* Face Resources:: X resources for customizing faces.
+* Lucid Resources:: X resources for Lucid menus.
+* LessTif Resources:: X resources for LessTif and Motif menus.
+* GTK resources:: Resources for GTK widgets.
+
+Emacs and Mac OS
+
+* Mac Input:: Keyboard and mouse input on Mac.
+* Mac International:: International character sets on Mac.
+* Mac Environment Variables:: Setting environment variables for Emacs.
+* Mac Directories:: Volumes and directories on Mac.
+* Mac Font Specs:: Specifying fonts on Mac.
+* Mac Functions:: Mac-specific Lisp functions.
+
+Emacs and Microsoft Windows/MS-DOS
+
+* Text and Binary:: Text files use CRLF to terminate lines.
+* Windows Files:: File-name conventions on Windows.
+* ls in Lisp:: Emulation of @code{ls} for Dired.
+* Windows HOME:: Where Emacs looks for your @file{.emacs}.
+* Windows Keyboard:: Windows-specific keyboard features.
+* Windows Mouse:: Windows-specific mouse features.
+* Windows Processes:: Running subprocesses on Windows.
+* Windows Printing:: How to specify the printer on MS-Windows.
+* Windows Misc:: Miscellaneous Windows features.
+* MS-DOS:: Using Emacs on MS-DOS (otherwise known as @dfn{MS-DOG}).
+@end detailmenu
+@end menu
+
+@iftex
+@unnumbered Preface
+
+ This manual documents the use and simple customization of the Emacs
+editor. Simple Emacs customizations do not require you to be a
+programmer, but if you are not interested in customizing, you can
+ignore the customization hints.
+
+ This is primarily a reference manual, but can also be used as a
+primer. If you are new to Emacs, we recommend you start with
+the on-line, learn-by-doing tutorial, before reading the manual. To
+run the tutorial, start Emacs and type @kbd{C-h t}. The tutorial
+describes commands, tells you when to try them, and explains the
+results.
+
+ On first reading, just skim chapters 1 and 2, which describe the
+notational conventions of the manual and the general appearance of the
+Emacs display screen. Note which questions are answered in these
+chapters, so you can refer back later. After reading chapter 4, you
+should practice the commands shown there. The next few chapters
+describe fundamental techniques and concepts that are used constantly.
+You need to understand them thoroughly, so experiment with them
+until you are fluent.
+
+ Chapters 14 through 19 describe intermediate-level features that are
+useful for many kinds of editing. Chapter 20 and following chapters
+describe optional but useful features; read those chapters when you
+need them.
+
+ Read the Trouble chapter if Emacs does not seem to be working
+properly. It explains how to cope with several common problems
+(@pxref{Lossage}), as well as when and how to report Emacs bugs
+(@pxref{Bugs}).
+
+ To find the documentation of a particular command, look in the index.
+Keys (character commands) and command names have separate indexes.
+There is also a glossary, with a cross reference for each term.
+
+ This manual is available as a printed book and also as an Info file.
+The Info file is for on-line perusal with the Info program, which is
+the principal means of accessing on-line documentation in the GNU
+system. Both the Emacs Info file and an Info reader are included with
+GNU Emacs. The Info file and the printed book contain substantially
+the same text and are generated from the same source files, which are
+also distributed with GNU Emacs.
+
+ GNU Emacs is a member of the Emacs editor family. There are many
+Emacs editors, all sharing common principles of organization. For
+information on the underlying philosophy of Emacs and the lessons
+learned from its development, see @cite{Emacs, the Extensible,
+Customizable Self-Documenting Display Editor}, available from
+@url{ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-519A.pdf}.
+
+This edition of the manual is intended for use with GNU Emacs
+installed on GNU and Unix systems. GNU Emacs can also be used on VMS,
+MS-DOS (also called MS-DOG), Microsoft Windows, and Macintosh systems.
+Those systems use different file name syntax; in addition, VMS and
+MS-DOS do not support all GNU Emacs features. @xref{Microsoft
+Windows}, for information about using Emacs on Windows.
+@xref{Mac OS}, for information about using Emacs on Macintosh. We
+don't try to describe VMS usage in this manual.
+@end iftex
+
+@node Distrib, Intro, Top, Top
+@unnumbered Distribution
+
+GNU Emacs is @dfn{free software}; this means that everyone is free to
+use it and free to redistribute it on certain conditions. GNU Emacs
+is not in the public domain; it is copyrighted and there are
+restrictions on its distribution, but these restrictions are designed
+to permit everything that a good cooperating citizen would want to do.
+What is not allowed is to try to prevent others from further sharing
+any version of GNU Emacs that they might get from you. The precise
+conditions are found in the GNU General Public License that comes with
+Emacs and also appears in this manual@footnote{This manual is itself
+covered by the GNU Free Documentation License. This license is
+similar in spirit to the General Public License, but is more suitable
+for documentation. @xref{GNU Free Documentation License}.}.
+@xref{Copying}.
+
+One way to get a copy of GNU Emacs is from someone else who has it.
+You need not ask for our permission to do so, or tell any one else;
+just copy it. If you have access to the Internet, you can get the
+latest distribution version of GNU Emacs by anonymous FTP; see
+@url{http://www.gnu.org/software/emacs} on our website for more
+information.
+
+You may also receive GNU Emacs when you buy a computer. Computer
+manufacturers are free to distribute copies on the same terms that apply to
+everyone else. These terms require them to give you the full sources,
+including whatever changes they may have made, and to permit you to
+redistribute the GNU Emacs received from them under the usual terms of the
+General Public License. In other words, the program must be free for you
+when you get it, not just free for the manufacturer.
+
+You can also order copies of GNU Emacs from the Free Software
+Foundation. This is a convenient and reliable way to get a copy; it is
+also a good way to help fund our work. We also sell hardcopy versions
+of this manual and @cite{An Introduction to Programming in Emacs Lisp},
+by Robert J. Chassell. You can find an order form on our web site at
+@url{http://www.gnu.org/order/order.html}. For further information,
+write to
+
+@display
+Free Software Foundation
+51 Franklin Street, Fifth Floor
+Boston, MA 02110-1301
+USA
+@end display
+
+The income from distribution fees goes to support the foundation's
+purpose: the development of new free software, and improvements to our
+existing programs including GNU Emacs.
+
+If you find GNU Emacs useful, please @strong{send a donation} to the
+Free Software Foundation to support our work. Donations to the Free
+Software Foundation are tax deductible in the US. If you use GNU Emacs
+at your workplace, please suggest that the company make a donation. If
+company policy is unsympathetic to the idea of donating to charity, you
+might instead suggest ordering a CD-ROM from the Foundation
+occasionally, or subscribing to periodic updates.
+
+@iftex
+@node Acknowledgments, Intro, Distrib, Top
+@unnumberedsec Acknowledgments
+
+Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas
+Abrahamsson, Jay K.@: Adams, Michael Albinus, Nagy Andras, Ralf
+Angeli, Joe Arceneaux, Miles Bader, David Bakhash, Juanma Barranquero,
+Eli Barzilay, Steven L.@: Baur, Jay Belanger, Alexander L.@: Belikoff,
+Boaz Ben-Zvi, Karl Berry, Anna M.@: Bigatti, Ray Blaak, Jim Blandy, Johan Bockg@aa{}rd,
+Per Bothner, Terrence Brannon, Frank Bresz, Peter Breton, Emmanuel
+Briot, Kevin Broadey, Vincent Broman, David M.@: Brown, Georges
+Brun-Cottan, Joe Buehler, W@l{}odek Bzyl, Bill Carpenter, Per
+Cederqvist, Hans Chalupsky, Chris Chase, Bob Chassell, Andrew Choi,
+Sacha Chua, James Clark, Mike Clarkson, Glynn Clements, Andrew
+Csillag, Doug Cutting, Mathias Dahl, Satyaki Das, Michael DeCorte,
+Gary Delp, Matthieu Devin, Eri Ding, Jan Dj@"{a}rv, Carsten Dominik,
+Scott Draves, Benjamin Drieu, Viktor Dukhovni, John Eaton, Rolf Ebert,
+Paul Eggert, Stephen Eglen, Torbj@"orn Einarsson, Tsugutomo Enami,
+Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick Farnbach,
+Oscar Figueiredo, Fred Fish, Karl Fogel, Gary Foster, Romain
+Francoise, Noah Friedman, Andreas Fuchs, Hallvard Furuseth, Keith
+Gabryelski, Peter S.@: Galbraith, Kevin Gallagher, Kevin Gallo, Juan
+Le@'{o}n Lahoz Garc@'{@dotless{i}}a, Howard Gayle, Stephen Gildea, Julien
+Gilles, David Gillespie, Bob Glickstein, Deepak Goel, Boris Goldowsky,
+Michelangelo Grigni, Odd Gripenstam, Kai Gro@ss{}johann, Michael
+Gschwind, Henry Guillaume, Doug Gwyn, Ken'ichi Handa, Lars Hansen,
+Chris Hanson, K. Shane Hartman, John Heidemann, Jon K.@: Hellan,
+Jesper Harder, Markus Heritsch, Karl Heuer, Manabu Higashida, Anders
+Holst, Jeffrey C.@: Honig, Kurt Hornik, Tom Houlder, Joakim Hove,
+Denis Howe, Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue, Pavel
+Janik, Paul Jarc, Ulf Jasper, Michael K. Johnson, Kyle Jones, Terry
+Jones, Simon Josefsson, Arne J@o{}rgensen, Tomoji Kagatani, Brewster
+Kahle, Lute Kamstra, David Kastrup, David Kaufman, Henry Kautz, Taichi
+Kawabata, Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg,
+Shuhei Kobayashi, Pavel Kobiakov, Larry K.@: Kolodney, David M.@:
+Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian Kremer, Ryszard
+Kubiak, Geoff Kuenning, David K@aa{}gedal, Daniel LaLiberte, Mario
+Lang, Aaron Larson, James R.@: Larus, Vinicius Jose Latorre, Werner
+Lemberg, Frederic Lepied, Peter Liljenberg, Lars Lindberg, Chris
+Lindblad, Anders Lindgren, Thomas Link, Juri Linkov, Francis Litterio,
+Emilio C. Lopes, Dave Love, Sascha L@"{u}decke, Eric Ludlam,Alan
+Mackenzie, Christopher J.@: Madsen, Neil M.@: Mager, Ken Manheimer,
+Bill Mann, Brian Marick, Simon Marshall, Bengt Martensson, Charlie
+Martin, Thomas May, Roland McGrath, Will Mengarini, David Megginson,
+Ben A. Mesander, Wayne Mesard, Brad Miller, Lawrence Mitchell, Richard
+Mlynarik, Gerd Moellmann, Stefan Monnier, Morioka Tomohiko, Keith
+Moore, Glenn Morris, Diane Murray, Sen Nagata, Erik Naggum, Thomas
+Neumann, Thien-Thi Nguyen, Mike Newton, Jurgen Nickelsen, Dan
+Nicolaescu, Hrvoje Niksic, Jeff Norden, Andrew Norman, Alexandre
+Oliva, Bob Olson, Michael Olson, Takaaki Ota, Pieter E.@: J.@: Pareit,
+David Pearson, Jeff Peck, Damon Anton Permezel, Tom Perrine, William
+M.@: Perry, Per Persson, Jens Petersen, Daniel Pfeiffer, Richard L.@:
+Pieri, Fred Pierresteguy, Christian Plaunt, David Ponce, Francesco
+A.@: Potorti, Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko
+Rahamaa, Ashwin Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold,
+Alex Rezinsky, Rob Riepel, David Reitter, Nick Roberts, Roland B.@:
+Roberts, John Robinson, Danny Roozendaal, William Rosenblatt,
+Guillermo J.@: Rozas, Martin Rudalics, Ivar Rummelhoff, Jason Rumney,
+Wolfgang Rupprecht, Kevin Ryde, James B. Salem, Masahiko Sato, Jorgen
+Schaefer, Holger Schauer, William Schelter, Ralph Schleicher, Gregor
+Schmid, Michael Schmidt, Ronald S. Schnell, Philippe Schnoebelen, Jan
+Schormann, Alex Schroeder, Stephen Schoef, Raymond Scholz, Randal
+Schwartz, Oliver Seidel, Manuel Serrano, Hovav Shacham, Stanislav
+Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Espen Skoglund,
+Rick Sladkey, Lynn Slater, Chris Smith, David Smith, Paul D.@: Smith,
+Andre Spiegel, Michael Staats, William Sommerfeld, Michael Staats,
+Reiner Steib, Sam Steingold, Ake Stenhoff, Peter Stephenson, Ken
+Stevens, Jonathan Stigelman, Martin Stjernholm, Kim F.@: Storm, Steve
+Strassman, Olaf Sylvester, Naoto Takahashi, Steven Tamm, Jean-Philippe
+Theberge, Jens T.@: Berger Thielemann, Spencer Thomas, Jim Thompson,
+Luc Teirlinck, Tom Tromey, Enami Tsugutomo, Eli Tziperman, Daiki Ueno,
+Masanobu Umeda, Rajesh Vaidheeswarran, Neil W.@: Van Dyke, Didier
+Verna, Ulrik Vieth, Geoffrey Voelker, Johan Vromans, Inge Wallin, John
+Paul Wallington, Colin Walters, Barry Warsaw, Morten Welinder, Joseph
+Brian Wells, Rodney Whitby, John Wiegley, Ed Wilkinson, Mike Williams,
+Bill Wohler, Steven A. Wood, Dale R.@: Worley, Francis J.@: Wright,
+Felix S. T. Wu, Tom Wurgler, Katsumi Yamaoka, Masatake Yamato,
+Jonathan Yavner, Ryan Yeske, Chong Yidong, Ilya Zakharevich, Milan
+Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Shenghuo Zhu,
+Ian T.@: Zimmermann, Reto Zimmermann, Neal Ziring, Teodor Zlatanov,
+and Detlev Zundel.
+@end iftex
+
+@node Intro, Glossary, Distrib, Top
+@unnumbered Introduction
+
+ You are reading about GNU Emacs, the GNU incarnation of the
+advanced, self-documenting, customizable, extensible editor Emacs.
+(The `G' in `GNU' is not silent.)
+
+ We call Emacs advanced because it provides much more than simple
+insertion and deletion. It can control subprocesses, indent programs
+automatically, show two or more files at once, and edit formatted
+text. Emacs editing commands operate in terms of characters, words,
+lines, sentences, paragraphs, and pages, as well as expressions and
+comments in various programming languages.
+
+ @dfn{Self-documenting} means that at any time you can type a special
+character, @kbd{Control-h}, to find out what your options are. You can
+also use it to find out what any command does, or to find all the commands
+that pertain to a topic. @xref{Help}.
+
+ @dfn{Customizable} means that you can alter Emacs commands' behavior
+in simple ways. For example, if you use a programming language in
+which comments start with @samp{<**} and end with @samp{**>}, you can
+tell the Emacs comment manipulation commands to use those strings
+(@pxref{Comments}). Another sort of customization is rearrangement of
+the command set. For example, you can rebind the basic cursor motion
+commands (up, down, left and right) to any keys on the keyboard that
+you find comfortable. @xref{Customization}.
+
+ @dfn{Extensible} means that you can go beyond simple customization
+and write entirely new commands---programs in the Lisp language to be
+run by Emacs's own Lisp interpreter. Emacs is an ``on-line
+extensible'' system, which means that it is divided into many
+functions that call each other, any of which can be redefined in the
+middle of an editing session. Almost any part of Emacs can be
+replaced without making a separate copy of all of Emacs. Most of the
+editing commands of Emacs are written in Lisp; the few exceptions
+could have been written in Lisp but use C instead for efficiency.
+Writing an extension is programming, but non-programmers can use it
+afterwards. @xref{Top, Emacs Lisp Intro, Preface, eintr, An
+Introduction to Programming in Emacs Lisp}, if you want to learn Emacs
+Lisp programming.
+
+ When running on a graphical display, Emacs provides its own menus
+and convenient handling of mouse buttons. In addition, Emacs provides
+many of the benefits of a graphical display even on a text-only
+terminal. For instance, it can highlight parts of a file, display and
+edit several files at once, move text between files, and edit files
+while running shell commands.
+
+@include screen.texi
+@include commands.texi
+@include entering.texi
+@include basic.texi
+@include mini.texi
+@include m-x.texi
+@include help.texi
+@include mark.texi
+@include killing.texi
+@include regs.texi
+@include display.texi
+@include search.texi
+@include fixit.texi
+@include kmacro.texi
+@include files.texi
+@include buffers.texi
+@include windows.texi
+@include frames.texi
+@include mule.texi
+@include major.texi
+@include indent.texi
+@include text.texi
+@include programs.texi
+@include building.texi
+@include maintaining.texi
+@include abbrevs.texi
+@ifnottex
+@include picture-xtra.texi
+@end ifnottex
+@include sending.texi
+@include rmail.texi
+@include dired.texi
+@include calendar.texi
+@include misc.texi
+@include custom.texi
+@include trouble.texi
+
+@node Copying, GNU Free Documentation License, Service, Top
+@appendix GNU GENERAL PUBLIC LICENSE
+@include gpl.texi
+
+@node GNU Free Documentation License, Emacs Invocation, Copying, Top
+@appendix GNU Free Documentation License
+@include doclicense.texi
+
+@include cmdargs.texi
+@include xresources.texi
+
+@include anti.texi
+@include macos.texi
+@include msdog.texi
+@include gnu.texi
+@include glossary.texi
+@ifnottex
+@include ack.texi
+@end ifnottex
+
+@c The Option Index is produced only in the on-line version,
+@c because the index entries related to command-line options
+@c tend to point to the same pages and all begin with a dash.
+@c This, and the need to keep the node links consistent, are
+@c the reasons for the funky @iftex/@ifnottex dance below.
+@c The Option Index is _not_ before Key Index, because that
+@c would require changes in the glossary.texi's @node line.
+@c It is not after Concept Index for similar reasons.
+
+@iftex
+@node Key Index, Command Index, Glossary, Top
+@unnumbered Key (Character) Index
+@printindex ky
+@end iftex
+
+@ifnottex
+@node Key Index, Option Index, Glossary, Top
+@unnumbered Key (Character) Index
+@printindex ky
+
+@node Option Index, Command Index, Key Index, Top
+@unnumbered Command-Line Options Index
+@printindex op
+
+@node Command Index, Variable Index, Option Index, Top
+@unnumbered Command and Function Index
+@printindex fn
+@end ifnottex
+
+@iftex
+@node Command Index, Variable Index, Key Index, Top
+@unnumbered Command and Function Index
+@printindex fn
+@end iftex
+
+@node Variable Index, Concept Index, Command Index, Top
+@unnumbered Variable Index
+@printindex vr
+
+@node Concept Index, Acknowledgments, Variable Index, Top
+@unnumbered Concept Index
+@printindex cp
+
+@bye
+
+@ignore
+ arch-tag: ed48740a-410b-46ea-9387-c9a9252a3392
+@end ignore