This commit was manufactured by cvs2svn to create branch 'chise-r21-4-18'.
[chise/xemacs-chise.git-] / man / xemacs / xemacs.texi
diff --git a/man/xemacs/xemacs.texi b/man/xemacs/xemacs.texi
new file mode 100644 (file)
index 0000000..79d71fa
--- /dev/null
@@ -0,0 +1,1129 @@
+\input texinfo  @c -*-texinfo-*-
+@setfilename ../../info/xemacs.info
+@comment  node-name,  next,  previous,  up
+
+
+@ifinfo
+@dircategory XEmacs Editor
+@direntry
+* XEmacs: (xemacs).            XEmacs Editor.
+@end direntry
+
+This file documents the XEmacs editor.
+
+Copyright (C) 1985, 1986, 1988 Richard M. Stallman.
+Copyright @copyright{} 1991, 1992, 1993, 1994 Lucid, Inc.
+Copyright @copyright{} 1993, 1994 Sun Microsystems, Inc.
+Copyright @copyright{} 1995 Amdahl Corporation.
+
+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 author instead of in the original English.
+@end ifinfo
+@c
+@setchapternewpage odd
+@settitle XEmacs User's Manual
+@c
+@titlepage
+@sp 6
+@center @titlefont{XEmacs User's Manual}
+@sp 4
+@sp 1
+@sp 1
+@center July 1994
+@center (General Public License upgraded, January 1991)
+@sp 5
+@center Richard Stallman
+@sp 1
+@center Lucid, Inc.
+@sp 1
+@center and
+@sp 1
+@center Ben Wing
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1985, 1986, 1988 Richard M. Stallman.
+
+Copyright @copyright{} 1991, 1992, 1993, 1994  Lucid, Inc.
+
+Copyright @copyright{} 1993, 1994 Sun Microsystems, Inc.
+
+Copyright @copyright{} 1995 Amdahl Corporation.
+
+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 author instead of in the original English.
+@end titlepage
+@page
+@ifinfo
+@node Top, License,, (dir)
+@top The XEmacs Editor
+
+
+XEmacs 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, but not how to extend it.  It
+corresponds to XEmacs version 21.0.
+
+This manual is intended as a detailed reference to XEmacs.  If
+you are looking for an introductory manual, see the New User's
+Guide.
+
+@end ifinfo
+@menu
+* License::     The GNU General Public License gives you permission
+               to redistribute XEmacs on certain terms; and also
+               explains that there is no warranty.
+* Distrib::     How to get XEmacs.
+* Intro::       An introduction to XEmacs concepts.
+* Glossary::    The glossary.
+* Manifesto::   What's GNU?  Gnu's Not Unix!
+
+Indices, nodes containing large menus
+* Key Index::      An item for each standard XEmacs 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
+* Frame::      How to interpret what you see on the screen.
+* Keystrokes::  Keyboard gestures XEmacs recognizes.
+* Pull-down Menus:: 
+                The XEmacs Pull-down Menus available under X.
+* Entering Emacs::    
+                Starting Emacs from the shell.
+* Exiting::     Stopping or killing XEmacs.
+* Command Switches::  
+                Hairy startup options.
+* Startup Paths::
+                How XEmacs finds Directories and Files.
+* Packages::    How XEmacs organizes its high-level functionality.
+
+Fundamental Editing Commands
+* Basic::       The most basic editing commands.
+* Undo::        Undoing recently made changes in the text.
+* Minibuffer::  Entering arguments that are prompted for.
+* M-x::         Invoking commands by their names.
+* Help::        Commands for asking XEmacs about its commands.
+
+Important Text-Changing Commands
+* Mark::        The mark: how to delimit a ``region'' of text.
+* Mouse Selection:: 
+                Selecting text with the mouse.
+* Additional Mouse Operations::
+                Other operations available from the mouse.
+* Killing::     Killing text.
+* Yanking::     Recovering killed text.  Moving text.
+* Using X Selections::
+                Using primary selection, cut buffers, and highlighted regions.
+* 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.
+
+Larger Units of Text
+* Files::       All about handling files.
+* Buffers::     Multiple buffers; editing several files at once.
+* Windows::     Viewing two pieces of text at once.
+* Mule::       Using world scripts.
+
+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.
+* Running::     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 XEmacs.
+* Reading Mail:: Reading mail in XEmacs.
+* Calendar/Diary:: A Calendar and diary facility in XEmacs.
+* Sorting::    Sorting lines, paragraphs or pages within XEmacs.
+* Shell::       Executing shell commands from XEmacs.
+* Narrowing::   Restricting display and editing to a portion
+                 of the buffer.
+* Hardcopy::   Printing buffers or regions.
+* Recursive Edit::
+                A command can allow you to do editing
+                 "within the command".  This is called a
+                 `recursive editing level'.
+* Dissociated Press::  Dissociating text for fun.
+* CONX::              A different kind of dissociation.
+* Amusements::         Various games and hacks.
+* Emulation::         Emulating some other editors with XEmacs.
+* Customization::      Modifying the behavior of XEmacs.
+
+Recovery from Problems.
+* Quitting::    Quitting and aborting.
+* Lossage::     What to do if XEmacs is hung or malfunctioning.
+* Bugs::        How and when to report a bug.
+
+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 Frame
+
+* Point::              The place in the text where editing commands operate.  
+* Echo Area::           Short messages appear at the bottom of the frame.  
+* Mode Line::          Interpreting the mode line.  
+* XEmacs under X::      Some information on using XEmacs under the X 
+                        Window System. 
+
+Keystrokes
+
+* Intro to Keystrokes::      Keystrokes as building blocks of key sequences.
+* Representing Keystrokes::  Using lists of modifiers and keysyms to
+                             represent keystrokes.
+* Key Sequences::            Combine key strokes into key sequences you can
+                             bind to commands.
+* String Key Sequences::     Available for upward compatibility.
+* Meta Key::                 Using @key{ESC} to represent @key{Meta}
+* Super and Hyper Keys::     Adding modifier keys on certain keyboards.
+* Character Representation:: How characters appear in XEmacs buffers.
+* Commands::                 How commands are bound to key sequences.
+                    
+Pull-down Menus
+
+* File Menu::           Items on the File menu.
+* Edit Menu::           Items on the Edit menu.
+* Apps Menu::          Items on the Apps menu.
+* Options Menu::        Items on the Options menu. 
+* Buffers Menu::        Information about the Buffers menu.
+* Tools Menu::         Items on the Tools menu.
+* Help Menu::           Items on the Help menu. 
+* Menu Customization::  Adding and removing menu items and related
+                        operations.
+
+Packages
+
+* Packages::            Introduction to XEmacs Packages.
+* Package Terminology:: Understanding different kinds of packages.
+* Installing Packages:: How to install packages.
+* Building Packages::   Building packages from sources.
+* Local.rules File::    An important part of building packages.
+* Available Packages::  A brief directory of packaged LISP.
+
+Basic Editing Commands
+
+* Blank Lines::        Commands to make or delete blank lines.
+* Continuation Lines:: Lines too wide for the frame.
+* Position Info::      What page, line, row, or column is point on?
+* Arguments::         Numeric arguments for repeating a command.
+
+The Minibuffer
+
+* File: Minibuffer File.  Entering file names with the minibuffer.
+* Edit: Minibuffer Edit.  How to edit in the minibuffer.
+* Completion::           An abbreviation facility for minibuffer input.
+* Repetition::           Re-executing commands that used the minibuffer.
+
+The Mark and the Region
+
+* Setting Mark::       Commands to set the mark.
+* 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.
+
+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.
+
+Using X Selections
+
+* X Clipboard Selection::      Pasting to the X clipboard.
+* X Selection Commands::       Other operations on the selection.
+* X Cut Buffers::              X cut buffers are available for compatibility.
+* Active Regions::             Using zmacs-style highlighting of the
+                                selected region.
+
+Registers
+
+* Position: RegPos.           Saving positions in registers.
+* Text: RegText.              Saving text in registers.
+* Rectangle: RegRect.         Saving rectangles in registers.
+* Configurations: RegConfig.  Saving window configurations in registers.
+* Files: RegFiles.            File names in registers.
+* Numbers: RegNumbers.        Numbers 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.
+* Selective Display::      Hiding lines with lots of indentation.
+* Display Vars::           Information on variables for customizing display.
+
+Searching and Replacement
+
+* Incremental Search::     Search happens as you type the string.
+* Non-Incremental 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 file.
+
+File Handling
+
+* File Names::       How to type and edit file name arguments.
+* Visiting::         Visiting a file prepares XEmacs 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.
+* Version Control::  Version control systems (RCS and SCCS).
+* ListDir::          Listing the contents of a file directory.
+* Comparing Files::  Finding where two files differ.
+* Dired::            ``Editing'' a directory to delete, rename, etc.
+                     the files in it.
+* Misc File Ops::    Other things you can do on files.
+
+Saving Files
+
+* Backup::       How XEmacs saves the old version of your file.
+* Interlocking:: How XEmacs protects against simultaneous editing
+                  of one file by two users.
+
+Backup Files
+
+* Names: Backup Names.         How backup files are named;
+                               Choosing single or numbered backup files.
+* Deletion: Backup Deletion.   XEmacs deletes excess numbered backups.
+* Copying: Backup Copying.     Backups can be made by copying or renaming.
+
+Auto-Saving: Protection Against Disasters
+
+* Files: Auto Save Files.
+* Control: Auto Save Control.
+* Recover::            Recovering text from auto-save files.
+
+Version Control
+
+* Concepts of VC::             Basic version control information;
+                                 checking files in and out.
+* Editing with VC::            Commands for editing a file maintained
+                                 with version control.
+* Variables for Check-in/out:: Variables that affect the commands used
+                                 to check files in or out.
+* Log Entries::                        Logging your changes.
+* Change Logs and VC::         Generating a change log file from log
+                                 entries. 
+* Old Versions::               Examining and comparing old versions.
+* VC Status::                  Commands to view the VC status of files and
+                                 look at log entries.
+* Renaming and VC::            A command to rename both the source and
+                                 master file correctly.
+* Snapshots::                  How to make and use snapshots, a set of
+                                 file versions that can be treated as a unit.
+* Version Headers::            Inserting version control headers into
+                                 working files.
+
+Snapshots
+
+* Making Snapshots::           The snapshot facilities.
+* Snapshot Caveats::           Things to be careful of when using snapshots.
+
+Dired, the Directory Editor
+
+* Enter: Dired Enter.         How to invoke Dired.
+* Edit: Dired Edit.           Editing the Dired buffer.
+* Deletion: Dired Deletion.   Deleting files with Dired.
+* Immed: Dired Immed.         Other file operations through Dired.
+
+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.
+
+Multiple Windows
+
+* Basic Window::     Introduction to XEmacs 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.
+* Change Window::    Deleting windows and changing their sizes.
+
+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
+
+* Text Mode::   The major modes for editing text files.
+* Nroff Mode::  The major mode for editing input to the formatter nroff.
+* TeX Mode::    The major modes for editing input to the formatter TeX.
+* Outline Mode:: The major mode for editing outlines.
+* 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
+
+@TeX{} Mode
+
+* Editing: TeX Editing.   Special commands for editing in TeX mode.
+* Printing: TeX Print.    Commands for printing part of a file with TeX.
+
+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.
+
+Filling Text
+
+* Auto Fill::    Auto Fill mode breaks long lines automatically.
+* Fill Commands:: Commands to refill paragraphs and center lines.
+* Fill Prefix::   Filling when every line is indented or in a comment, etc.
+
+Editing Programs
+
+* Program Modes::       Major modes for editing programs.
+* Lists::               Expressions with balanced parentheses.
+                         There are editing commands to operate on them.
+* Defuns::              Each program is made up of separate functions.
+                         There are editing commands to operate on them.
+* Grinding::            Adjusting indentation to show the nesting.
+* Matching::            Insertion of a close-delimiter flashes matching open.
+* Comments::            Inserting, filling and aligning comments.
+* Balanced Editing::    Inserting two matching parentheses at once, etc.
+* Lisp Completion::     Completion on symbol names in Lisp code.
+* 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.
+* CC Mode::             Modes for C, C++, Java and similar languages
+* Fortran::            Fortran mode and its special features.
+* Asm Mode::            Asm mode and its special features.
+
+Indentation for Programs
+
+* Basic Indent::
+* Multi-line Indent::   Commands to reindent many lines at once.
+* Lisp Indent::                Specifying how each Lisp function should be indented.
+
+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.
+
+Fortran Mode
+
+* Motion: Fortran Motion.     Moving point by statements or subprograms.
+* Indent: Fortran Indent.     Indentation commands for Fortran.
+* Comments: Fortran Comments. Inserting and aligning comments.
+* Columns: Fortran Columns.   Measuring columns for valid Fortran.
+* Abbrev: Fortran Abbrev.     Built-in abbrevs for Fortran keywords.
+
+Fortran Indentation
+
+* Commands: ForIndent Commands. Commands for indenting Fortran.
+* Numbers:  ForIndent Num.      How line numbers auto-indent.
+* Conv:     ForIndent Conv.     Conventions you must obey to avoid trouble.
+* Vars:     ForIndent Vars.     Variables controlling Fortran indent style.
+
+Compiling and Testing Programs
+
+* Compilation::        Compiling programs in languages other than Lisp
+                        (C, Pascal, etc.)
+* Modes: Lisp Modes.   Various modes for editing Lisp programs, with
+                       different facilities for running the Lisp programs.
+* Libraries: Lisp Libraries.      Creating Lisp programs to run in XEmacs.
+* Eval: Lisp Eval.     Executing a single Lisp expression in XEmacs.
+* Debug: Lisp Debug.   Debugging Lisp programs running in XEmacs.
+* Interaction: Lisp Interaction.  Executing Lisp in an XEmacs buffer.
+* External Lisp::      Communicating through XEmacs with a separate Lisp.
+
+Lisp Libraries
+
+* Loading::            Loading libraries of Lisp code into XEmacs for use.
+* Compiling Libraries:: Compiling a library makes it load and run faster.
+* Mocklisp::           Converting Mocklisp to Lisp so XEmacs can run it.
+
+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
+
+* Format: Mail Format.    Format of the mail being composed.
+* Headers: Mail Headers.  Details of allowed mail header fields.
+* Mode: Mail Mode.        Special commands for editing mail being composed.
+
+Running Shell Commands from XEmacs
+
+* Single Shell::         How to run one shell command and return.
+* Interactive Shell::    Permanent shell taking input via XEmacs.
+* Shell Mode::           Special XEmacs commands used with permanent shell.
+
+Customization
+
+* Minor Modes::     Each minor mode is one feature you can turn on
+                     independently of any others.
+* Variables::       Many XEmacs commands examine XEmacs 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".
+* Syntax::          The syntax table controls how words and expressions
+                     are parsed.
+* Init File::       How to write common customizations in the init file.
+* Audible Bell::    Changing how XEmacs sounds the bell. 
+* Faces::           Changing the fonts and colors of a region of text. 
+* X Resources::            X resources controlling various aspects of the
+                     behavior of XEmacs.
+
+Variables
+
+* Examining::           Examining or setting one variable's value.
+* Easy Customization::  Convenient and easy customization of variables.
+* Edit Options::        Examining or editing list of all variables' values.
+* 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::     Keyboard macros that do different things each use.
+
+Customizing Key Bindings
+
+* Keymaps::    Definition of the keymap data structure.
+               Names of XEmacs's standard keymaps.
+* Rebinding::  How to redefine one key's meaning conveniently.
+* Disabling::  Disabling a command means confirmation is required
+                before it can be executed.  This is done to protect
+                beginners from surprises.
+
+The Syntax Table
+
+* Entry: Syntax Entry.    What the syntax table records for each character.
+* Change: Syntax Change.  How to change the information.
+
+The Init File
+
+* 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.
+
+Dealing with XEmacs Trouble
+
+* 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.
+* Emergency Escape::   Emergency escape---
+                        What to do if XEmacs stops responding.
+* Total Frustration::  When you are at your wits' end.
+
+@end menu
+
+@iftex
+@unnumbered Preface
+
+  This manual documents the use and simple customization of the XEmacs
+editor.  The reader is not expected to be a programmer to use this
+editor, and simple customizations do not require programming skills either.
+Users who are not interested in customizing XEmacs can ignore the scattered
+customization hints.
+
+  This document is primarily a reference manual, but it can also be used as a
+primer.  However, if you are new to XEmacs, consider using the on-line,
+learn-by-doing tutorial, which you get by running XEmacs and typing
+@kbd{C-h t}.  With it, you learn XEmacs by using XEmacs on a specially
+designed file which describes commands, tells you when to try them,
+and then explains the results you see.  Using the tutorial gives a more vivid
+introduction than the printed manual.  Also consider reading the XEmacs
+New User's Guide, which is intended specifically as an introductory
+manual rather than as a reference guide.
+
+  On first reading, just skim chapters one and two, which describe the
+notational conventions of the manual and the general appearance of the
+XEmacs display frame.  Note which questions are answered in these chapters,
+so you can refer back later.  After reading chapter four 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.
+
+  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.
+
+@ignore
+  If you know vaguely what the command
+does, look in the command summary.  The command summary contains a line or
+two about each command, and a cross reference to the section of the
+manual that describes the command in more detail; related commands
+are grouped together.
+@end ignore
+
+  This manual comes in two forms: the published form and the Info form.
+The Info form is for on-line perusal with the INFO program; it is
+distributed along with XEmacs.  Both forms contain substantially the
+same text and are generated from a common source file, which is also
+distributed along with XEmacs.
+
+  XEmacs 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 manual is for XEmacs installed on UNIX systems.  XEmacs also
+exists on Microsoft Windows and Windows NT as Win-Emacs (which is
+actually based on Lucid Emacs 19.6, an older incarnation of XEmacs).
+@end iftex
+
+@comment  node-name,  next,  previous,  up
+@node License, Distrib, Top, Top
+@unnumbered GNU GENERAL PUBLIC LICENSE
+@center Version 1, February 1989
+@cindex license to copy XEmacs
+@cindex General Public License
+
+@display
+Copyright @copyright{} 1989 Free Software Foundation, Inc.
+675 Mass Ave, Cambridge, MA 02139, 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 license agreements of most software companies try to keep users
+at the mercy of those companies.  By contrast, our 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.  The
+General Public License applies to the Free Software Foundation's
+software and to any other program whose authors commit to using it.
+You can use it for your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Specifically, the General Public License is designed to make
+sure that you have the freedom to give away or sell copies of free
+software, 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 a 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 tell them 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.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+@iftex
+@unnumberedsec TERMS AND CONDITIONS
+@end iftex
+@ifinfo
+@center TERMS AND CONDITIONS
+@end ifinfo
+
+@enumerate
+@item
+This License Agreement 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 work containing the
+Program or a portion of it, either verbatim or with modifications.  Each
+licensee is addressed as ``you''.
+
+@item
+@cindex Distribution
+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
+General Public License and to the absence of any warranty; and give any
+other recipients of the Program a copy of this General Public License
+along with the Program.  You may charge a fee for the physical act of
+transferring a copy.
+
+@item
+You may modify your copy or copies of the Program or any portion of
+it, and copy and distribute such modifications under the terms of Paragraph
+1 above, provided that you also do the following:
+
+@itemize @bullet
+@item
+cause the modified files to carry prominent notices stating that
+you changed the files and the date of any change; and
+
+@item
+cause the whole of any work that you distribute or publish, that
+in whole or in part contains the Program or any part thereof, either
+with or without modifications, to be licensed at no charge to all
+third parties under the terms of this General Public License (except
+that you may choose to grant warranty protection to some or all
+third parties, at your option).
+
+@item
+If the modified program normally reads commands interactively when
+run, you must cause it, when started running for such interactive use
+in the simplest and most usual 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 General
+Public License.
+
+@item
+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.
+@end itemize
+
+Mere aggregation of another independent work with the Program (or its
+derivative) on a volume of a storage or distribution medium does not bring
+the other work under the scope of these terms.
+
+@item
+You may copy and distribute the Program (or a portion or derivative of
+it, under Paragraph 2) in object code or executable form under the terms of
+Paragraphs 1 and 2 above provided that you also do one of the following:
+
+@itemize @bullet
+@item
+accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of
+Paragraphs 1 and 2 above; or,
+
+@item
+accompany it with a written offer, valid for at least three
+years, to give any third party free (except for a nominal charge
+for the cost of distribution) a complete machine-readable copy of the
+corresponding source code, to be distributed under the terms of
+Paragraphs 1 and 2 above; or,
+
+@item
+accompany it with the information you received as to where the
+corresponding source code may be obtained.  (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form alone.)
+@end itemize
+
+Source code for a work means the preferred form of the work for making
+modifications to it.  For an executable file, complete source code means
+all the source code for all modules it contains; but, as a special
+exception, it need not include source code for modules which are standard
+libraries that accompany the operating system on which the executable
+file runs, or for standard header files or definitions files that
+accompany that operating system.
+
+@item
+You may not copy, modify, sublicense, distribute or transfer the
+Program except as expressly provided under this General Public License.
+Any attempt otherwise to copy, modify, sublicense, distribute or transfer
+the Program is void, and will automatically terminate your rights to use
+the Program under this License.  However, parties who have received
+copies, or rights to use copies, from you under this General Public
+License will not have their licenses terminated so long as such parties
+remain in full compliance.
+
+@item
+By copying, distributing or modifying 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.
+
+@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.
+
+@page
+@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 the 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
+the 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 Appendix: 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 humanity, 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 a brief 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 1, 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., 675 Mass Ave, Cambridge, MA 02139, 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 `show w' and `show c' should show the
+appropriate parts of the General Public License.  Of course, the
+commands you use may be called something other than `show w' and `show
+c'; they could even be mouse-clicks or menu items---whatever suits your
+program.
+
+@page
+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 a sample; alter the names:
+
+@example
+Yoyodyne, Inc., hereby disclaims all copyright interest in the
+program `Gnomovision' (a program to direct compilers to make passes
+at assemblers) written by James Hacker.
+
+@var{signature of Ty Coon}, 1 April 1989
+Ty Coon, President of Vice
+@end example
+
+That's all there is to it!
+
+@comment  node-name,  next,  previous,  up
+@node Distrib, Intro, License, Top
+@unnumbered Distribution
+
+XEmacs is @dfn{free}; this means that everyone is free to use it and
+free to redistribute it on a free basis.  XEmacs 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 XEmacs
+that they might get from you.  The precise conditions are found in
+the GNU General Public License that comes with XEmacs and also appears
+following this section.
+
+The easiest way to get a copy of XEmacs is from someone else who has it.
+You need not ask for permission to do so, or tell any one else; just copy
+it.
+
+If you have access to the Internet, you can get the latest version of
+XEmacs from the anonymous FTP server @file{ftp.xemacs.org} in the directory
+@file{/pub/xemacs}.  It can also be found at numerous other archive
+sites around the world; check the file @file{etc/DISTRIB} in an XEmacs
+distribution for the latest known list.
+
+
+@unnumberedsec Getting Other Versions of Emacs
+
+The Free Software Foundation's version of Emacs (called @dfn{FSF Emacs}
+in this manual and often referred to as @dfn{GNU Emacs}) is available
+by anonymous FTP from @file{prep.ai.mit.edu}.
+
+Win-Emacs, an older version of XEmacs that runs on Microsoft Windows
+and Windows NT, is available by anonymous FTP from @file{ftp.netcom.com}
+in the directory @file{/pub/pe/pearl}, or from @file{ftp.cica.indiana.edu}
+as the files @file{wemdemo*.zip} in the directory @file{/pub/pc/win3/demo}.
+
+@node Intro, Glossary, Distrib, Top
+@unnumbered Introduction
+
+  You are reading about XEmacs, an incarnation of the advanced,
+self-documenting, customizable, extensible real-time display editor
+Emacs.  XEmacs provides many powerful display and user-interface
+capabilities not found in other Emacsen and is mostly upwardly
+compatible with GNU Emacs from the Free Software Foundation
+(referred to as @dfn{FSF Emacs} in this manual).  XEmacs also
+comes standard with a great number of useful packages.
+
+  We say that XEmacs is a @dfn{display} editor because normally the text
+being edited is visible on the screen and is updated automatically as you
+type.  @xref{Frame,Display}.
+
+  We call XEmacs 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 XEmacs advanced because it provides facilities that go beyond
+simple insertion and deletion: filling of text; automatic indentation of
+programs; viewing two or more files at once; and dealing in terms of
+characters, words, lines, sentences, paragraphs, and pages, as well as
+expressions and comments in several different programming languages.  It is
+much easier to type one command meaning ``go to the end of the paragraph''
+than to find that spot with simple cursor keys.
+
+  @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 @kbd{C-h} to find out what a command does, or to find all the
+commands relevant to a topic.  @xref{Help}.
+
+  @dfn{Customizable} means you can change the definitions of XEmacs
+commands.  For example, if you use a programming language in
+which comments start with @samp{<**} and end with @samp{**>}, you can tell
+the XEmacs comment manipulation commands to use those strings
+(@pxref{Comments}).  Another sort of customization is rearrangement of the
+command set.  For example, you can set up the four basic cursor motion
+commands (up, down, left and right) on keys in a diamond pattern on the
+keyboard if you prefer.  @xref{Customization}.
+
+  @dfn{Extensible} means you can go beyond simple customization and
+write entirely new commands, programs in the Lisp language to be run by
+XEmacs's own Lisp interpreter.  XEmacs is an ``on-line extensible''
+system: it is divided into many functions that call each other.  You can
+redefine any function in the middle of an editing session and replace
+any part of XEmacs without making a separate copy of all of XEmacs.  Most
+of the editing commands of XEmacs are written in Lisp; the few
+exceptions could have been written in Lisp but are written in C for
+efficiency.  Only a programmer can write an extension to XEmacs, but anybody
+can use it afterward.
+
+@include frame.texi
+@include keystrokes.texi
+@include menus.texi
+@include entering.texi
+@include cmdargs.texi
+@include startup.texi
+@include basic.texi
+@include undo.texi
+@include mini.texi
+@include m-x.texi
+@include help.texi
+@include mark.texi
+@include mouse.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 mule.texi
+@include major.texi
+@include indent.texi
+@include text.texi
+@include programs.texi
+@include building.texi
+@include packages.texi
+@include abbrevs.texi
+@include picture.texi
+@include sending.texi
+@include reading.texi
+@include calendar.texi
+@include misc.texi
+@include custom.texi
+@include trouble.texi
+
+@include new.texi
+@include glossary.texi
+@include gnu.texi
+
+@node Key Index, Command Index, Manifesto, 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, Frame, Variable Index, Top
+@unnumbered Concept Index
+@printindex cp
+
+@summarycontents
+@contents
+@bye
+
+
+@c Remember to delete these lines before creating the info file.
+@iftex
+@lucidbook
+@bindingoffset = 0.5in
+@parindent = 0pt
+@end iftex