Index: help.texi =================================================================== RCS file: /sources/emacs/emacs/man/help.texi,v retrieving revision 1.49 diff -c -r1.49 help.texi *** help.texi 5 May 2006 16:09:46 -0000 1.49 --- help.texi 7 Jun 2006 20:37:54 -0000 *************** *** 11,75 **** @kindex C-h @kindex F1 ! Emacs provides extensive help features accessible through a single ! character, @kbd{C-h} (or @key{F1}). @kbd{C-h} is a prefix key that is ! used for commands that display documentation. The characters that you ! can type after @kbd{C-h} are called @dfn{help options}. One help ! option is @kbd{C-h}; that is how you ask for help about using ! @kbd{C-h}. To cancel, type @kbd{C-g}. The function key @key{F1} is ! equivalent to @kbd{C-h}. @kindex C-h C-h @findex help-for-help ! @kbd{C-h C-h} (@code{help-for-help}) displays a list of the possible ! help options, each with a brief description. You can look at the ! list, using @key{SPC} and @key{DEL} to scroll through it, then type ! the help option you want. To cancel, type @kbd{C-g}. ! ! @kbd{C-h} or @key{F1} means ``help'' in various other contexts as ! well. After a prefix key, it displays a list of the alternatives that ! can follow the prefix key. (A few prefix keys don't support ! @kbd{C-h}, because they define other meanings for it, but they all ! support @key{F1}.) ! ! Most help buffers use a special major mode, Help mode, which lets you ! scroll conveniently with @key{SPC} and @key{DEL}. It also offers ! hyperlinks to URLs and further help regarding cross-referenced names, Info ! nodes, customization buffers and the like. @xref{Help Mode}. @cindex searching documentation efficiently @cindex looking for a subject in documentation ! If you are looking for a certain feature, but don't know where ! exactly it is documented, and aren't sure of the name of a ! related command or variable, we recommend trying these methods. Usually ! it is best to start with an apropos command, then try searching the ! manual index, then finally look in the FAQ and the package keywords. @table @kbd @item C-h a @var{topics} @key{RET} ! This searches for commands whose names match @var{topics}, which ! should be a keyword, a list of keywords, or a regular expression ! (@pxref{Regexps}). This command displays all the matches in a new buffer. @xref{Apropos}. @item C-h i d m emacs @key{RET} i @var{topic} @key{RET} ! This looks up @var{topic} in the indices of the Emacs on-line manual. ! If there are several matches, Emacs displays the first one. You can then ! press @kbd{,} to move to other matches, until you find what you are ! looking for. @item C-h i d m emacs @key{RET} s @var{topic} @key{RET} Similar, but searches for @var{topic} (which can be a regular ! expression) in the @emph{text} of the manual rather than in its indices. @item C-h C-f ! This brings up the Emacs FAQ. You can use the Info commands ! to browse it. @item C-h p ! Finally, you can try looking up a suitable package using keywords ! pertinent to the feature you need. @xref{Library Keywords}. @end table @menu --- 11,69 ---- @kindex C-h @kindex F1 ! All Emacs help features are accessed through @kbd{C-h} (or ! @key{F1}). @kbd{C-h} is a prefix key for commands that display ! documentation. After @kbd{C-h}, you type keys to request @dfn{help ! options}. One help option is @kbd{C-h} (type it after the first ! @kbd{C-h}); that is how you ask for help about using @kbd{C-h}. ! Cancel help with @kbd{C-g}. @key{F1} is equivalent to @kbd{C-h}. @kindex C-h C-h @findex help-for-help ! @kbd{C-h C-h} (@code{help-for-help}) displays the available help ! options with a brief description for each one. You can scroll through ! the list with @key{SPC} and @key{DEL}, then type the help option you ! want. Cancel with @kbd{C-g}. ! ! @kbd{C-h} or @key{F1} means ``help'' in other contexts as well. ! Press it after a prefix key to see what can follow the prefix key. (A ! few prefix keys don't support @kbd{C-h} because they define other ! meanings for it, but they all support @key{F1}.) ! ! Most help buffers use a special major mode, Help mode, which lets ! you scroll through the list of help options with @key{SPC} and ! @key{DEL}. In Help mode, you can follow references as URL hyperlinks ! or as cross-referenced names, Info nodes, customization buffers and ! the like. @xref{Help Mode}. @cindex searching documentation efficiently @cindex looking for a subject in documentation ! If you are looking for a feature but don't know where to start, try ! these methods: start with an apropos command, then search the manual ! index, then look in the FAQ and the package keywords. @table @kbd @item C-h a @var{topics} @key{RET} ! Searches for commands whose names match the argument @var{topics}. ! The argument can be a keyword, a list of keywords, or a regular ! expression (@pxref{Regexps}). All the matches are shown in a new buffer. @xref{Apropos}. @item C-h i d m emacs @key{RET} i @var{topic} @key{RET} ! Looks up @var{topic} in the Emacs on-line manual indices. Emacs ! displays the first match found. Press @kbd{,} to see other matches. @item C-h i d m emacs @key{RET} s @var{topic} @key{RET} Similar, but searches for @var{topic} (which can be a regular ! expression) in the @emph{text} of the manual rather than in the indices. @item C-h C-f ! Brings up the Emacs FAQ. Use Info navigation commands to browse it. @item C-h p ! You can look up a suitable package with pertinent keywords. ! @xref{Library Keywords}. @end table @menu *************** *** 93,173 **** @section Help Summary @end ifnottex ! Here is a summary of the Emacs interactive help commands. ! @xref{Help Files}, for other help commands that just display a ! pre-written file of information. The character that follows ! @kbd{C-h} is a ``help option.'' @table @kbd @item C-h a @var{topics} @key{RET} ! Display a list of commands whose names match @var{topics} (@code{apropos-command}; @pxref{Apropos}). @item C-h b ! Display a table of all key bindings in effect now, in this order: minor ! mode bindings, major mode bindings, and global bindings ! (@code{describe-bindings}). @item C-h c @var{key} ! Show the name of the command that @var{key} runs (@code{describe-key-briefly}). Here @kbd{c} stands for ``character.'' ! For more extensive information on @var{key}, use @kbd{C-h k}. @item C-h d @var{topics} @key{RET} ! Display a list of commands and variables whose documentation matches @var{topics} (@code{apropos-documentation}). @item C-h e ! Display the @code{*Messages*} buffer (@code{view-echo-area-messages}). @item C-h f @var{function} @key{RET} ! Display documentation on the Lisp function named @var{function} ! (@code{describe-function}). Since commands are Lisp functions, ! a command name may be used. @item C-h h ! Display the @file{HELLO} file, which shows examples of various character sets. @item C-h i ! Run Info, the program for browsing documentation files (@code{info}). ! The complete Emacs manual is available on-line in Info. @item C-h k @var{key} ! Display the name and documentation of the command that @var{key} runs ! (@code{describe-key}). @item C-h l ! Display a description of the last 100 characters you typed (@code{view-lossage}). @item C-h m ! Display documentation of the current major mode (@code{describe-mode}). @item C-h p ! Find packages by topic keyword (@code{finder-by-keyword}). @item C-h s ! Display the current contents of the syntax table, plus an explanation of ! what they mean (@code{describe-syntax}). @xref{Syntax}. @item C-h t ! Enter the Emacs interactive tutorial (@code{help-with-tutorial}). @item C-h v @var{var} @key{RET} ! Display the documentation of the Lisp variable @var{var} (@code{describe-variable}). @item C-h w @var{command} @key{RET} ! Show which keys run the command named @var{command} (@code{where-is}). @item C-h C @var{coding} @key{RET} ! Describe coding system @var{coding} (@code{describe-coding-system}). @item C-h C @key{RET} ! Describe the coding systems currently in use. @item C-h I @var{method} @key{RET} ! Describe an input method (@code{describe-input-method}). @item C-h L @var{language-env} @key{RET} ! Display information on the character sets, coding systems, and input ! methods used for language environment @var{language-env} (@code{describe-language-environment}). @item C-h F @var{function} @key{RET} ! Enter Info and go to the node documenting the Emacs function @var{function} ! (@code{Info-goto-emacs-command-node}). @item C-h K @var{key} ! Enter Info and go to the node where the key sequence @var{key} is ! documented (@code{Info-goto-emacs-key-command-node}). @item C-h S @var{symbol} @key{RET} ! Display the Info documentation on symbol @var{symbol} according to the programming language you are editing (@code{info-lookup-symbol}). @item C-h . ! Display a help message associated with special text areas, such as links in @samp{*Help*} buffers (@code{display-local-help}). @end table --- 87,166 ---- @section Help Summary @end ifnottex ! These are the interactive Emacs help commands. @xref{Help Files}, ! for other help commands that display prepared information without ! interaction. The character after @kbd{C-h} is a @dfn{help option}. @table @kbd @item C-h a @var{topics} @key{RET} ! Displays the commands whose names match @var{topics} (@code{apropos-command}; @pxref{Apropos}). @item C-h b ! Displays all the minor mode, major mode, and global key bindings in ! effect. (@code{describe-bindings}). @item C-h c @var{key} ! Given @var{key}, shows what command it will run (@code{describe-key-briefly}). Here @kbd{c} stands for ``character.'' ! Use @kbd{C-h k} for more information about @var{key}. @item C-h d @var{topics} @key{RET} ! Displays the commands and variables whose documentation matches @var{topics} (@code{apropos-documentation}). @item C-h e ! Displays the @code{*Messages*} buffer (@code{view-echo-area-messages}). @item C-h f @var{function} @key{RET} ! Displays documentation for the Lisp function named @var{function} ! (@code{describe-function}). This works for interactive commands too, ! since they are also Lisp functions. @item C-h h ! Displays the @file{HELLO} file, which shows examples of various character sets. @item C-h i ! Runs Info, a documentation browser (@code{info}). The complete Emacs ! manual is available on-line in Info. @item C-h k @var{key} ! Given @var{key}, displays the name and documentation of the command ! bound to it (@code{describe-key}). @item C-h l ! Displays a description of the last 100 characters you typed (@code{view-lossage}). @item C-h m ! Displays documentation for the current major mode (@code{describe-mode}). @item C-h p ! Finds packages by topic keyword (@code{finder-by-keyword}). @item C-h s ! Displays the current contents of the syntax table with an explanation ! of what they mean (@code{describe-syntax}). @xref{Syntax}. @item C-h t ! Enters the Emacs interactive tutorial (@code{help-with-tutorial}). @item C-h v @var{var} @key{RET} ! Displays the documentation of the Lisp variable @var{var} (@code{describe-variable}). @item C-h w @var{command} @key{RET} ! Shows which keys run the command named @var{command} (@code{where-is}). @item C-h C @var{coding} @key{RET} ! Describes the coding system @var{coding} (@code{describe-coding-system}). @item C-h C @key{RET} ! Describes the coding systems currently in use. @item C-h I @var{method} @key{RET} ! Describes the input method @var{method} ! (@code{describe-input-method}). @item C-h L @var{language-env} @key{RET} ! Displays information on the character sets, coding systems, and input ! methods used in language environment @var{language-env} (@code{describe-language-environment}). @item C-h F @var{function} @key{RET} ! Enters Info and goes to the documentation node for the Emacs function ! @var{function} (@code{Info-goto-emacs-command-node}). @item C-h K @var{key} ! Enters Info and goes to the documentation node for the key sequence ! @var{key} (@code{Info-goto-emacs-key-command-node}). @item C-h S @var{symbol} @key{RET} ! Displays the Info documentation for symbol @var{symbol} according to the programming language you are editing (@code{info-lookup-symbol}). @item C-h . ! Displays a help message associated with special text areas, such as links in @samp{*Help*} buffers (@code{display-local-help}). @end table *************** *** 176,225 **** @kindex C-h c @findex describe-key-briefly ! The most basic @kbd{C-h} commands are @kbd{C-h c} ! (@code{describe-key-briefly}) and @address@hidden k}} (@code{describe-key}). ! @kbd{C-h c @var{key}} displays in the echo area the name of the command ! that @var{key} is bound to. For example, @kbd{C-h c C-f} displays ! @samp{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 @var{key} does. @kindex C-h k @findex describe-key ! @kbd{C-h k @var{key}} is similar but gives more information: it ! displays the documentation string of the command as well as its name. ! This is too big for the echo area, so a window is used for the display. @kindex C-h K @findex Info-goto-emacs-key-command-node ! To find the documentation of a key sequence, type @kbd{C-h K} and ! then enter that key sequence. This looks up the description of the ! command invoked by the key in whichever manual describes it (this need ! not be the Emacs manual). @kbd{C-h K} runs the command @code{Info-goto-emacs-key-command-node}. @kbd{C-h c}, @kbd{C-h k} and @kbd{C-h K} work for any sort of key sequences, including function keys, menus, and mouse events. For ! instance, you can type @kbd{C-h k} and then select a menu item from ! the menu bar, to show the documentation string of the command that ! menu item runs. @kindex C-h w @findex where-is ! @kbd{C-h w @var{command} @key{RET}} tells you what keys are bound to ! @var{command}. It displays a list of the keys in the echo area. If it ! says the command is not on any key, you must use @kbd{M-x} to run it. ! @kbd{C-h w} runs the command @code{where-is}. @node Name Help @section Help by Command or Variable Name @kindex C-h f @findex describe-function ! @kbd{C-h f} (@code{describe-function}) reads the name of a Lisp function ! using the minibuffer, then displays that function's documentation string ! in a window. Since commands are Lisp functions, you can use this to get ! the documentation of a command that you know by name. For example, @example C-h f auto-fill-mode @key{RET} --- 169,219 ---- @kindex C-h c @findex describe-key-briefly ! The essential @kbd{C-h} commands are @kbd{C-h c} ! (@code{describe-key-briefly}) and @address@hidden k}} ! (@code{describe-key}). For any key @var{key}, @kbd{C-h c @var{key}} ! displays the name of the command bound to it in the echo area. For ! example, @kbd{C-h c C-f} displays @samp{forward-char}. Command names ! describe the commands well, so this lets you find out quickly what ! @var{key} does. @kindex C-h k @findex describe-key ! @kbd{C-h k @var{key}} is similar to @kbd{C-h c}, but gives more ! information: it displays the documentation string of the command as ! well as its name. A window is used for the display, since the echo ! area can't fit all the information. @kindex C-h K @findex Info-goto-emacs-key-command-node ! Type @kbd{C-h K} and then enter a key sequence to find its ! documentation. @kbd{C-h K} looks up the description of the command ! bound to the key in the appropriate manual (not just the Emacs ! manual). @kbd{C-h K} runs the command @code{Info-goto-emacs-key-command-node}. @kbd{C-h c}, @kbd{C-h k} and @kbd{C-h K} work for any sort of key sequences, including function keys, menus, and mouse events. For ! instance, after @kbd{C-h k} you can select a menu item from the menu ! bar and you'll see the documentation string of the associated command. @kindex C-h w @findex where-is ! @kbd{C-h w @var{command} @key{RET}} lists the keys bound to ! @var{command} in the echo area. If it says the command is not on any ! key, you must use @kbd{M-x} to run that command or bind it to a key ! yourself. @kbd{C-h w} runs the command @code{where-is}. @node Name Help @section Help by Command or Variable Name @kindex C-h f @findex describe-function ! @kbd{C-h f} (@code{describe-function}) reads the name of a Lisp ! function using the minibuffer, then displays that function's ! documentation string in a window. Since commands are just Lisp ! functions, you can get the documentation of any command that you know ! by name. For example, @example C-h f auto-fill-mode @key{RET} *************** *** 230,347 **** way to get the documentation of a command that is not bound to any key (one which you would normally run using @kbd{M-x}). ! @kbd{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 @code{(make-vector len)} and want to check that you are ! using @code{make-vector} properly, type @kbd{C-h f make-vector ! @key{RET}}. Because @kbd{C-h f} allows all function names, not just ! command names, you may find that some of your favorite completion ! abbreviations that work in @kbd{M-x} don't work in @kbd{C-h f}. An ! abbreviation may be unique among command names, yet fail to be unique ! when other function names are allowed. ! ! The default function name for @kbd{C-h f} to describe, if you type ! just @key{RET}, is the name of the function called by the innermost Lisp ! expression in the buffer around point, @emph{provided} that is a valid, ! defined Lisp function name. For example, if point is located following ! the text @samp{(make-vector (car x)}, the innermost list containing ! point is the one that starts with @samp{(make-vector}, so the default is ! to describe the function @code{make-vector}. ! ! @kbd{C-h f} is often useful just to verify that you have the right ! spelling for the function name. If @kbd{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 @kbd{C-g} to cancel the @kbd{C-h ! f} command, then go on editing. ! ! @kbd{C-h v} (@code{describe-variable}) is like @kbd{C-h f} but describes ! Lisp variables instead of Lisp functions. Its default is the Lisp symbol ! around or before point, but only if that is the name of a known Lisp variable. @xref{Variables}. ! Help buffers describing Emacs variables and functions normally have ! hyperlinks to the definition, if you have the source files installed. ! (@xref{Hyperlinking}.) If you know Lisp (or C), this provides the ! ultimate documentation. If you don't know Lisp, you should learn it. ! (The Introduction to Emacs Lisp Programming, available from the FSF ! through fsf.org, is a good way to get started.) Emacs won't be happy ! if it feels you are just @emph{using} Emacs, treating it as an object ! program. If you really love Emacs, show that you care by reading the ! source code. @kindex C-h F @findex Info-goto-emacs-command-node ! To find a specific function's documentation in a manual, use ! @kbd{C-h F} (@code{Info-goto-emacs-command-node}). This knows ! about various manuals, not just the Emacs manual, and finds the ! right one. @node Apropos @section Apropos ! A more sophisticated sort of question to ask is, ``What are the ! commands for working with files?'' The @dfn{apropos} commands ask ! such questions---they look for things whose names match an ! @dfn{apropos pattern}, which means either a word, a list of words, or ! a regular expression. Each apropos command displays a list of ! matching items in a special buffer. @table @kbd @item C-h a @var{pattern} @key{RET} ! Search for commands whose names match @var{pattern}. @item M-x apropos @key{RET} @var{pattern} @key{RET} ! Similar, but it searches for noninteractive functions and for ! variables, as well as commands. @item M-x apropos-variable @key{RET} @var{pattern} @key{RET} ! Similar, but it searches for variables only. @item M-x apropos-value @key{RET} @var{pattern} @key{RET} ! Similar, but it searches for variables based on their values, or ! functions based on their definitions. @item C-h d @var{pattern} @key{RET} ! Search the @emph{documentation strings} (the built-in short ! descriptions) of all variables and functions (not their names) for a ! match for @var{pattern}. @end table @kindex C-h a @findex apropos-command @cindex apropos ! To find the commands that work on files, type @kbd{C-h a file ! @key{RET}}. This displays a list of all command names that contain ! @samp{file}, including @code{copy-file}, @code{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 @code{find-file} by typing @kbd{C-x ! C-f}. The @kbd{a} in @kbd{C-h a} stands for ``Apropos''; @kbd{C-h a} ! runs the command @code{apropos-command}. This command normally checks ! only commands (interactive functions); if you specify a prefix ! argument, it checks noninteractive functions as well. ! ! If you want more information about a function definition, variable or ! symbol property listed in the Apropos buffer, you can click on it with ! @kbd{Mouse-1} or @kbd{Mouse-2}, or move there and type @key{RET}. @kbd{C-h a} with a single word can find too many matches. Don't just give up; you can give Apropos a list of words to search for. When you specify more than one word in the apropos pattern, a name ! must contain at least two of the words in order to match. Thus, if ! you are looking for commands to kill a chunk of text before point, you ! could try @kbd{C-h a kill back backward behind before @key{RET}}. ! For even greater flexibility, you can specify a regular expression (@pxref{Regexps}). An apropos pattern is interpreted as a regular expression if it contains any of the regular expression special characters, @samp{^$*+?.\[}. ! Here is a set of arguments to give to @kbd{C-h a} that covers many ! classes of Emacs commands, since there are strong conventions for ! naming the standard Emacs 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 keywords. @quotation char, line, word, sentence, paragraph, region, page, sexp, list, defun, --- 224,337 ---- way to get the documentation of a command that is not bound to any key (one which you would normally run using @kbd{M-x}). ! @kbd{C-h f} is also useful for Lisp functions. For example, if you ! have just written the expression @code{(make-vector len)} and want to ! check that you are using @code{make-vector} properly, type @kbd{C-h f ! make-vector @key{RET}}. Because @kbd{C-h f} accepts all function ! names, not just command names, you may find that some of your favorite ! completion abbreviations that work for @kbd{M-x} don't work with ! @kbd{C-h f}. An abbreviation unique among command names may well not ! be unique among all function names. ! ! @kbd{C-h f} followed by just @key{RET} describes the function called ! by the innermost Lisp expression in the buffer around point, ! @emph{provided} that the function name is valid and there is such a ! Lisp function. For example, if point is right after the text ! @samp{(make-vector (car x)}, the innermost list containing point ! starts with @samp{(make-vector}, so @kbd{C-h f} will describe ! the function @code{make-vector}. ! ! Often, @kbd{C-h f} is used just to verify a function name. If ! @kbd{C-h f} shows a name from the buffer as the default, it must be a ! Lisp function. Just type @kbd{C-g} to cancel the @kbd{C-h f} command, ! then go on editing if you were only interested in the validity of the ! function. ! ! @kbd{C-h v} (@code{describe-variable}) is like @kbd{C-h f} but ! describes Lisp variables instead of Lisp functions. Its default is ! the Lisp symbol around or before point, if that names a known Lisp variable. @xref{Variables}. ! Help buffers that describe Emacs variables and functions normally ! have hyperlinks to the corresponding source definitions, if you have ! the source files installed. (@xref{Hyperlinking}.) If you know Lisp ! (or C), this is the ultimate documentation. If you don't know Lisp, ! you should learn it. (The Introduction to Emacs Lisp Programming, ! available from the FSF through fsf.org, is a good way to get started.) ! Don't just use Emacs. It won't be happy unless you show your love by ! reading the source code. @kindex C-h F @findex Info-goto-emacs-command-node ! Use @kbd{C-h F} to search for a specific function's documentation in ! various manuals, not just the Emacs manual ! (@code{Info-goto-emacs-command-node}) @node Apropos @section Apropos ! The @dfn{apropos} commands answer questions such as ``What are the ! commands for working with files?''---they look for an @dfn{apropos ! pattern}, which is either a word, a list of words, or a regular ! expression. Each apropos command displays a list of matching items in ! a special buffer. @table @kbd @item C-h a @var{pattern} @key{RET} ! Searches for commands whose names match @var{pattern}. @item M-x apropos @key{RET} @var{pattern} @key{RET} ! Searches for noninteractive functions and for variables, as well as ! commands (unlike @key{C-h a}, which just searches for commands). @item M-x apropos-variable @key{RET} @var{pattern} @key{RET} ! Searches for variables only. @item M-x apropos-value @key{RET} @var{pattern} @key{RET} ! Searches for variables based on their values, or functions based on ! their definitions. @item C-h d @var{pattern} @key{RET} ! Searches @emph{documentation strings} (built-in short descriptions) of ! all variables and functions for @var{pattern}. Does not look at ! names. @end table @kindex C-h a @findex apropos-command @cindex apropos ! Type @kbd{C-h a file @key{RET}} to find commands that work on files. ! You'll get a list of the command names that contain @samp{file}: ! @code{copy-file}, @code{find-file}, and others. Each command name has ! a brief description to show how to use the command, and what keys can ! invoke it. For example, you'll see that you can invoke ! @code{find-file} by typing @kbd{C-x C-f}. The @kbd{a} in @kbd{C-h a} ! stands for ``Apropos''; @kbd{C-h a} runs the command ! @code{apropos-command}. @kbd{C-h a} normally checks only commands ! (interactive functions); with a prefix argument it checks ! noninteractive functions as well. ! ! For more information about a function definition, variable or symbol ! property listed in the Apropos buffer, click on it with @kbd{Mouse-1} ! or @kbd{Mouse-2}, or move there and type @key{RET}. @kbd{C-h a} with a single word can find too many matches. Don't just give up; you can give Apropos a list of words to search for. When you specify more than one word in the apropos pattern, a name ! must contain at least two (but not necessarily all!) the words in ! order to match. Thus, if you are looking for commands to kill a chunk ! of text before point, you could try @kbd{C-h a kill back backward ! behind before @key{RET}}. ! You can specify a regular expression for even more flexibility (@pxref{Regexps}). An apropos pattern is interpreted as a regular expression if it contains any of the regular expression special characters, @samp{^$*+?.\[}. ! There are strong conventions for naming the standard Emacs commands. ! Here is a set of arguments you can give to @kbd{C-h a} that covers ! many classes of Emacs commands. This set should also help you pick ! good Apropos keywords by showing you the Emacs naming conventions. @quotation char, line, word, sentence, paragraph, region, page, sexp, list, defun, *************** *** 352,390 **** @end quotation @findex apropos ! To list all Lisp symbols that contain a match for an Apropos pattern, ! not just the ones that are defined as commands, use the command ! @kbd{M-x apropos} instead of @kbd{C-h a}. This command does not check ! key bindings by default; specify a numeric argument if you want it to ! check them. @findex apropos-variable ! To list user-customizable variables that match an apropos pattern, ! use the command @kbd{M-x apropos-variable}. If you specify a prefix ! argument, it checks all variables. @kindex C-h d @findex apropos-documentation The @code{apropos-documentation} command is like @code{apropos} except that it searches documentation strings instead of symbol names ! for matches for the specified Apropos pattern. @findex apropos-value The @code{apropos-value} command is like @code{apropos} except that ! it searches variables' values for matches for the pattern. With a ! prefix argument, it also checks symbols' function definitions and ! property lists. @vindex apropos-do-all ! If the variable @code{apropos-do-all} is address@hidden, the commands ! above all behave as if they had been given a prefix argument. @vindex apropos-sort-by-scores @cindex apropos search results, order by score By default, Apropos lists the search results in alphabetical order. If the variable @code{apropos-sort-by-scores} is address@hidden, ! Apropos tries to guess the relevance of each result, and displays the ! most relevant ones first. @vindex apropos-documentation-sort-by-scores By default, Apropos lists the search results for --- 342,381 ---- @end quotation @findex apropos ! Use @kbd{M-x apropos} instead of @kbd{C-h a} to list all the Lisp ! symbols that match an Apropos pattern, not just the symbols that are ! commands. This command does not check key bindings by default; ! specify a numeric argument if you want it to do so. @findex apropos-variable ! Use @kbd{M-x apropos-variable} to list user-customizable variables ! that match an apropos pattern. With a prefix argument, it checks all ! variables. @kindex C-h d @findex apropos-documentation The @code{apropos-documentation} command is like @code{apropos} except that it searches documentation strings instead of symbol names ! for the specified Apropos pattern. @findex apropos-value The @code{apropos-value} command is like @code{apropos} except that ! it searches variables' values for the pattern. With a prefix ! argument, it also checks symbols' function definitions and property ! lists. @vindex apropos-do-all ! If the variable @code{apropos-do-all} is address@hidden, the ! commands @code{apropos}, @code{apropos-variable}, ! @code{apropos-documentation}, and @code{apropos-value} behave as if ! they had been given a prefix argument. @vindex apropos-sort-by-scores @cindex apropos search results, order by score By default, Apropos lists the search results in alphabetical order. If the variable @code{apropos-sort-by-scores} is address@hidden, ! Apropos guesses the relevance of each result and displays the most ! relevant ones first. @vindex apropos-documentation-sort-by-scores By default, Apropos lists the search results for *************** *** 444,466 **** @section Help for International Language Support You can use the command @kbd{C-h L} ! (@code{describe-language-environment}) to find out information about ! the support for a specific language environment. @xref{Language ! Environments}. This tells you which languages this language ! environment is useful for, and lists the character sets, coding ! systems, and input methods that it operates on. It also shows some ! sample text to illustrate scripts. The command @kbd{C-h h} (@code{view-hello-file}) displays the file @file{etc/HELLO}, which shows how to say ``hello'' in many languages. The command @kbd{C-h I} (@code{describe-input-method}) describes ! information about input methods---either a specified input method, or by ! default the input method in use. @xref{Input Methods}. The command @kbd{C-h C} (@code{describe-coding-system}) describes ! information about coding systems---either a specified coding system, or ! the ones currently in use. @xref{Coding Systems}. @node Help Mode @section Help Mode Commands --- 435,457 ---- @section Help for International Language Support You can use the command @kbd{C-h L} ! (@code{describe-language-environment}) to learn about the support for ! a specific language environment. @xref{Language Environments}. This ! tells you for which languages you can use this language environment. ! @kbd{C-h L} also lists the character sets, coding systems, and input ! methods for the language environment, and finally shows some sample ! text to illustrate scripts. The command @kbd{C-h h} (@code{view-hello-file}) displays the file @file{etc/HELLO}, which shows how to say ``hello'' in many languages. The command @kbd{C-h I} (@code{describe-input-method}) describes ! input methods---either a specific one, or by default the one currently ! in use. @xref{Input Methods}. The command @kbd{C-h C} (@code{describe-coding-system}) describes ! coding systems---either a specific one, or the ones currently in use. ! @xref{Coding Systems}. @node Help Mode @section Help Mode Commands *************** *** 470,522 **** @table @kbd @item @key{SPC} ! Scroll forward. @item @key{DEL} ! Scroll backward. @item @key{RET} ! Follow a cross reference at point. @item @key{TAB} ! Move point forward to the next cross reference. @item address@hidden ! Move point back to the previous cross reference. @item Mouse-1 @itemx Mouse-2 ! Follow a cross reference that you click on. @item C-c C-c ! Show all documentation about the symbol at point. @end table When a function name (@pxref{M-x,, Running Commands by Name}), ! variable name (@pxref{Variables}), or face name (@pxref{Faces}) appears ! in the documentation, it normally appears inside paired single-quotes. ! You can click on the name with @kbd{Mouse-1} or @kbd{Mouse-2}, or move ! point there and type @key{RET}, to view the documentation of that ! command, variable or face. Use @kbd{C-c C-b} to retrace your steps. @cindex URL, viewing in help @cindex help, viewing web pages @cindex viewing web pages in help @cindex web pages, viewing in help @findex browse-url ! You can follow cross references to URLs (web pages) as well. When ! you follow a cross reference that is a URL, the @code{browse-url} ! command is used to view the web page in a browser of your choosing. ! @xref{Browse-URL}. @kindex @key{TAB} @r{(Help mode)} @findex help-next-ref @kindex address@hidden @r{(Help mode)} @findex help-previous-ref ! There are convenient commands for moving point to cross references in ! the help text. @key{TAB} (@code{help-next-ref}) moves point down to the ! next cross reference. Use @address@hidden to move point up to the ! previous cross reference (@code{help-previous-ref}). ! ! You can view all documentation about any symbol name that appears in ! the text, by moving point to the symbol name and typing @kbd{C-c C-c} ! (@code{help-follow-symbol}). This shows all available documentation ! about the symbol as a variable, function and/or face. @kbd{C-c C-b} ! works in this case also, to retrace your steps. @node Misc Help @section Other Help Commands --- 461,511 ---- @table @kbd @item @key{SPC} ! Scrolls forward. @item @key{DEL} ! Scrolls backward. @item @key{RET} ! Follows a cross reference at point. @item @key{TAB} ! Moves point forward to the next cross reference. @item address@hidden ! Moves point back to the previous cross reference. @item Mouse-1 @itemx Mouse-2 ! Follows a cross reference that you click on. @item C-c C-c ! Shows all documentation about the symbol at point. @end table When a function name (@pxref{M-x,, Running Commands by Name}), ! variable name (@pxref{Variables}), or face name (@pxref{Faces}) ! appears in the documentation, it normally appears inside paired ! single-quotes. Cclick on the name with @kbd{Mouse-1} or ! @kbd{Mouse-2}, or move point there and type @key{RET} to view the ! corresponding documentation. Use @kbd{C-c C-b} to retrace your steps. @cindex URL, viewing in help @cindex help, viewing web pages @cindex viewing web pages in help @cindex web pages, viewing in help @findex browse-url ! You can follow cross references to URLs (web pages). The ! @code{browse-url} command will launch the web page in a browser of ! your choosing. @xref{Browse-URL}. @kindex @key{TAB} @r{(Help mode)} @findex help-next-ref @kindex address@hidden @r{(Help mode)} @findex help-previous-ref ! There are convenient commands to move point to cross references in ! the help text. @key{TAB} (@code{help-next-ref}) moves down to the ! next cross reference. @address@hidden moves up to the previous ! cross reference (@code{help-previous-ref}). ! ! Move point to a symbol name in any text and type @kbd{C-c C-c} to ! see the documentation about it (@code{help-follow-symbol}). All the ! available documentation about the symbol as a variable, function, or ! face is consulted. @kbd{C-c C-b} lets you retrace your steps. @node Misc Help @section Other Help Commands *************** *** 526,547 **** @cindex Info @cindex manuals, on-line @cindex on-line manuals ! @kbd{C-h i} (@code{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 @kbd{h} after entering Info to run ! a tutorial on using Info. @cindex find Info manual by its file name With a numeric argument, @kbd{C-h i} selects an Info buffer with the ! number appended to the default @samp{*info*} buffer name ! (e.g. @samp{*info*<2>}). This is useful if you want to browse ! multiple Info manuals simultaneously. If you specify just @kbd{C-u} ! as the prefix argument, @kbd{C-h i} prompts for the name of a ! documentation file. This way, you can browse a file which doesn't ! have an entry in the top-level Info menu. It is also handy when you ! need to get to the documentation quickly, and you know the exact name ! of the file. The help commands @kbd{C-h F @var{function} @key{RET}} and @kbd{C-h K @var{key}}, described above, enter Info and go straight to the --- 515,533 ---- @cindex Info @cindex manuals, on-line @cindex on-line manuals ! @kbd{C-h i} (@code{info}) runs the Info program, which can browse ! structured documentation files. The entire Emacs manual is available ! within Info. Eventually all the documentation of the GNU system will ! be available. Type @kbd{h} in Info to run a tutorial on using Info. @cindex find Info manual by its file name With a numeric argument, @kbd{C-h i} selects an Info buffer with the ! number appended to its default @samp{*info*} buffer name ! (e.g. @samp{*info*<2>}). Use this to browse multiple Info manuals at ! once. With just @kbd{C-u} as the prefix argument, @kbd{C-h i} prompts ! for the name of a documentation file, so you can browse a file without ! an entry in the top-level Info menu, or if you know the exact name of ! the file. The help commands @kbd{C-h F @var{function} @key{RET}} and @kbd{C-h K @var{key}}, described above, enter Info and go straight to the *************** *** 550,605 **** @kindex C-h S @findex info-lookup-symbol When editing a program, if you have an Info version of the manual ! for the programming language, you can use the command @kbd{C-h S} ! (@code{info-lookup-symbol}) to refer to the manual documentation for a ! symbol (keyword, function or variable). The details of how this ! command works depend on the major mode. @kindex C-h l @findex view-lossage ! If something surprising happens, and you are not sure what commands you ! typed, use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} displays the last ! 100 command characters you typed in. If you see commands that you don't ! know, you can use @kbd{C-h c} to find out what they do. @kindex C-h e @findex view-echo-area-messages ! To review messages that recently appeared in the echo area, use ! @kbd{C-h e} (@code{view-echo-area-messages}). This displays the ! buffer @code{*Messages*}, where those messages are kept. @kindex C-h m @findex describe-mode ! Emacs has numerous major modes, each of which redefines a few keys and ! makes a few other changes in how editing works. @kbd{C-h m} ! (@code{describe-mode}) displays documentation on the current major mode, ! which normally describes all the commands that are changed in this ! mode. @kindex C-h b @findex describe-bindings @kbd{C-h b} (@code{describe-bindings}) and @kbd{C-h s} ! (@code{describe-syntax}) present other information about the current ! Emacs mode. @kbd{C-h b} displays a list of all the key bindings now in ! effect, showing the local bindings defined by the current minor modes first, ! then the local bindings defined by the current major mode, and finally ! the global bindings (@pxref{Key Bindings}). @kbd{C-h s} displays the ! contents of the syntax table, with explanations of each character's ! syntax (@pxref{Syntax}). ! ! You can get a similar list for a particular prefix key by typing ! @kbd{C-h} after the prefix key. (There are a few prefix keys for which ! this does not work---those that provide their own bindings for @kbd{C-h}. One of these is @key{ESC}, because @address@hidden C-h} is actually @kbd{C-M-h}, which marks a defun.) @node Help Files @section Help Files ! The Emacs help commands described above display the state of data ! bases within Emacs. Emacs has a few other help commands that display ! pre-written help files. These commands all have the form @kbd{C-h ! address@hidden; that is, @kbd{C-h} followed by a control character. @kindex C-h C-c @findex describe-copying --- 536,590 ---- @kindex C-h S @findex info-lookup-symbol When editing a program, if you have an Info version of the manual ! for the programming language, you can use @kbd{C-h S} ! (@code{info-lookup-symbol}) look up a symbol (keyword, function or ! variable) in that manual. The exact effect of this command depends on ! the major mode. @kindex C-h l @findex view-lossage ! If something surprising happens, and you are not sure what you just ! did, use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} displays the ! last 100 command characters you typed in. If you see commands that ! you don't know, you can use @kbd{C-h c} to find out what they do. @kindex C-h e @findex view-echo-area-messages ! To review recent echo area messages, use @kbd{C-h e} ! (@code{view-echo-area-messages}) to see the buffer @code{*Messages*}, ! where those messages are kept. @kindex C-h m @findex describe-mode ! Emacs major modes usually redefine some keys and make some changes ! in how editing works. @kbd{C-h m} (@code{describe-mode}) shows ! documentation about the current major mode, including the commands ! that it changes. @kindex C-h b @findex describe-bindings @kbd{C-h b} (@code{describe-bindings}) and @kbd{C-h s} ! (@code{describe-syntax}) show information about the current Emacs ! mode. @kbd{C-h b} lists all the key bindings in effect: first the ! local bindings defined by the current minor modes, then the local ! bindings defined by the current major mode, and finally the global ! bindings (@pxref{Key Bindings}). @kbd{C-h s} shows the syntax table ! with explanations of each character's syntax (@pxref{Syntax}). ! ! You can get a list of bindings for a particular prefix key by typing ! @kbd{C-h} after the prefix key. (There are a few prefix keys for ! which this does not work---those that provide their own bindings for @kbd{C-h}. One of these is @key{ESC}, because @address@hidden C-h} is actually @kbd{C-M-h}, which marks a defun.) @node Help Files @section Help Files ! The Emacs help commands described above display dynamic help within ! Emacs (depending on its current state). Emacs has a few other help ! commands that display pre-written, static help files. These commands ! all have the form @kbd{C-h address@hidden; that is, @kbd{C-h} followed ! by a control character. @kindex C-h C-c @findex describe-copying *************** *** 617,640 **** @findex view-emacs-todo @kindex C-h C-w @findex describe-no-warranty ! The other @kbd{C-h} options display various files containing useful ! information. @table @kbd @item C-h C-c ! Displays the Emacs copying conditions (@code{describe-copying}). ! These are the rules under which you can copy and redistribute Emacs. @item C-h C-d ! Displays information on how to download or order the latest version of ! Emacs and other GNU software (@code{describe-distribution}). @item C-h C-e ! Displays the list of known Emacs problems, sometimes with suggested workarounds (@code{view-emacs-problems}). @item C-h C-f ! Displays the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}). @item C-h C-n ! Displays the Emacs ``news'' file, which lists new Emacs features, most ! recent first (@code{view-emacs-news}). @item C-h C-p Displays general information about the GNU Project (@code{describe-project}). --- 602,625 ---- @findex view-emacs-todo @kindex C-h C-w @findex describe-no-warranty ! The other @kbd{C-h} options display various useful information. @table @kbd @item C-h C-c ! Displays the Emacs copying conditions (@code{describe-copying}), which ! govern copying and redistributing Emacs. @item C-h C-d ! Explains how to download or order the latest version of Emacs and ! other GNU software (@code{describe-distribution}). @item C-h C-e ! Displays the known Emacs problems, sometimes with suggested workarounds (@code{view-emacs-problems}). @item C-h C-f ! Displays the Emacs frequently-answered-questions (@dfn{FAQ}) list ! (@code{view-emacs-FAQ}). @item C-h C-n ! Displays the Emacs ``news'' file, showing new Emacs features starting ! with the most recent (@code{view-emacs-news}). @item C-h C-p Displays general information about the GNU Project (@code{describe-project}). *************** *** 652,663 **** @cindex balloon help When a region of text is ``active,'' so that you can select it with the mouse or a key like @kbd{RET}, it often has associated help text. ! Areas of the mode line are examples. On graphical displays, the help text is displayed as a ``tooltip'' (sometimes known as ``balloon ! help''), when you move the mouse over the active text. @xref{Tooltips}. ! On some systems, it is shown in the echo area. On text-only ! terminals, Emacs may not be able to follow the mouse and hence will ! not show the help text on mouse-over. @kindex C-h . @findex display-local-help --- 637,648 ---- @cindex balloon help When a region of text is ``active,'' so that you can select it with the mouse or a key like @kbd{RET}, it often has associated help text. ! Areas of the mode line are like that. On graphical displays, the help text is displayed as a ``tooltip'' (sometimes known as ``balloon ! help''), when you move the mouse over the active text. ! @xref{Tooltips}. On some systems, it is shown in the echo area. On ! text-only terminals, Emacs may not be able to follow the mouse and ! hence will not show the help text on mouse-over. @kindex C-h . @findex display-local-help