]> code.delx.au - gnu-emacs/blobdiff - man/help.texi
reduce body text size for emacs manual to 10pt
[gnu-emacs] / man / help.texi
index d3e6f13262df9ba1bdade513fdd28d094eddf71b..4d69e18cc39040c4c0559c3587dfc23b1c41c2c8 100644 (file)
@@ -1,6 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000, 2001, 2004
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
+@c   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Help, Mark, M-x, Top
 @chapter Help
 @kindex F1
 
   Emacs provides extensive help features accessible through a single
-character, @kbd{C-h}.  @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}.
+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.  Before you type a help
-option, you can use @key{SPC} or @key{DEL} to scroll through the list.
+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
@@ -32,8 +34,8 @@ 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 further help regarding cross-referenced names, Info nodes,
-customization buffers and the like.  @xref{Help Mode}.
+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
@@ -44,19 +46,11 @@ 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{topic} @key{RET}
-This searches for commands whose names match @var{topic}, which should
-be a regular expression (@pxref{Regexps}).  Browse the buffer that this
-command displays to find what you are looking for.  @xref{Apropos}.
-
-@item M-x apropos @key{RET} @var{topic} @key{RET}
-This works like @kbd{C-h a}, but it also searches for noninteractive
-functions and for variables.  @xref{Apropos}.
-
-@item M-x apropos-documentation @key{RET} @var{topic} @key{RET}
-This searches the @emph{documentation strings} (the built-in short
-descriptions) of all variables and functions (not their names) for a
-match for @var{topic}, a regular expression.  @xref{Apropos}.
+@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.
@@ -78,13 +72,6 @@ Finally, you can try looking up a suitable package using keywords
 pertinent to the feature you need.  @xref{Library Keywords}.
 @end table
 
-  To find the documentation of a key sequence or a menu item, type
-@kbd{C-h K} and then type that key sequence or select the menu
-item.  This looks up the description of the command invoked by the key
-or the menu in the appropriate manual (not necessarily the Emacs
-manual).  Likewise, use @kbd{C-h F} for reading documentation of a
-command.
-
 @menu
 * Help Summary::       Brief list of all Help commands.
 * Key Help::           Asking what a key does in Emacs.
@@ -108,12 +95,13 @@ command.
 
   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.
+pre-written file of information.  The character that follows
+@kbd{C-h} is a ``help option.''
 
 @table @kbd
-@item C-h a @var{regexp} @key{RET}
-Display a list of commands whose names match @var{regexp}
-(@code{apropos-command}).
+@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
@@ -122,6 +110,12 @@ mode bindings, major mode bindings, and global bindings
 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,
@@ -174,7 +168,7 @@ 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 (@code{display-local-help}).
+links in @samp{*Help*} buffers (@code{display-local-help}).
 @end table
 
 @node Key Help
@@ -182,7 +176,7 @@ links (@code{display-local-help}).
 
 @kindex C-h c
 @findex describe-key-briefly
-  The most basic @kbd{C-h} options are @kbd{C-h c}
+  The most basic @kbd{C-h} commands are @kbd{C-h c}
 (@code{describe-key-briefly}) and @w{@kbd{C-h 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
@@ -196,8 +190,19 @@ what @var{key} does.
 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.
 
-  @kbd{C-h c} and @kbd{C-h k} work for any sort of key sequences,
-including function keys and mouse events.
+@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
@@ -258,42 +263,85 @@ variable.  @xref{Variables}.
 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.
-If you are just @emph{using} Emacs, treating Emacs as an object
-(file), then you don't really love it.  For true intimacy with your
-editor, you need to read the source code.
+(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
-  A more sophisticated sort of question to ask is, ``What are the
-commands for working with files?''  To ask this question, type @kbd{C-h
-a file @key{RET}}, which 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.
-
-  Because @kbd{C-h a} looks only for commands matching the string you
-specify, you may not find what you want on the first try.  In that
-case, don't just give up.  You can give Apropos a list of words to
-search for.  When more than one word is specified, at least two of
-those words must be present for an item to match.  If you are looking
-for commands to kill a chunk of text before point, try @kbd{C-h a kill
-back behind before @key{RET}}.  For even greater flexibility, you can
-also supply a regular expression to Apropos (@pxref{Regexps}).
+  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 @code{apropos} strings.
+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,
@@ -303,43 +351,46 @@ mark, insert, yank, fill, indent, case, change, set, what, list, find,
 view, describe, default.
 @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 all user variables that match a regexp, use the command
-@kbd{M-x apropos-variable}.  By default, this command shows only
-variables meant for user customization; if you specify a prefix
+  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.
 
-@findex apropos
-  To list all Lisp symbols that contain a match for a regexp, 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.
-
+@kindex C-h d
 @findex apropos-documentation
-  The @code{apropos-documentation} command is like @code{apropos} except
-that it searches documentation strings as well as symbol names for
-matches for the specified regular expression.
+  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 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 @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 non-@code{nil}, 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 non-@code{nil},
 Apropos tries to guess the relevance of each result, and displays the
 most relevant ones first.
 
-  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}.
+@vindex apropos-documentation-sort-by-scores
+  By default, Apropos lists the search results for
+@code{apropos-documentation} in order of relevance of the match.  If
+the variable @code{apropos-documentation-sort-by-scores} is
+@code{nil}, Apropos lists the symbols found in alphabetical order.
 
 @node Library Keywords
 @section Keyword Search for Lisp Libraries
@@ -350,7 +401,7 @@ The @kbd{C-h p} command lets you search the standard Emacs Lisp
 libraries by topic keywords.  Here is a partial list of keywords you can
 use:
 
-@multitable {emulations} {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
+@multitable {convenience} {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
 @item abbrev@tab abbreviation handling, typing shortcuts, macros.
 @item bib@tab code related to the @code{bib} bibliography processor.
 @item c@tab support for the C language and related languages.
@@ -397,8 +448,8 @@ use:
 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 go with it.  It also shows some sample
-text to illustrate scripts.
+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.
@@ -421,9 +472,7 @@ Ops}), plus a few special commands of their own.
 @item @key{SPC}
 Scroll forward.
 @item @key{DEL}
-@itemx @key{BS}
-Scroll backward.  On some keyboards, this key is known as @key{BS} or
-@key{backspace}.
+Scroll backward.
 @item @key{RET}
 Follow a cross reference at point.
 @item @key{TAB}
@@ -433,14 +482,26 @@ 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}) or
-variable name (@pxref{Variables}) 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 or variable.  Use
-@kbd{C-c C-b} to retrace your steps.
+  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
@@ -451,6 +512,12 @@ the help text.  @key{TAB} (@code{help-next-ref}) moves point down to the
 next cross reference.  Use @kbd{S-@key{TAB}} 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
 
@@ -476,24 +543,9 @@ 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.
 
-@kindex C-h F
-@kindex C-h K
-@findex Info-goto-emacs-key-command-node
-@findex Info-goto-emacs-command-node
-  There are two special help commands for accessing Emacs
-documentation through Info.  @kbd{C-h F @var{function} @key{RET}}
-enters Info and goes straight to the documentation of the Emacs
-function @var{function}.  @kbd{C-h K @var{key}} enters Info and goes
-straight to the documentation of the key @var{key}.  These two keys
-run the commands @code{Info-goto-emacs-command-node} and
-@code{Info-goto-emacs-key-command-node}.  You can use @kbd{C-h K} to
-find the documentation of a menu item: just select that menu item when
-@kbd{C-h K} prompts for a key.
-
-  @kbd{C-h F} and @kbd{C-h K} know about commands and keys described
-in manuals other than the Emacs manual.  Thus, they make it easier to
-find the documentation of commands and keys when you are not sure
-which manual describes them, like when using some specialized mode.
+  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
+documentation of @var{function} or @var{key}.
 
 @kindex C-h S
 @findex info-lookup-symbol
@@ -600,10 +652,12 @@ Emacs (@code{describe-no-warranty}).
 @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 most window systems, the help
+Areas of the mode line are examples.  On graphical displays, the help
 text is displayed as a ``tooltip'' (sometimes known as ``balloon
-help'').  @xref{Tooltips}.  Otherwise, it is shown in the echo area
-when you move point into the active text.
+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