diff man/emacs.texi @ 24093:072a11211bd8

Initial revision
author Andrew Innes <andrewi@gnu.org>
date Sun, 17 Jan 1999 19:04:54 +0000
parents
children 1a575df191bb
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/emacs.texi	Sun Jan 17 19:04:54 1999 +0000
@@ -0,0 +1,1472 @@
+\input texinfo
+
+@setchapternewpage odd
+@settitle GNU Emacs Manual
+@setfilename ../info/emacs
+@synindex pg cp
+
+@ifinfo
+@c The edition number appears in several places in this file
+This is the thirteenth edition of the @cite{GNU Emacs Manual},
+updated for Emacs version 20.4
+@c Please REMEMBER to update edition number in *three* places in this file.
+
+@dircategory Editors
+@direntry
+* Emacs: (emacs).	The extensible self-documenting text editor.
+@end direntry
+
+Published by the Free Software Foundation
+59 Temple Place, Suite 330
+Boston, MA  02111-1307 USA
+
+Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998
+   Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+@ignore
+Permission is granted to process this file through Tex and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+
+@end ignore
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that the
+sections entitled ``The GNU Manifesto'', ``Distribution'' and ``GNU
+General Public License'' are included exactly as in the original, and
+provided that the entire resulting derived work is distributed under the
+terms of a permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that the sections entitled ``The GNU Manifesto'',
+``Distribution'' and ``GNU General Public License'' may be included in a
+translation approved by the Free Software Foundation instead of in the
+original English.
+@end ifinfo
+@c
+@c comment out this line if you do NOT want to have indication that
+@c an index entry appears in the texinfo file near this line of text.
+@c this line should definitely be commented out for printing a master
+@c and for making the version to go on the floppy disk.
+@c
+@c @include /gd/gnu/doc/margins-comment-format.texi
+
+@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.  
+
+@smallbook
+
+@iftex
+@kbdinputstyle code
+
+@shorttitlepage GNU Emacs Manual
+@end iftex
+@titlepage
+@sp 6
+@center @titlefont{GNU Emacs Manual}
+@sp 4
+@center Thirteenth Edition, Updated for Emacs Version 20.4
+@sp 5
+@center Richard Stallman
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998
+   Free Software Foundation, Inc.
+@sp 2
+Thirteenth Edition @*
+Updated for Emacs Version 20.4, @*
+August 1998
+
+ISBN 1-882114-06-X
+@sp 1
+Published by the Free Software Foundation @*
+59 Temple Place, Suite 330 @*
+Boston, MA  02111-1307 USA
+@sp 1
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that the
+sections entitled ``The GNU Manifesto'', ``Distribution'' and ``GNU
+General Public License'' are included exactly as in the original, and
+provided that the entire resulting derived work is distributed under the
+terms of a permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that the sections entitled ``The GNU Manifesto'',
+``Distribution'' and ``GNU General Public License'' may be included in a
+translation approved by the Free Software Foundation instead of in the
+original English.
+
+@sp 2
+Cover art by Etienne Suvasa.
+
+@end titlepage
+@page
+@ifinfo
+@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 20.4.
+For information on extending Emacs, see @ref{,Emacs Lisp,, elisp, The
+Emacs Lisp Reference Manual}.
+@end ifinfo
+
+@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
+Fortran Mode
+Fortran Indentation
+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.
+* Intro::	        An introduction to Emacs concepts.
+* Glossary::	        The glossary.
+* Antinews::	        Information about Emacs version 19.
+* MS-DOS::              Using Emacs on MS-DOS (otherwise known as "MS-DOG").
+* Manifesto::	        What's GNU?  Gnu's Not Unix!
+* Acknowledgments::     Major contributors to GNU Emacs.
+
+Indexes (nodes containing large menus)
+* Key Index::	        An item for each standard Emacs key sequence.
+* 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.
+* Command Arguments::   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 text.
+* Yanking::	        Recovering killed text.  Moving text.
+* 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.
+
+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-ASCII character sets.
+
+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.
+* Abbrevs::	        How to define text abbreviations to reduce
+			  the number of characters you must type.
+* Picture::	        Editing pictures made up of characters
+			  using the quarter-plane screen model.
+* 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.
+* Hardcopy::	        Printing buffers or regions.
+* Postscript::	        Printing buffers or regions as Postscript.
+* Postscript Variables::
+                        Customizing the Postscript printing commands.
+* 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.
+* Dissociated Press::   Dissociating text for fun.
+* Amusements::	        Various games and hacks.
+* Customization::       Modifying the behavior of 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.
+
+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 Detailed Node Listing ---
+
+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.
+* Undo::	        Undoing recent changes in the text.
+* Files: Basic Files.   Visiting, creating, and saving files.
+* Help: 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.
+
+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.
+
+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.
+* Library Keywords::	Finding Lisp libraries by keywords (topics).
+* Language Help::       Help relating to international language support.
+* Misc Help::		Other help commands.
+
+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.
+* 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.
+
+Deletion and Killing
+
+* 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. 
+
+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.
+* RegFiles::    	File names in registers.
+* Bookmarks::           Bookmarks are like registers, but persistent.
+
+Controlling the Display
+
+* Scrolling::	           Moving text up and down in a window.
+* Horizontal Scrolling::   Moving text left and right in a window.
+* Follow Mode::            Follow mode lets two windows scroll as one.
+* Selective Display::      Hiding lines with lots of indentation.
+* Optional Mode Line::     Optional mode line display features.
+* Text Display::           How text is normally displayed.
+* Display Vars::           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.
+* 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.
+
+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
+
+* 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.
+
+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.
+* 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.
+* Misc File Ops::       Other things you can do on files.
+* Compressed Files::    Accessing compressed files.
+* Remote Files::        Accessing files on other sites.
+* Quoted File Names::   Quoting special characters in file names.
+
+Saving Files
+
+* Backup::              How Emacs saves the old version of your file.
+* Interlocking::        How Emacs protects against simultaneous editing
+                          of one file by two users.
+
+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.
+* 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-onlyness; 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. 
+
+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.
+
+Frames and X Windows
+
+* Mouse Commands::      Moving, cutting, and pasting, with the mouse.
+* Secondary Selection:: Cutting without altering point and mark.
+* 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.
+* 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.
+* Menu Bars::	        Enabling and disabling the menu bar.
+* Faces::	        How to change the display style using faces.
+* Font Lock::           Minor mode for syntactic highlighting using faces.
+* Support Modes::       Font Lock support modes make Font Lock faster.
+* Misc X::	        Iconifying and deleting frames.  Region highlighting.
+* Non-Window Terminals::  Multiple frames on terminals that show only one.
+
+Font Lock Support Modes
+
+* Fast Lock Mode::      Saving font information in files.
+* Lazy Lock Mode::      Fontifying only text that is actually displayed.
+* Fast or Lazy::        Which support mode is best for you?
+
+International Character Set Support
+
+* International Intro::     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.
+* 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::          Various ways to choose which conversion to use.
+* Fontsets::                Fontsets are collections of fonts
+                              that cover the whole spectrum of characters.
+* Defining Fontsets::       Defining a new fontset.
+* Single-Byte European Support::
+                            You can pick one European character set
+                            to use without multibyte characters.
+
+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.
+* Nroff Mode::	        Editing input to the formatter nroff.
+* Formatted Text::      Editing formatted text directly in WYSIWYG fashion.
+
+Filling Text
+
+* Auto Fill::	        Auto Fill mode breaks long lines automatically.
+* 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.
+
+Editing Programs
+
+* Program Modes::       Major modes for editing programs.
+* Lists::	        Expressions with balanced parentheses.
+* List Commands::       The commands for working with list and sexps.
+* Defuns::	        Each program is made up of separate functions.
+			  There are editing commands to operate on them.
+* Program Indent::      Adjusting indentation to show the nesting.
+* Matching::	        Insertion of a close-delimiter flashes matching open.
+* Comments::	        Inserting, killing, and aligning comments.
+* Balanced Editing::    Inserting two matching parentheses at once, etc.
+* Symbol Completion::   Completion on symbol names of your program or language.
+* Documentation::       Getting documentation of functions you plan to call.
+* Change Log::	        Maintaining a change history for your program.
+* Tags::	        Go directly 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.
+* C/Java Modes::        Special commands of C, C++, Objective-C and Java modes.
+* Fortran::	        Fortran mode and its special features.
+* Asm Mode::	        Asm mode and its special features.
+
+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::		Choosing an indentation style for C code.
+
+Tags Tables
+
+* Tag Syntax::		Tag syntax for various types of code and text files.  
+* Create Tags Table::	Creating a tags table with @code{etags}.
+* 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.
+
+Merging Files with Emerge
+
+* Overview of Emerge::	How to start Emerge.  Basic concepts.
+* Submodes of Emerge::	Fast mode vs. Edit mode.
+			  Skip Prefers mode and Auto Advance mode.
+* State of Difference::	You do the merge by specifying state A or B
+			  for each difference.
+* Merge Commands::	Commands for selecting a difference,
+			  changing states of differences, etc.
+* Exiting Emerge::	What to do when you've finished the merge.
+* Combining in Emerge::	    How to keep both alternatives for a difference.
+* Fine Points of Emerge::   Misc.
+
+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.
+* 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 Interaction::    Executing Lisp in an Emacs buffer.
+* Lisp Eval::		Executing a single Lisp expression in Emacs.
+* 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.
+
+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.
+
+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.
+
+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.
+* Distracting NSA::     How to distract the NSA's attention.
+* 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 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.
+
+Dired, the Directory Editor
+
+* Dired Enter:: 	     How to invoke Dired.
+* Dired Commands::           Commands 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.
+* 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.
+
+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.
+* LaTeX Calendar::        Print a calendar using LaTeX.
+* 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.
+* Daylight Savings::    How to specify when daylight savings time is active.
+
+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
+
+* Diary Commands::	   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.
+
+@sc{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 History::       Repeating previous commands in a shell buffer.
+* Shell Options::       Options for customizing Shell mode.
+* Remote Host::		Connecting to another computer.
+
+Customization
+
+* Minor Modes::		Each minor mode is one feature you can turn on
+			  independently of any others.
+* Variables::		Many Emacs commands examine Emacs variables
+			  to decide what to do; by setting variables,
+			  you can control their functioning.
+* Keyboard Macros::	A keyboard macro records a sequence of
+			  keystrokes to be replayed with a single command. 
+* Key Bindings::	The keymaps say what command each key runs.
+			  By changing them, you can "redefine keys".
+* Keyboard Translations::
+                        If your keyboard passes an undesired code
+			   for a key, you can tell Emacs to
+			   substitute another code. 
+* 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.
+* Easy Customization::
+                        Convenient and easy customization of variables.
+* 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.
+
+Keyboard Macros
+
+* Basic Kbd Macro::     Defining and running keyboard macros.
+* Save Kbd Macro::      Giving keyboard macros names; saving them in files.
+* Kbd Macro Query::     Making keyboard macros do different things each time.
+
+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.
+
+Dealing with Emacs Trouble
+
+* DEL Gets Help::       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.
+* Unasked-for Search::  Spontaneous entry to incremental search.
+* Memory Full::         How to cope when you run out of memory.
+* Emergency Escape::    Emergency escape---
+                          What to do if Emacs stops responding.
+* Total Frustration::   When you are at your wits' end.
+
+Reporting Bugs
+
+* Criteria:  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 Options and Arguments
+
+* 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 X::	        Choosing colors, under X.
+* 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.
+* Resources X::         Advanced use of classes and resources, under X.
+* Lucid Resources::     X resources for Lucid menus.
+* Motif Resources::     X resources for Motif menus.
+
+Environment Variables
+
+* General Variables::	Environment variables that all versions of Emacs use.
+* Misc Variables::	Certain system specific variables.
+
+MS-DOS and Windows NT/95
+
+* MS-DOS Input::        Keyboard and mouse usage on MS-DOS.
+* MS-DOS Display::      Fonts, frames and display size on MS-DOS.
+* MS-DOS File Names::   File-name conventions on MS-DOS.
+* Text and Binary::     Text files on MS-DOS use CRLF to separate lines.
+* MS-DOS Printing::     How to specify the printer on MS-DOS.
+* MS-DOS Processes::    Running subprocesses on MS-DOS.
+* Windows Processes::   Running subprocesses on Windows.
+* Windows System Menu:: Controlling what the ALT key does.
+@end menu
+
+@iftex
+@unnumbered Preface
+
+  This manual documents the use and simple customization of the Emacs
+editor.  The reader is not expected to be a programmer; simple
+customizations do not require programming skill.  But the user who is not
+interested in customizing can ignore the scattered customization hints.
+
+  This is primarily a reference manual, but can also be used as a
+primer.  For complete beginners, it is a good idea to 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}.  This way you can learn
+Emacs by using Emacs on a specially designed file which describes
+commands, tells you when to try them, and then explains the results you
+see.
+
+  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 there.  The next few chapters describe
+fundamental techniques and concepts that are used constantly.  You need
+to understand them thoroughly, experimenting with them if necessary.
+
+  Chapters 14 through 19 describe intermediate-level features that are
+useful for all kinds of editing.  Chapter 20 and following chapters
+describe features that you may or may not want to use; 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 some common problems
+(@pxref{Lossage}), as well as when and how to report Emacs bugs
+(@pxref{Bugs}).
+ 
+  To find the documentation on 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 will
+be the principal way of viewing documentation on-line in the GNU system.
+Both the Info file and the Info program itself are distributed along
+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 along 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, write for a copy of AI memo 519a, ``Emacs, the Extensible,
+Customizable Self-Documenting Display Editor,'' to Publications Department,
+Artificial Intelligence Lab, 545 Tech Square, Cambridge, MA 02139, USA@.  At
+last report they charge $2.25 per copy.  Another useful publication is LCS
+TM-165, ``A Cookbook for an Emacs,'' by Craig Finseth, available from
+Publications Department, Laboratory for Computer Science, 545 Tech Square,
+Cambridge, MA 02139, USA@.  The price today is $3.
+
+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), Windows NT, and Windows 95 systems.  Those systems use
+different file name syntax; in addition, VMS and MS-DOS do not support
+all GNU Emacs features.  We don't try to describe VMS usage in this
+manual.  @xref{MS-DOS}, for information about using Emacs on MS-DOS.
+@end iftex
+
+@node Distrib, Copying, 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 following this section.
+
+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 the file
+@file{etc/FTP} in the Emacs distribution 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
+on CD-ROM@.  This is a convenient and reliable way to get a copy; it is
+also a good way to help fund our work.  (The Foundation has always
+received most of its funds in this way.)  An order form is included in
+the file @file{etc/ORDERS} in the Emacs distribution, and on our web
+site in @url{http://www.gnu.org/order/order.html}.  For further
+information, write to
+
+@display
+Free Software Foundation
+59 Temple Place, Suite 330
+Boston, MA  02111-1307 USA
+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
+Contributors to GNU Emacs include Per Abrahamsen, Jay K. Adams, Joe
+Arceneaux, Boaz Ben-Zvi, Jim Blandy, Terrence Brannon, Frank Bresz,
+Peter Breton, Kevin Broadey, Vincent Broman, David M. Brown, Bill
+Carpenter, Hans Chalupsky, Bob Chassell, James Clark, Mike Clarkson,
+Glynn Clements, Andrew Csillag, Doug Cutting, Michael DeCorte, Gary
+Delp, Matthieu Devin, Eri Ding, Carsten Dominik, Scott Draves, Viktor
+Dukhovni, John Eaton, Rolf Ebert, Stephen Eglen, Torbj@"orn Einarsson,
+Tsugumoto Enami, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi,
+Frederick Farnback, Fred Fish, Karl Fogel, Gary Foster, Noah Friedman,
+Keith Gabryelski, Kevin Gallagher, Kevin Gallo, Howard Gayle, Stephen
+Gildea, David Gillespie, Bob Glickstein, Boris Goldowsky, Michelangelo
+Grigni, Michael Gschwind, Henry Guillaume, Doug Gwyn, Ken'ichi Handa ,
+Chris Hanson, K. Shane Hartman, John Heidemann, Markus Heritsch, Karl
+Heuer, Manabu Higashida, Anders Holst, Kurt Hornik, Tom Houlder, Lars
+Ingebrigtsen, Andrew Innes, Michael K. Johnson, Kyle Jones, Tomoji
+Kagatani, Brewster Kahle, David Kaufman, Henry Kautz, Howard Kaye,
+Michael Kifer, Richard King, Larry K. Kolodney, Robert Krawitz,
+Sebastian Kremer, Geoff Kuenning, David K@aa gedal, Daniel LaLiberte,
+Aaron Larson, James R. Larus, Frederic Lepied, Lars Lindberg, Eric
+Ludlam, Neil M. Mager, Ken Manheimer, Bill Mann, Brian Marick, Simon
+Marshall, Bengt Martensson, Charlie Martin, Thomas May, Roland McGrath,
+David Megginson, Wayne Mesard, Richard Mlynarik, Keith Moore, Erik
+Naggum, Thomas Neumann, Mike Newton, Jurgen Nickelsen, Jeff Norden,
+Andrew Norman, Jeff Peck, Damon Anton Permezel, Tom Perrine, Jens
+Petersen, Daniel Pfeiffer, Fred Pierresteguy, Christian Plaunt,
+Francesco A. Potorti, Michael D. Prange, Ashwin Ram, Eric S. Raymond,
+Paul Reilly, Edward M. Reingold, Rob Riepel, Roland B. Roberts, John
+Robinson, Danny Roozendaal, William Rosenblatt, Guillermo J. Rozas, Ivar
+Rummelhoff, Wolfgang Rupprecht, James B. Salem, Masahiko Sato, William
+Schelter, Ralph Schleicher, Gregor Schmid, Michael Schmidt, Ronald
+S. Schnell, Philippe Schnoebelen, Stephen Schoef, Randal Schwartz,
+Manuel Serrano, Stanislav Shalunov, Mark Shapiro, Richard Sharman, Olin
+Shivers, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith, David
+Smith, Paul D. Smith, William Sommerfeld, Michael Staats, Sam Steingold,
+Ake Stenhoff, Peter Stephenson, Jonathan Stigelman, Steve Strassman,
+Jens T. Berger Thielemann, Spencer Thomas, Jim Thompson, Masanobu Umeda,
+Neil W. Van Dyke, Ulrik Vieth, Geoffrey Voelker, Johan Vromans, Barry
+Warsaw, Morten Welinder, Joseph Brian Wells, Rodney Whitby, Ed
+Wilkinson, Mike Williams, Steven A. Wood, Dale R. Worley, Felix
+S. T. Wu, Tom Wurgler, Eli Zaretskii, Jamie Zawinski, Ian T. Zimmermann,
+Reto Zimmermann, and Neal Ziring.
+@end iftex
+
+@node Copying, Intro, Distrib, Top
+@unnumbered GNU GENERAL PUBLIC LICENSE
+@center Version 2, June 1991
+
+@display
+Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+@end display
+
+@unnumberedsec Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software---to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+@iftex
+@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+@end iftex
+@ifinfo
+@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+@end ifinfo
+
+@enumerate 0
+@item
+This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The ``Program'', below,
+refers to any such program or work, and a ``work based on the Program''
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term ``modification''.)  Each licensee is addressed as ``you''.
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+@item
+You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+@item
+You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+@enumerate a
+@item
+You must cause the modified files to carry prominent notices
+stating that you changed the files and the date of any change.
+
+@item
+You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.
+
+@item
+If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License.  (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)
+@end enumerate
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+@item
+You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+@enumerate a
+@item
+Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,
+
+@item
+Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+@item
+Accompany it with the information you received as to the offer
+to distribute corresponding source code.  (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)
+@end enumerate
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+@item
+You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+@item
+You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+@item
+Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+@item
+If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+@item
+If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+@item
+The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and ``any
+later version'', you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+@item
+If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+@iftex
+@heading NO WARRANTY
+@end iftex
+@ifinfo
+@center NO WARRANTY
+@end ifinfo
+
+@item
+BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW@.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE@.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU@.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+@item
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+@end enumerate
+
+@iftex
+@heading END OF TERMS AND CONDITIONS
+@end iftex
+@ifinfo
+@center END OF TERMS AND CONDITIONS
+@end ifinfo
+
+@page
+@unnumberedsec How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the ``copyright'' line and a pointer to where the full notice is found.
+
+@smallexample
+@var{one line to give the program's name and an idea of what it does.}
+Copyright (C) 19@var{yy}  @var{name of author}
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+@end smallexample
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+@smallexample
+Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
+type `show w'.  This is free software, and you are welcome
+to redistribute it under certain conditions; type `show c' 
+for details.
+@end smallexample
+
+The hypothetical commands @samp{show w} and @samp{show c} should show
+the appropriate parts of the General Public License.  Of course, the
+commands you use may be called something other than @samp{show w} and
+@samp{show c}; they could even be mouse-clicks or menu items---whatever
+suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a ``copyright disclaimer'' for the program, if
+necessary.  Here is a sample; alter the names:
+
+@smallexample
+@group
+Yoyodyne, Inc., hereby disclaims all copyright
+interest in the program `Gnomovision'
+(which makes passes at compilers) written 
+by James Hacker.
+
+@var{signature of Ty Coon}, 1 April 1989
+Ty Coon, President of Vice
+@end group
+@end smallexample
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+@node Intro, Glossary, Copying, Top
+@unnumbered Introduction
+
+  You are reading about GNU Emacs, the GNU incarnation of the advanced,
+self-documenting, customizable, extensible real-time display editor Emacs.
+(The `G' in `GNU' is not silent.)
+
+  We say that Emacs is a @dfn{display} editor because normally the text
+being edited is visible on the screen and is updated automatically as you
+type your commands.  @xref{Screen,Display}.
+
+  We call it a @dfn{real-time} editor because the display is updated very
+frequently, usually after each character or pair of characters you
+type.  This minimizes the amount of information you must keep in your
+head as you edit.  @xref{Basic,Real-time,Basic Editing}.
+
+  We call Emacs advanced because it provides facilities that go beyond
+simple insertion and deletion: controlling subprocesses; automatic
+indentation of programs; viewing two or more files at once; editing
+formatted text; and dealing in terms of characters, words, lines,
+sentences, paragraphs, and pages, as well as expressions and comments in
+several different 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 change the definitions of Emacs
+commands in little 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, if you prefer the four basic cursor motion
+commands (up, down, left and right) on keys in a diamond pattern on the
+keyboard, you can rebind the keys that way.  @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 already; the few exceptions could have been written
+in Lisp but are written in C for efficiency.  Although only a programmer
+can write an extension, anybody can use it afterward.  If you want to
+learn Emacs Lisp programming, we recommend the @cite{Introduction to
+Emacs Lisp} by Robert J. Chassell, also published by the Free Software
+Foundation.
+
+   When run under the X Window System, Emacs provides its own menus and
+convenient bindings to mouse buttons.  But Emacs can provide many of the
+benefits of a window system on a text-only terminal.  For instance, you
+can look at or 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 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 abbrevs.texi
+@include picture.texi
+@include sending.texi
+@include rmail.texi
+@include dired.texi
+@include calendar.texi
+@include misc.texi
+@include custom.texi
+@include trouble.texi
+@include cmdargs.texi
+
+@include anti.texi
+@include msdog.texi
+@include gnu.texi
+@include glossary.texi
+@ifinfo
+@include ack.texi
+@end ifinfo
+
+@node Key Index, Command Index, Glossary, Top
+@unnumbered Key (Character) Index
+@printindex ky
+
+@node Command Index, Variable Index, Key Index, Top
+@unnumbered Command and Function Index
+@printindex fn
+
+@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
+
+@summarycontents
+@contents
+@bye
+