Resorted; add some missing Morohashi's Daikanwa characters; add
[chise/xemacs-chise.git-] / info / xemacs.info-9
index 29af4a3..6f85972 100644 (file)
@@ -1,4 +1,4 @@
-This is ../info/xemacs.info, produced by makeinfo version 3.12s from
+This is ../info/xemacs.info, produced by makeinfo version 4.0 from
 xemacs/xemacs.texi.
 
 INFO-DIR-SECTION XEmacs Editor
@@ -30,6 +30,454 @@ versions, except that the sections entitled "The GNU Manifesto",
 translation approved by the author instead of in the original English.
 
 \1f
+File: xemacs.info,  Node: Change Window,  Prev: Pop Up Window,  Up: Windows
+
+Deleting and Rearranging Windows
+================================
+
+`C-x 0'
+     Get rid of the selected window (`delete-window').  That is a zero.
+     If there is more than one Emacs frame, deleting the sole remaining
+     window on that frame deletes the frame as well. If the current
+     frame is the only frame, it is not deleted.
+
+`C-x 1'
+     Get rid of all windows except the selected one
+     (`delete-other-windows').
+
+`C-x ^'
+     Make the selected window taller, at the expense of the other(s)
+     (`enlarge-window').
+
+`C-x }'
+     Make the selected window wider (`enlarge-window-horizontally').
+
+   To delete a window, type `C-x 0' (`delete-window').  (That is a
+zero.)  The space occupied by the deleted window is distributed among
+the other active windows (but not the minibuffer window, even if that
+is active at the time).  Once a window is deleted, its attributes are
+forgotten; there is no automatic way to make another window of the same
+shape or showing the same buffer.  The buffer continues to exist, and
+you can select it in any window with `C-x b'.
+
+   `C-x 1' (`delete-other-windows') is more powerful than `C-x 0'; it
+deletes all the windows except the selected one (and the minibuffer).
+The selected window expands to use the whole frame except for the echo
+area.
+
+   To readjust the division of space among existing windows, use `C-x
+^' (`enlarge-window').  It makes the currently selected window longer
+by one line or as many lines as a numeric argument specifies.  With a
+negative argument, it makes the selected window smaller.  `C-x }'
+(`enlarge-window-horizontally') makes the selected window wider by the
+specified number of columns.  The extra screen space given to a window
+comes from one of its neighbors, if that is possible; otherwise, all
+the competing windows are shrunk in the same proportion.  If this makes
+some windows too small, those windows are deleted and their space is
+divided up.   Minimum window size is specified by the variables
+`window-min-height' and `window-min-width'.
+
+   You can also resize windows within a frame by clicking the left mouse
+button on a modeline, and dragging.
+
+   Clicking the right button on a mode line pops up a menu of common
+window manager operations.  This menu contains the following options:
+
+Delete Window
+     Remove the window above this modeline from the frame.
+
+Delete Other Windows
+     Delete all windows on the frame except for the one above this
+     modeline.
+
+Split Window
+     Split the window above the mode line in half, creating another
+     window.
+
+Split Window Horizontally
+     Split the window above the mode line in half horizontally, so that
+     there will be two windows side-by-side.
+
+Balance Windows
+     Readjust the sizes of all windows on the frame until all windows
+     have roughly the same number of lines.
+
+\1f
+File: xemacs.info,  Node: Mule,  Next: Major Modes,  Prev: Windows,  Up: Top
+
+World Scripts Support
+*********************
+
+   If you compile XEmacs with mule option, it supports a wide variety of
+world scripts, including Latin script, as well as Arabic script,
+Simplified Chinese script (for mainland of China), Traditional Chinese
+script (for Taiwan and Hong-Kong), Greek script, Hebrew script, IPA
+symbols, Japanese scripts (Hiragana, Katakana and Kanji), Korean scripts
+(Hangul and Hanja) and Cyrillic script (for Beylorussian, Bulgarian,
+Russian, Serbian and Ukrainian).  These features have been merged from
+the modified version of Emacs known as MULE (for "MULti-lingual
+Enhancement to GNU Emacs").
+
+* Menu:
+
+* Mule Intro::              Basic concepts of Mule.
+* 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 XEmacs figures out which conversion to use.
+* Specify Coding::          Various ways to choose which conversion to use.
+
+\1f
+File: xemacs.info,  Node: Mule Intro,  Next: Language Environments,  Prev: Mule,  Up: Mule
+
+Introduction to world scripts
+=============================
+
+   The users of these scripts have established many more-or-less
+standard coding systems for storing files.  XEmacs translates between
+the internal character encoding and various other coding systems when
+reading and writing files, when exchanging data with subprocesses, and
+(in some cases) in the `C-q' command (see below).
+
+   The command `C-h h' (`view-hello-file') displays the file
+`etc/HELLO', which shows how to say "hello" in many languages.  This
+illustrates various scripts.
+
+   Keyboards, even in the countries where these character sets are used,
+generally don't have keys for all the characters in them.  So XEmacs
+supports various "input methods", typically one for each script or
+language, to make it convenient to type them.
+
+   The prefix key `C-x <RET>' is used for commands that pertain to
+world scripts, coding systems, and input methods.
+
+\1f
+File: xemacs.info,  Node: Language Environments,  Next: Input Methods,  Prev: Mule Intro,  Up: Mule
+
+Language Environments
+=====================
+
+   All supported character sets are supported in XEmacs buffers if it is
+compile with mule; there is no need to select a particular language in
+order to display its characters in an XEmacs buffer.  However, it is
+important to select a "language environment" in order to set various
+defaults.  The language environment really represents a choice of
+preferred script (more or less) rather that a choice of language.
+
+   The language environment controls which coding systems to recognize
+when reading text (*note Recognize Coding::).  This applies to files,
+incoming mail, netnews, and any other text you read into XEmacs.  It may
+also specify the default coding system to use when you create a file.
+Each language environment also specifies a default input method.
+
+   The command to select a language environment is `M-x
+set-language-environment'.  It makes no difference which buffer is
+current when you use this command, because the effects apply globally to
+the XEmacs session.  The supported language environments include:
+
+     Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ISO, English,
+     Ethiopic, Greek, Japanese, Korean, Latin-1, Latin-2, Latin-3,
+     Latin-4, Latin-5.
+
+   Some operating systems let you specify the language you are using by
+setting locale environment variables.  XEmacs handles one common special
+case of this: if your locale name for character types contains the
+string `8859-N', XEmacs automatically selects the corresponding
+language environment.
+
+   To display information about the effects of a certain language
+environment LANG-ENV, use the command `C-h L LANG-ENV <RET>'
+(`describe-language-environment').  This tells you which languages this
+language environment is useful for, and lists the character sets,
+coding systems, and input methods that go with it.  It also shows some
+sample text to illustrate scripts used in this language environment.
+By default, this command describes the chosen language environment.
+
+\1f
+File: xemacs.info,  Node: Input Methods,  Next: Select Input Method,  Prev: Language Environments,  Up: Mule
+
+Input Methods
+=============
+
+   An "input method" is a kind of character conversion designed
+specifically for interactive input.  In XEmacs, typically each language
+has its own input method; sometimes several languages which use the same
+characters can share one input method.  A few languages support several
+input methods.
+
+   The simplest kind of input method works by mapping ASCII letters into
+another alphabet.  This is how the Greek and Russian input methods work.
+
+   A more powerful technique is composition: converting sequences of
+characters into one letter.  Many European input methods use composition
+to produce a single non-ASCII letter from a sequence that consists of a
+letter followed by accent characters.  For example, some methods convert
+the sequence `'a' into a single accented letter.
+
+   The input methods for syllabic scripts typically use mapping followed
+by composition.  The input methods for Thai and Korean work this way.
+First, letters are mapped into symbols for particular sounds or tone
+marks; then, sequences of these which make up a whole syllable are
+mapped into one syllable sign.
+
+   Chinese and Japanese require more complex methods.  In Chinese input
+methods, first you enter the phonetic spelling of a Chinese word (in
+input method `chinese-py', among others), or a sequence of portions of
+the character (input methods `chinese-4corner' and `chinese-sw', and
+others).  Since one phonetic spelling typically corresponds to many
+different Chinese characters, you must select one of the alternatives
+using special XEmacs commands.  Keys such as `C-f', `C-b', `C-n',
+`C-p', and digits have special definitions in this situation, used for
+selecting among the alternatives.  <TAB> displays a buffer showing all
+the possibilities.
+
+   In Japanese input methods, first you input a whole word using
+phonetic spelling; then, after the word is in the buffer, XEmacs
+converts it into one or more characters using a large dictionary.  One
+phonetic spelling corresponds to many differently written Japanese
+words, so you must select one of them; use `C-n' and `C-p' to cycle
+through the alternatives.
+
+   Sometimes it is useful to cut off input method processing so that the
+characters you have just entered will not combine with subsequent
+characters.  For example, in input method `latin-1-postfix', the
+sequence `e '' combines to form an `e' with an accent.  What if you
+want to enter them as separate characters?
+
+   One way is to type the accent twice; that is a special feature for
+entering the separate letter and accent.  For example, `e ' '' gives
+you the two characters `e''.  Another way is to type another letter
+after the `e'--something that won't combine with that--and immediately
+delete it.  For example, you could type `e e <DEL> '' to get separate
+`e' and `''.
+
+   Another method, more general but not quite as easy to type, is to use
+`C-\ C-\' between two characters to stop them from combining.  This is
+the command `C-\' (`toggle-input-method') used twice.  *Note Select
+Input Method::.
+
+   `C-\ C-\' is especially useful inside an incremental search, because
+stops waiting for more characters to combine, and starts searching for
+what you have already entered.
+
+   The variables `input-method-highlight-flag' and
+`input-method-verbose-flag' control how input methods explain what is
+happening.  If `input-method-highlight-flag' is non-`nil', the partial
+sequence is highlighted in the buffer.  If `input-method-verbose-flag'
+is non-`nil', the list of possible characters to type next is displayed
+in the echo area (but not when you are in the minibuffer).
+
+\1f
+File: xemacs.info,  Node: Select Input Method,  Next: Coding Systems,  Prev: Input Methods,  Up: Mule
+
+Selecting an Input Method
+=========================
+
+`C-\'
+     Enable or disable use of the selected input method.
+
+`C-x <RET> C-\ METHOD <RET>'
+     Select a new input method for the current buffer.
+
+`C-h I METHOD <RET>'
+`C-h C-\ METHOD <RET>'
+     Describe the input method METHOD (`describe-input-method').  By
+     default, it describes the current input method (if any).
+
+`M-x list-input-methods'
+     Display a list of all the supported input methods.
+
+   To choose an input method for the current buffer, use `C-x <RET>
+C-\' (`select-input-method').  This command reads the input method name
+with the minibuffer; the name normally starts with the language
+environment that it is meant to be used with.  The variable
+`current-input-method' records which input method is selected.
+
+   Input methods use various sequences of ASCII characters to stand for
+non-ASCII characters.  Sometimes it is useful to turn off the input
+method temporarily.  To do this, type `C-\' (`toggle-input-method').
+To reenable the input method, type `C-\' again.
+
+   If you type `C-\' and you have not yet selected an input method, it
+prompts for you to specify one.  This has the same effect as using `C-x
+<RET> C-\' to specify an input method.
+
+   Selecting a language environment specifies a default input method for
+use in various buffers.  When you have a default input method, you can
+select it in the current buffer by typing `C-\'.  The variable
+`default-input-method' specifies the default input method (`nil' means
+there is none).
+
+   Some input methods for alphabetic scripts work by (in effect)
+remapping the keyboard to emulate various keyboard layouts commonly used
+for those scripts.  How to do this remapping properly depends on your
+actual keyboard layout.  To specify which layout your keyboard has, use
+the command `M-x quail-set-keyboard-layout'.
+
+   To display a list of all the supported input methods, type `M-x
+list-input-methods'.  The list gives information about each input
+method, including the string that stands for it in the mode line.
+
+\1f
+File: xemacs.info,  Node: Coding Systems,  Next: Recognize Coding,  Prev: Select Input Method,  Up: Mule
+
+Coding Systems
+==============
+
+   Users of various languages have established many more-or-less
+standard coding systems for representing them.  XEmacs does not use
+these coding systems internally; instead, it converts from various
+coding systems to its own system when reading data, and converts the
+internal coding system to other coding systems when writing data.
+Conversion is possible in reading or writing files, in sending or
+receiving from the terminal, and in exchanging data with subprocesses.
+
+   XEmacs assigns a name to each coding system.  Most coding systems are
+used for one language, and the name of the coding system starts with the
+language name.  Some coding systems are used for several languages;
+their names usually start with `iso'.  There are also special coding
+systems `binary' and `no-conversion' which do not convert printing
+characters at all.
+
+   In addition to converting various representations of non-ASCII
+characters, a coding system can perform end-of-line conversion.  XEmacs
+handles three different conventions for how to separate lines in a file:
+newline, carriage-return linefeed, and just carriage-return.
+
+`C-h C CODING <RET>'
+     Describe coding system CODING.
+
+`C-h C <RET>'
+     Describe the coding systems currently in use.
+
+`M-x list-coding-systems'
+     Display a list of all the supported coding systems.
+
+   The command `C-h C' (`describe-coding-system') displays information
+about particular coding systems.  You can specify a coding system name
+as argument; alternatively, with an empty argument, it describes the
+coding systems currently selected for various purposes, both in the
+current buffer and as the defaults, and the priority list for
+recognizing coding systems (*note Recognize Coding::).
+
+   To display a list of all the supported coding systems, type `M-x
+list-coding-systems'.  The list gives information about each coding
+system, including the letter that stands for it in the mode line (*note
+Mode Line::).
+
+   Each of the coding systems that appear in this list--except for
+`binary', which means no conversion of any kind--specifies how and
+whether to convert printing characters, but leaves the choice of
+end-of-line conversion to be decided based on the contents of each file.
+For example, if the file appears to use carriage-return linefeed between
+lines, that end-of-line conversion will be used.
+
+   Each of the listed coding systems has three variants which specify
+exactly what to do for end-of-line conversion:
+
+`...-unix'
+     Don't do any end-of-line conversion; assume the file uses newline
+     to separate lines.  (This is the convention normally used on Unix
+     and GNU systems.)
+
+`...-dos'
+     Assume the file uses carriage-return linefeed to separate lines,
+     and do the appropriate conversion.  (This is the convention
+     normally used on Microsoft systems.)
+
+`...-mac'
+     Assume the file uses carriage-return to separate lines, and do the
+     appropriate conversion.  (This is the convention normally used on
+     the Macintosh system.)
+
+   These variant coding systems are omitted from the
+`list-coding-systems' display for brevity, since they are entirely
+predictable.  For example, the coding system `iso-8859-1' has variants
+`iso-8859-1-unix', `iso-8859-1-dos' and `iso-8859-1-mac'.
+
+   In contrast, the coding system `binary' specifies no character code
+conversion at all--none for non-Latin-1 byte values and none for end of
+line.  This is useful for reading or writing binary files, tar files,
+and other files that must be examined verbatim.
+
+   The easiest way to edit a file with no conversion of any kind is with
+the `M-x find-file-literally' command.  This uses `binary', and also
+suppresses other XEmacs features that might convert the file contents
+before you see them.  *Note Visiting::.
+
+   The coding system `no-conversion' means that the file contains
+non-Latin-1 characters stored with the internal XEmacs encoding.  It
+handles end-of-line conversion based on the data encountered, and has
+the usual three variants to specify the kind of end-of-line conversion.
+
+\1f
+File: xemacs.info,  Node: Recognize Coding,  Next: Specify Coding,  Prev: Coding Systems,  Up: Mule
+
+Recognizing Coding Systems
+==========================
+
+   Most of the time, XEmacs can recognize which coding system to use for
+any given file-once you have specified your preferences.
+
+   Some coding systems can be recognized or distinguished by which byte
+sequences appear in the data.  However, there are coding systems that
+cannot be distinguished, not even potentially.  For example, there is no
+way to distinguish between Latin-1 and Latin-2; they use the same byte
+values with different meanings.
+
+   XEmacs handles this situation by means of a priority list of coding
+systems.  Whenever XEmacs reads a file, if you do not specify the coding
+system to use, XEmacs checks the data against each coding system,
+starting with the first in priority and working down the list, until it
+finds a coding system that fits the data.  Then it converts the file
+contents assuming that they are represented in this coding system.
+
+   The priority list of coding systems depends on the selected language
+environment (*note Language Environments::).  For example, if you use
+French, you probably want XEmacs to prefer Latin-1 to Latin-2; if you
+use Czech, you probably want Latin-2 to be preferred.  This is one of
+the reasons to specify a language environment.
+
+   However, you can alter the priority list in detail with the command
+`M-x prefer-coding-system'.  This command reads the name of a coding
+system from the minibuffer, and adds it to the front of the priority
+list, so that it is preferred to all others.  If you use this command
+several times, each use adds one element to the front of the priority
+list.
+
+   Sometimes a file name indicates which coding system to use for the
+file.  The variable `file-coding-system-alist' specifies this
+correspondence.  There is a special function
+`modify-coding-system-alist' for adding elements to this list.  For
+example, to read and write all `.txt' using the coding system
+`china-iso-8bit', you can execute this Lisp expression:
+
+     (modify-coding-system-alist 'file "\\.txt\\'" 'china-iso-8bit)
+
+The first argument should be `file', the second argument should be a
+regular expression that determines which files this applies to, and the
+third argument says which coding system to use for these files.
+
+   You can specify the coding system for a particular file using the
+`-*-...-*-' construct at the beginning of a file, or a local variables
+list at the end (*note File Variables::).  You do this by defining a
+value for the "variable" named `coding'.  XEmacs does not really have a
+variable `coding'; instead of setting a variable, it uses the specified
+coding system for the file.  For example, `-*-mode: C; coding:
+iso-8859-1;-*-' specifies use of the iso-8859-1 coding system, as well
+as C mode.
+
+   Once XEmacs has chosen a coding system for a buffer, it stores that
+coding system in `buffer-file-coding-system' and uses that coding
+system, by default, for operations that write from this buffer into a
+file.  This includes the commands `save-buffer' and `write-region'.  If
+you want to write files from this buffer using a different coding
+system, you can specify a different coding system for the buffer using
+`set-buffer-file-coding-system' (*note Specify Coding::).
+
+\1f
 File: xemacs.info,  Node: Specify Coding,  Prev: Recognize Coding,  Up: Mule
 
 Specifying a Coding System
@@ -680,480 +1128,3 @@ insert automatically a matching `\end' (on a new line following the
 `\begin').  A blank line is inserted between the two, and point is left
 there.
 
-\1f
-File: xemacs.info,  Node: TeX Print,  Prev: TeX Editing,  Up: TeX Mode
-
-TeX Printing Commands
-.....................
-
-   You can invoke TeX as an inferior of Emacs on either the entire
-contents of the buffer or just a region at a time.  Running TeX in this
-way on just one chapter is a good way to see what your changes look
-like without taking the time to format the entire file.
-
-`C-c C-r'
-     Invoke TeX on the current region, plus the buffer's header
-     (`tex-region').
-
-`C-c C-b'
-     Invoke TeX on the entire current buffer (`tex-buffer').
-
-`C-c C-l'
-     Recenter the window showing output from the inferior TeX so that
-     the last line can be seen (`tex-recenter-output-buffer').
-
-`C-c C-k'
-     Kill the inferior TeX (`tex-kill-job').
-
-`C-c C-p'
-     Print the output from the last `C-c C-r' or `C-c C-b' command
-     (`tex-print').
-
-`C-c C-q'
-     Show the printer queue (`tex-show-print-queue').
-
-   You can pass the current buffer through an inferior TeX using `C-c
-C-b' (`tex-buffer').  The formatted output appears in a file in `/tmp';
-to print it, type `C-c C-p' (`tex-print').  Afterward use `C-c C-q'
-(`tex-show-print-queue') to view the progress of your output towards
-being printed.
-
-   The console output from TeX, including any error messages, appears
-in a buffer called `*TeX-shell*'.  If TeX gets an error, you can switch
-to this buffer and feed it input (this works as in Shell mode; *note
-Interactive Shell::).  Without switching to this buffer, you can scroll
-it so that its last line is visible by typing `C-c C-l'.
-
-   Type `C-c C-k' (`tex-kill-job') to kill the TeX process if you see
-that its output is no longer useful.  Using `C-c C-b' or `C-c C-r' also
-kills any TeX process still running.
-
-   You can pass an arbitrary region through an inferior TeX by typing
-`C-c C-r' (`tex-region').  This is tricky, however, because most files
-of TeX input contain commands at the beginning to set parameters and
-define macros.  Without them, no later part of the file will format
-correctly.  To solve this problem, `C-c C-r' allows you to designate a
-part of the file as containing essential commands; it is included
-before the specified region as part of the input to TeX.  The
-designated part of the file is called the "header".
-
-   To indicate the bounds of the header in Plain TeX mode, insert two
-special strings in the file: `%**start of header' before the header,
-and `%**end of header' after it.  Each string must appear entirely on
-one line, but there may be other text on the line before or after.  The
-lines containing the two strings are included in the header.  If
-`%**start of header' does not appear within the first 100 lines of the
-buffer, `C-c C-r' assumes there is no header.
-
-   In LaTeX mode, the header begins with `\documentstyle' and ends with
-`\begin{document}'.  These are commands that LaTeX requires you to use,
-so you don't need to do anything special to identify the header.
-
-   When you enter either kind of TeX mode, Emacs calls with no
-arguments the value of the variable `text-mode-hook', if that value
-exists and is not `nil'.  Emacs then calls the variable `TeX-mode-hook'
-and either `plain-TeX-mode-hook' or `LaTeX-mode-hook' under the same
-conditions.
-
-\1f
-File: xemacs.info,  Node: Outline Mode,  Prev: TeX Mode,  Up: Text Mode
-
-Outline Mode
-------------
-
-   Outline mode is a major mode similar to Text mode but intended for
-editing outlines.  It allows you to make parts of the text temporarily
-invisible so that you can see just the overall structure of the
-outline.  Type `M-x outline-mode' to turn on Outline mode in the
-current buffer.
-
-   When you enter Outline mode, Emacs calls with no arguments the value
-of the variable `text-mode-hook', if that value exists and is not
-`nil'; then it does the same with the variable `outline-mode-hook'.
-
-   When a line is invisible in outline mode, it does not appear on the
-screen.  The screen appears exactly as if the invisible line were
-deleted, except that an ellipsis (three periods in a row) appears at
-the end of the previous visible line (only one ellipsis no matter how
-many invisible lines follow).
-
-   All editing commands treat the text of the invisible line as part of
-the previous visible line.  For example, `C-n' moves onto the next
-visible line.  Killing an entire visible line, including its
-terminating newline, really kills all the following invisible lines as
-well; yanking everything back yanks the invisible lines and they remain
-invisible.
-
-* Menu:
-
-* 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.
-
-\1f
-File: xemacs.info,  Node: Outline Format,  Next: Outline Motion,  Prev: Outline Mode,  Up: Outline Mode
-
-Format of Outlines
-..................
-
-   Outline mode assumes that the lines in the buffer are of two types:
-"heading lines" and "body lines".  A heading line represents a topic in
-the outline.  Heading lines start with one or more stars; the number of
-stars determines the depth of the heading in the outline structure.
-Thus, a heading line with one star is a major topic; all the heading
-lines with two stars between it and the next one-star heading are its
-subtopics; and so on.  Any line that is not a heading line is a body
-line.  Body lines belong to the preceding heading line.  Here is an
-example:
-
-     * Food
-     
-     This is the body,
-     which says something about the topic of food.
-     
-     ** Delicious Food
-     
-     This is the body of the second-level header.
-     
-     ** Distasteful Food
-     
-     This could have
-     a body too, with
-     several lines.
-     
-     *** Dormitory Food
-     
-     * Shelter
-     
-     A second first-level topic with its header line.
-
-   A heading line together with all following body lines is called
-collectively an "entry".  A heading line together with all following
-deeper heading lines and their body lines is called a "subtree".
-
-   You can customize the criterion for distinguishing heading lines by
-setting the variable `outline-regexp'.  Any line whose beginning has a
-match for this regexp is considered a heading line.  Matches that start
-within a line (not at the beginning) do not count.  The length of the
-matching text determines the level of the heading; longer matches make
-a more deeply nested level.  Thus, for example, if a text formatter has
-commands `@chapter', `@section' and `@subsection' to divide the
-document into chapters and sections, you can make those lines count as
-heading lines by setting `outline-regexp' to
-`"@chap\\|@\\(sub\\)*section"'.  Note the trick: the two words
-`chapter' and `section' are the same length, but by defining the regexp
-to match only `chap' we ensure that the length of the text matched on a
-chapter heading is shorter, so that Outline mode will know that
-sections are contained in chapters.  This works as long as no other
-command starts with `@chap'.
-
-   Outline mode makes a line invisible by changing the newline before it
-into an ASCII Control-M (code 015).  Most editing commands that work on
-lines treat an invisible line as part of the previous line because,
-strictly speaking, it is part of that line, since there is no longer a
-newline in between.  When you save the file in Outline mode, Control-M
-characters are saved as newlines, so the invisible lines become ordinary
-lines in the file.  Saving does not change the visibility status of a
-line inside Emacs.
-
-\1f
-File: xemacs.info,  Node: Outline Motion,  Next: Outline Visibility,  Prev: Outline Format,  Up: Outline Mode
-
-Outline Motion Commands
-.......................
-
-   Some special commands in Outline mode move backward and forward to
-heading lines.
-
-`C-c C-n'
-     Move point to the next visible heading line
-     (`outline-next-visible-heading').
-
-`C-c C-p'
-     Move point to the previous visible heading line
-     (`outline-previous-visible-heading').
-
-`C-c C-f'
-     Move point to the next visible heading line at the same level as
-     the one point is on (`outline-forward-same-level').
-
-`C-c C-b'
-     Move point to the previous visible heading line at the same level
-     (`outline-backward-same-level').
-
-`C-c C-u'
-     Move point up to a lower-level (more inclusive) visible heading
-     line (`outline-up-heading').
-
-   `C-c C-n' (`next-visible-heading') moves down to the next heading
-line.  `C-c C-p' (`previous-visible-heading') moves similarly backward.
-Both accept numeric arguments as repeat counts.  The names emphasize
-that invisible headings are skipped, but this is not really a special
-feature.  All editing commands that look for lines ignore the invisible
-lines automatically.
-
-   More advanced motion commands understand the levels of headings.
-The commands `C-c C-f' (`outline-forward-same-level') and `C-c C-b'
-(`outline-backward-same-level') move from one heading line to another
-visible heading at the same depth in the outline.  `C-c C-u'
-(`outline-up-heading') moves backward to another heading that is less
-deeply nested.
-
-\1f
-File: xemacs.info,  Node: Outline Visibility,  Prev: Outline Motion,  Up: Outline Mode
-
-Outline Visibility Commands
-...........................
-
-   The other special commands of outline mode are used to make lines
-visible or invisible.  Their names all start with `hide' or `show'.
-Most of them exist as pairs of opposites.  They are not undoable;
-instead, you can undo right past them.  Making lines visible or
-invisible is simply not recorded by the undo mechanism.
-
-`M-x hide-body'
-     Make all body lines in the buffer invisible.
-
-`M-x show-all'
-     Make all lines in the buffer visible.
-
-`C-c C-d'
-     Make everything under this heading invisible, not including this
-     heading itself (`hide-subtree').
-
-`C-c C-s'
-     Make everything under this heading visible, including body,
-     subheadings, and their bodies (`show-subtree').
-
-`M-x hide-leaves'
-     Make the body of this heading line, and of all its subheadings,
-     invisible.
-
-`M-x show-branches'
-     Make all subheadings of this heading line, at all levels, visible.
-
-`C-c C-i'
-     Make immediate subheadings (one level down) of this heading line
-     visible (`show-children').
-
-`M-x hide-entry'
-     Make this heading line's body invisible.
-
-`M-x show-entry'
-     Make this heading line's body visible.
-
-   Two commands that are exact opposites are `M-x hide-entry' and `M-x
-show-entry'.  They are used with point on a heading line, and apply
-only to the body lines of that heading.  The subtopics and their bodies
-are not affected.
-
-   Two more powerful opposites are `C-c C-h' (`hide-subtree') and `C-c
-C-s' (`show-subtree').  Both should be used when point is on a heading
-line, and both apply to all the lines of that heading's "subtree": its
-body, all its subheadings, both direct and indirect, and all of their
-bodies.  In other words, the subtree contains everything following this
-heading line, up to and not including the next heading of the same or
-higher rank.
-
-   Intermediate between a visible subtree and an invisible one is having
-all the subheadings visible but none of the body.  There are two
-commands for doing this, one that hides the bodies and one that makes
-the subheadings visible.  They are `M-x hide-leaves' and `M-x
-show-branches'.
-
-   A little weaker than `show-branches' is `C-c C-i' (`show-children').
-It makes just the direct subheadings visible--those one level down.
-Deeper subheadings remain invisible.
-
-   Two commands have a blanket effect on the whole file.  `M-x
-hide-body' makes all body lines invisible, so that you see just the
-outline structure.  `M-x show-all' makes all lines visible.  You can
-think of these commands as a pair of opposites even though `M-x
-show-all' applies to more than just body lines.
-
-   You can turn off the use of ellipses at the ends of visible lines by
-setting `selective-display-ellipses' to `nil'.  The result is no
-visible indication of the presence of invisible lines.
-
-\1f
-File: xemacs.info,  Node: Words,  Next: Sentences,  Prev: Text Mode,  Up: Text
-
-Words
-=====
-
-   Emacs has commands for moving over or operating on words.  By
-convention, the keys for them are all `Meta-' characters.
-
-`M-f'
-     Move forward over a word (`forward-word').
-
-`M-b'
-     Move backward over a word (`backward-word').
-
-`M-d'
-     Kill up to the end of a word (`kill-word').
-
-`M-<DEL>'
-     Kill back to the beginning of a word (`backward-kill-word').
-
-`M-@'
-     Mark the end of the next word (`mark-word').
-
-`M-t'
-     Transpose two words;  drag a word forward or backward across other
-     words (`transpose-words').
-
-   Notice how these keys form a series that parallels the
-character-based `C-f', `C-b', `C-d', `C-t' and <DEL>.  `M-@' is related
-to `C-@', which is an alias for `C-<SPC>'.
-
-   The commands `Meta-f' (`forward-word') and `Meta-b'
-(`backward-word') move forward and backward over words.  They are
-analogous to `Control-f' and `Control-b', which move over single
-characters.  Like their `Control-' analogues, `Meta-f' and `Meta-b'
-move several words if given an argument.  `Meta-f' with a negative
-argument moves backward, and `Meta-b' with a negative argument moves
-forward.  Forward motion stops after the last letter of the word, while
-backward motion stops before the first letter.
-
-   `Meta-d' (`kill-word') kills the word after point.  To be precise,
-it kills everything from point to the place `Meta-f' would move to.
-Thus, if point is in the middle of a word, `Meta-d' kills just the part
-after point.  If some punctuation comes between point and the next
-word, it is killed along with the word.  (To kill only the next word
-but not the punctuation before it, simply type `Meta-f' to get to the
-end and kill the word backwards with `Meta-<DEL>'.)  `Meta-d' takes
-arguments just like `Meta-f'.
-
-   `Meta-<DEL>' (`backward-kill-word') kills the word before point.  It
-kills everything from point back to where `Meta-b' would move to.  If
-point is after the space in `FOO, BAR', then `FOO, ' is killed.   To
-kill just `FOO', type `Meta-b Meta-d' instead of `Meta-<DEL>'.
-
-   `Meta-t' (`transpose-words') exchanges the word before or containing
-point with the following word.  The delimiter characters between the
-words do not move.  For example, transposing `FOO, BAR' results in
-`BAR, FOO' rather than `BAR FOO,'.  *Note Transpose::, for more on
-transposition and on arguments to transposition commands.
-
-   To operate on the next N words with an operation which applies
-between point and mark, you can either set the mark at point and then
-move over the words, or you can use the command `Meta-@' (`mark-word')
-which does not move point but sets the mark where `Meta-f' would move
-to.  It can be given arguments just like `Meta-f'.
-
-   The word commands' understanding of syntax is completely controlled
-by the syntax table.  For example, any character can be declared to be
-a word delimiter.  *Note Syntax::.
-
-\1f
-File: xemacs.info,  Node: Sentences,  Next: Paragraphs,  Prev: Words,  Up: Text
-
-Sentences
-=========
-
-   The Emacs commands for manipulating sentences and paragraphs are
-mostly on `Meta-' keys, and therefore are like the word-handling
-commands.
-
-`M-a'
-     Move back to the beginning of the sentence (`backward-sentence').
-
-`M-e'
-     Move forward to the end of the sentence (`forward-sentence').
-
-`M-k'
-     Kill forward to the end of the sentence (`kill-sentence').
-
-`C-x <DEL>'
-     Kill back to the beginning of the sentence
-     (`backward-kill-sentence').
-
-   The commands `Meta-a' and `Meta-e' (`backward-sentence' and
-`forward-sentence') move to the beginning and end of the current
-sentence, respectively.  They resemble `Control-a' and `Control-e',
-which move to the beginning and end of a line.  Unlike their
-counterparts, `Meta-a' and `Meta-e' move over successive sentences if
-repeated or given numeric arguments.  Emacs assumes the typist's
-convention is followed, and thus considers a sentence to end wherever
-there is a `.', `?', or `!' followed by the end of a line or two
-spaces, with any number of `)', `]', `'', or `"' characters allowed in
-between.  A sentence also begins or ends wherever a paragraph begins or
-ends.
-
-   Neither `M-a' nor `M-e' moves past the newline or spaces beyond the
-sentence edge at which it is stopping.
-
-   `M-a' and `M-e' have a corresponding kill command, just like `C-a'
-and `C-e' have `C-k'.  The command is  `M-k' (`kill-sentence') which
-kills from point to the end of the sentence.  With minus one as an
-argument it kills back to the beginning of the sentence.  Larger
-arguments serve as repeat counts.
-
-   There is a special command, `C-x <DEL>' (`backward-kill-sentence'),
-for killing back to the beginning of a sentence, which is useful when
-you change your mind in the middle of composing text.
-
-   The variable `sentence-end' controls recognition of the end of a
-sentence.  It is a regexp that matches the last few characters of a
-sentence, together with the whitespace following the sentence.  Its
-normal value is:
-
-     "[.?!][]\"')]*\\($\\|\t\\|  \\)[ \t\n]*"
-
-This example is explained in the section on regexps.  *Note Regexps::.
-
-\1f
-File: xemacs.info,  Node: Paragraphs,  Next: Pages,  Prev: Sentences,  Up: Text
-
-Paragraphs
-==========
-
-   The Emacs commands for manipulating paragraphs are also `Meta-' keys.
-
-`M-['
-     Move back to previous paragraph beginning
-     (`backward-paragraph').
-
-`M-]'
-     Move forward to next paragraph end (`forward-paragraph').
-
-`M-h'
-     Put point and mark around this or next paragraph
-     (`mark-paragraph').
-
-   `Meta-[' moves to the beginning of the current or previous paragraph,
-while `Meta-]' moves to the end of the current or next paragraph.
-Blank lines and text formatter command lines separate paragraphs and are
-not part of any paragraph.  An indented line starts a new paragraph.
-
-   In major modes for programs (as opposed to Text mode), paragraphs
-begin and end only at blank lines.  As a result, the paragraph commands
-continue to be useful even though there are no paragraphs per se.
-
-   When there is a fill prefix, paragraphs are delimited by all lines
-which don't start with the fill prefix.  *Note Filling::.
-
-   To operate on a paragraph, you can use the command `Meta-h'
-(`mark-paragraph') to set the region around it.  This command puts
-point at the beginning and mark at the end of the paragraph point was
-in.  If point is between paragraphs (in a run of blank lines or at a
-boundary), the paragraph following point is surrounded by point and
-mark.  If there are blank lines preceding the first line of the
-paragraph, one of the blank lines is included in the region.  Thus, for
-example, `M-h C-w' kills the paragraph around or after point.
-
-   The precise definition of a paragraph boundary is controlled by the
-variables `paragraph-separate' and `paragraph-start'.  The value of
-`paragraph-start' is a regexp that matches any line that either starts
-or separates paragraphs.  The value of `paragraph-separate' is another
-regexp that  matches only lines that separate paragraphs without being
-part of any paragraph.  Lines that start a new paragraph and are
-contained in it must match both regexps.  For example, normally
-`paragraph-start' is `"^[ \t\n\f]"' and `paragraph-separate' is `"^[
-\t\f]*$"'.
-
-   Normally it is desirable for page boundaries to separate paragraphs.
-The default values of these variables recognize the usual separator for
-pages.
-