-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: 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
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
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
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
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'
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'
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
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
================================
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.
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>.