X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=info%2Fxemacs.info-4;h=d8a425cbe5063299a8963a87abf2d5d22d5284e2;hb=16d0840d3eada757f529c34fddc0c2fb8f17b9de;hp=4e46b44ccf357cccc413c144838888b2e84462ff;hpb=b5eeb6918c29470b36f8461c402eb0c65cb19bd2;p=chise%2Fxemacs-chise.git diff --git a/info/xemacs.info-4 b/info/xemacs.info-4 index 4e46b44..d8a425c 100644 --- a/info/xemacs.info-4 +++ b/info/xemacs.info-4 @@ -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.  +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 + + +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 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 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. + + +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. + + +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 +). 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 . + + The simplest way to enter a minibuffer argument is to type the text +you want, terminated by 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. + + +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-' 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. + + +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 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. + + 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, displays a list of all possible completions in another window. - If you go on to type `f ', this sees `auto-f'. The only + If you go on to type `-f ', this 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 f '. Note that 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. +`' +`M-v' + Typing 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.) + `' Typing _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 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'. +  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 ', move to previous recorded command + Within `C-x ', move to previous recorded command (`previous-history-element'). `M-n' - Within `C-x ', move to the next (more recent) recorded + Within `C-x ', 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 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 and or . + +* 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. + + +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 ' - Display a list of commands whose names contain STRING (`command- - apropos'). +`C-h a REGEXP ' + 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 ' `C-h f FUNCTION ' 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 ' - Display the documentation of the Lisp variable VAR (`describe- - variable'). + Display the documentation of the Lisp variable VAR + (`describe-variable'). `C-h w COMMAND ' 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 ' + Display info on how to deal with Beta versions of XEmacs + (`describe-beta'). + +`C-h C GROUP ' + Select customization buffer for GROUP (`customize'). + +`C-h F ' + View the local copy of the XEmacs FAQ (`xemacs-local-faq'). + +`C-h C-i FILE ' + Read Info file FILE with Info browser (`Info-query'). + +`C-h C-c COMMAND ' + Look up an Emacs command COMMAND in the Emacs manual in the Info + system (`Info-goto-emacs-command-node'). + +`C-h C-f FUNCTION ' + Look up an Emacs Lisp function FUNCTION in the Elisp manual in the + Info system (`Info-elisp-ref'). + + +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. + + +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 '. 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 , 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 '. 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 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 ' (`where-s') tells you what keys are bound to + `C-h w COMMAND ' (`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::. + +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 ', 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 ', 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 ' 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 ' 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. - - -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. - - -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-' - 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-' 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-' 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-'; there is no such -character. When you type while holding down , 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-' does not produce `C-@', you should -think of this character as `C-'. - - 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. - - -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 ' or `C-M-\' (*note Indentation::). - - -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. - - -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-' (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-' 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-' 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. - - -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. - - -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 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 (). - -`mouse-track-adjust' - Extend the existing selection. This is the default binding of - . - -`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 . - -`mouse-track-insert' - Make a selection with the mouse and insert it at point. This is - the default binding of . - -`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 () 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 , 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 , 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 .