Sync up with r21-4-14-chise-0_21-22.
[chise/xemacs-chise.git-] / info / xemacs.info-4
index 4e46b44..d8a425c 100644 (file)
@@ -1,4 +1,4 @@
-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
@@ -30,6 +30,390 @@ versions, except that the sections entitled "The GNU Manifesto",
 translation approved by the author instead of in the original English.
 
 \1f
+File: xemacs.info,  Node: Position Info,  Next: Arguments,  Prev: Continuation Lines,  Up: Basic
+
+Cursor Position Information
+===========================
+
+   If you are accustomed to other display editors, you may be surprised
+that Emacs does not always display the page number or line number of
+point in the mode line.  In Emacs, this information is only rarely
+needed, and a number of commands are available to compute and print it.
+Since text is stored in a way that makes it difficult to compute the
+information, it is not displayed all the time.
+
+`M-x what-page'
+     Print page number of point, and line number within page.
+
+`M-x what-line'
+     Print line number of point in the buffer.
+
+`M-x line-number-mode'
+     Toggle automatic display of current line number.
+
+`M-='
+     Print number of lines and characters in the current region
+     (`count-lines-region').  *Note Mark::, for information about the
+     region.
+
+`C-x ='
+     Print character code of character after point, character position
+     of point, and column of point (`what-cursor-position').
+
+   There are several commands for printing line numbers:
+
+   * `M-x what-line' counts lines from the beginning of the file and
+     prints the line number point is on.  The first line of the file is
+     line number 1.  You can use these numbers as arguments to `M-x
+     goto-line'.
+
+   * `M-x what-page' counts pages from the beginning of the file, and
+     counts lines within the page, printing both of them.  *Note
+     Pages::, for the command `C-x l', which counts the lines in the
+     current page.
+
+   * `M-=' (`count-lines-region') prints the number of lines in the
+     region (*note Mark::).  *Note Pages::, for the command `C-x l'
+     which counts the lines in the
+
+   The command `C-x =' (`what-cursor-position') can be used to find out
+the column that the cursor is in, and other miscellaneous information
+about point.  It prints a line in the echo area that looks like this:
+
+     Char: c (0143, 99, 0x63)  point=18862 of 24800(76%)  column 53
+
+(In fact, this is the output produced when point is before `column 53'
+in the example.)
+
+   The four values after `Char:' describe the character that follows
+point, first by showing it and then by giving its character code in
+octal, decimal and hex.
+
+   `point=' is followed by the position of point expressed as a
+character count.  The front of the buffer counts as position 1, one
+character later as 2, and so on.  The next, larger number is the total
+number of characters in the buffer.  Afterward in parentheses comes the
+position expressed as a percentage of the total size.
+
+   `column' is followed by the horizontal position of point, in columns
+from the left edge of the window.
+
+   If the buffer has been narrowed, making some of the text at the
+beginning and the end temporarily invisible, `C-x =' prints additional
+text describing the current visible range.  For example, it might say:
+
+     Char: c (0143, 99, 0x63)  point=19674 of 24575(80%) <19591 - 19703>  column 69
+
+where the two extra numbers give the smallest and largest character
+position that point is allowed to assume.  The characters between those
+two positions are the visible ones.  *Note Narrowing::.
+
+   If point is at the end of the buffer (or the end of the visible
+part), `C-x =' omits any description of the character after point.  The
+output looks like
+
+     point=563026 of 563025(100%)  column 0
+
+\1f
+File: xemacs.info,  Node: Arguments,  Prev: Position Info,  Up: Basic
+
+Numeric Arguments
+=================
+
+   In mathematics and computer usage, the word "argument" means "data
+provided to a function or operation."  Any Emacs command can be given a
+"numeric argument" (also called a "prefix argument").  Some commands
+interpret the argument as a repetition count.  For example, giving an
+argument of ten to the key `C-f' (the command `forward-char', move
+forward one character) moves forward ten characters.  With these
+commands, no argument is equivalent to an argument of one.  Negative
+arguments are allowed.  Often they tell a command to move or act  in
+the opposite direction.
+
+   If your keyboard has a <META> key (labelled with a diamond on
+Sun-type keyboards and labelled `Alt' on some other keyboards), the
+easiest way to specify a numeric argument is to type digits and/or a
+minus sign while holding down the <META> key.  For example,
+     M-5 C-n
+
+would move down five lines.  The characters `Meta-1', `Meta-2', and so
+on, as well as `Meta--', do this because they are keys bound to
+commands (`digit-argument' and `negative-argument') that are defined to
+contribute to an argument for the next command.  Digits and `-'
+modified with Control, or Control and Meta, also specify numeric
+arguments.
+
+   Another way of specifying an argument is to use the `C-u'
+(`universal-argument') command followed by the digits of the argument.
+With `C-u', you can type the argument digits without holding down
+modifier keys; `C-u' works on all terminals.  To type a negative
+argument, type a minus sign after `C-u'.  Just a minus sign without
+digits normally means -1.
+
+   `C-u' followed by a character which is neither a digit nor a minus
+sign has the special meaning of "multiply by four".  It multiplies the
+argument for the next command by four.  `C-u' twice multiplies it by
+sixteen.  Thus, `C-u C-u C-f' moves forward sixteen characters.  This
+is a good way to move forward "fast", since it moves about 1/5 of a line
+in the usual size frame.  Other useful combinations are `C-u C-n', `C-u
+C-u C-n' (move down a good fraction of a frame), `C-u C-u C-o' (make "a
+lot" of blank lines), and `C-u C-k' (kill four lines).
+
+   Some commands care only about whether there is an argument and not
+about its value.  For example, the command `M-q' (`fill-paragraph') with
+no argument fills text; with an argument, it justifies the text as well.
+(*Note Filling::, for more information on `M-q'.)  Just `C-u' is a
+handy way of providing an argument for such commands.
+
+   Some commands use the value of the argument as a repeat count, but do
+something peculiar when there is no argument.  For example, the command
+`C-k' (`kill-line') with argument N kills N lines, including their
+terminating newlines.  But `C-k' with no argument is special: it kills
+the text up to the next newline, or, if point is right at the end of
+the line, it kills the newline itself.  Thus, two `C-k' commands with
+no arguments can kill a non-blank line, just like `C-k' with an
+argument of one.  (*Note Killing::, for more information on `C-k'.)
+
+   A few commands treat a plain `C-u' differently from an ordinary
+argument.  A few others may treat an argument of just a minus sign
+differently from an argument of -1.  These unusual cases are described
+when they come up; they are always for reasons of convenience of use of
+the individual command.
+
+   You can use a numeric argument to insert multiple copies of a
+character.  This is straightforward unless the character is a digit; for
+example, `C-u 6 4 a' inserts 64 copies of the character `a'.  But this
+does not work for inserting digits; `C-u 6 4 1' specifies an argument
+of 641, rather than inserting anything.  To separate the digit to
+insert from the argument, type another `C-u'; for example, `C-u 6 4 C-u
+1' does insert 64 copies of the character `1'.
+
+   We use the term "prefix argument" as well as "numeric argument" to
+emphasize that you type the argument before the command, and to
+distinguish these arguments from minibuffer arguments that come after
+the command.
+
+\1f
+File: xemacs.info,  Node: Undo,  Next: Minibuffer,  Prev: Basic,  Up: Top
+
+Undoing Changes
+***************
+
+   Emacs allows you to undo all changes you make to the text of a
+buffer, up to a certain amount of change (8000 characters).  Each
+buffer records changes individually, and the undo command always
+applies to the current buffer.  Usually each editing command makes a
+separate entry in the undo records, but some commands such as
+`query-replace' make many entries, and very simple commands such as
+self-inserting characters are often grouped to make undoing less
+tedious.
+
+`C-x u'
+     Undo one batch of changes (usually, one command's worth) (`undo').
+
+`C-_'
+     The same.
+
+   The command `C-x u' or `C-_' allows you to undo changes.  The first
+time you give this command, it undoes the last change.  Point moves to
+the text affected by the undo, so you can see what was undone.
+
+   Consecutive repetitions of the `C-_' or `C-x u' commands undo
+earlier and earlier changes, back to the limit of what has been
+recorded.  If all recorded changes have already been undone, the undo
+command prints an error message and does nothing.
+
+   Any command other than an undo command breaks the sequence of undo
+commands.  Starting at this moment, the previous undo commands are
+considered ordinary changes that can themselves be undone.  Thus, you
+can redo changes you have undone by typing `C-f' or any other command
+that have no important effect, and then using more undo commands.
+
+   If you notice that a buffer has been modified accidentally, the
+easiest way to recover is to type `C-_' repeatedly until the stars
+disappear from the front of the mode line.  When that happens, all the
+modifications you made have been canceled.  If you do not remember
+whether you changed the buffer deliberately, type `C-_' once. When you
+see Emacs undo the last change you made, you probably remember why you
+made it.  If the change was an accident, leave it undone.  If it was
+deliberate, redo the change as described in the preceding paragraph.
+
+   Whenever an undo command makes the stars disappear from the mode
+line, the buffer contents is the same as it was when the file was last
+read in or saved.
+
+   Not all buffers record undo information.  Buffers whose names start
+with spaces don't; these buffers are used internally by Emacs and its
+extensions to hold text that users don't normally look at or edit.
+Minibuffers, help buffers, and documentation buffers also don't record
+undo information.
+
+   Emacs can remember at most 8000 or so characters of deleted or
+modified text in any one buffer for reinsertion by the undo command.
+There is also a limit on the number of individual insert, delete, or
+change actions that Emacs can remember.
+
+   There are two keys to run the `undo' command, `C-x u' and `C-_',
+because on some keyboards, it is not obvious how to type `C-_'. `C-x u'
+is an alternative you can type in the same fashion on any terminal.
+
+\1f
+File: xemacs.info,  Node: Minibuffer,  Next: M-x,  Prev: Undo,  Up: Top
+
+The Minibuffer
+**************
+
+   The "minibuffer" is the facility used by XEmacs commands to read
+arguments more complicated than a single number.  Minibuffer arguments
+can be file names, buffer names, Lisp function names, XEmacs command
+names, Lisp expressions, and many other things, depending on the command
+reading the argument.  You can use the usual XEmacs editing commands in
+the minibuffer to edit the argument text.
+
+   When the minibuffer is in use, it appears in the echo area, and the
+cursor moves there.  The beginning of the minibuffer line displays a
+"prompt" which says what kind of input you should supply and how it
+will be used.  Often this prompt is derived from the name of the command
+that the argument is for.  The prompt normally ends with a colon.
+
+   Sometimes a "default argument" appears in parentheses after the
+colon; it, too, is part of the prompt.  The default is used as the
+argument value if you enter an empty argument (e.g., by just typing
+<RET>).  For example, commands that read buffer names always show a
+default, which is the name of the buffer that will be used if you type
+just <RET>.
+
+   The simplest way to enter a minibuffer argument is to type the text
+you want, terminated by <RET> which exits the minibuffer.  You can
+cancel the command that wants the argument, and get out of the
+minibuffer, by typing `C-g'.
+
+   Since the minibuffer uses the screen space of the echo area, it can
+conflict with other ways XEmacs customarily uses the echo area.  Here is
+how XEmacs handles such conflicts:
+
+   * If a command gets an error while you are in the minibuffer, this
+     does not cancel the minibuffer.  However, the echo area is needed
+     for the error message and therefore the minibuffer itself is
+     hidden for a while.  It comes back after a few seconds, or as soon
+     as you type anything.
+
+   * If in the minibuffer you use a command whose purpose is to print a
+     message in the echo area, such as `C-x =', the message is printed
+     normally, and the minibuffer is hidden for a while.  It comes back
+     after a few seconds, or as soon as you type anything.
+
+   * Echoing of keystrokes does not take place while the minibuffer is
+     in use.
+
+* Menu:
+
+* File: Minibuffer File.  Entering file names with the minibuffer.
+* Edit: Minibuffer Edit.  How to edit in the minibuffer.
+* Completion::           An abbreviation facility for minibuffer input.
+* Minibuffer History::    Reusing recent minibuffer arguments.
+* Repetition::           Re-executing commands that used the minibuffer.
+
+\1f
+File: xemacs.info,  Node: Minibuffer File,  Next: Minibuffer Edit,  Prev: Minibuffer,  Up: Minibuffer
+
+Minibuffers for File Names
+==========================
+
+   Sometimes the minibuffer starts out with text in it.  For example,
+when you are supposed to give a file name, the minibuffer starts out
+containing the "default directory", which ends with a slash.  This is
+to inform you which directory the file will be found in if you do not
+specify a directory.
+
+   For example, the minibuffer might start out with these contents:
+
+     Find File: /u2/emacs/src/
+
+where `Find File: ' is the prompt.  Typing `buffer.c' specifies the
+file `/u2/emacs/src/buffer.c'.  To find files in nearby directories,
+use `..'; thus, if you type `../lisp/simple.el', you will get the file
+named `/u2/emacs/lisp/simple.el'.  Alternatively, you can kill with
+`M-<DEL>' the directory names you don't want (*note Words::).
+
+   If you don't want any of the default, you can kill it with `C-a
+C-k'.  But you don't need to kill the default; you can simply ignore it.
+Insert an absolute file name, one starting with a slash or a tilde,
+after the default directory.  For example, to specify the file
+`/etc/termcap', just insert that name, giving these minibuffer contents:
+
+     Find File: /u2/emacs/src//etc/termcap
+
+XEmacs gives a special meaning to a double slash (which is not normally
+a useful thing to write): it means, "ignore everything before the
+second slash in the pair."  Thus, `/u2/emacs/src/' is ignored in the
+example above, and you get the file `/etc/termcap'.
+
+   If you set `insert-default-directory' to `nil', the default
+directory is not inserted in the minibuffer.  This way, the minibuffer
+starts out empty.  But the name you type, if relative, is still
+interpreted with respect to the same default directory.
+
+\1f
+File: xemacs.info,  Node: Minibuffer Edit,  Next: Completion,  Prev: Minibuffer File,  Up: Minibuffer
+
+Editing in the Minibuffer
+=========================
+
+   The minibuffer is an XEmacs buffer (albeit a peculiar one), and the
+usual XEmacs commands are available for editing the text of an argument
+you are entering.
+
+   Since <RET> in the minibuffer is defined to exit the minibuffer, you
+can't use it to insert a newline in the minibuffer.  To do that, type
+`C-o' or `C-q C-j'.  (Recall that a newline is really the character
+control-J.)
+
+   The minibuffer has its own window which always has space on the
+screen but acts as if it were not there when the minibuffer is not in
+use.  When the minibuffer is in use, its window is just like the
+others; you can switch to another window with `C-x o', edit text in
+other windows and perhaps even visit more files, before returning to the
+minibuffer to submit the argument.  You can kill text in another window,
+return to the minibuffer window, and then yank the text to use it in the
+argument.  *Note Windows::.
+
+   There are some restrictions on the use of the minibuffer window,
+however.  You cannot switch buffers in it--the minibuffer and its
+window are permanently attached.  Also, you cannot split or kill the
+minibuffer window. But you can make it taller in the normal fashion with
+`C-x ^'.  If you enable Resize-Minibuffer mode, then the minibuffer
+window expands vertically as necessary to hold the text that you put in
+the minibuffer.  Use `M-x resize-minibuffer-mode' to enable or disable
+this minor mode (*note Minor Modes::).
+
+   If while in the minibuffer you issue a command that displays help
+text of any sort in another window, you can use the `C-M-v' command
+while in the minibuffer to scroll the help text.  This lasts until you
+exit the minibuffer.  This feature is especially useful if a completing
+minibuffer gives you a list of possible completions.  *Note Other
+Window::.
+
+   If the variable `minibuffer-confirm-incomplete' is `t', you are
+asked for confirmation if there is no known completion for the text you
+typed. For example, if you attempted to visit a non-existent file, the
+minibuffer might read:
+             Find File: chocolate_bar.c [no completions, confirm]
+   If you press `Return' again, that confirms the filename. Otherwise,
+you can continue editing it.
+
+   XEmacs supports recursive use of the minibuffer.  However, it is easy
+to do this by accident (because of autorepeating keyboards, for example)
+and get confused.  Therefore, most XEmacs commands that use the
+minibuffer refuse to operate if the minibuffer window is selected.  If
+the minibuffer is active but you have switched to a different window,
+recursive use of the minibuffer is allowed--if you know enough to try
+to do this, you probably will not get confused.
+
+   If you set the variable `enable-recursive-minibuffers' to a
+non-`nil', recursive use of the minibuffer is always allowed.
+
+\1f
 File: xemacs.info,  Node: Completion,  Next: Minibuffer History,  Prev: Minibuffer Edit,  Up: Minibuffer
 
 Completion
@@ -91,7 +475,7 @@ possibilities for the very next character--it could be any of `c-'--so
 no more characters are added; instead, <TAB> displays a list of all
 possible completions in another window.
 
-   If you go on to type `f <TAB>', this <TAB> sees `auto-f'.  The only
+   If you go on to type `-f <TAB>', this <TAB> sees `auto-f'.  The only
 command name starting this way is `auto-fill-mode', so completion fills
 in the rest of that.  You now have `auto-fill-mode' in the minibuffer
 after typing just `au <TAB> f <TAB>'.  Note that <TAB> has this effect
@@ -150,6 +534,14 @@ window that displays a list of completions:
      but you must click in the list of completions, not in the
      minibuffer itself.
 
+`<PRIOR>'
+`M-v'
+     Typing <PRIOR> or `M-v', while in the minibuffer, selects the
+     window showing the completion list buffer
+     (`switch-to-completions').  This paves the way for using the
+     commands below.  (Selecting that window in the usual ways has the
+     same effect, but this way is more convenient.)
+
 `<RET>'
      Typing <RET> _in the completion list buffer_ chooses the
      completion that point is in or next to (`choose-completion').  To
@@ -234,6 +626,10 @@ in contexts where `completing-read' allows answers that are not valid
 completions, an extra <RET> must be typed to confirm the response.
 This is helpful for catching typos.
 
+   Icomplete mode presents a constantly-updated display that tells you
+what completions are available for the text you've entered so far.  The
+command to enable or disable this minor mode is `M-x icomplete-mode'.
+
 \1f
 File: xemacs.info,  Node: Minibuffer History,  Next: Repetition,  Prev: Completion,  Up: Minibuffer
 
@@ -320,11 +716,11 @@ name.
      Re-execute a recent minibuffer command (`repeat-complex-command').
 
 `M-p'
-     Within `C-x <ESC>', move to previous recorded command
+     Within `C-x <ESC> <ESC>', move to previous recorded command
      (`previous-history-element').
 
 `M-n'
-     Within `C-x <ESC>', move to the next (more recent) recorded
+     Within `C-x <ESC> <ESC>', move to the next (more recent) recorded
      command (`next-history-element').
 
 `M-x list-command-history'
@@ -529,49 +925,75 @@ File: xemacs.info,  Node: Help,  Next: Mark,  Prev: M-x,  Up: Top
 Help
 ****
 
-   Emacs provides extensive help features which revolve around a single
+   XEmacs provides extensive help features accessible through a single
 character, `C-h'.  `C-h' is a prefix key that is used only for
-documentation-printing commands.  The characters you can type after
-`C-h' are called "help options".  One help option is `C-h'; you use it
-to ask for help about using `C-h'.
+documentation-printing commands.  The characters that you can type after
+`C-h' are called "help options".  One help option is `C-h'; that is how
+you ask for help about using `C-h'.  To cancel, type `C-g'.  The
+function key <F1> is equivalent to `C-h'.
 
-   `C-h C-h' prints a list of the possible help options, and then asks
-you to type the desired option.  It prompts with the string:
+   `C-h C-h' (`help-for-help') displays a list of the possible help
+options, and then asks you to type the desired option.  It prompts with
+the string:
 
-     A, B, C, F, I, K, L, M, N, S, T, V, W, C-c, C-d, C-n, C-w or C-h for more help:
+     A B C F I K L M N P S T V W C-c C-d C-f C-i C-k C-n C-w;  ? for more help:
 
 You should type one of those characters.
 
    Typing a third `C-h' displays a description of what the options mean;
 Emacs still waits for you to type an option.  To cancel, type `C-g'.
 
+   Most help buffers use a special major mode, Help mode, which lets you
+scroll conveniently with <SPC> and <DEL> or <BS>.
+
+* Menu:
+
+* Help Summary::       Brief list of all Help commands.
+* Key Help::           Asking what a key does in XEmacs.
+* Name Help::          Asking about a command, variable or function name.
+* Apropos::            Asking what pertains to a given topic.
+* Library Keywords::   Finding Lisp libraries by keywords (topics).
+* Help Mode::           Special features of Help mode and Help buffers.
+* Misc Help::          Other help commands.
+
+\1f
+File: xemacs.info,  Node: Help Summary,  Next: Key Help,  Prev: Help,  Up: Help
+
+Help Summary
+============
+
    Here is a summary of the defined help commands.
 
-`C-h a STRING <RET>'
-     Display a list of commands whose names contain STRING (`command-
-     apropos').
+`C-h a REGEXP <RET>'
+     Display a list of functions and variables whose names match REGEXP
+     (`hyper-apropos').
+
+`C-h A REGEXP'
+     Show all commands whose names contain matches for REGEXP
+     (`command-apropos').
 
 `C-h b'
-     Display a table of all key bindings currently in effect, with
-     local bindings of the current major mode first, followed by all
-     global bindings (`describe-bindings').
+     Display a table of all key bindings currently in effect, with local
+     bindings of the current major mode first, followed by all global
+     bindings (`describe-bindings').
 
 `C-h c KEY'
-     Print the name of the command that KEY runs (`describe-key-
-     briefly').  `c' is for `character'.  For more extensive
-     information on KEY, use `C-h k'.
+     Print the name of the command that KEY runs
+     (`describe-key-briefly').  Here `c' stands for `character'.  For
+     more extensive information on KEY, use `C-h k'.
 
+`C-h d FUNCTION <RET>'
 `C-h f FUNCTION <RET>'
      Display documentation on the Lisp function named FUNCTION
-     (`describe-function').  Note that commands are Lisp functions, so
-     a command name may be used.
+     (`describe-function').  Since commands are Lisp functions, a
+     command name may be used.
 
 `C-h i'
      Run Info, the program for browsing documentation files (`info').
-     The complete Emacs manual is available online in Info.
+     The complete XEmacs manual is available online in Info.
 
 `C-h k KEY'
-     Display name and documentation of the command KEY runs
+     Display the name and documentation of the command that KEY runs
      (`describe-key').
 
 `C-h l'
@@ -582,41 +1004,65 @@ Emacs still waits for you to type an option.  To cancel, type `C-g'.
      Display documentation of the current major mode (`describe-mode').
 
 `C-h n'
-     Display documentation of Emacs changes, most recent first
+`C-h C-n'
+     Display documentation of XEmacs changes, most recent first
      (`view-emacs-news').
 
 `C-h p'
+     Find packages by topic keyword (`finder-by-keyword').
+
+`C-h C-p'
      Display a table of all mouse bindings currently in effect now, with
      local bindings of the current major mode first, followed by all
      global bindings (`describe-pointer').
 
 `C-h s'
      Display current contents of the syntax table, plus an explanation
-     of what they mean (`describe-syntax').
+     of what they mean (`describe-syntax').  *Note Syntax::.
 
 `C-h t'
-     Display the Emacs tutorial (`help-with-tutorial').
+     Enter the XEmacs interactive tutorial (`help-with-tutorial').
 
 `C-h v VAR <RET>'
-     Display the documentation of the Lisp variable VAR (`describe-
-     variable').
+     Display the documentation of the Lisp variable VAR
+     (`describe-variable').
 
 `C-h w COMMAND <RET>'
      Print which keys run the command named COMMAND (`where-is').
 
-`M-x apropos REGEXP'
-     Show all symbols whose names contain matches for REGEXP.
+`C-h B <RET>'
+     Display info on how to deal with Beta versions of XEmacs
+     (`describe-beta').
+
+`C-h C GROUP <RET>'
+     Select customization buffer for GROUP (`customize').
+
+`C-h F <RET>'
+     View the local copy of the XEmacs FAQ (`xemacs-local-faq').
+
+`C-h C-i FILE <RET>'
+     Read Info file FILE with Info browser (`Info-query').
+
+`C-h C-c COMMAND <RET>'
+     Look up an Emacs command COMMAND in the Emacs manual in the Info
+     system (`Info-goto-emacs-command-node').
+
+`C-h C-f FUNCTION <RET>'
+     Look up an Emacs Lisp function FUNCTION in the Elisp manual in the
+     Info system (`Info-elisp-ref').
+
+\1f
+File: xemacs.info,  Node: Key Help,  Next: Name Help,  Prev: Help Summary,  Up: Help
 
 Documentation for a Key
 =======================
 
    The most basic `C-h' options are `C-h c' (`describe-key-briefly')
-and `C-h k'
-(`describe-key').  `C-h c KEY' prints the name of the command that KEY
-is bound to in the echo area.  For example, `C-h c C-f' prints
-`forward-char'.  Since command names are chosen to describe what the
-command does, using this option is a good way to get a somewhat cryptic
-description of what KEY does.
+and `C-h k' (`describe-key').  `C-h c KEY' prints in the echo area the
+name of the command that KEY is bound to.  For example, `C-h c C-f'
+prints `forward-char'.  Since command names are chosen to describe what
+the commands do, this is a good way to get a very brief description of
+what KEY does.
 
    `C-h k KEY' is similar to `C-h c' but gives more information.  It
 displays the documentation string of the function KEY is bound to as
@@ -624,6 +1070,12 @@ well as its name.  KEY is a string or vector of events.  When called
 interactively, KEY may also be a menu selection.  This information does
 not usually fit into the echo area, so a window is used for the display.
 
+   `C-h c' and `C-h k' work for any sort of key sequences, including
+function keys and mouse events.
+
+\1f
+File: xemacs.info,  Node: Name Help,  Next: Apropos,  Prev: Key Help,  Up: Help
+
 Help by Command or Variable Name
 ================================
 
@@ -641,30 +1093,31 @@ key, that is, a command you would normally call using `M-x'.  If the
 variable `describe-function-show-arglist' is `t', `describe-function'
 shows its arglist if the FUNCTION is not an autoload function.
 
-   `C-h f' is also useful for Lisp functions you are planning to use in
-a Lisp program.  For example, if you have just written the code
-`(make-vector len)' and want to make sure you are using `make-vector'
-properly, type `C-h f make-vector <RET>'.  Because `C-h f' allows all
-function names, not just command names, you may find that some of your
-favorite abbreviations that work in `M-x' don't work in `C-h f'.  An
-abbreviation may be unique among command names, yet fail to be unique
-when other function names are allowed.
-
-   If you type <RET>, leaving the minibuffer empty, `C-h f' by default
-describes the function called by the innermost Lisp expression in the
-buffer around point, provided that that is a valid, defined Lisp
-function name.  For example, if point is located following the text
-`(make-vector (car x)', the innermost list containing point is the one
-starting with `(make-vector', so the default is to describe the
-function `make-vector'.
+   `C-h f' is also useful for Lisp functions that you are planning to
+use in a Lisp program.  For example, if you have just written the
+expression `(make-vector len)' and want to make sure you are using
+`make-vector' properly, type `C-h f make-vector <RET>'.  Because `C-h
+f' allows all function names, not just command names, you may find that
+some of your favorite abbreviations that work in `M-x' don't work in
+`C-h f'.  An abbreviation may be unique among command names, yet fail
+to be unique when other function names are allowed.
+
+   The function name for `C-h f' to describe has a default which is
+used if you type <RET> leaving the minibuffer empty.  The default is
+the function called by the innermost Lisp expression in the buffer
+around point, _provided_ that is a valid, defined Lisp function name.
+For example, if point is located following the text `(make-vector (car
+x)', the innermost list containing point is the one that starts with
+`(make-vector', so the default is to describe the function
+`make-vector'.
 
    `C-h f' is often useful just to verify that you have the right
-spelling for the function name.  If `C-h f' mentions a default in the
-prompt, you have typed the name of a defined Lisp function.  If that is
-what you wanted to know, just type `C-g' to cancel the `C-h f' command
-and continue editing.
+spelling for the function name.  If `C-h f' mentions a name from the
+buffer as the default, that name must be defined as a Lisp function.  If
+that is all you want to know, just type `C-g' to cancel the `C-h f'
+command, then go on editing.
 
-   `C-h w COMMAND <RET>' (`where-s') tells you what keys are bound to
+   `C-h w COMMAND <RET>' (`where-is') tells you what keys are bound to
 COMMAND.  It prints a list of the keys in the echo area. Alternatively,
 it informs you that a command is not bound to any keys, which implies
 that you must use `M-x' to call the command.
@@ -674,469 +1127,69 @@ variables instead of Lisp functions.  Its default is the Lisp symbol
 around or before point, if that is the name of a known Lisp variable.
 *Note Variables::.
 
+\1f
+File: xemacs.info,  Node: Apropos,  Next: Library Keywords,  Prev: Name Help,  Up: Help
+
 Apropos
 =======
 
-`C-h a'
+`C-h A'
      Show only symbols that are names of commands (`command-apropos').
 
 `M-x apropos REGEXP'
-     Show all symbols whose names comtain matches for REGEXP.
-
-   It is possible to ask a question like, "What are the commands for
-working with files?"  To do this, type `C-h a file <RET>', which
-displays a list of all command names that contain `file', such as
-`copy-file', `find-file', and so on.  With each command name a brief
-description of its use and information on the keys you can use to
-invoke it is displayed.  For example, you would be informed that you
-can invoke `find-file' by typing `C-x C-f'.  The `a' in `C-h a' stands
-for `Apropos'; `C-h a' runs the Lisp function `command-apropos'.
-
-   Because `C-h a' looks only for functions whose names contain the
+     Show all symbols whose names contain matches for REGEXP.
+
+   A more sophisticated sort of question to ask is, "What are the
+commands for working with files?"  To ask this question, type `C-h a
+file <RET>', which displays a list of all command names that contain
+`file', including `copy-file', `find-file', and so on.  With each
+command name appears a brief description of how to use the command, and
+what keys you can currently invoke it with.  For example, it would say
+that you can invoke `find-file' by typing `C-x C-f'.  The `A' in `C-h
+A' stands for `Apropos'; `C-h A' runs the command `command-apropos'.
+This command normally checks only commands (interactive functions); if
+you specify a prefix argument, it checks noninteractive functions as
+well.
+
+   Because `C-h A' looks only for functions whose names contain the
 string you specify, you must use ingenuity in choosing the string.  If
 you are looking for commands for killing backwards and `C-h a
-kill-backwards <RET>' doesn't reveal any commands, don't give up.  Try
-just `kill', or just `backwards', or just `back'.  Be persistent.
-Pretend you are playing Adventure.  Also note that you can use a
-regular expression as the argument (*note Regexps::).
+kill-backwards <RET>' doesn't reveal any, don't give up.  Try just
+`kill', or just `backwards', or just `back'.  Be persistent.  Pretend
+you are playing Adventure.  Also note that you can use a regular
+expression as the argument, for more flexibility (*note Regexps::).
 
    Here is a set of arguments to give to `C-h a' that covers many
-classes of Emacs commands, since there are strong conventions for naming
-standard Emacs commands.  By giving you a feeling for the naming
-conventions, this set of arguments can also help you develop a
-technique for picking `apropos' strings.
+classes of XEmacs commands, since there are strong conventions for
+naming the standard XEmacs commands.  By giving you a feel for the
+naming conventions, this set should also serve to aid you in developing
+a technique for picking `apropos' strings.
 
      char, line, word, sentence, paragraph, region, page, sexp, list,
-     defun, buffer, frame, window, file, dir, register, mode,
-     beginning, end, forward, backward, next, previous, up, down,
-     search, goto, kill, delete, mark, insert, yank, fill, indent, case,
-     change, set, what, list, find, view, describe.
+     defun, rect, buffer, frame, window, face, file, dir, register,
+     mode, beginning, end, forward, backward, next, previous, up, down,
+     search, goto, kill, delete, mark, insert, yank, fill, indent,
+     case, change, set, what, list, find, view, describe, default.
 
    To list all Lisp symbols that contain a match for a regexp, not just
 the ones that are defined as commands, use the command `M-x apropos'
-instead of `C-h a'.
-
-Other Help Commands
-===================
-
-   `C-h i' (`info') runs the Info program, which is used for browsing
-through structured documentation files.  The entire Emacs manual is
-available within Info.  Eventually all the documentation of the GNU
-system will be available.  Type `h' after entering Info to run a
-tutorial on using Info.
-
-   If something surprising happens, and you are not sure what commands
-you typed, use `C-h l' (`view-lossage').  `C-h l' prints the last 100
-command characters you typed.  If you see commands you don't know, use
-`C-h c' to find out what they do.
-
-   Emacs has several major modes. Each mode redefines a few keys and
-makes a few other changes in how editing works.  `C-h m'
-(`describe-mode') prints documentation on the current major mode, which
-normally describes all the commands that are changed in this mode.
-
-   `C-h b' (`describe-bindings') and `C-h s' (`describe-syntax')
-present information about the current Emacs mode that is not covered by
-`C-h m'.  `C-h b' displays a list of all key bindings currently in
-effect, with the local bindings of the current major mode first,
-followed by the global bindings (*note Key Bindings::).  `C-h s'
-displays the contents of the syntax table with explanations of each
-character's syntax (*note Syntax::).
-
-   The other `C-h' options display various files of useful information.
-`C-h C-w' (`describe-no-warranty') displays details on the complete
-absence of warranty for XEmacs.  `C-h n' (`view-emacs-news') displays
-the file `emacs/etc/NEWS', which contains documentation on Emacs
-changes arranged chronologically.  `C-h t' (`help-with-tutorial')
-displays the learn-by-doing Emacs tutorial. `C-h C-c'
-(`describe-copying') displays the file `emacs/etc/COPYING', which tells
-you the conditions you must obey in distributing copies of Emacs.  `C-h
-C-d' (`describe-distribution') displays another file named
-`emacs/etc/DISTRIB', which tells you how you can order a copy of the
-latest version of Emacs.
-
-\1f
-File: xemacs.info,  Node: Mark,  Next: Mouse Selection,  Prev: Help,  Up: Top
-
-Selecting Text
-**************
-
-   Many Emacs commands operate on an arbitrary contiguous part of the
-current buffer. You can select text in two ways:
-
-   * You use special keys to select text by defining a region between
-     point and the mark.
-
-   * If you are running XEmacs under X, you can also select text with
-     the mouse.
-
-The Mark and the Region
-=======================
-
-   To specify the text for a command to operate on, set "the mark" at
-one end of it, and move point to the other end.  The text between point
-and the mark is called "the region".  You can move point or the mark to
-adjust the boundaries of the region.  It doesn't matter which one is
-set first chronologically, or which one comes earlier in the text.
-
-   Once the mark has been set, it remains until it is set again at
-another place.  The mark remains fixed with respect to the preceding
-character if text is inserted or deleted in a buffer.  Each Emacs
-buffer has its own mark; when you return to a buffer that had been
-selected previously, it has the same mark it had before.
-
-   Many commands that insert text, such as `C-y' (`yank') and `M-x
-insert-buffer', position the mark at one end of the inserted text--the
-opposite end from where point is positioned, so that the region
-contains the text just inserted.
-
-   Aside from delimiting the region, the mark is useful for marking a
-spot that you may want to go back to.  To make this feature more useful,
-Emacs remembers 16 previous locations of the mark in the `mark ring'.
-
-* Menu:
-
-* Setting Mark::       Commands to set the mark.
-* Using Region::       Summary of ways to operate on contents of the region.
-* Marking Objects::    Commands to put region around textual units.
-* Mark Ring::          Previous mark positions saved so you can go back there.
-
-\1f
-File: xemacs.info,  Node: Setting Mark,  Next: Using Region,  Prev: Mark,  Up: Mark
-
-Setting the Mark
-----------------
-
-   Here are some commands for setting the mark:
-
-`C-<SPC>'
-     Set the mark where point is (`set-mark-command').
-
-`C-@'
-     The same.
-
-`C-x C-x'
-     Interchange mark and point (`exchange-point-and-mark').
-
-`C-<'
-     Pushes a mark at the beginning of the buffer.
-
-`C->'
-     Pushes a mark at the end of the buffer.
-
-   For example, to convert part of the buffer to all upper-case, you
-can use the `C-x C-u' (`upcase-region') command, which operates on the
-text in the region.  First go to the beginning of the text you want to
-capitalize and type `C-<SPC>' to put the mark there, then move to the
-end, and then type `C-x C-u' to capitalize the selected region.  You
-can also set the mark at the end of the text, move to the beginning,
-and then type `C-x C-u'.  Most commands that operate on the text in the
-region have the word `region' in their names.
-
-   The most common way to set the mark is with the `C-<SPC>' command
-(`set-mark-command').  This command sets the mark where point is. You
-can then move point away, leaving the mark behind.  It is actually
-incorrect to speak of the character `C-<SPC>'; there is no such
-character.  When you type <SPC> while holding down <CTRL>, you get the
-character `C-@' on most terminals. This character is actually bound to
-`set-mark-command'.  But unless you are unlucky enough to have a
-terminal where typing `C-<SPC>' does not produce `C-@', you should
-think of this character as `C-<SPC>'.
-
-   Since terminals have only one cursor, Emacs cannot show you where the
-mark is located. Most people use the mark soon after they set it, before
-they forget where it is. But you can see where the mark is with the
-command `C-x C-x' (`exchange-point-and-mark') which puts the mark where
-point was and point where the mark was.  The extent of the region is
-unchanged, but the cursor and point are now at the previous location of
-the mark.
-
-   Another way to set the mark is to push the mark to the beginning of a
-buffer while leaving point at its original location. If you supply an
-argument to `C-<' (`mark-beginning-of-buffer'), the mark is pushed N/10
-of the way from the true beginning of the buffer. You can also set the
-mark at the end of a buffer with `C->' (`mark-end-of-buffer'). It
-pushes the mark to the end of the buffer, leaving point alone.
-Supplying an argument to the command pushes the mark N/10 of the way
-from the true end of the buffer.
-
-   If you are using XEmacs under the X window system, you can set the
-variable `zmacs-regions' to `t'. This makes the current region (defined
-by point and mark) highlight and makes it available as the X clipboard
-selection, which means you can use the menu bar items on it.  *Note
-Active Regions::, for more information.
-
-   `C-x C-x' is also useful when you are satisfied with the location of
-point but want to move the mark; do `C-x C-x' to put point there and
-then you can move it.  A second use of `C-x C-x', if necessary, puts
-the mark at the new location with point back at its original location.
-
-\1f
-File: xemacs.info,  Node: Using Region,  Next: Marking Objects,  Prev: Setting Mark,  Up: Mark
-
-Operating on the Region
------------------------
-
-   Once you have created an active region, you can do many things to
-the text in it:
-   * Kill it with `C-w' (*note Killing::).
-
-   * Save it in a register with `C-x r s' (*note Registers::).
-
-   * Save it in a buffer or a file (*note Accumulating Text::).
-
-   * Convert case with `C-x C-l' or `C-x C-u'
-     (*note Case::).
-
-   * Evaluate it as Lisp code with `M-x eval-region' (*note Lisp
-     Eval::).
-
-   * Fill it as text with `M-q' (*note Filling::).
-
-   * Print hardcopy with `M-x print-region' (*note Hardcopy::).
-
-   * Indent it with `C-x <TAB>' or `C-M-\' (*note Indentation::).
-
-\1f
-File: xemacs.info,  Node: Marking Objects,  Next: Mark Ring,  Prev: Using Region,  Up: Mark
-
-Commands to Mark Textual Objects
---------------------------------
-
-   There are commands for placing point and the mark around a textual
-object such as a word, list, paragraph or page.
-
-`M-@'
-     Set mark after end of next word (`mark-word').  This command and
-     the following one do not move point.
-
-`C-M-@'
-     Set mark after end of next Lisp expression (`mark-sexp').
-
-`M-h'
-     Put region around current paragraph (`mark-paragraph').
-
-`C-M-h'
-     Put region around current Lisp defun (`mark-defun').
-
-`C-x h'
-     Put region around entire buffer (`mark-whole-buffer').
-
-`C-x C-p'
-     Put region around current page (`mark-page').
-
-   `M-@' (`mark-word') puts the mark at the end of the next word, while
-`C-M-@' (`mark-sexp') puts it at the end of the next Lisp expression.
-These characters sometimes save you some typing.
-
-   A number of commands are available that set both point and mark and
-thus delimit an object in the buffer.  `M-h' (`mark-paragraph') moves
-point to the beginning of the paragraph that surrounds or follows
-point, and puts the mark at the end of that paragraph (*note
-Paragraphs::).  You can then indent, case-convert, or kill the whole
-paragraph.  In the same fashion, `C-M-h' (`mark-defun') puts point
-before and the mark after the current or following defun (*note
-Defuns::).  `C-x C-p' (`mark-page') puts point before the current page
-(or the next or previous, depending on the argument), and mark at the
-end (*note Pages::).  The mark goes after the terminating page
-delimiter (to include it), while point goes after the preceding page
-delimiter (to exclude it).  Finally, `C-x h' (`mark-whole-buffer') sets
-up the entire buffer as the region by putting point at the beginning
-and the mark at the end.
-
-\1f
-File: xemacs.info,  Node: Mark Ring,  Prev: Marking Objects,  Up: Mark
-
-The Mark Ring
--------------
-
-   Aside from delimiting the region, the mark is also useful for marking
-a spot that you may want to go back to.  To make this feature more
-useful, Emacs remembers 16 previous locations of the mark in the "mark
-ring".  Most commands that set the mark push the old mark onto this
-ring.  To return to a marked location, use `C-u C-<SPC>' (or `C-u
-C-@'); this is the command `set-mark-command' given a numeric argument.
-The command moves point to where the mark was, and restores the mark
-from the ring of former marks. Repeated use of this command moves point
-to all the old marks on the ring, one by one.  The marks you have seen
-go to the end of the ring, so no marks are lost.
-
-   Each buffer has its own mark ring.  All editing commands use the
-current buffer's mark ring.  In particular, `C-u C-<SPC>' always stays
-in the same buffer.
-
-   Many commands that can move long distances, such as `M-<'
-(`beginning-of-buffer'), start by setting the mark and saving the old
-mark on the mark ring.  This makes it easier for you to move back
-later.  Searches set the mark, unless they do not actually move point.
-When a command sets the mark, `Mark Set' is printed in the echo area.
-
-   The variable `mark-ring-max' is the maximum number of entries to
-keep in the mark ring.  If that many entries exist and another entry is
-added, the last entry in the list is discarded.  Repeating `C-u
-C-<SPC>' circulates through the entries that are currently in the ring.
-
-   The variable `mark-ring' holds the mark ring itself, as a list of
-marker objects in the order most recent first.  This variable is local
-in every buffer.
-
-\1f
-File: xemacs.info,  Node: Mouse Selection,  Next: Additional Mouse Operations,  Prev: Mark,  Up: Top
-
-Selecting Text with the Mouse
-=============================
-
-   If you are using XEmacs under X, you can use the mouse pointer to
-select text. (The normal mouse pointer is an I-beam, the same pointer
-that `xterm' uses.)
-
-   The glyph variable `text-pointer-glyph' controls the shape of the
-mouse pointer when over text.  You can also control the shape of the
-mouse pointer when over nontext using `nontext-pointer-glyph', and the
-shape of the mouse pointer when over the modeline using
-`modeline-pointer-glyph'. (Remember, you should use `set-glyph-image',
-not `setq', to set one of these variables.)
-
-   If you want to get fancy, you can set the foreground and background
-colors of the mouse pointer by setting the `pointer' face.
-
-   There are two ways to select a region of text with the mouse:
-
-   To select a word in text, double-click with the left mouse button
-while the mouse cursor is over the word.  The word is highlighted when
-selected. On monochrome monitors, a stippled background indicates that a
-region of text has been highlighted. On color monitors, a color
-background indicates highlighted text. You can triple-click to select
-whole lines.
-
-   To select an arbitrary region of text:
-
-  1. Move the mouse cursor over the character at the beginning of the
-     region of text you want to select.
-
-  2. Press and hold the left mouse button.
-
-  3. While holding the left mouse button down, drag the cursor to the
-     character at the end of the region of text you want to select.
-
-  4. Release the left mouse button.
-        The selected region of text is highlighted.
-
-   Once a region of text is selected, it becomes the primary X selection
-(*note Using X Selections::) as well as the Emacs selected region. You
-can paste it into other X applications and use the options from the
-Edit pull-down menu on it.  Since it is also the Emacs region, you can
-use Emacs region commands on it.
-
-\1f
-File: xemacs.info,  Node: Additional Mouse Operations,  Next: Killing,  Prev: Mouse Selection,  Up: Top
-
-Additional Mouse Operations
-===========================
-
-   XEmacs also provides the following mouse functions.  Most of these
-are not bound to mouse gestures by default, but they are provided for
-your customization pleasure.  For example, if you wanted `shift-left'
-(that is, holding down the <Shift> key and clicking the left mouse
-button) to delete the character at which you are pointing, then you
-could do this:
-
-     (global-set-key '(shift button1) 'mouse-del-char)
-
-`mouse-del-char'
-     Delete the character pointed to by the mouse.
-
-`mouse-delete-window'
-     Delete the Emacs window that the mouse is on.
-
-`mouse-keep-one-window'
-     Select the Emacs window that the mouse is on, then delete all other
-     windows on this frame.
-
-`mouse-kill-line'
-     Kill the line pointed to by the mouse.
-
-`mouse-line-length'
-     Print the length of the line indicated by the pointer.
-
-`mouse-scroll'
-     Scroll point to the mouse position.
-
-`mouse-select'
-     Select the Emacs window the mouse is on.
-
-`mouse-select-and-split'
-     Select the Emacs window mouse is on, then split it vertically in
-     half.
-
-`mouse-set-mark'
-     Select the Emacs window the mouse is on and set the mark at the
-     mouse position.  Display the cursor at that position for a second.
-
-`mouse-set-point'
-     Select the Emacs window that the mouse is on and move point to the
-     mouse position.
-
-`mouse-track'
-     Make a selection with the mouse.   This is the default binding of
-     the left mouse button (<button1>).
-
-`mouse-track-adjust'
-     Extend the existing selection.  This is the default binding of
-     <Shift-button1>.
-
-`mouse-track-and-copy-to-cutbuffer'
-     Make a selection like `mouse-track', but also copy it to the cut
-     buffer.
-
-`mouse-track-delete-and-insert'
-     Make a selection with the mouse and insert it at point.  This is
-     the default binding of <control-shift-button1>.
-
-`mouse-track-insert'
-     Make a selection with the mouse and insert it at point.  This is
-     the default binding of <control-button1>.
-
-`mouse-window-to-region'
-     Narrow a window to the region between the cursor and the mouse
-     pointer.
-
-   The `M-x mouse-track' command should be bound to a mouse button.  If
-you click-and-drag, the selection is set to the region between the
-point of the initial click and the point at which you release the
-button.  These positions do not need to be ordered.
-
-   If you click-and-release without moving the mouse, the point is
-moved, and the selection is disowned (there will be no selection
-owner.)  The mark will be set to the previous position of point.
-
-   If you double-click, the selection will extend by symbols instead of
-by characters.  If you triple-click, the selection will extend by lines.
+instead of `C-h A'.  This command does not check key bindings by
+default; specify a numeric argument if you want it to check them.
 
-   If you drag the mouse off the top or bottom of the window, you can
-select pieces of text that are larger than the visible part of the
-buffer; the buffer will scroll as necessary.
+   The `apropos-documentation' command is like `apropos' except that it
+searches documentation strings for matches for the specified regular
+expression.
 
-   The selected text becomes the current X selection, and is also
-copied to the top of the kill ring.  Point will be left at the position
-at which you released the button and the mark will be left at the
-initial click position.  Bind a mouse click to
-`mouse-track-and-copy-to-cutbuffer' to copy selections to the cut
-buffer.  (See also the `mouse-track-adjust' command, on
-`Shift-button1'.)
+   The `apropos-value' command is like `apropos' except that it
+searches symbols' values for matches for the specified regular
+expression.  This command does not check function definitions or
+property lists by default; specify a numeric argument if you want it to
+check them.
 
-   The `M-x mouse-track-adjust' command should be bound to a mouse
-button.  The selection will be enlarged or shrunk so that the point of
-the mouse click is one of its endpoints.  This is only meaningful after
-the `mouse-track' command (<button1>) has been executed.
+   If the variable `apropos-do-all' is non-`nil', the commands above
+all behave as if they had been given a prefix argument.
 
-   The `M-x mouse-track-delete-and-insert' command is exactly the same
-as the `mouse-track' command on <button1>, except that point is not
-moved; the selected text is immediately inserted after being selected;
-and the text of the selection is deleted.
-
-   The `M-x mouse-track-insert' command is exactly the same as the
-`mouse-track' command on <button1>, except that point is not moved; the
-selected text is immediately inserted after being selected; and the
-selection is immediately disowned afterwards.
+   If you want more information about a function definition, variable or
+symbol property listed in the Apropos buffer, you can click on it with
+`Mouse-2' or move there and type <RET>.