+++ /dev/null
-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::.).
-