Use `hanyu-dazidian' instead of `hanyu-dazidian-vol',
[chise/xemacs-chise.git] / info / xemacs.info-9
index 29af4a3..7c95cda 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.0b from
 xemacs/xemacs.texi.
 
 INFO-DIR-SECTION XEmacs Editor
@@ -30,1130 +30,1115 @@ 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: Specify Coding,  Prev: Recognize Coding,  Up: Mule
-
-Specifying a Coding System
-==========================
-
-   In cases where XEmacs does not automatically choose the right coding
-system, you can use these commands to specify one:
-
-`C-x <RET> f CODING <RET>'
-     Use coding system CODING for the visited file in the current
-     buffer.
-
-`C-x <RET> c CODING <RET>'
-     Specify coding system CODING for the immediately following command.
-
-`C-x <RET> k CODING <RET>'
-     Use coding system CODING for keyboard input.
-
-`C-x <RET> t CODING <RET>'
-     Use coding system CODING for terminal output.
-
-`C-x <RET> p CODING <RET>'
-     Use coding system CODING for subprocess input and output in the
-     current buffer.
-
-   The command `C-x RET f' (`set-buffer-file-coding-system') specifies
-the file coding system for the current buffer--in other words, which
-coding system to use when saving or rereading the visited file.  You
-specify which coding system using the minibuffer.  Since this command
-applies to a file you have already visited, it affects only the way the
-file is saved.
-
-   Another way to specify the coding system for a file is when you visit
-the file.  First use the command `C-x <RET> c'
-(`universal-coding-system-argument'); this command uses the minibuffer
-to read a coding system name.  After you exit the minibuffer, the
-specified coding system is used for _the immediately following command_.
-
-   So if the immediately following command is `C-x C-f', for example,
-it reads the file using that coding system (and records the coding
-system for when the file is saved).  Or if the immediately following
-command is `C-x C-w', it writes the file using that coding system.
-Other file commands affected by a specified coding system include `C-x
-C-i' and `C-x C-v', as well as the other-window variants of `C-x C-f'.
-
-   In addition, if you run some file input commands with the precedent
-`C-u', you can specify coding system to read from minibuffer.  So if
-the immediately following command is `C-x C-f', for example, it reads
-the file using that coding system (and records the coding system for
-when the file is saved).  Other file commands affected by a specified
-coding system include `C-x C-i' and `C-x C-v', as well as the
-other-window variants of `C-x C-f'.
-
-   The variable `default-buffer-file-coding-system' specifies the
-choice of coding system to use when you create a new file.  It applies
-when you find a new file, and when you create a buffer and then save it
-in a file.  Selecting a language environment typically sets this
-variable to a good choice of default coding system for that language
-environment.
-
-   The command `C-x <RET> t' (`set-terminal-coding-system') specifies
-the coding system for terminal output.  If you specify a character code
-for terminal output, all characters output to the terminal are
-translated into that coding system.
-
-   This feature is useful for certain character-only terminals built to
-support specific languages or character sets--for example, European
-terminals that support one of the ISO Latin character sets.
-
-   By default, output to the terminal is not translated at all.
-
-   The command `C-x <RET> k' (`set-keyboard-coding-system') specifies
-the coding system for keyboard input.  Character-code translation of
-keyboard input is useful for terminals with keys that send non-ASCII
-graphic characters--for example, some terminals designed for ISO
-Latin-1 or subsets of it.
-
-   By default, keyboard input is not translated at all.
-
-   There is a similarity between using a coding system translation for
-keyboard input, and using an input method: both define sequences of
-keyboard input that translate into single characters.  However, input
-methods are designed to be convenient for interactive use by humans, and
-the sequences that are translated are typically sequences of ASCII
-printing characters.  Coding systems typically translate sequences of
-non-graphic characters.
-
-   The command `C-x <RET> p' (`set-buffer-process-coding-system')
-specifies the coding system for input and output to a subprocess.  This
-command applies to the current buffer; normally, each subprocess has its
-own buffer, and thus you can use this command to specify translation to
-and from a particular subprocess by giving the command in the
-corresponding buffer.
-
-   By default, process input and output are not translated at all.
-
-   The variable `file-name-coding-system' specifies a coding system to
-use for encoding file names.  If you set the variable to a coding
-system name (as a Lisp symbol or a string), XEmacs encodes file names
-using that coding system for all file operations.  This makes it
-possible to use non-Latin-1 characters in file names--or, at least,
-those non-Latin-1 characters which the specified coding system can
-encode.  By default, this variable is `nil', which implies that you
-cannot use non-Latin-1 characters in file names.
+File: xemacs.info,  Node: Dired Deletion,  Next: Dired Immed,  Prev: Dired Edit,  Up: Dired
+
+Deleting Files With Dired
+-------------------------
+
+   The primary use of Dired is to flag files for deletion and then
+delete them.
+
+`d'
+     Flag this file for deletion.
+
+`u'
+     Remove deletion-flag on this line.
+
+`<DEL>'
+     Remove deletion-flag on previous line, moving point to that line.
+
+`x'
+     Delete the files that are flagged for deletion.
+
+`#'
+     Flag all auto-save files (files whose names start and end with `#')
+     for deletion (*note Auto Save::).
+
+`~'
+     Flag all backup files (files whose names end with `~') for deletion
+     (*note Backup::).
+
+`. (Period)'
+     Flag excess numeric backup files for deletion.  The oldest and
+     newest few backup files of any one file are exempt; the middle
+     ones are flagged.
+
+   You can flag a file for deletion by moving to the line describing the
+file and typing `d' or `C-d'.  The deletion flag is visible as a `D' at
+the beginning of the line.  Point is moved to the beginning of the next
+line, so that repeated `d' commands flag successive files.
+
+   The files are flagged for deletion rather than deleted immediately to
+avoid the danger of deleting a file accidentally.  Until you direct
+Dired to delete the flagged files, you can remove deletion flags using
+the commands `u' and <DEL>.  `u' works just like `d', but removes flags
+rather than making flags.  <DEL> moves upward, removing flags; it is
+like `u' with numeric argument automatically negated.
+
+   To delete the flagged files, type `x'.  This command first displays a
+list of all the file names flagged for deletion, and requests
+confirmation with `yes'.  Once you confirm, all the flagged files are
+deleted, and their lines are deleted from the text of the Dired buffer.
+The shortened Dired buffer remains selected.  If you answer `no' or
+quit with `C-g', you return immediately to Dired, with the deletion
+flags still present and no files actually deleted.
+
+   The `#', `~', and `.' commands flag many files for deletion, based
+on their names.  These commands are useful precisely because they do
+not actually delete any files; you can remove the deletion flags from
+any flagged files that you really wish to keep.
+
+   `#' flags for deletion all files that appear to have been made by
+auto-saving (that is, files whose names begin and end with `#').  `~'
+flags for deletion all files that appear to have been made as backups
+for files that were edited (that is, files whose names end with `~').
+
+   `.' (Period) flags just some of the backup files for deletion: only
+numeric backups that are not among the oldest few nor the newest few
+backups of any one file.  Normally `dired-kept-versions' (not
+`kept-new-versions'; that applies only when saving) specifies the
+number of newest versions of each file to keep, and `kept-old-versions'
+specifies the number of oldest versions to keep.  Period with a
+positive numeric argument, as in `C-u 3 .', specifies the number of
+newest versions to keep, overriding `dired-kept-versions'.  A negative
+numeric argument overrides `kept-old-versions', using minus the value
+of the argument to specify the number of oldest versions of each file
+to keep.
 
 \1f
-File: xemacs.info,  Node: Major Modes,  Next: Indentation,  Prev: Mule,  Up: Top
-
-Major Modes
-***********
-
-   Emacs has many different "major modes", each of which customizes
-Emacs for editing text of a particular sort.  The major modes are
-mutually exclusive;  at any time, each buffer has one major mode.  The
-mode line normally contains the name of the current major mode in
-parentheses.  *Note Mode Line::.
-
-   The least specialized major mode is called "Fundamental mode".  This
-mode has no mode-specific redefinitions or variable settings.  Each
-Emacs command behaves in its most general manner, and each option is in
-its default state.  For editing any specific type of text, such as Lisp
-code or English text, you should switch to the appropriate major mode,
-such as Lisp mode or Text mode.
-
-   Selecting a major mode changes the meanings of a few keys to become
-more specifically adapted to the language being edited.  <TAB>, <DEL>,
-and <LFD> are changed frequently.  In addition, commands which handle
-comments use the mode to determine how to delimit comments.  Many major
-modes redefine the syntactical properties of characters appearing in
-the buffer.  *Note Syntax::.
-
-   The major modes fall into three major groups.  Lisp mode (which has
-several variants), C mode, and Muddle mode are for specific programming
-languages.  Text mode, Nroff mode, TeX mode, and Outline mode are for
-editing English text.  The remaining major modes are not intended for
-use on users' files; they are used in buffers created by Emacs for
-specific purposes and include Dired mode for buffers made by Dired
-(*note Dired::), Mail mode for buffers made by `C-x m' (*note Sending
-Mail::), and Shell mode for buffers used for communicating with an
-inferior shell process (*note Interactive Shell::).
-
-   Most programming language major modes specify that only blank lines
-separate paragraphs.  This is so that the paragraph commands remain
-useful.  *Note Paragraphs::.  They also cause Auto Fill mode to use the
-definition of <TAB> to indent the new lines it creates.  This is
-because most lines in a program are usually indented.  *Note
-Indentation::.
+File: xemacs.info,  Node: Dired Immed,  Prev: Dired Deletion,  Up: Dired
 
-* Menu:
+Immediate File Operations in Dired
+----------------------------------
 
-* Choosing Modes::     How major modes are specified or chosen.
+   Some file operations in Dired take place immediately when they are
+requested.
 
-\1f
-File: xemacs.info,  Node: Choosing Modes,  Prev: Major Modes,  Up: Major Modes
-
-Choosing Major Modes
-====================
-
-   You can select a major mode explicitly for the current buffer, but
-most of the time Emacs determines which mode to use based on the file
-name or some text in the file.
+`C'
+     Copies the file described on the current line.  You must supply a
+     file name to copy to, using the minibuffer.
 
-   Use a `M-x' command to explicitly select a new major mode.  Add
-`-mode' to the name of a major mode to get the name of a command to
-select that mode.  For example, to enter Lisp mode, execute `M-x
-lisp-mode'.
+`f'
+     Visits the file described on the current line.  It is just like
+     typing `C-x C-f' and supplying that file name.  If the file on
+     this line is a subdirectory, `f' actually causes Dired to be
+     invoked on that subdirectory.  *Note Visiting::.
 
-   When you visit a file, Emacs usually chooses the right major mode
-based on the file's name.  For example, files whose names end in `.c'
-are edited in C mode.  The variable `auto-mode-alist' controls the
-correspondence between file names and major mode.  Its value is a list
-in which each element has the form:
+`o'
+     Like `f', but uses another window to display the file's buffer.
+     The Dired buffer remains visible in the first window.  This is
+     like using `C-x 4 C-f' to visit the file.  *Note Windows::.
 
-     (REGEXP . MODE-FUNCTION)
+`R'
+     Renames the file described on the current line.  You must supply a
+     file name to rename to, using the minibuffer.
 
-For example, one element normally found in the list has the form
-`("\\.c$" . c-mode)'. It is responsible for selecting C mode for files
-whose names end in `.c'.  (Note that `\\' is needed in Lisp syntax to
-include a `\' in the string, which is needed to suppress the special
-meaning of `.' in regexps.)  The only practical way to change this
-variable is with Lisp code.
+`v'
+     Views the file described on this line using `M-x view-file'.
+     Viewing a file is like visiting it, but is slanted toward moving
+     around in the file conveniently and does not allow changing the
+     file.  *Note View File: Misc File Ops.  Viewing a file that is a
+     directory runs Dired on that directory.
 
-   You can specify which major mode should be used for editing a certain
-file by a special sort of text in the first non-blank line of the file.
-The mode name should appear in this line both preceded and followed by
-`-*-'.  Other text may appear on the line as well.  For example,
-
-     ;-*-Lisp-*-
-
-tells Emacs to use Lisp mode.  Note how the semicolon is used to make
-Lisp treat this line as a comment.  Such an explicit specification
-overrides any default mode based on the file name.
+\1f
+File: xemacs.info,  Node: Misc File Ops,  Prev: Dired,  Up: Files
+
+Miscellaneous File Operations
+=============================
+
+   Emacs has commands for performing many other operations on files.
+All operate on one file; they do not accept wildcard file names.
+
+   You can use the command `M-x add-name-to-file' to add a name to an
+existing file without removing the old name.  The new name must belong
+on the file system that the file is on.
+
+   `M-x append-to-file' adds the text of the region to the end of the
+specified file.
+
+   `M-x copy-file' reads the file OLD and writes a new file named NEW
+with the same contents.  Confirmation is required if a file named NEW
+already exists, because copying overwrites the old contents of the file
+NEW.
+
+   `M-x delete-file' deletes a specified file, like the `rm' command in
+the shell.  If you are deleting many files in one directory, it may be
+more convenient to use Dired (*note Dired::).
+
+   `M-x insert-file' inserts a copy of the contents of a specified file
+into the current buffer at point, leaving point unchanged before the
+contents and the mark after them.  *Note Mark::.
+
+   `M-x make-symbolic-link' reads two file names OLD and LINKNAME, and
+then creates a symbolic link named LINKNAME and pointing at OLD.
+Future attempts to open file LINKNAME will then refer to the file named
+OLD at the time the opening is done, or will result in an error if the
+name OLD is not in use at that time.  Confirmation is required if you
+create the link while LINKNAME is in use.  Note that not all systems
+support symbolic links.
+
+   `M-x rename-file' reads two file names OLD and NEW using the
+minibuffer, then renames file OLD as NEW.  If a file named NEW already
+exists, you must confirm with `yes' or renaming is not done; this is
+because renaming causes the previous meaning of the name NEW to be
+lost.  If OLD and NEW are on different file systems, the file OLD is
+copied and deleted.
+
+   `M-x view-file' allows you to scan or read a file by sequential
+screenfuls.  It reads a file name argument using the minibuffer.  After
+reading the file into an Emacs buffer, `view-file' reads and displays
+one windowful.  You can then type <SPC> to scroll forward one window,
+or <DEL> to scroll backward.  Various other commands are provided for
+moving around in the file, but none for changing it; type `C-h' while
+viewing a file for a list of them.  Most commands are the default Emacs
+cursor motion commands.  To exit from viewing, type `C-c'.
 
-   Another format of mode specification is:
+\1f
+File: xemacs.info,  Node: Buffers,  Next: Windows,  Prev: Files,  Up: Top
+
+Using Multiple Buffers
+**********************
+
+   Text you are editing in Emacs resides in an object called a
+"buffer".  Each time you visit a file, Emacs creates a buffer to hold
+the file's text.  Each time you invoke Dired, Emacs creates a buffer to
+hold the directory listing.  If you send a message with `C-x m', a
+buffer named `*mail*' is used to hold the text of the message.  When
+you ask for a command's documentation, it appears in a buffer called
+`*Help*'.
+
+   At any time, one and only one buffer is "selected".  It is also
+called the "current buffer".  Saying a command operates on "the buffer"
+really means that the command operates on the selected buffer, as most
+commands do.
+
+   When Emacs creates multiple windows, each window has a chosen buffer
+which is displayed there, but at any time only one of the windows is
+selected and its chosen buffer is the selected buffer.  Each window's
+mode line displays the name of the buffer the window is displaying
+(*note Windows::).
+
+   Each buffer has a name which can be of any length but is
+case-sensitive.  You can select a buffer using its name.  Most buffers
+are created when you visit files; their names are derived from the
+files' names.  You can also create an empty buffer with any name you
+want.  A newly started Emacs has a buffer named `*scratch*' which you
+can use for evaluating Lisp expressions in Emacs.
+
+   Each buffer records what file it is visiting, whether it is
+modified, and what major mode and minor modes are in effect in it
+(*note Major Modes::).  Any Emacs variable can be made "local to" a
+particular buffer, meaning its value in that buffer can be different
+from the value in other buffers.  *Note Locals::.
 
-     -*-Mode: MODENAME;-*-
+* Menu:
 
-which allows other things besides the major mode name to be specified.
-However, Emacs does not look for anything except the mode name.
+* 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.
 
-   The major mode can also be specified in a local variables list.
-*Note File Variables::.
+\1f
+File: xemacs.info,  Node: Select Buffer,  Next: List Buffers,  Prev: Buffers,  Up: Buffers
 
-   When you visit a file that does not specify a major mode to use, or
-when you create a new buffer with `C-x b', Emacs uses the major mode
-specified by the variable `default-major-mode'.  Normally this value is
-the symbol `fundamental-mode', which specifies Fundamental mode.  If
-`default-major-mode' is `nil', the major mode is taken from the
-previously selected buffer.
+Creating and Selecting Buffers
+==============================
 
-\1f
-File: xemacs.info,  Node: Indentation,  Next: Text,  Prev: Major Modes,  Up: Top
+`C-x b BUFFER <RET>'
+     Select or create a buffer named BUFFER (`switch-to-buffer').
 
-Indentation
-***********
+`C-x 4 b BUFFER <RET>'
+     Similar, but select a buffer named BUFFER in another window
+     (`switch-to-buffer-other-window').
 
-`<TAB>'
-     Indent current line "appropriately" in a mode-dependent fashion.
+`M-x switch-to-other-buffer N'
+     Switch to the previous buffer.
 
-`<LFD>'
-     Perform <RET> followed by <TAB> (`newline-and-indent').
+   To select a buffer named BUFNAME, type `C-x b BUFNAME <RET>'.  This
+is the command `switch-to-buffer' with argument BUFNAME.  You can use
+completion on an abbreviation for the buffer name you want (*note
+Completion::).  An empty argument to `C-x b' specifies the most
+recently selected buffer that is not displayed in any window.
 
-`M-^'
-     Merge two lines (`delete-indentation').  This would cancel out the
-     effect of <LFD>.
+   Most buffers are created when you visit files, or use Emacs commands
+that display text.  You can also create a buffer explicitly by typing
+`C-x b BUFNAME <RET>', which creates a new, empty buffer that is not
+visiting any file, and selects it for editing.  The new buffer's major
+mode is determined by the value of `default-major-mode' (*note Major
+Modes::).  Buffers not visiting files are usually used for making notes
+to yourself.  If you try to save one, you are asked for the file name
+to use.
 
-`C-M-o'
-     Split line at point; text on the line after point becomes a new
-     line indented to the same column that it now starts in
-     (`split-line').
+   The function `switch-to-buffer-other-frame' is similar to
+`switch-to-buffer' except that it creates a new frame in which to
+display the selected buffer.
 
-`M-m'
-     Move (forward or back) to the first non-blank character on the
-     current line (`back-to-indentation').
+   Use `M-x switch-to-other-buffer' to visit the previous buffer. If
+you supply a positive integer N, the Nth most recent buffer is
+displayed. If you supply an argument of 0, the current buffer is moved
+to the bottom of the buffer stack.
 
-`C-M-\'
-     Indent several lines to same column (`indent-region').
+   Note that you can also use `C-x C-f' and any other command for
+visiting a file to switch buffers.  *Note Visiting::.
 
-`C-x <TAB>'
-     Shift block of lines rigidly right or left (`indent-rigidly').
+\1f
+File: xemacs.info,  Node: List Buffers,  Next: Misc Buffer,  Prev: Select Buffer,  Up: Buffers
+
+Listing Existing Buffers
+========================
+
+`C-x C-b'
+     List the existing buffers (`list-buffers').
+
+   To print a list of all existing buffers, type `C-x C-b'.  Each line
+in the list shows one buffer's name, major mode, and visited file.  A
+`*' at the beginning of a line indicates the buffer has been
+"modified".  If several buffers are modified, it may be time to save
+some with `C-x s' (*note Saving::).  A `%' indicates a read-only
+buffer.  A `.' marks the selected buffer.  Here is an example of a
+buffer list:
+
+      MR Buffer         Size  Mode           File
+      -- ------         ----  ----           ----
+     .*  emacs.tex      383402 Texinfo       /u2/emacs/man/emacs.tex
+         *Help*         1287  Fundamental
+         files.el       23076 Emacs-Lisp     /u2/emacs/lisp/files.el
+       % RMAIL          64042 RMAIL          /u/rms/RMAIL
+      *% man            747   Dired          /u2/emacs/man/
+         net.emacs      343885 Fundamental   /u/rms/net.emacs
+         fileio.c       27691 C              /u2/emacs/src/fileio.c
+         NEWS           67340 Text           /u2/emacs/etc/NEWS
+         *scratch*      0     Lisp Interaction
+
+Note that the buffer `*Help*' was made by a help request; it is not
+visiting any file.  The buffer `man' was made by Dired on the directory
+`/u2/emacs/man/'.
+
+   As you move the mouse over the `*Buffer List*' buffer, the lines are
+highlighted.  This visual cue indicates that clicking the right mouse
+button (`button3') will pop up a menu of commands on the buffer
+represented by this line.  This menu duplicates most of those commands
+which are bound to keys in the `*Buffer List*' buffer.
 
-`M-i'
-     Indent from point to the next prespecified tab stop column
-     (`tab-to-tab-stop').
+\1f
+File: xemacs.info,  Node: Misc Buffer,  Next: Kill Buffer,  Prev: List Buffers,  Up: Buffers
 
-`M-x indent-relative'
-     Indent from point to under an indentation point in the previous
-     line.
+Miscellaneous Buffer Operations
+===============================
 
-   Most programming languages have some indentation convention.  For
-Lisp code, lines are indented according to their nesting in
-parentheses.  The same general idea is used for C code, though details
-differ.
+`C-x C-q'
+     Toggle read-only status of buffer (`toggle-read-only').
 
-   Use the <TAB> command to indent a line whatever the language.  Each
-major mode defines this command to perform indentation appropriate for
-the particular language.  In Lisp mode, <TAB> aligns a line according
-to its depth in parentheses.  No matter where in the line you are when
-you type <TAB>, it aligns the line as a whole.  In C mode, <TAB>
-implements a subtle and sophisticated indentation style that knows
-about many aspects of C syntax.
+`M-x rename-buffer'
+     Change the name of the current buffer.
 
-   In Text mode, <TAB> runs the command `tab-to-tab-stop', which
-indents to the next tab stop column.  You can set the tab stops with
-`M-x edit-tab-stops'.
+`M-x view-buffer'
+     Scroll through a buffer.
 
-* Menu:
+   A buffer can be "read-only", which means that commands to change its
+text are not allowed.  Normally, read-only buffers are created by
+subsystems such as Dired and Rmail that have special commands to operate
+on the text.  Emacs also creates a read-only buffer if you visit a file
+that is protected.  To make changes in a read-only buffer, use the
+command `C-x C-q' (`toggle-read-only').  It makes a read-only buffer
+writable, and makes a writable buffer read-only.  This works by setting
+the variable `buffer-read-only', which has a local value in each buffer
+and makes a buffer read-only if its value is non-`nil'.
 
-* 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.
+   `M-x rename-buffer' changes the name of the current buffer,
+prompting for the new name in the minibuffer.  There is no default.  If
+you specify a name that is used by a different buffer, an error is
+signalled and renaming is not done.
 
-\1f
-File: xemacs.info,  Node: Indentation Commands,  Next: Tab Stops,  Prev: Indentation,  Up: Indentation
-
-Indentation Commands and Techniques
-===================================
-
-   If you just want to insert a tab character in the buffer, you can
-type `C-q <TAB>'.
-
-   To move over the indentation on a line, type `Meta-m'
-(`back-to-indentation').  This command, given anywhere on a line,
-positions point at the first non-blank character on the line.
-
-   To insert an indented line before the current line, type `C-a C-o
-<TAB>'.  To make an indented line after the current line, use `C-e
-<LFD>'.
-
-   `C-M-o' (`split-line') moves the text from point to the end of the
-line vertically down, so that the current line becomes two lines.
-`C-M-o' first moves point forward over any spaces and tabs.  Then it
-inserts after point a newline and enough indentation to reach the same
-column point is on.  Point remains before the inserted newline; in this
-regard, `C-M-o' resembles `C-o'.
-
-   To join two lines cleanly, use the `Meta-^' (`delete-indentation')
-command to delete the indentation at the front of the current line, and
-the line boundary as well.  Empty spaces are replaced by a single
-space, or by no space if at the beginning of a line, before a close
-parenthesis, or after an open parenthesis.  To delete just the
-indentation of a line, go to the beginning of the line and use `Meta-\'
-(`delete-horizontal-space'), which deletes all spaces and tabs around
-the cursor.
-
-   There are also commands for changing the indentation of several
-lines at once.  `Control-Meta-\' (`indent-region') gives each line which
-begins in the region the "usual" indentation by invoking <TAB> at the
-beginning of the line.  A numeric argument specifies the column to
-indent to.  Each line is shifted left or right so that its first
-non-blank character appears in that column.  `C-x <TAB>'
-(`indent-rigidly') moves all the lines in the region right by its
-argument (left, for negative arguments).  The whole group of lines moves
-rigidly sideways, which is how the command gets its name.
-
-   `M-x indent-relative' indents at point based on the previous line
-(actually, the last non-empty line.)  It inserts whitespace at point,
-moving point, until it is underneath an indentation point in the
-previous line.  An indentation point is the end of a sequence of
-whitespace or the end of the line.  If point is farther right than any
-indentation point in the previous line, the whitespace before point is
-deleted and the first indentation point then applicable is used.  If no
-indentation point is applicable even then, `tab-to-tab-stop' is run
-(see next section).
-
-   `indent-relative' is the definition of <TAB> in Indented Text mode.
-*Note Text::.
+   `M-x view-buffer' is similar to `M-x view-file' (*note Misc File
+Ops::), but it examines an already existing Emacs buffer.  View mode
+provides convenient commands for scrolling through the buffer but not
+for changing it.  When you exit View mode, the resulting value of point
+remains in effect.
 
-\1f
-File: xemacs.info,  Node: Tab Stops,  Next: Just Spaces,  Prev: Indentation Commands,  Up: Indentation
-
-Tab Stops
-=========
-
-   For typing in tables, you can use Text mode's definition of <TAB>,
-`tab-to-tab-stop'.  This command inserts indentation before point,
-enough to reach the next tab stop column.  Even if you are not in Text
-mode, this function is associated with `M-i' anyway.
-
-   You can arbitrarily set the tab stops used by `M-i'.  They are
-stored as a list of column-numbers in increasing order in the variable
-`tab-stop-list'.
-
-   The convenient way to set the tab stops is using `M-x
-edit-tab-stops', which creates and selects a buffer containing a
-description of the tab stop settings.  You can edit this buffer to
-specify different tab stops, and then type `C-c C-c' to make those new
-tab stops take effect.  In the tab stop buffer, `C-c C-c' runs the
-function `edit-tab-stops-note-changes' rather than the default
-`save-buffer'.  `edit-tab-stops' records which buffer was current when
-you invoked it, and stores the tab stops in that buffer.  Normally all
-buffers share the same tab stops and changing them in one buffer
-affects all.  If you make `tab-stop-list' local in one buffer
-`edit-tab-stops' in that buffer edits only the local settings.
-
-   Below is the text representing ordinary tab stops every eight
-columns:
-
-             :       :       :       :       :       :
-     0         1         2         3         4
-     0123456789012345678901234567890123456789012345678
-     To install changes, type C-c C-c
-
-   The first line contains a colon at each tab stop.  The remaining
-lines help you see where the colons are and tell you what to do.
-
-   Note that the tab stops that control `tab-to-tab-stop' have nothing
-to do with displaying tab characters in the buffer.  *Note Display
-Vars::, for more information on that.
+   To copy text from one buffer to another, use the commands `M-x
+append-to-buffer' and `M-x insert-buffer'.  *Note Accumulating Text::.
 
 \1f
-File: xemacs.info,  Node: Just Spaces,  Prev: Tab Stops,  Up: Indentation
+File: xemacs.info,  Node: Kill Buffer,  Next: Several Buffers,  Prev: Misc Buffer,  Up: Buffers
 
-Tabs vs. Spaces
+Killing Buffers
 ===============
 
-   Emacs normally uses both tabs and spaces to indent lines.  If you
-prefer, all indentation can be made from spaces only.  To request this,
-set `indent-tabs-mode' to `nil'.  This is a per-buffer variable;
-altering the variable affects only the current buffer, but there is a
-default value which you can change as well.  *Note Locals::.
+   After using Emacs for a while, you may accumulate a large number of
+buffers and may want to eliminate the ones you no longer need.  There
+are several commands for doing this.
 
-   There are also commands to convert tabs to spaces or vice versa,
-always preserving the columns of all non-blank text.  `M-x tabify'
-scans the region for sequences of spaces, and converts sequences of at
-least three spaces to tabs if that is possible without changing
-indentation.  `M-x untabify' changes all tabs in the region to
-corresponding numbers of spaces.
+`C-x k'
+     Kill a buffer, specified by name (`kill-buffer').
 
-\1f
-File: xemacs.info,  Node: Text,  Next: Programs,  Prev: Indentation,  Up: Top
-
-Commands for Human Languages
-****************************
-
-   The term "text" has two widespread meanings in our area of the
-computer field.  One is data that is a sequence of characters.  In this
-sense of the word any file that you edit with Emacs is text.  The other
-meaning is more restrictive: a sequence of characters in a human
-language for humans to read (possibly after processing by a text
-formatter), as opposed to a program or commands for a program.
-
-   Human languages have syntactic and stylistic conventions that editor
-commands should support or use to advantage: conventions involving
-words, sentences, paragraphs, and capital letters.  This chapter
-describes Emacs commands for all these things.  There are also commands
-for "filling", or rearranging paragraphs into lines of approximately
-equal length.  The commands for moving over and killing words,
-sentences, and paragraphs, while intended primarily for editing text,
-are also often useful for editing programs.
-
-   Emacs has several major modes for editing human language text.  If a
-file contains plain text, use Text mode, which customizes Emacs in
-small ways for the syntactic conventions of text.  For text which
-contains embedded commands for text formatters, Emacs has other major
-modes, each for a particular text formatter.  Thus, for input to TeX,
-you can use TeX mode; for input to nroff, Nroff mode.
+`M-x kill-some-buffers'
+     Offer to kill each buffer, one by one.
 
-* Menu:
+   `C-x k' (`kill-buffer') kills one buffer, whose name you specify in
+the minibuffer.  If you type just <RET> in the minibuffer, the default,
+killing the current buffer, is used.  If the current buffer is killed,
+the buffer that has been selected recently but does not appear in any
+window now is selected.  If the buffer being killed contains unsaved
+changes, you are asked to confirm with `yes' before the buffer is
+killed.
 
-* 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
+   The command `M-x kill-some-buffers' asks about each buffer, one by
+one.  An answer of `y' means to kill the buffer.  Killing the current
+buffer or a buffer containing unsaved changes selects a new buffer or
+asks for confirmation just like `kill-buffer'.
 
 \1f
-File: xemacs.info,  Node: Text Mode,  Next: Words,  Prev: Text,  Up: Text
-
-Text Mode
-=========
-
-   You should use Text mode--rather than Fundamental or Lisp mode--to
-edit files of text in a human language.  Invoke `M-x text-mode' to
-enter Text mode.  In Text mode, <TAB> runs the function
-`tab-to-tab-stop', which allows you to use arbitrary tab stops set with
-`M-x edit-tab-stops' (*note Tab Stops::).  Features concerned with
-comments in programs are turned off unless they are explicitly invoked.
-The syntax table is changed so that periods are not considered part of a
-word, while apostrophes, backspaces and underlines are.
-
-   A similar variant mode is Indented Text mode, intended for editing
-text in which most lines are indented.  This mode defines <TAB> to run
-`indent-relative' (*note Indentation::), and makes Auto Fill indent the
-lines it creates.  As a result, a line made by Auto Filling, or by
-<LFD>, is normally indented just like the previous line.  Use `M-x
-indented-text-mode' to select this mode.
-
-   Entering Text mode or Indented Text mode calls the value of the
-variable `text-mode-hook' with no arguments, if that value exists and
-is not `nil'.  This value is also called when modes related to Text
-mode are entered; this includes Nroff mode, TeX mode, Outline mode, and
-Mail mode.  Your hook can look at the value of `major-mode' to see
-which of these modes is actually being entered.
-
-   Two modes similar to Text mode are of use for editing text that is to
-be passed through a text formatter before achieving its final readable
-form.
-
-* Menu:
+File: xemacs.info,  Node: Several Buffers,  Prev: Kill Buffer,  Up: Buffers
 
-* Nroff Mode::  The major mode for editing input to the formatter nroff.
-* TeX Mode::    The major modes for editing input to the formatter TeX.
+Operating on Several Buffers
+============================
 
+   The "buffer-menu" facility is like a "Dired for buffers"; it allows
+you to request operations on various Emacs buffers by editing a buffer
+containing a list of them.  You can save buffers, kill them (here
+called "deleting" them, for consistency with Dired), or display them.
 
-  Another similar mode is used for editing outlines.  It allows you
-to view the text at various levels of detail.  You can view either
-the outline headings alone or both headings and text; you can also
-hide some of the headings at lower levels from view to make the high
-level structure more visible.
+`M-x buffer-menu'
+     Begin editing a buffer listing all Emacs buffers.
 
+   The command `buffer-menu' writes a list of all Emacs buffers into
+the buffer `*Buffer List*', and selects that buffer in Buffer Menu
+mode.  The buffer is read-only.  You can only change it using the
+special commands described in this section.  Most of the commands are
+graphic characters.  You can use  Emacs cursor motion commands in the
+`*Buffer List*' buffer.  If the cursor is on a line describing a
+buffer, the following  special commands apply to that buffer:
 
-* Outline Mode:: The major mode for editing outlines.
+`d'
+     Request to delete (kill) the buffer, then move down.  A `D' before
+     the buffer name on a line indicates a deletion request.  Requested
+     deletions actually take place when you use the `x' command.
 
-\1f
-File: xemacs.info,  Node: Nroff Mode,  Next: TeX Mode,  Prev: Text Mode,  Up: Text Mode
-
-Nroff Mode
-----------
-
-   Nroff mode is a mode like Text mode but modified to handle nroff
-commands present in the text.  Invoke `M-x nroff-mode' to enter this
-mode.  Nroff mode differs from Text mode in only a few ways.  All nroff
-command lines are considered paragraph separators, so that filling never
-garbles the nroff commands.  Pages are separated by `.bp' commands.
-Comments start with backslash-doublequote.  There are also three special
-commands that are not available in Text mode:
-
-`M-n'
-     Move to the beginning of the next line that isn't an nroff command
-     (`forward-text-line').  An argument is a repeat count.
-
-`M-p'
-     Like `M-n' but move up (`backward-text-line').
-
-`M-?'
-     Prints in the echo area the number of text lines (lines that are
-     not nroff commands) in the region (`count-text-lines').
-
-   The other feature of Nroff mode is Electric Nroff newline mode.
-This is a minor mode that you can turn on or off with `M-x
-electric-nroff-mode' (*note Minor Modes::).  When the mode is on and
-you use <RET> to end a line containing an nroff command that opens a
-kind of grouping, Emacs automatically inserts the matching nroff
-command to close that grouping on the following line.  For example, if
-you are at the beginning of a line and type `.(b <RET>', the matching
-command `.)b' will be inserted on a new line following point.
-
-   Entering Nroff mode calls the value of the variable `text-mode-hook'
-with no arguments, if that value exists and is not `nil'; then it does
-the same with the variable `nroff-mode-hook'.
+`k'
+     Synonym for `d'.
 
-\1f
-File: xemacs.info,  Node: TeX Mode,  Next: Outline Mode,  Prev: Nroff Mode,  Up: Text Mode
+`C-d'
+     Like `d' but move up afterwards instead of down.
 
-TeX Mode
---------
+`s'
+     Request to save the buffer.  An `S' before the buffer name on a
+     line indicates the request.  Requested saves actually take place
+     when you use the `x' command.  You can request both saving and
+     deletion for the same buffer.
 
-   TeX is a powerful text formatter written by Donald Knuth; like GNU
-Emacs, it is free.  LaTeX is a simplified input format for TeX,
-implemented by TeX macros.  It is part of TeX.
+`~'
+     Mark buffer "unmodified".  The command `~' does this immediately
+     when typed.
 
-   Emacs has a special TeX mode for editing TeX input files.  It
-provides facilities for checking the balance of delimiters and for
-invoking TeX on all or part of the file.
+`x'
+     Perform previously requested deletions and saves.
 
-   TeX mode has two variants, Plain TeX mode and LaTeX mode, which are
-two distinct major modes that differ only slightly.  These modes are
-designed for editing the two different input formats.  The command `M-x
-tex-mode' looks at the contents of a buffer to determine whether it
-appears to be LaTeX input or not; it then selects the appropriate mode.
-If it can't tell which is right (e.g., the buffer is empty), the
-variable `tex-default-mode' controls which mode is used.
+`u'
+     Remove any request made for the current line, and move down.
 
-   The commands `M-x plain-tex-mode' and `M-x latex-mode' explicitly
-select one of the variants of TeX mode.  Use these commands when `M-x
-tex-mode' does not guess right.
+`<DEL>'
+     Move to previous line and remove any request made for that line.
 
-* Menu:
+   All commands that add or remove flags to request later operations
+also move down a line.  They accept a numeric argument as a repeat
+count, unless otherwise specified.
 
-* Editing: TeX Editing.   Special commands for editing in TeX mode.
-* Printing: TeX Print.    Commands for printing part of a file with TeX.
+   There are also special commands to use the buffer list to select
+another buffer, and to specify one or more other buffers for display in
+additional windows.
 
-   TeX for Unix systems can be obtained from the University of
-Washington for a distribution fee.
+`1'
+     Select the buffer in a full-frame window.  This command takes
+     effect immediately.
 
-   To order a full distribution, send $140.00 for a 1/2 inch 9-track
-tape, $165.00 for two 4-track 1/4 inch cartridge tapes (foreign sites
-$150.00, for 1/2 inch, $175.00 for 1/4 inch, to cover the extra
-postage) payable to the University of Washington to:
+`2'
+     Immediately set up two windows, with this buffer in one and the
+     buffer selected before `*Buffer List*' in the other.
 
-     The Director
-     Northwest Computer Support Group,  DW-10
-     University of Washington
-     Seattle, Washington 98195
-
-Purchase orders are acceptable, but there is an extra charge of $10.00
-to pay for processing charges. (The total cost comes to $150 for
-domestic sites, $175 for foreign sites).
+`f'
+     Immediately select the buffer in place of the `*Buffer List*'
+     buffer.
 
-   The normal distribution is a tar tape, blocked 20, 1600 bpi, on an
-industry standard 2400 foot half-inch reel.  The physical format for
-the 1/4 inch streamer cartridges uses QIC-11, 8000 bpi, 4-track
-serpentine recording for the SUN.  Also, SystemV tapes can be written
-in cpio format, blocked 5120 bytes, ASCII headers.
+`o'
+     Immediately select the buffer in another window as if by `C-x 4 b',
+     leaving `*Buffer List*' visible.
+
+`q'
+     Immediately select this buffer, and display any buffers previously
+     flagged with the `m' command in other windows.  If there are no
+     buffers flagged with `m', this command is equivalent to `1'.
+
+`m'
+     Flag this buffer to be displayed in another window if the `q'
+     command is used.  The request shows as a `>' at the beginning of
+     the line.  The same buffer may not have both a delete request and a
+     display request.
+
+   Going back between a `buffer-menu' buffer and other Emacs buffers is
+easy.  You can, for example, switch from the `*Buffer List*' buffer to
+another Emacs buffer, and edit there.  You can then reselect the
+`buffer-menu' buffer and perform operations already requested, or you
+can kill that buffer or pay no further attention to it.   All that
+`buffer-menu' does directly is create and select a suitable buffer, and
+turn on Buffer Menu mode.  All the other capabilities of the buffer
+menu are implemented by special commands provided in Buffer Menu mode.
+
+   The only difference between `buffer-menu' and `list-buffers' is that
+`buffer-menu' selects the `*Buffer List*' buffer and `list-buffers'
+does not.  If you run `list-buffers' (that is, type `C-x C-b') and
+select the buffer list manually, you can use all the commands described
+here.
 
 \1f
-File: xemacs.info,  Node: TeX Editing,  Next: TeX Print,  Prev: TeX Mode,  Up: TeX Mode
-
-TeX Editing Commands
-....................
-
-   Here are the special commands provided in TeX mode for editing the
-text of the file.
-
-`"'
-     Insert, according to context, either ```' or `"' or `'''
-     (`TeX-insert-quote').
-
-`<LFD>'
-     Insert a paragraph break (two newlines) and check the previous
-     paragraph for unbalanced braces or dollar signs (`tex-terminate-
-     paragraph').
-
-`M-x validate-tex-buffer'
-     Check each paragraph in the buffer for unbalanced braces or dollar
-     signs.
-
-`C-c {'
-     Insert `{}' and position point between them (`tex-insert-braces').
-
-`C-c }'
-     Move forward past the next unmatched close brace (`up-list').
-
-`C-c C-e'
-     Close a block for LaTeX (`tex-close-latex-block').
-
-   In TeX, the character `"' is not normally used; you use ```' to
-start a quotation and `''' to end one.  TeX mode defines the key `"' to
-insert ```' after whitespace or an open brace, `"' after a backslash,
-or `''' otherwise.  This is done by the command `tex-insert-quote'.  If
-you need the character `"' itself in unusual contexts, use `C-q' to
-insert it.  Also, `"' with a numeric argument always inserts that
-number of `"' characters.
-
-   In TeX mode, `$' has a special syntax code which attempts to
-understand the way TeX math mode delimiters match.  When you insert a
-`$' that is meant to exit math mode, the position of the matching `$'
-that entered math mode is displayed for a second.  This is the same
-feature that displays the open brace that matches a close brace that is
-inserted.  However, there is no way to tell whether a `$' enters math
-mode or leaves it; so when you insert a `$' that enters math mode, the
-previous `$' position is shown as if it were a match, even though they
-are actually unrelated.
-
-   If you prefer to keep braces balanced at all times, you can use `C-c
-{' (`tex-insert-braces') to insert a pair of braces.  It leaves point
-between the two braces so you can insert the text that belongs inside.
-Afterward, use the command `C-c }' (`up-list') to move forward past the
-close brace.
-
-   There are two commands for checking the matching of braces.  <LFD>
-(`tex-terminate-paragraph') checks the paragraph before point, and
-inserts two newlines to start a new paragraph.  It prints a message in
-the echo area if any mismatch is found.  `M-x validate-tex-buffer'
-checks the entire buffer, paragraph by paragraph.  When it finds a
-paragraph that contains a mismatch, it displays point at the beginning
-of the paragraph for a few seconds and pushes a mark at that spot.
-Scanning continues until the whole buffer has been checked or until you
-type another key.  The positions of the last several paragraphs with
-mismatches can be found in the mark ring (*note Mark Ring::).
-
-   Note that square brackets and parentheses, not just braces, are
-matched in TeX mode.  This is wrong if you want to  check TeX syntax.
-However, parentheses and square brackets are likely to be used in text
-as matching delimiters and it is useful for the various motion commands
-and automatic match display to work with them.
-
-   In LaTeX input, `\begin' and `\end' commands must balance.  After
-you insert a `\begin', use `C-c C-f' (`tex-close-latex-block') to
-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.
+File: xemacs.info,  Node: Windows,  Next: Mule,  Prev: Buffers,  Up: Top
 
-\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.
+Multiple Windows
+****************
 
-\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.
+   Emacs can split the frame into two or many windows, which can display
+parts of different buffers or different parts of one buffer.  If you are
+running XEmacs under X, that means you can have the X window that
+contains the Emacs frame have multiple subwindows.
 
 * 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.
+* 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.
+* Change Window::    Deleting windows and changing their sizes.
 
 \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.
+File: xemacs.info,  Node: Basic Window,  Next: Split Window,  Prev: Windows,  Up: Windows
+
+Concepts of Emacs Windows
+=========================
+
+   When Emacs displays multiple windows, each window has one Emacs
+buffer designated for display.  The same buffer may appear in more than
+one window; if it does, any changes in its text are displayed in all
+the windows that display it.  Windows showing the same buffer can show
+different parts of it, because each window has its own value of point.
+
+   At any time, one  window is the "selected window"; the buffer
+displayed by that window is the current buffer.  The cursor shows the
+location of point in that window.  Each other window has a location of
+point as well, but since the terminal has only one cursor, it cannot
+show the location of point in the other windows.
+
+   Commands to move point affect the value of point for the selected
+Emacs window only.  They do not change the value of point in any other
+Emacs window, including those showing the same buffer.  The same is
+true for commands such as `C-x b' to change the selected buffer in the
+selected window; they do not affect other windows at all.  However,
+there are other commands such as `C-x 4 b' that select a different
+window and switch buffers in it.  Also, all commands that display
+information in a window, including (for example) `C-h f'
+(`describe-function') and `C-x C-b' (`list-buffers'), work by switching
+buffers in a non-selected window without affecting the selected window.
+
+   Each window has its own mode line, which displays the buffer name,
+modification status, and major and minor modes of the buffer that is
+displayed in the window.  *Note Mode Line::, for details on the mode
+line.
 
 \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').
+File: xemacs.info,  Node: Split Window,  Next: Other Window,  Prev: Basic Window,  Up: Windows
+
+Splitting Windows
+=================
+
+`C-x 2'
+     Split the selected window into two windows, one above the other
+     (`split-window-vertically').
+
+`C-x 3'
+     Split the selected window into two windows positioned side by side
+     (`split-window-horizontally').
+
+`C-x 6'
+     Save the current window configuration in register REG (a letter).
+
+`C-x 7'
+     Restore (make current) the window configuration in register REG (a
+     letter).  Use with a register previously set with `C-x 6'.
+
+   The command `C-x 2' (`split-window-vertically') breaks the selected
+window into two windows, one above the other.  Both windows start out
+displaying the same buffer, with the same value of point.  By default
+each of the two windows gets half the height of the window that was
+split.  A numeric argument specifies how many lines to give to the top
+window.
+
+   `C-x 3' (`split-window-horizontally') breaks the selected window
+into two side-by-side windows.  A numeric argument specifies how many
+columns to give the one on the left.  A line of vertical bars separates
+the two windows.  Windows that are not the full width of the frame have
+truncated mode lines which do not always appear in inverse video,
+because Emacs display routines cannot display a region of inverse video
+that is only part of a line on the screen.
+
+   When a window is less than the full width, many text lines are too
+long to fit.  Continuing all those lines might be confusing.  Set the
+variable `truncate-partial-width-windows' to non-`nil' to force
+truncation in all windows less than the full width of the frame,
+independent of the buffer and its value for `truncate-lines'.  *Note
+Continuation Lines::.
+
+   Horizontal scrolling is often used in side-by-side windows.  *Note
+Display::.
+
+   You can resize a window and store that configuration in a register by
+supplying a REGISTER argument to `window-configuration-to-register'
+(`C-x 6'). To return to the window configuration established with
+`window-configuration-to-register', use `jump-to-register' (`C-x j').
 
-`C-c C-b'
-     Move point to the previous visible heading line at the same level
-     (`outline-backward-same-level').
+\1f
+File: xemacs.info,  Node: Other Window,  Next: Pop Up Window,  Prev: Split Window,  Up: Windows
+
+Using Other Windows
+===================
+
+`C-x o'
+     Select another window (`other-window').  That is the letter `o',
+     not zero.
+
+`M-C-v'
+     Scroll the next window (`scroll-other-window').
+
+`M-x compare-windows'
+     Find the next place where the text in the selected window does not
+     match the text in the next window.
+
+`M-x other-window-any-frame N'
+     Select the Nth different window on any frame.
+
+   To select a different window, use `C-x o' (`other-window').  That is
+an `o', for `other', not a zero.  When there are more than two windows,
+the command moves through all the windows in a cyclic order, generally
+top to bottom and left to right.  From the rightmost and bottommost
+window, it goes back to the one at the upper left corner.  A numeric
+argument, N, moves several steps in the cyclic order of windows. A
+negative numeric argument moves around the cycle in the opposite order.
+If the optional second argument WHICH-FRAMES is non-`nil', the
+function cycles through all frames.  When the minibuffer is active, the
+minibuffer is the last window in the cycle; you can switch from the
+minibuffer window to one of the other windows, and later switch back
+and finish supplying the minibuffer argument that is requested.  *Note
+Minibuffer Edit::.
+
+   The command `M-x other-window-any-frame' also selects the window N
+steps away in the cyclic order.  However, unlike `other-window', this
+command selects a window on the next or previous frame instead of
+wrapping around to the top or bottom of the current frame, when there
+are no more windows.
+
+   The usual scrolling commands (*note Display::) apply to the selected
+window only.  `M-C-v' (`scroll-other-window') scrolls the window that
+`C-x o' would select.  Like `C-v', it takes positive and negative
+arguments.
+
+   The command `M-x compare-windows' compares the text in the current
+window with the text in the next window.  Comparison starts at point in
+each window.  Point moves forward in each window, a character at a time,
+until the next set of characters in the two windows are different.
+Then the command is finished.
+
+   A prefix argument IGNORE-WHITESPACE means ignore changes in
+whitespace.  The variable `compare-windows-whitespace' controls how
+whitespace is skipped.
+
+   If `compare-ignore-case' is non-`nil', changes in case are also
+ignored.
 
-`C-c C-u'
-     Move point up to a lower-level (more inclusive) visible heading
-     line (`outline-up-heading').
+\1f
+File: xemacs.info,  Node: Pop Up Window,  Next: Change Window,  Prev: Other Window,  Up: Windows
 
-   `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.
+Displaying in Another Window
+============================
 
-   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.
+   `C-x 4' is a prefix key for commands that select another window
+(splitting the window if there is only one) and select a buffer in that
+window.  Different `C-x 4' commands have different ways of finding the
+buffer to select.
 
-\1f
-File: xemacs.info,  Node: Outline Visibility,  Prev: Outline Motion,  Up: Outline Mode
+`C-x 4 b BUFNAME <RET>'
+     Select buffer BUFNAME in another window.  This runs
+     `switch-to-buffer-other-window'.
 
-Outline Visibility Commands
-...........................
+`C-x 4 f FILENAME <RET>'
+     Visit file FILENAME and select its buffer in another window.  This
+     runs `find-file-other-window'.  *Note Visiting::.
 
-   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.
+`C-x 4 d DIRECTORY <RET>'
+     Select a Dired buffer for directory DIRECTORY in another window.
+     This runs `dired-other-window'.  *Note Dired::.
 
-`M-x hide-body'
-     Make all body lines in the buffer invisible.
+`C-x 4 m'
+     Start composing a mail message in another window.  This runs
+     `mail-other-window', and its same-window version is `C-x m' (*note
+     Sending Mail::).
 
-`M-x show-all'
-     Make all lines in the buffer visible.
+`C-x 4 .'
+     Find a tag in the current tag table in another window.  This runs
+     `find-tag-other-window', the multiple-window variant of `M-.'
+     (*note Tags::).
 
-`C-c C-d'
-     Make everything under this heading invisible, not including this
-     heading itself (`hide-subtree').
+   If the variable `display-buffer-function' is non-`nil', its value is
+the function to call to handle `display-buffer'. It receives two
+arguments, the buffer and a flag that if non-`nil' means that the
+currently selected window is not acceptable. Commands such as
+`switch-to-buffer-other-window' and `find-file-other-window' work using
+this function.
 
-`C-c C-s'
-     Make everything under this heading visible, including body,
-     subheadings, and their bodies (`show-subtree').
+\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.
 
-`M-x hide-leaves'
-     Make the body of this heading line, and of all its subheadings,
-     invisible.
+\1f
+File: xemacs.info,  Node: Mule,  Next: Major Modes,  Prev: Windows,  Up: Top
 
-`M-x show-branches'
-     Make all subheadings of this heading line, at all levels, visible.
+World Scripts Support
+*********************
 
-`C-c C-i'
-     Make immediate subheadings (one level down) of this heading line
-     visible (`show-children').
+   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 Byelorussian, 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").
 
-`M-x hide-entry'
-     Make this heading line's body invisible.
+* Menu:
 
-`M-x show-entry'
-     Make this heading line's body visible.
+* 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.
 
-   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.
+\1f
+File: xemacs.info,  Node: Mule Intro,  Next: Language Environments,  Prev: Mule,  Up: Mule
 
-   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.
+Introduction to world scripts
+=============================
 
-   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'.
+   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).
 
-   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.
+   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.
 
-   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.
+   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.
 
-   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.
+   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: 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::.
+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: Sentences,  Next: Paragraphs,  Prev: Words,  Up: Text
+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).
 
-Sentences
-=========
+\1f
+File: xemacs.info,  Node: Select Input Method,  Next: Coding Systems,  Prev: Input Methods,  Up: Mule
 
-   The Emacs commands for manipulating sentences and paragraphs are
-mostly on `Meta-' keys, and therefore are like the word-handling
-commands.
+Selecting an Input Method
+=========================
 
-`M-a'
-     Move back to the beginning of the sentence (`backward-sentence').
+`C-\'
+     Enable or disable use of the selected input method.
 
-`M-e'
-     Move forward to the end of the sentence (`forward-sentence').
+`C-x <RET> C-\ METHOD <RET>'
+     Select a new input method for the current buffer.
 
-`M-k'
-     Kill forward to the end of the sentence (`kill-sentence').
+`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).
 
-`C-x <DEL>'
-     Kill back to the beginning of the sentence
-     (`backward-kill-sentence').
+`M-x list-input-methods'
+     Display a list of all the supported input methods.
 
-   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.
+   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.
 
-   Neither `M-a' nor `M-e' moves past the newline or spaces beyond the
-sentence edge at which it is stopping.
+   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.
 
-   `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.
+   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.
 
-   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.
+   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).
 
-   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:
+   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'.
 
-     "[.?!][]\"')]*\\($\\|\t\\|  \\)[ \t\n]*"
+   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.
 
-This example is explained in the section on regexps.  *Note Regexps::.
+\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: 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.
+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::).