-This is ../info/xemacs.info, produced by makeinfo version 4.0 from
+This is ../info/xemacs.info, produced by makeinfo version 4.0b from
xemacs/xemacs.texi.
INFO-DIR-SECTION XEmacs Editor
translation approved by the author instead of in the original English.
\1f
+File: xemacs.info, Node: Dired Deletion, Next: Dired Immed, Prev: Dired Edit, Up: Dired
+
+Deleting Files With Dired
+-------------------------
+
+ The primary use of Dired is to flag files for deletion and then
+delete them.
+
+`d'
+ Flag this file for deletion.
+
+`u'
+ Remove deletion-flag on this line.
+
+`<DEL>'
+ Remove deletion-flag on previous line, moving point to that line.
+
+`x'
+ Delete the files that are flagged for deletion.
+
+`#'
+ Flag all auto-save files (files whose names start and end with `#')
+ for deletion (*note Auto Save::).
+
+`~'
+ Flag all backup files (files whose names end with `~') for deletion
+ (*note Backup::).
+
+`. (Period)'
+ Flag excess numeric backup files for deletion. The oldest and
+ newest few backup files of any one file are exempt; the middle
+ ones are flagged.
+
+ You can flag a file for deletion by moving to the line describing the
+file and typing `d' or `C-d'. The deletion flag is visible as a `D' at
+the beginning of the line. Point is moved to the beginning of the next
+line, so that repeated `d' commands flag successive files.
+
+ The files are flagged for deletion rather than deleted immediately to
+avoid the danger of deleting a file accidentally. Until you direct
+Dired to delete the flagged files, you can remove deletion flags using
+the commands `u' and <DEL>. `u' works just like `d', but removes flags
+rather than making flags. <DEL> moves upward, removing flags; it is
+like `u' with numeric argument automatically negated.
+
+ To delete the flagged files, type `x'. This command first displays a
+list of all the file names flagged for deletion, and requests
+confirmation with `yes'. Once you confirm, all the flagged files are
+deleted, and their lines are deleted from the text of the Dired buffer.
+The shortened Dired buffer remains selected. If you answer `no' or
+quit with `C-g', you return immediately to Dired, with the deletion
+flags still present and no files actually deleted.
+
+ The `#', `~', and `.' commands flag many files for deletion, based
+on their names. These commands are useful precisely because they do
+not actually delete any files; you can remove the deletion flags from
+any flagged files that you really wish to keep.
+
+ `#' flags for deletion all files that appear to have been made by
+auto-saving (that is, files whose names begin and end with `#'). `~'
+flags for deletion all files that appear to have been made as backups
+for files that were edited (that is, files whose names end with `~').
+
+ `.' (Period) flags just some of the backup files for deletion: only
+numeric backups that are not among the oldest few nor the newest few
+backups of any one file. Normally `dired-kept-versions' (not
+`kept-new-versions'; that applies only when saving) specifies the
+number of newest versions of each file to keep, and `kept-old-versions'
+specifies the number of oldest versions to keep. Period with a
+positive numeric argument, as in `C-u 3 .', specifies the number of
+newest versions to keep, overriding `dired-kept-versions'. A negative
+numeric argument overrides `kept-old-versions', using minus the value
+of the argument to specify the number of oldest versions of each file
+to keep.
+
+\1f
+File: xemacs.info, Node: 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' before the buffer name on a
+ line indicates the request. Requested saves actually take place
+ when you use the `x' command. You can request both saving and
+ deletion for the same buffer.
+
+`~'
+ 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 WHICH-FRAMES is non-`nil', the
+function cycles through all frames. When the minibuffer is active, the
+minibuffer is the last window in the cycle; you can switch from the
+minibuffer window to one of the other windows, and later switch back
+and finish supplying the minibuffer argument that is requested. *Note
+Minibuffer Edit::.
+
+ The command `M-x other-window-any-frame' also selects the window N
+steps away in the cyclic order. However, unlike `other-window', this
+command selects a window on the next or previous frame instead of
+wrapping around to the top or bottom of the current frame, when there
+are no more windows.
+
+ The usual scrolling commands (*note Display::) apply to the selected
+window only. `M-C-v' (`scroll-other-window') scrolls the window that
+`C-x o' would select. Like `C-v', it takes positive and negative
+arguments.
+
+ The command `M-x compare-windows' compares the text in the current
+window with the text in the next window. Comparison starts at point in
+each window. Point moves forward in each window, a character at a time,
+until the next set of characters in the two windows are different.
+Then the command is finished.
+
+ A prefix argument IGNORE-WHITESPACE means ignore changes in
+whitespace. The variable `compare-windows-whitespace' controls how
+whitespace is skipped.
+
+ If `compare-ignore-case' is non-`nil', changes in case are also
+ignored.
+
+\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 Byelorussian, Bulgarian,
+Russian, Serbian and Ukrainian). These features have been merged from
+the modified version of Emacs known as MULE (for "MULti-lingual
+Enhancement to GNU Emacs").
+
+* 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
system, you can specify a different coding system for the buffer using
`set-buffer-file-coding-system' (*note Specify Coding::).
-\1f
-File: xemacs.info, Node: Specify Coding, Prev: Recognize Coding, Up: Mule
-
-Specifying a Coding System
-==========================
-
- In cases where XEmacs does not automatically choose the right coding
-system, you can use these commands to specify one:
-
-`C-x <RET> f CODING <RET>'
- Use coding system CODING for the visited file in the current
- buffer.
-
-`C-x <RET> c CODING <RET>'
- Specify coding system CODING for the immediately following command.
-
-`C-x <RET> k CODING <RET>'
- Use coding system CODING for keyboard input.
-
-`C-x <RET> t CODING <RET>'
- Use coding system CODING for terminal output.
-
-`C-x <RET> p CODING <RET>'
- Use coding system CODING for subprocess input and output in the
- current buffer.
-
- The command `C-x RET f' (`set-buffer-file-coding-system') specifies
-the file coding system for the current buffer--in other words, which
-coding system to use when saving or rereading the visited file. You
-specify which coding system using the minibuffer. Since this command
-applies to a file you have already visited, it affects only the way the
-file is saved.
-
- Another way to specify the coding system for a file is when you visit
-the file. First use the command `C-x <RET> c'
-(`universal-coding-system-argument'); this command uses the minibuffer
-to read a coding system name. After you exit the minibuffer, the
-specified coding system is used for _the immediately following command_.
-
- So if the immediately following command is `C-x C-f', for example,
-it reads the file using that coding system (and records the coding
-system for when the file is saved). Or if the immediately following
-command is `C-x C-w', it writes the file using that coding system.
-Other file commands affected by a specified coding system include `C-x
-C-i' and `C-x C-v', as well as the other-window variants of `C-x C-f'.
-
- In addition, if you run some file input commands with the precedent
-`C-u', you can specify coding system to read from minibuffer. So if
-the immediately following command is `C-x C-f', for example, it reads
-the file using that coding system (and records the coding system for
-when the file is saved). Other file commands affected by a specified
-coding system include `C-x C-i' and `C-x C-v', as well as the
-other-window variants of `C-x C-f'.
-
- The variable `default-buffer-file-coding-system' specifies the
-choice of coding system to use when you create a new file. It applies
-when you find a new file, and when you create a buffer and then save it
-in a file. Selecting a language environment typically sets this
-variable to a good choice of default coding system for that language
-environment.
-
- The command `C-x <RET> t' (`set-terminal-coding-system') specifies
-the coding system for terminal output. If you specify a character code
-for terminal output, all characters output to the terminal are
-translated into that coding system.
-
- This feature is useful for certain character-only terminals built to
-support specific languages or character sets--for example, European
-terminals that support one of the ISO Latin character sets.
-
- By default, output to the terminal is not translated at all.
-
- The command `C-x <RET> k' (`set-keyboard-coding-system') specifies
-the coding system for keyboard input. Character-code translation of
-keyboard input is useful for terminals with keys that send non-ASCII
-graphic characters--for example, some terminals designed for ISO
-Latin-1 or subsets of it.
-
- By default, keyboard input is not translated at all.
-
- There is a similarity between using a coding system translation for
-keyboard input, and using an input method: both define sequences of
-keyboard input that translate into single characters. However, input
-methods are designed to be convenient for interactive use by humans, and
-the sequences that are translated are typically sequences of ASCII
-printing characters. Coding systems typically translate sequences of
-non-graphic characters.
-
- The command `C-x <RET> p' (`set-buffer-process-coding-system')
-specifies the coding system for input and output to a subprocess. This
-command applies to the current buffer; normally, each subprocess has its
-own buffer, and thus you can use this command to specify translation to
-and from a particular subprocess by giving the command in the
-corresponding buffer.
-
- By default, process input and output are not translated at all.
-
- The variable `file-name-coding-system' specifies a coding system to
-use for encoding file names. If you set the variable to a coding
-system name (as a Lisp symbol or a string), XEmacs encodes file names
-using that coding system for all file operations. This makes it
-possible to use non-Latin-1 characters in file names--or, at least,
-those non-Latin-1 characters which the specified coding system can
-encode. By default, this variable is `nil', which implies that you
-cannot use non-Latin-1 characters in file names.
-
-\1f
-File: xemacs.info, Node: Major Modes, Next: Indentation, Prev: Mule, Up: Top
-
-Major Modes
-***********
-
- Emacs has many different "major modes", each of which customizes
-Emacs for editing text of a particular sort. The major modes are
-mutually exclusive; at any time, each buffer has one major mode. The
-mode line normally contains the name of the current major mode in
-parentheses. *Note Mode Line::.
-
- The least specialized major mode is called "Fundamental mode". This
-mode has no mode-specific redefinitions or variable settings. Each
-Emacs command behaves in its most general manner, and each option is in
-its default state. For editing any specific type of text, such as Lisp
-code or English text, you should switch to the appropriate major mode,
-such as Lisp mode or Text mode.
-
- Selecting a major mode changes the meanings of a few keys to become
-more specifically adapted to the language being edited. <TAB>, <DEL>,
-and <LFD> are changed frequently. In addition, commands which handle
-comments use the mode to determine how to delimit comments. Many major
-modes redefine the syntactical properties of characters appearing in
-the buffer. *Note Syntax::.
-
- The major modes fall into three major groups. Lisp mode (which has
-several variants), C mode, and Muddle mode are for specific programming
-languages. Text mode, Nroff mode, TeX mode, and Outline mode are for
-editing English text. The remaining major modes are not intended for
-use on users' files; they are used in buffers created by Emacs for
-specific purposes and include Dired mode for buffers made by Dired
-(*note Dired::), Mail mode for buffers made by `C-x m' (*note Sending
-Mail::), and Shell mode for buffers used for communicating with an
-inferior shell process (*note Interactive Shell::).
-
- Most programming language major modes specify that only blank lines
-separate paragraphs. This is so that the paragraph commands remain
-useful. *Note Paragraphs::. They also cause Auto Fill mode to use the
-definition of <TAB> to indent the new lines it creates. This is
-because most lines in a program are usually indented. *Note
-Indentation::.
-
-* Menu:
-
-* Choosing Modes:: How major modes are specified or chosen.
-
-\1f
-File: xemacs.info, Node: Choosing Modes, Prev: Major Modes, Up: Major Modes
-
-Choosing Major Modes
-====================
-
- You can select a major mode explicitly for the current buffer, but
-most of the time Emacs determines which mode to use based on the file
-name or some text in the file.
-
- Use a `M-x' command to explicitly select a new major mode. Add
-`-mode' to the name of a major mode to get the name of a command to
-select that mode. For example, to enter Lisp mode, execute `M-x
-lisp-mode'.
-
- When you visit a file, Emacs usually chooses the right major mode
-based on the file's name. For example, files whose names end in `.c'
-are edited in C mode. The variable `auto-mode-alist' controls the
-correspondence between file names and major mode. Its value is a list
-in which each element has the form:
-
- (REGEXP . MODE-FUNCTION)
-
-For example, one element normally found in the list has the form
-`("\\.c$" . c-mode)'. It is responsible for selecting C mode for files
-whose names end in `.c'. (Note that `\\' is needed in Lisp syntax to
-include a `\' in the string, which is needed to suppress the special
-meaning of `.' in regexps.) The only practical way to change this
-variable is with Lisp code.
-
- You can specify which major mode should be used for editing a certain
-file by a special sort of text in the first non-blank line of the file.
-The mode name should appear in this line both preceded and followed by
-`-*-'. Other text may appear on the line as well. For example,
-
- ;-*-Lisp-*-
-
-tells Emacs to use Lisp mode. Note how the semicolon is used to make
-Lisp treat this line as a comment. Such an explicit specification
-overrides any default mode based on the file name.
-
- Another format of mode specification is:
-
- -*-Mode: MODENAME;-*-
-
-which allows other things besides the major mode name to be specified.
-However, Emacs does not look for anything except the mode name.
-
- The major mode can also be specified in a local variables list.
-*Note File Variables::.
-
- When you visit a file that does not specify a major mode to use, or
-when you create a new buffer with `C-x b', Emacs uses the major mode
-specified by the variable `default-major-mode'. Normally this value is
-the symbol `fundamental-mode', which specifies Fundamental mode. If
-`default-major-mode' is `nil', the major mode is taken from the
-previously selected buffer.
-
-\1f
-File: xemacs.info, Node: Indentation, Next: Text, Prev: Major Modes, Up: Top
-
-Indentation
-***********
-
-`<TAB>'
- Indent current line "appropriately" in a mode-dependent fashion.
-
-`<LFD>'
- Perform <RET> followed by <TAB> (`newline-and-indent').
-
-`M-^'
- Merge two lines (`delete-indentation'). This would cancel out the
- effect of <LFD>.
-
-`C-M-o'
- Split line at point; text on the line after point becomes a new
- line indented to the same column that it now starts in
- (`split-line').
-
-`M-m'
- Move (forward or back) to the first non-blank character on the
- current line (`back-to-indentation').
-
-`C-M-\'
- Indent several lines to same column (`indent-region').
-
-`C-x <TAB>'
- Shift block of lines rigidly right or left (`indent-rigidly').
-
-`M-i'
- Indent from point to the next prespecified tab stop column
- (`tab-to-tab-stop').
-
-`M-x indent-relative'
- Indent from point to under an indentation point in the previous
- line.
-
- Most programming languages have some indentation convention. For
-Lisp code, lines are indented according to their nesting in
-parentheses. The same general idea is used for C code, though details
-differ.
-
- Use the <TAB> command to indent a line whatever the language. Each
-major mode defines this command to perform indentation appropriate for
-the particular language. In Lisp mode, <TAB> aligns a line according
-to its depth in parentheses. No matter where in the line you are when
-you type <TAB>, it aligns the line as a whole. In C mode, <TAB>
-implements a subtle and sophisticated indentation style that knows
-about many aspects of C syntax.
-
- In Text mode, <TAB> runs the command `tab-to-tab-stop', which
-indents to the next tab stop column. You can set the tab stops with
-`M-x edit-tab-stops'.
-
-* Menu:
-
-* Indentation Commands:: Various commands and techniques for indentation.
-* Tab Stops:: You can set arbitrary "tab stops" and then
- indent to the next tab stop when you want to.
-* Just Spaces:: You can request indentation using just spaces.
-
-\1f
-File: xemacs.info, Node: Indentation Commands, Next: Tab Stops, Prev: Indentation, Up: Indentation
-
-Indentation Commands and Techniques
-===================================
-
- If you just want to insert a tab character in the buffer, you can
-type `C-q <TAB>'.
-
- To move over the indentation on a line, type `Meta-m'
-(`back-to-indentation'). This command, given anywhere on a line,
-positions point at the first non-blank character on the line.
-
- To insert an indented line before the current line, type `C-a C-o
-<TAB>'. To make an indented line after the current line, use `C-e
-<LFD>'.
-
- `C-M-o' (`split-line') moves the text from point to the end of the
-line vertically down, so that the current line becomes two lines.
-`C-M-o' first moves point forward over any spaces and tabs. Then it
-inserts after point a newline and enough indentation to reach the same
-column point is on. Point remains before the inserted newline; in this
-regard, `C-M-o' resembles `C-o'.
-
- To join two lines cleanly, use the `Meta-^' (`delete-indentation')
-command to delete the indentation at the front of the current line, and
-the line boundary as well. Empty spaces are replaced by a single
-space, or by no space if at the beginning of a line, before a close
-parenthesis, or after an open parenthesis. To delete just the
-indentation of a line, go to the beginning of the line and use `Meta-\'
-(`delete-horizontal-space'), which deletes all spaces and tabs around
-the cursor.
-
- There are also commands for changing the indentation of several
-lines at once. `Control-Meta-\' (`indent-region') gives each line which
-begins in the region the "usual" indentation by invoking <TAB> at the
-beginning of the line. A numeric argument specifies the column to
-indent to. Each line is shifted left or right so that its first
-non-blank character appears in that column. `C-x <TAB>'
-(`indent-rigidly') moves all the lines in the region right by its
-argument (left, for negative arguments). The whole group of lines moves
-rigidly sideways, which is how the command gets its name.
-
- `M-x indent-relative' indents at point based on the previous line
-(actually, the last non-empty line.) It inserts whitespace at point,
-moving point, until it is underneath an indentation point in the
-previous line. An indentation point is the end of a sequence of
-whitespace or the end of the line. If point is farther right than any
-indentation point in the previous line, the whitespace before point is
-deleted and the first indentation point then applicable is used. If no
-indentation point is applicable even then, `tab-to-tab-stop' is run
-(see next section).
-
- `indent-relative' is the definition of <TAB> in Indented Text mode.
-*Note Text::.
-
-\1f
-File: xemacs.info, Node: Tab Stops, Next: Just Spaces, Prev: Indentation Commands, Up: Indentation
-
-Tab Stops
-=========
-
- For typing in tables, you can use Text mode's definition of <TAB>,
-`tab-to-tab-stop'. This command inserts indentation before point,
-enough to reach the next tab stop column. Even if you are not in Text
-mode, this function is associated with `M-i' anyway.
-
- You can arbitrarily set the tab stops used by `M-i'. They are
-stored as a list of column-numbers in increasing order in the variable
-`tab-stop-list'.
-
- The convenient way to set the tab stops is using `M-x
-edit-tab-stops', which creates and selects a buffer containing a
-description of the tab stop settings. You can edit this buffer to
-specify different tab stops, and then type `C-c C-c' to make those new
-tab stops take effect. In the tab stop buffer, `C-c C-c' runs the
-function `edit-tab-stops-note-changes' rather than the default
-`save-buffer'. `edit-tab-stops' records which buffer was current when
-you invoked it, and stores the tab stops in that buffer. Normally all
-buffers share the same tab stops and changing them in one buffer
-affects all. If you make `tab-stop-list' local in one buffer
-`edit-tab-stops' in that buffer edits only the local settings.
-
- Below is the text representing ordinary tab stops every eight
-columns:
-
- : : : : : :
- 0 1 2 3 4
- 0123456789012345678901234567890123456789012345678
- To install changes, type C-c C-c
-
- The first line contains a colon at each tab stop. The remaining
-lines help you see where the colons are and tell you what to do.
-
- Note that the tab stops that control `tab-to-tab-stop' have nothing
-to do with displaying tab characters in the buffer. *Note Display
-Vars::, for more information on that.
-
-\1f
-File: xemacs.info, Node: Just Spaces, Prev: Tab Stops, Up: Indentation
-
-Tabs vs. Spaces
-===============
-
- Emacs normally uses both tabs and spaces to indent lines. If you
-prefer, all indentation can be made from spaces only. To request this,
-set `indent-tabs-mode' to `nil'. This is a per-buffer variable;
-altering the variable affects only the current buffer, but there is a
-default value which you can change as well. *Note Locals::.
-
- There are also commands to convert tabs to spaces or vice versa,
-always preserving the columns of all non-blank text. `M-x tabify'
-scans the region for sequences of spaces, and converts sequences of at
-least three spaces to tabs if that is possible without changing
-indentation. `M-x untabify' changes all tabs in the region to
-corresponding numbers of spaces.
-
-\1f
-File: xemacs.info, Node: Text, Next: Programs, Prev: Indentation, Up: Top
-
-Commands for Human Languages
-****************************
-
- The term "text" has two widespread meanings in our area of the
-computer field. One is data that is a sequence of characters. In this
-sense of the word any file that you edit with Emacs is text. The other
-meaning is more restrictive: a sequence of characters in a human
-language for humans to read (possibly after processing by a text
-formatter), as opposed to a program or commands for a program.
-
- Human languages have syntactic and stylistic conventions that editor
-commands should support or use to advantage: conventions involving
-words, sentences, paragraphs, and capital letters. This chapter
-describes Emacs commands for all these things. There are also commands
-for "filling", or rearranging paragraphs into lines of approximately
-equal length. The commands for moving over and killing words,
-sentences, and paragraphs, while intended primarily for editing text,
-are also often useful for editing programs.
-
- Emacs has several major modes for editing human language text. If a
-file contains plain text, use Text mode, which customizes Emacs in
-small ways for the syntactic conventions of text. For text which
-contains embedded commands for text formatters, Emacs has other major
-modes, each for a particular text formatter. Thus, for input to TeX,
-you can use TeX mode; for input to nroff, Nroff mode.
-
-* Menu:
-
-* Text Mode:: The major modes for editing text files.
-* Nroff Mode:: The major mode for editing input to the formatter nroff.
-* TeX Mode:: The major modes for editing input to the formatter TeX.
-* Outline Mode:: The major mode for editing outlines.
-* Words:: Moving over and killing words.
-* Sentences:: Moving over and killing sentences.
-* Paragraphs:: Moving over paragraphs.
-* Pages:: Moving over pages.
-* Filling:: Filling or justifying text
-* Case:: Changing the case of text
-
-\1f
-File: xemacs.info, Node: Text Mode, Next: Words, Prev: Text, Up: Text
-
-Text Mode
-=========
-
- You should use Text mode--rather than Fundamental or Lisp mode--to
-edit files of text in a human language. Invoke `M-x text-mode' to
-enter Text mode. In Text mode, <TAB> runs the function
-`tab-to-tab-stop', which allows you to use arbitrary tab stops set with
-`M-x edit-tab-stops' (*note Tab Stops::). Features concerned with
-comments in programs are turned off unless they are explicitly invoked.
-The syntax table is changed so that periods are not considered part of a
-word, while apostrophes, backspaces and underlines are.
-
- A similar variant mode is Indented Text mode, intended for editing
-text in which most lines are indented. This mode defines <TAB> to run
-`indent-relative' (*note Indentation::), and makes Auto Fill indent the
-lines it creates. As a result, a line made by Auto Filling, or by
-<LFD>, is normally indented just like the previous line. Use `M-x
-indented-text-mode' to select this mode.
-
- Entering Text mode or Indented Text mode calls the value of the
-variable `text-mode-hook' with no arguments, if that value exists and
-is not `nil'. This value is also called when modes related to Text
-mode are entered; this includes Nroff mode, TeX mode, Outline mode, and
-Mail mode. Your hook can look at the value of `major-mode' to see
-which of these modes is actually being entered.
-
- Two modes similar to Text mode are of use for editing text that is to
-be passed through a text formatter before achieving its final readable
-form.
-
-* Menu:
-
-* Nroff Mode:: The major mode for editing input to the formatter nroff.
-* TeX Mode:: The major modes for editing input to the formatter TeX.
-
-
- Another similar mode is used for editing outlines. It allows you
-to view the text at various levels of detail. You can view either
-the outline headings alone or both headings and text; you can also
-hide some of the headings at lower levels from view to make the high
-level structure more visible.
-
-
-* Outline Mode:: The major mode for editing outlines.
-
-\1f
-File: xemacs.info, Node: Nroff Mode, Next: TeX Mode, Prev: Text Mode, Up: Text Mode
-
-Nroff Mode
-----------
-
- Nroff mode is a mode like Text mode but modified to handle nroff
-commands present in the text. Invoke `M-x nroff-mode' to enter this
-mode. Nroff mode differs from Text mode in only a few ways. All nroff
-command lines are considered paragraph separators, so that filling never
-garbles the nroff commands. Pages are separated by `.bp' commands.
-Comments start with backslash-doublequote. There are also three special
-commands that are not available in Text mode:
-
-`M-n'
- Move to the beginning of the next line that isn't an nroff command
- (`forward-text-line'). An argument is a repeat count.
-
-`M-p'
- Like `M-n' but move up (`backward-text-line').
-
-`M-?'
- Prints in the echo area the number of text lines (lines that are
- not nroff commands) in the region (`count-text-lines').
-
- The other feature of Nroff mode is Electric Nroff newline mode.
-This is a minor mode that you can turn on or off with `M-x
-electric-nroff-mode' (*note Minor Modes::). When the mode is on and
-you use <RET> to end a line containing an nroff command that opens a
-kind of grouping, Emacs automatically inserts the matching nroff
-command to close that grouping on the following line. For example, if
-you are at the beginning of a line and type `.(b <RET>', the matching
-command `.)b' will be inserted on a new line following point.
-
- Entering Nroff mode calls the value of the variable `text-mode-hook'
-with no arguments, if that value exists and is not `nil'; then it does
-the same with the variable `nroff-mode-hook'.
-
-\1f
-File: xemacs.info, Node: TeX Mode, Next: Outline Mode, Prev: Nroff Mode, Up: Text Mode
-
-TeX Mode
---------
-
- TeX is a powerful text formatter written by Donald Knuth; like GNU
-Emacs, it is free. LaTeX is a simplified input format for TeX,
-implemented by TeX macros. It is part of TeX.
-
- Emacs has a special TeX mode for editing TeX input files. It
-provides facilities for checking the balance of delimiters and for
-invoking TeX on all or part of the file.
-
- TeX mode has two variants, Plain TeX mode and LaTeX mode, which are
-two distinct major modes that differ only slightly. These modes are
-designed for editing the two different input formats. The command `M-x
-tex-mode' looks at the contents of a buffer to determine whether it
-appears to be LaTeX input or not; it then selects the appropriate mode.
-If it can't tell which is right (e.g., the buffer is empty), the
-variable `tex-default-mode' controls which mode is used.
-
- The commands `M-x plain-tex-mode' and `M-x latex-mode' explicitly
-select one of the variants of TeX mode. Use these commands when `M-x
-tex-mode' does not guess right.
-
-* Menu:
-
-* Editing: TeX Editing. Special commands for editing in TeX mode.
-* Printing: TeX Print. Commands for printing part of a file with TeX.
-
- TeX for Unix systems can be obtained from the University of
-Washington for a distribution fee.
-
- To order a full distribution, send $140.00 for a 1/2 inch 9-track
-tape, $165.00 for two 4-track 1/4 inch cartridge tapes (foreign sites
-$150.00, for 1/2 inch, $175.00 for 1/4 inch, to cover the extra
-postage) payable to the University of Washington to:
-
- The Director
- Northwest Computer Support Group, DW-10
- University of Washington
- Seattle, Washington 98195
-
-Purchase orders are acceptable, but there is an extra charge of $10.00
-to pay for processing charges. (The total cost comes to $150 for
-domestic sites, $175 for foreign sites).
-
- The normal distribution is a tar tape, blocked 20, 1600 bpi, on an
-industry standard 2400 foot half-inch reel. The physical format for
-the 1/4 inch streamer cartridges uses QIC-11, 8000 bpi, 4-track
-serpentine recording for the SUN. Also, SystemV tapes can be written
-in cpio format, blocked 5120 bytes, ASCII headers.
-
-\1f
-File: xemacs.info, Node: TeX Editing, Next: TeX Print, Prev: TeX Mode, Up: TeX Mode
-
-TeX Editing Commands
-....................
-
- Here are the special commands provided in TeX mode for editing the
-text of the file.
-
-`"'
- Insert, according to context, either ```' or `"' or `'''
- (`TeX-insert-quote').
-
-`<LFD>'
- Insert a paragraph break (two newlines) and check the previous
- paragraph for unbalanced braces or dollar signs (`tex-terminate-
- paragraph').
-
-`M-x validate-tex-buffer'
- Check each paragraph in the buffer for unbalanced braces or dollar
- signs.
-
-`C-c {'
- Insert `{}' and position point between them (`tex-insert-braces').
-
-`C-c }'
- Move forward past the next unmatched close brace (`up-list').
-
-`C-c C-e'
- Close a block for LaTeX (`tex-close-latex-block').
-
- In TeX, the character `"' is not normally used; you use ```' to
-start a quotation and `''' to end one. TeX mode defines the key `"' to
-insert ```' after whitespace or an open brace, `"' after a backslash,
-or `''' otherwise. This is done by the command `tex-insert-quote'. If
-you need the character `"' itself in unusual contexts, use `C-q' to
-insert it. Also, `"' with a numeric argument always inserts that
-number of `"' characters.
-
- In TeX mode, `$' has a special syntax code which attempts to
-understand the way TeX math mode delimiters match. When you insert a
-`$' that is meant to exit math mode, the position of the matching `$'
-that entered math mode is displayed for a second. This is the same
-feature that displays the open brace that matches a close brace that is
-inserted. However, there is no way to tell whether a `$' enters math
-mode or leaves it; so when you insert a `$' that enters math mode, the
-previous `$' position is shown as if it were a match, even though they
-are actually unrelated.
-
- If you prefer to keep braces balanced at all times, you can use `C-c
-{' (`tex-insert-braces') to insert a pair of braces. It leaves point
-between the two braces so you can insert the text that belongs inside.
-Afterward, use the command `C-c }' (`up-list') to move forward past the
-close brace.
-
- There are two commands for checking the matching of braces. <LFD>
-(`tex-terminate-paragraph') checks the paragraph before point, and
-inserts two newlines to start a new paragraph. It prints a message in
-the echo area if any mismatch is found. `M-x validate-tex-buffer'
-checks the entire buffer, paragraph by paragraph. When it finds a
-paragraph that contains a mismatch, it displays point at the beginning
-of the paragraph for a few seconds and pushes a mark at that spot.
-Scanning continues until the whole buffer has been checked or until you
-type another key. The positions of the last several paragraphs with
-mismatches can be found in the mark ring (*note Mark Ring::).
-
- Note that square brackets and parentheses, not just braces, are
-matched in TeX mode. This is wrong if you want to check TeX syntax.
-However, parentheses and square brackets are likely to be used in text
-as matching delimiters and it is useful for the various motion commands
-and automatic match display to work with them.
-
- In LaTeX input, `\begin' and `\end' commands must balance. After
-you insert a `\begin', use `C-c C-f' (`tex-close-latex-block') to
-insert automatically a matching `\end' (on a new line following the
-`\begin'). A blank line is inserted between the two, and point is left
-there.
-
-\1f
-File: xemacs.info, Node: TeX Print, Prev: TeX Editing, Up: TeX Mode
-
-TeX Printing Commands
-.....................
-
- You can invoke TeX as an inferior of Emacs on either the entire
-contents of the buffer or just a region at a time. Running TeX in this
-way on just one chapter is a good way to see what your changes look
-like without taking the time to format the entire file.
-
-`C-c C-r'
- Invoke TeX on the current region, plus the buffer's header
- (`tex-region').
-
-`C-c C-b'
- Invoke TeX on the entire current buffer (`tex-buffer').
-
-`C-c C-l'
- Recenter the window showing output from the inferior TeX so that
- the last line can be seen (`tex-recenter-output-buffer').
-
-`C-c C-k'
- Kill the inferior TeX (`tex-kill-job').
-
-`C-c C-p'
- Print the output from the last `C-c C-r' or `C-c C-b' command
- (`tex-print').
-
-`C-c C-q'
- Show the printer queue (`tex-show-print-queue').
-
- You can pass the current buffer through an inferior TeX using `C-c
-C-b' (`tex-buffer'). The formatted output appears in a file in `/tmp';
-to print it, type `C-c C-p' (`tex-print'). Afterward use `C-c C-q'
-(`tex-show-print-queue') to view the progress of your output towards
-being printed.
-
- The console output from TeX, including any error messages, appears
-in a buffer called `*TeX-shell*'. If TeX gets an error, you can switch
-to this buffer and feed it input (this works as in Shell mode; *note
-Interactive Shell::). Without switching to this buffer, you can scroll
-it so that its last line is visible by typing `C-c C-l'.
-
- Type `C-c C-k' (`tex-kill-job') to kill the TeX process if you see
-that its output is no longer useful. Using `C-c C-b' or `C-c C-r' also
-kills any TeX process still running.
-
- You can pass an arbitrary region through an inferior TeX by typing
-`C-c C-r' (`tex-region'). This is tricky, however, because most files
-of TeX input contain commands at the beginning to set parameters and
-define macros. Without them, no later part of the file will format
-correctly. To solve this problem, `C-c C-r' allows you to designate a
-part of the file as containing essential commands; it is included
-before the specified region as part of the input to TeX. The
-designated part of the file is called the "header".
-
- To indicate the bounds of the header in Plain TeX mode, insert two
-special strings in the file: `%**start of header' before the header,
-and `%**end of header' after it. Each string must appear entirely on
-one line, but there may be other text on the line before or after. The
-lines containing the two strings are included in the header. If
-`%**start of header' does not appear within the first 100 lines of the
-buffer, `C-c C-r' assumes there is no header.
-
- In LaTeX mode, the header begins with `\documentstyle' and ends with
-`\begin{document}'. These are commands that LaTeX requires you to use,
-so you don't need to do anything special to identify the header.
-
- When you enter either kind of TeX mode, Emacs calls with no
-arguments the value of the variable `text-mode-hook', if that value
-exists and is not `nil'. Emacs then calls the variable `TeX-mode-hook'
-and either `plain-TeX-mode-hook' or `LaTeX-mode-hook' under the same
-conditions.
-
-\1f
-File: xemacs.info, Node: Outline Mode, Prev: TeX Mode, Up: Text Mode
-
-Outline Mode
-------------
-
- Outline mode is a major mode similar to Text mode but intended for
-editing outlines. It allows you to make parts of the text temporarily
-invisible so that you can see just the overall structure of the
-outline. Type `M-x outline-mode' to turn on Outline mode in the
-current buffer.
-
- When you enter Outline mode, Emacs calls with no arguments the value
-of the variable `text-mode-hook', if that value exists and is not
-`nil'; then it does the same with the variable `outline-mode-hook'.
-
- When a line is invisible in outline mode, it does not appear on the
-screen. The screen appears exactly as if the invisible line were
-deleted, except that an ellipsis (three periods in a row) appears at
-the end of the previous visible line (only one ellipsis no matter how
-many invisible lines follow).
-
- All editing commands treat the text of the invisible line as part of
-the previous visible line. For example, `C-n' moves onto the next
-visible line. Killing an entire visible line, including its
-terminating newline, really kills all the following invisible lines as
-well; yanking everything back yanks the invisible lines and they remain
-invisible.
-
-* Menu:
-
-* Format: Outline Format. What the text of an outline looks like.
-* Motion: Outline Motion. Special commands for moving through outlines.
-* Visibility: Outline Visibility. Commands to control what is visible.
-