Initial revision
[chise/xemacs-chise.git.1] / info / xemacs.info-8
diff --git a/info/xemacs.info-8 b/info/xemacs.info-8
new file mode 100644 (file)
index 0000000..5b6078b
--- /dev/null
@@ -0,0 +1,1068 @@
+This is Info file ../../info/xemacs.info, produced by Makeinfo version
+1.68 from the input file xemacs.texi.
+
+INFO-DIR-SECTION XEmacs Editor
+START-INFO-DIR-ENTRY
+* XEmacs: (xemacs).            XEmacs Editor.
+END-INFO-DIR-ENTRY
+
+   This file documents the XEmacs editor.
+
+   Copyright (C) 1985, 1986, 1988 Richard M. Stallman.  Copyright (C)
+1991, 1992, 1993, 1994 Lucid, Inc.  Copyright (C) 1993, 1994 Sun
+Microsystems, Inc.  Copyright (C) 1995 Amdahl Corporation.
+
+   Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+   Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided also
+that the sections entitled "The GNU Manifesto", "Distribution" and "GNU
+General Public License" are included exactly as in the original, and
+provided that the entire resulting derived work is distributed under the
+terms of a permission notice identical to this one.
+
+   Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that the sections entitled "The GNU Manifesto",
+"Distribution" and "GNU General Public License" may be included in a
+translation approved by the author instead of in the original English.
+
+\1f
+File: xemacs.info,  Node: Dired Immed,  Prev: Dired Deletion,  Up: Dired
+
+Immediate File Operations in Dired
+----------------------------------
+
+   Some file operations in Dired take place immediately when they are
+requested.
+
+`C'
+     Copies the file described on the current line.  You must supply a
+     file name to copy to, using the minibuffer.
+
+`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::.
+
+`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::.
+
+`R'
+     Renames the file described on the current line.  You must supply a
+     file name to rename to, using the minibuffer.
+
+`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.
+
+\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'.
+
+\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::.
+
+* Menu:
+
+* 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.
+
+\1f
+File: xemacs.info,  Node: Select Buffer,  Next: List Buffers,  Prev: Buffers,  Up: Buffers
+
+Creating and Selecting Buffers
+==============================
+
+`C-x b BUFFER <RET>'
+     Select or create a buffer named BUFFER (`switch-to-buffer').
+
+`C-x 4 b BUFFER <RET>'
+     Similar, but select a buffer named BUFFER in another window
+     (`switch-to-buffer-other-window').
+
+`M-x switch-to-other-buffer N'
+     Switch to the previous buffer.
+
+   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.
+
+   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.
+
+   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.
+
+   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.
+
+   Note that you can also use `C-x C-f' and any other command for
+visiting a file to switch buffers.  *Note Visiting::.
+
+\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.
+
+\1f
+File: xemacs.info,  Node: Misc Buffer,  Next: Kill Buffer,  Prev: List Buffers,  Up: Buffers
+
+Miscellaneous Buffer Operations
+===============================
+
+`C-x C-q'
+     Toggle read-only status of buffer (`toggle-read-only').
+
+`M-x rename-buffer'
+     Change the name of the current buffer.
+
+`M-x view-buffer'
+     Scroll through a buffer.
+
+   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'.
+
+   `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.
+
+   `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.
+
+   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: Kill Buffer,  Next: Several Buffers,  Prev: Misc Buffer,  Up: Buffers
+
+Killing Buffers
+===============
+
+   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.
+
+`C-x k'
+     Kill a buffer, specified by name (`kill-buffer').
+
+`M-x kill-some-buffers'
+     Offer to kill each buffer, one by one.
+
+   `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.
+
+   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: Several Buffers,  Prev: Kill Buffer,  Up: Buffers
+
+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.
+
+`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:
+
+`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.
+
+`k'
+     Synonym for `d'.
+
+`C-d'
+     Like `d' but move up afterwards instead of down.
+
+`s'
+     Request to save the buffer.  An `S' befor 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.
+
+`~'
+     Mark buffer "unmodified".  The command `~' does this immediately
+     when typed.
+
+`x'
+     Perform previously requested deletions and saves.
+
+`u'
+     Remove any request made for the current line, and move down.
+
+`<DEL>'
+     Move to previous line and remove any request made for that line.
+
+   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.
+
+   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.
+
+`1'
+     Select the buffer in a full-frame window.  This command takes
+     effect immediately.
+
+`2'
+     Immediately set up two windows, with this buffer in one and the
+     buffer selected before `*Buffer List*' in the other.
+
+`f'
+     Immediately select the buffer in place of the `*Buffer List*'
+     buffer.
+
+`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: Windows,  Next: Mule,  Prev: Buffers,  Up: Top
+
+Multiple Windows
+****************
+
+   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:
+
+* 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: 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: 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').
+
+\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 ALL-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.
+
+\1f
+File: xemacs.info,  Node: Pop Up Window,  Next: Change Window,  Prev: Other Window,  Up: Windows
+
+Displaying in Another Window
+============================
+
+   `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.
+
+`C-x 4 b BUFNAME <RET>'
+     Select buffer BUFNAME in another window.  This runs
+     `switch-to-buffer-other-window'.
+
+`C-x 4 f FILENAME <RET>'
+     Visit file FILENAME and select its buffer in another window.  This
+     runs `find-file-other-window'.  *Note Visiting::.
+
+`C-x 4 d DIRECTORY <RET>'
+     Select a Dired buffer for directory DIRECTORY in another window.
+     This runs `dired-other-window'.  *Note Dired::.
+
+`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::.).
+
+`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::.).
+
+   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.
+
+\1f
+File: xemacs.info,  Node: Change Window,  Prev: Pop Up Window,  Up: Windows
+
+Deleting and Rearranging Windows
+================================
+
+`C-x 0'
+     Get rid of the selected window (`delete-window').  That is a zero.
+     If there is more than one Emacs frame, deleting the sole remaining
+     window on that frame deletes the frame as well. If the current
+     frame is the only frame, it is not deleted.
+
+`C-x 1'
+     Get rid of all windows except the selected one
+     (`delete-other-windows').
+
+`C-x ^'
+     Make the selected window taller, at the expense of the other(s)
+     (`enlarge-window').
+
+`C-x }'
+     Make the selected window wider (`enlarge-window-horizontally').
+
+   To delete a window, type `C-x 0' (`delete-window').  (That is a
+zero.)  The space occupied by the deleted window is distributed among
+the other active windows (but not the minibuffer window, even if that
+is active at the time).  Once a window is deleted, its attributes are
+forgotten; there is no automatic way to make another window of the same
+shape or showing the same buffer.  The buffer continues to exist, and
+you can select it in any window with `C-x b'.
+
+   `C-x 1' (`delete-other-windows') is more powerful than `C-x 0'; it
+deletes all the windows except the selected one (and the minibuffer).
+The selected window expands to use the whole frame except for the echo
+area.
+
+   To readjust the division of space among existing windows, use `C-x
+^' (`enlarge-window').  It makes the currently selected window longer
+by one line or as many lines as a numeric argument specifies.  With a
+negative argument, it makes the selected window smaller.  `C-x }'
+(`enlarge-window-horizontally') makes the selected window wider by the
+specified number of columns.  The extra screen space given to a window
+comes from one of its neighbors, if that is possible; otherwise, all
+the competing windows are shrunk in the same proportion.  If this makes
+some windows too small, those windows are deleted and their space is
+divided up.   Minimum window size is specified by the variables
+`window-min-height' and `window-min-width'.
+
+   You can also resize windows within a frame by clicking the left mouse
+button on a modeline, and dragging.
+
+   Clicking the right button on a mode line pops up a menu of common
+window manager operations.  This menu contains the following options:
+
+Delete Window
+     Remove the window above this modeline from the frame.
+
+Delete Other Windows
+     Delete all windows on the frame except for the one above this
+     modeline.
+
+Split Window
+     Split the window above the mode line in half, creating another
+     window.
+
+Split Window Horizontally
+     Split the window above the mode line in half horizontally, so that
+     there will be two windows side-by-side.
+
+Balance Windows
+     Readjust the sizes of all windows on the frame until all windows
+     have roughly the same number of lines.
+
+\1f
+File: xemacs.info,  Node: Mule,  Next: Major Modes,  Prev: Windows,  Up: Top
+
+World Scripts Support
+*********************
+
+   If you compile XEmacs with mule option, it supports a wide variety of
+world scripts, including Latin script, as well as Arabic script,
+Simplified Chinese script (for mainland of China), Traditional Chinese
+script (for Taiwan and Hong-Kong), Greek script, Hebrew script, IPA
+symbols, Japanese scripts (Hiragana, Katakana and Kanji), Korean scripts
+(Hangul and Hanja) and Cyrillic script (for Beylorussian, Bulgarian,
+Russian, Serbian and Ukrainian).  These features have been merged from
+the modified version of Emacs known as MULE (for "MULti-lingual
+Enhancement to GNU Emacs").
+
+* Menu:
+
+* Mule Intro::              Basic concepts of Mule.
+* Language Environments::   Setting things up for the language you use.
+* Input Methods::           Entering text characters not on your keyboard.
+* Select Input Method::     Specifying your choice of input methods.
+* Coding Systems::          Character set conversion when you read and
+                              write files, and so on.
+* Recognize Coding::        How XEmacs figures out which conversion to use.
+* Specify Coding::          Various ways to choose which conversion to use.
+
+\1f
+File: xemacs.info,  Node: Mule Intro,  Next: Language Environments,  Prev: Mule,  Up: Mule
+
+Introduction to world scripts
+=============================
+
+   The users of these scripts have established many more-or-less
+standard coding systems for storing files.  XEmacs translates between
+the internal character encoding and various other coding systems when
+reading and writing files, when exchanging data with subprocesses, and
+(in some cases) in the `C-q' command (see below).
+
+   The command `C-h h' (`view-hello-file') displays the file
+`etc/HELLO', which shows how to say "hello" in many languages.  This
+illustrates various scripts.
+
+   Keyboards, even in the countries where these character sets are used,
+generally don't have keys for all the characters in them.  So XEmacs
+supports various "input methods", typically one for each script or
+language, to make it convenient to type them.
+
+   The prefix key `C-x <RET>' is used for commands that pertain to
+world scripts, coding systems, and input methods.
+
+\1f
+File: xemacs.info,  Node: Language Environments,  Next: Input Methods,  Prev: Mule Intro,  Up: Mule
+
+Language Environments
+=====================
+
+   All supported character sets are supported in XEmacs buffers if it is
+compile with mule; there is no need to select a particular language in
+order to display its characters in an XEmacs buffer.  However, it is
+important to select a "language environment" in order to set various
+defaults.  The language environment really represents a choice of
+preferred script (more or less) rather that a choice of language.
+
+   The language environment controls which coding systems to recognize
+when reading text (*note Recognize Coding::.).  This applies to files,
+incoming mail, netnews, and any other text you read into XEmacs.  It may
+also specify the default coding system to use when you create a file.
+Each language environment also specifies a default input method.
+
+   The command to select a language environment is `M-x
+set-language-environment'.  It makes no difference which buffer is
+current when you use this command, because the effects apply globally to
+the XEmacs session.  The supported language environments include:
+
+     Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ISO, English,
+     Ethiopic, Greek, Japanese, Korean, Latin-1, Latin-2, Latin-3,
+     Latin-4, Latin-5.
+
+   Some operating systems let you specify the language you are using by
+setting locale environment variables.  XEmacs handles one common special
+case of this: if your locale name for character types contains the
+string `8859-N', XEmacs automatically selects the corresponding
+language environment.
+
+   To display information about the effects of a certain language
+environment LANG-ENV, use the command `C-h L LANG-ENV <RET>'
+(`describe-language-environment').  This tells you which languages this
+language environment is useful for, and lists the character sets,
+coding systems, and input methods that go with it.  It also shows some
+sample text to illustrate scripts used in this language environment.
+By default, this command describes the chosen language environment.
+
+\1f
+File: xemacs.info,  Node: Input Methods,  Next: Select Input Method,  Prev: Language Environments,  Up: Mule
+
+Input Methods
+=============
+
+   An "input method" is a kind of character conversion designed
+specifically for interactive input.  In XEmacs, typically each language
+has its own input method; sometimes several languages which use the same
+characters can share one input method.  A few languages support several
+input methods.
+
+   The simplest kind of input method works by mapping ASCII letters into
+another alphabet.  This is how the Greek and Russian input methods work.
+
+   A more powerful technique is composition: converting sequences of
+characters into one letter.  Many European input methods use composition
+to produce a single non-ASCII letter from a sequence that consists of a
+letter followed by accent characters.  For example, some methods convert
+the sequence `'a' into a single accented letter.
+
+   The input methods for syllabic scripts typically use mapping followed
+by composition.  The input methods for Thai and Korean work this way.
+First, letters are mapped into symbols for particular sounds or tone
+marks; then, sequences of these which make up a whole syllable are
+mapped into one syllable sign.
+
+   Chinese and Japanese require more complex methods.  In Chinese input
+methods, first you enter the phonetic spelling of a Chinese word (in
+input method `chinese-py', among others), or a sequence of portions of
+the character (input methods `chinese-4corner' and `chinese-sw', and
+others).  Since one phonetic spelling typically corresponds to many
+different Chinese characters, you must select one of the alternatives
+using special XEmacs commands.  Keys such as `C-f', `C-b', `C-n',
+`C-p', and digits have special definitions in this situation, used for
+selecting among the alternatives.  <TAB> displays a buffer showing all
+the possibilities.
+
+   In Japanese input methods, first you input a whole word using
+phonetic spelling; then, after the word is in the buffer, XEmacs
+converts it into one or more characters using a large dictionary.  One
+phonetic spelling corresponds to many differently written Japanese
+words, so you must select one of them; use `C-n' and `C-p' to cycle
+through the alternatives.
+
+   Sometimes it is useful to cut off input method processing so that the
+characters you have just entered will not combine with subsequent
+characters.  For example, in input method `latin-1-postfix', the
+sequence `e '' combines to form an `e' with an accent.  What if you
+want to enter them as separate characters?
+
+   One way is to type the accent twice; that is a special feature for
+entering the separate letter and accent.  For example, `e ' '' gives
+you the two characters `e''.  Another way is to type another letter
+after the `e'--something that won't combine with that--and immediately
+delete it.  For example, you could type `e e <DEL> '' to get separate
+`e' and `''.
+
+   Another method, more general but not quite as easy to type, is to use
+`C-\ C-\' between two characters to stop them from combining.  This is
+the command `C-\' (`toggle-input-method') used twice.  *Note Select
+Input Method::.
+
+   `C-\ C-\' is especially useful inside an incremental search, because
+stops waiting for more characters to combine, and starts searching for
+what you have already entered.
+
+   The variables `input-method-highlight-flag' and
+`input-method-verbose-flag' control how input methods explain what is
+happening.  If `input-method-highlight-flag' is non-`nil', the partial
+sequence is highlighted in the buffer.  If `input-method-verbose-flag'
+is non-`nil', the list of possible characters to type next is displayed
+in the echo area (but not when you are in the minibuffer).
+
+\1f
+File: xemacs.info,  Node: Select Input Method,  Next: Coding Systems,  Prev: Input Methods,  Up: Mule
+
+Selecting an Input Method
+=========================
+
+`C-\'
+     Enable or disable use of the selected input method.
+
+`C-x <RET> C-\ METHOD <RET>'
+     Select a new input method for the current buffer.
+
+`C-h I METHOD <RET>'
+`C-h C-\ METHOD <RET>'
+     Describe the input method METHOD (`describe-input-method').  By
+     default, it describes the current input method (if any).
+
+`M-x list-input-methods'
+     Display a list of all the supported input methods.
+
+   To choose an input method for the current buffer, use `C-x <RET>
+C-\' (`select-input-method').  This command reads the input method name
+with the minibuffer; the name normally starts with the language
+environment that it is meant to be used with.  The variable
+`current-input-method' records which input method is selected.
+
+   Input methods use various sequences of ASCII characters to stand for
+non-ASCII characters.  Sometimes it is useful to turn off the input
+method temporarily.  To do this, type `C-\' (`toggle-input-method').
+To reenable the input method, type `C-\' again.
+
+   If you type `C-\' and you have not yet selected an input method, it
+prompts for you to specify one.  This has the same effect as using `C-x
+<RET> C-\' to specify an input method.
+
+   Selecting a language environment specifies a default input method for
+use in various buffers.  When you have a default input method, you can
+select it in the current buffer by typing `C-\'.  The variable
+`default-input-method' specifies the default input method (`nil' means
+there is none).
+
+   Some input methods for alphabetic scripts work by (in effect)
+remapping the keyboard to emulate various keyboard layouts commonly used
+for those scripts.  How to do this remapping properly depends on your
+actual keyboard layout.  To specify which layout your keyboard has, use
+the command `M-x quail-set-keyboard-layout'.
+
+   To display a list of all the supported input methods, type `M-x
+list-input-methods'.  The list gives information about each input
+method, including the string that stands for it in the mode line.
+
+\1f
+File: xemacs.info,  Node: Coding Systems,  Next: Recognize Coding,  Prev: Select Input Method,  Up: Mule
+
+Coding Systems
+==============
+
+   Users of various languages have established many more-or-less
+standard coding systems for representing them.  XEmacs does not use
+these coding systems internally; instead, it converts from various
+coding systems to its own system when reading data, and converts the
+internal coding system to other coding systems when writing data.
+Conversion is possible in reading or writing files, in sending or
+receiving from the terminal, and in exchanging data with subprocesses.
+
+   XEmacs assigns a name to each coding system.  Most coding systems are
+used for one language, and the name of the coding system starts with the
+language name.  Some coding systems are used for several languages;
+their names usually start with `iso'.  There are also special coding
+systems `binary' and `no-conversion' which do not convert printing
+characters at all.
+
+   In addition to converting various representations of non-ASCII
+characters, a coding system can perform end-of-line conversion.  XEmacs
+handles three different conventions for how to separate lines in a file:
+newline, carriage-return linefeed, and just carriage-return.
+
+`C-h C CODING <RET>'
+     Describe coding system CODING.
+
+`C-h C <RET>'
+     Describe the coding systems currently in use.
+
+`M-x list-coding-systems'
+     Display a list of all the supported coding systems.
+
+   The command `C-h C' (`describe-coding-system') displays information
+about particular coding systems.  You can specify a coding system name
+as argument; alternatively, with an empty argument, it describes the
+coding systems currently selected for various purposes, both in the
+current buffer and as the defaults, and the priority list for
+recognizing coding systems (*note Recognize Coding::.).
+
+   To display a list of all the supported coding systems, type `M-x
+list-coding-systems'.  The list gives information about each coding
+system, including the letter that stands for it in the mode line (*note
+Mode Line::.).
+
+   Each of the coding systems that appear in this list--except for
+`binary', which means no conversion of any kind--specifies how and
+whether to convert printing characters, but leaves the choice of
+end-of-line conversion to be decided based on the contents of each file.
+For example, if the file appears to use carriage-return linefeed between
+lines, that end-of-line conversion will be used.
+
+   Each of the listed coding systems has three variants which specify
+exactly what to do for end-of-line conversion:
+
+`...-unix'
+     Don't do any end-of-line conversion; assume the file uses newline
+     to separate lines.  (This is the convention normally used on Unix
+     and GNU systems.)
+
+`...-dos'
+     Assume the file uses carriage-return linefeed to separate lines,
+     and do the appropriate conversion.  (This is the convention
+     normally used on Microsoft systems.)
+
+`...-mac'
+     Assume the file uses carriage-return to separate lines, and do the
+     appropriate conversion.  (This is the convention normally used on
+     the Macintosh system.)
+
+   These variant coding systems are omitted from the
+`list-coding-systems' display for brevity, since they are entirely
+predictable.  For example, the coding system `iso-8859-1' has variants
+`iso-8859-1-unix', `iso-8859-1-dos' and `iso-8859-1-mac'.
+
+   In contrast, the coding system `binary' specifies no character code
+conversion at all--none for non-Latin-1 byte values and none for end of
+line.  This is useful for reading or writing binary files, tar files,
+and other files that must be examined verbatim.
+
+   The easiest way to edit a file with no conversion of any kind is with
+the `M-x find-file-literally' command.  This uses `binary', and also
+suppresses other XEmacs features that might convert the file contents
+before you see them.  *Note Visiting::.
+
+   The coding system `no-conversion' means that the file contains
+non-Latin-1 characters stored with the internal XEmacs encoding.  It
+handles end-of-line conversion based on the data encountered, and has
+the usual three variants to specify the kind of end-of-line conversion.
+
+\1f
+File: xemacs.info,  Node: Recognize Coding,  Next: Specify Coding,  Prev: Coding Systems,  Up: Mule
+
+Recognizing Coding Systems
+==========================
+
+   Most of the time, XEmacs can recognize which coding system to use for
+any given file-once you have specified your preferences.
+
+   Some coding systems can be recognized or distinguished by which byte
+sequences appear in the data.  However, there are coding systems that
+cannot be distinguished, not even potentially.  For example, there is no
+way to distinguish between Latin-1 and Latin-2; they use the same byte
+values with different meanings.
+
+   XEmacs handles this situation by means of a priority list of coding
+systems.  Whenever XEmacs reads a file, if you do not specify the coding
+system to use, XEmacs checks the data against each coding system,
+starting with the first in priority and working down the list, until it
+finds a coding system that fits the data.  Then it converts the file
+contents assuming that they are represented in this coding system.
+
+   The priority list of coding systems depends on the selected language
+environment (*note Language Environments::.).  For example, if you use
+French, you probably want XEmacs to prefer Latin-1 to Latin-2; if you
+use Czech, you probably want Latin-2 to be preferred.  This is one of
+the reasons to specify a language environment.
+
+   However, you can alter the priority list in detail with the command
+`M-x prefer-coding-system'.  This command reads the name of a coding
+system from the minibuffer, and adds it to the front of the priority
+list, so that it is preferred to all others.  If you use this command
+several times, each use adds one element to the front of the priority
+list.
+
+   Sometimes a file name indicates which coding system to use for the
+file.  The variable `file-coding-system-alist' specifies this
+correspondence.  There is a special function
+`modify-coding-system-alist' for adding elements to this list.  For
+example, to read and write all `.txt' using the coding system
+`china-iso-8bit', you can execute this Lisp expression:
+
+     (modify-coding-system-alist 'file "\\.txt\\'" 'china-iso-8bit)
+
+The first argument should be `file', the second argument should be a
+regular expression that determines which files this applies to, and the
+third argument says which coding system to use for these files.
+
+   You can specify the coding system for a particular file using the
+`-*-...-*-' construct at the beginning of a file, or a local variables
+list at the end (*note File Variables::.).  You do this by defining a
+value for the "variable" named `coding'.  XEmacs does not really have a
+variable `coding'; instead of setting a variable, it uses the specified
+coding system for the file.  For example, `-*-mode: C; coding:
+iso-8859-1;-*-' specifies use of the iso-8859-1 coding system, as well
+as C mode.
+
+   Once XEmacs has chosen a coding system for a buffer, it stores that
+coding system in `buffer-file-coding-system' and uses that coding
+system, by default, for operations that write from this buffer into a
+file.  This includes the commands `save-buffer' and `write-region'.  If
+you want to write files from this buffer using a different coding
+system, you can specify a different coding system for the buffer using
+`set-buffer-file-coding-system' (*note Specify Coding::.).
+