@c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
+@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000
+@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Help, Mark, M-x, Top
@chapter Help
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}.
+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}.
+
+@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 even sure what is the name of the
+related command or option, 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{topic} @key{RET}
+This searches for commands whose names match @var{topic}, which should
+be a regular expression (@pxref{Regexps}). Browse the buffer popped
+up by Emacs, 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 user options and
+other variables, in case the feature you are looking for is controlled
+by an option, not a command. @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 i 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 @key{,} to move to other matches, until you find what you are
+looking for.
+
+@item C-h i 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 F
+This brings up the Emacs FAQ, where you can use the usual search
+commands (@pxref{Search}) to find the information.
+
+@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
* Help Summary:: Brief list of all Help commands.
* Language Help:: Help relating to international language support.
* Help Mode:: Special features of Help mode and Help buffers.
* Misc Help:: Other help commands.
+* Help Echo:: Help on active text and tooltips (`balloon help')
@end menu
@iftex
(@code{describe-bindings}).
@item C-h c @var{key}
Print 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}.
+(@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 f @var{function} @key{RET}
Display documentation on the Lisp function named @var{function}
(@code{describe-function}). Since commands are Lisp functions,
@item C-h n
Display documentation of Emacs changes, most recent first
(@code{view-emacs-news}).
+@item C-h P
+Display info on known problems with Emacs and possible workarounds
+(@code{view-emacs-problems}).
@item C-h p
Find packages by topic keyword (@code{finder-by-keyword}).
@item C-h s
around or before point, but only if that is the name of a known Lisp
variable. @xref{Variables}.@refill
+ Help buffers describing variables or functions defined in Lisp
+normally have hyperlinks to the Lisp definition, if you have the Lisp
+source files installed. If you know Lisp, this provides the ultimate
+documentation. If you don't know Lisp, you should learn it. If you
+are treating Emacs as an object file, then you are just @emph{using}
+Emacs. For real intimacy with Emacs, you must read the source code.
+
@node Apropos
@section Apropos
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-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.
@item @key{SPC}
Scroll forward.
@item @key{DEL}
-Scroll backward.
+@itemx @key{BS}
+Scroll backward. On some keyboards, this key is known as @key{BS} or
+@key{backspace}.
@item @key{RET}
Follow a cross reference at point.
@item @key{TAB}
@findex describe-no-warranty
@kindex C-h C-p
@findex describe-project
+@kindex C-h P
+@findex view-emacs-problems
The other @kbd{C-h} options display various files of useful
information. @kbd{C-h C-w} displays the full details on the complete
absence of warranty for GNU Emacs. @kbd{C-h n} (@code{view-emacs-news})
(@code{describe-distribution}) displays the file
@file{emacs/etc/DISTRIB}, which tells you how you can order a copy of
the latest version of Emacs. @kbd{C-h C-p} (@code{describe-project})
-displays general information about the GNU Project.
+displays general information about the GNU Project. @kbd{C-h P}
+(@code{view-emacs-problems}) displays the file
+@file{emacs/etc/PROBLEMS}, which lists known problems with Emacs in
+various situations with solutions or workarounds in many cases.
+
+@node Help Echo
+@section Help on Active Text and Tooltips
+
+@cindex tooltips
+@cindex ballon 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. This help will normally be
+printed in the echo area when you move point into the active text. In
+a window system you can display the help text as a ``tooltip.''
+@xref{Tooltips}.