Remove unnecessary @refill.
[bpt/emacs.git] / doc / emacs / help.texi
CommitLineData
8cf51b2c 1@c This is part of the Emacs manual.
ab422c4d
PE
2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software
3@c Foundation, Inc.
8cf51b2c 4@c See file emacs.texi for copying conditions.
abb9615e 5@node Help
8cf51b2c
GM
6@chapter Help
7@kindex Help
8@cindex help
9@cindex self-documentation
10@findex help-command
11@kindex C-h
12@kindex F1
13
8cf51b2c
GM
14@kindex C-h C-h
15@findex help-for-help
3dc62b2b
CY
16 Emacs provides a wide variety of help commands, all accessible
17through the prefix key @kbd{C-h} (or, equivalently, the function key
18@key{F1}). These help commands are described in the following
19sections. You can also type @kbd{C-h C-h} to view a list of help
20commands (@code{help-for-help}). You can scroll the list with
21@key{SPC} and @key{DEL}, then type the help command you want. To
22cancel, type @kbd{C-g}.
23
24 Many help commands display their information in a special @dfn{help
25buffer}. In this buffer, you can type @key{SPC} and @key{DEL} to
26scroll and type @key{RET} to follow hyperlinks. @xref{Help Mode}.
8cf51b2c
GM
27
28@cindex searching documentation efficiently
29@cindex looking for a subject in documentation
30 If you are looking for a certain feature, but don't know what it is
31called or where to look, we recommend three methods. First, try an
32apropos command, then try searching the manual index, then look in the
33FAQ and the package keywords.
34
35@table @kbd
36@item C-h a @var{topics} @key{RET}
37This searches for commands whose names match the argument
38@var{topics}. The argument can be a keyword, a list of keywords, or a
9de15963 39regular expression (@pxref{Regexps}). @xref{Apropos}.
8cf51b2c
GM
40
41@item C-h i d m emacs @key{RET} i @var{topic} @key{RET}
3dc62b2b
CY
42This searches for @var{topic} in the indices of the Emacs Info manual,
43displaying the first match found. Press @kbd{,} to see subsequent
44matches. You can use a regular expression as @var{topic}.
8cf51b2c
GM
45
46@item C-h i d m emacs @key{RET} s @var{topic} @key{RET}
47Similar, but searches the @emph{text} of the manual rather than the
48indices.
49
50@item C-h C-f
3dc62b2b 51This displays the Emacs FAQ, using Info.
8cf51b2c
GM
52
53@item C-h p
54This displays the available Emacs packages based on keywords.
3dc62b2b 55@xref{Package Keywords}.
8cf51b2c
GM
56@end table
57
3dc62b2b
CY
58 @kbd{C-h} or @key{F1} means ``help'' in various other contexts as
59well. For instance, you can type them after a prefix key to view a
60list of the keys that can follow the prefix key. (A few prefix keys
61don't support @kbd{C-h} in this way, because they define other
62meanings for it, but they all support @key{F1} for help.)
63
8cf51b2c 64@menu
8838673e
GM
65* Help Summary:: Brief list of all Help commands.
66* Key Help:: Asking what a key does in Emacs.
67* Name Help:: Asking about a command, variable or function name.
68* Apropos:: Asking what pertains to a given topic.
8cf51b2c 69* Help Mode:: Special features of Help mode and Help buffers.
3dc62b2b 70* Package Keywords:: Finding Lisp libraries by keywords (topics).
8cf51b2c 71* Language Help:: Help relating to international language support.
8838673e 72* Misc Help:: Other help commands.
bfd779dd 73* Help Files:: Commands to display auxiliary help files.
775b55af 74* Help Echo:: Help on active text and tooltips ("balloon help").
8cf51b2c
GM
75@end menu
76
77@iftex
78@node Help Summary
79@end iftex
80@ifnottex
81@node Help Summary
82@section Help Summary
83@end ifnottex
84
3dc62b2b
CY
85 Here is a summary of help commands for accessing the built-in
86documentation. Most of these are described in more detail in the
87following sections.
8cf51b2c
GM
88
89@table @kbd
90@item C-h a @var{topics} @key{RET}
91Display a list of commands whose names match @var{topics}
3dc62b2b 92(@code{apropos-command}).
8cf51b2c
GM
93@item C-h b
94Display all active key bindings; minor mode bindings first, then those
95of the major mode, then global bindings (@code{describe-bindings}).
96@item C-h c @var{key}
3dc62b2b
CY
97Show the name of the command that the key sequence @var{key} is bound
98to (@code{describe-key-briefly}). Here @kbd{c} stands for
16152b76 99``character''. For more extensive information on @var{key}, use
8cf51b2c
GM
100@kbd{C-h k}.
101@item C-h d @var{topics} @key{RET}
102Display the commands and variables whose documentation matches
103@var{topics} (@code{apropos-documentation}).
104@item C-h e
1c64e6ed 105Display the @file{*Messages*} buffer
8cf51b2c
GM
106(@code{view-echo-area-messages}).
107@item C-h f @var{function} @key{RET}
108Display documentation on the Lisp function named @var{function}
109(@code{describe-function}). Since commands are Lisp functions,
110this works for commands too.
111@item C-h h
112Display the @file{HELLO} file, which shows examples of various character
113sets.
114@item C-h i
3dc62b2b
CY
115Run Info, the GNU documentation browser (@code{info}). The Emacs
116manual is available in Info.
8cf51b2c
GM
117@item C-h k @var{key}
118Display the name and documentation of the command that @var{key} runs
119(@code{describe-key}).
120@item C-h l
d43f5a42 121Display a description of your last 300 keystrokes
8cf51b2c
GM
122(@code{view-lossage}).
123@item C-h m
124Display documentation of the current major mode (@code{describe-mode}).
9de15963
MR
125@item C-h n
126Display news of recent Emacs changes (@code{view-emacs-news}).
8cf51b2c 127@item C-h p
d43f5a42 128Find packages by topic keyword (@code{finder-by-keyword}). This lists
3dc62b2b 129packages using a package menu buffer. @xref{Packages}.
d43f5a42
CY
130@item C-h P @var{package} @key{RET}
131Display documentation about the package named @var{package}
3dc62b2b 132(@code{describe-package}).
9de15963
MR
133@item C-h r
134Display the Emacs manual in Info (@code{info-emacs-manual}).
8cf51b2c 135@item C-h s
3dc62b2b
CY
136Display the contents of the current @dfn{syntax table}
137(@code{describe-syntax}). The syntax table says which characters are
138opening delimiters, which are parts of words, and so on. @xref{Syntax
139Tables,, Syntax Tables, elisp, The Emacs Lisp Reference Manual}, for
140details.
8cf51b2c
GM
141@item C-h t
142Enter the Emacs interactive tutorial (@code{help-with-tutorial}).
143@item C-h v @var{var} @key{RET}
144Display the documentation of the Lisp variable @var{var}
145(@code{describe-variable}).
146@item C-h w @var{command} @key{RET}
147Show which keys run the command named @var{command} (@code{where-is}).
148@item C-h C @var{coding} @key{RET}
149Describe the coding system @var{coding}
150(@code{describe-coding-system}).
151@item C-h C @key{RET}
152Describe the coding systems currently in use.
9de15963
MR
153@item C-h F @var{command} @key{RET}
154Enter Info and go to the node that documents the Emacs command
155@var{command} (@code{Info-goto-emacs-command-node}).
8cf51b2c
GM
156@item C-h I @var{method} @key{RET}
157Describe the input method @var{method} (@code{describe-input-method}).
9de15963
MR
158@item C-h K @var{key}
159Enter Info and go to the node that documents the key sequence
160@var{key} (@code{Info-goto-emacs-key-command-node}).
8cf51b2c
GM
161@item C-h L @var{language-env} @key{RET}
162Display information on the character sets, coding systems, and input
163methods used in language environment @var{language-env}
164(@code{describe-language-environment}).
8cf51b2c
GM
165@item C-h S @var{symbol} @key{RET}
166Display the Info documentation on symbol @var{symbol} according to the
167programming language you are editing (@code{info-lookup-symbol}).
168@item C-h .
169Display the help message for a special text area, if point is in one
170(@code{display-local-help}). (These include, for example, links in
1c64e6ed 171@file{*Help*} buffers.)
8cf51b2c
GM
172@end table
173
174@node Key Help
175@section Documentation for a Key
176
8cf51b2c 177@findex describe-key-briefly
3dc62b2b 178@findex describe-key
8cf51b2c 179 The help commands to get information about a key sequence are
3dc62b2b
CY
180@kbd{C-h c} (@code{describe-key-briefly}) and @kbd{C-h k}
181(@code{describe-key}).
8cf51b2c 182
3dc62b2b
CY
183@kindex C-h c
184 @kbd{C-h c @var{key}} displays in the echo area the name of the
185command that @var{key} is bound to. For example, @kbd{C-h c C-f}
186displays @samp{forward-char}.
187
188@cindex documentation string
8cf51b2c 189@kindex C-h k
8cf51b2c 190 @kbd{C-h k @var{key}} is similar but gives more information: it
3dc62b2b
CY
191displays a help buffer containing the command's @dfn{documentation
192string}, which describes exactly what the command does.
8cf51b2c
GM
193
194@kindex C-h K
195@findex Info-goto-emacs-key-command-node
3dc62b2b
CY
196 @kbd{C-h K @var{key}} displays the section of the Emacs manual that
197describes the command corresponding to @var{key}.
8cf51b2c
GM
198
199 @kbd{C-h c}, @kbd{C-h k} and @kbd{C-h K} work for any sort of key
200sequences, including function keys, menus, and mouse events. For
201instance, after @kbd{C-h k} you can select a menu item from the menu
202bar, to view the documentation string of the command it runs.
203
204@kindex C-h w
205@findex where-is
206 @kbd{C-h w @var{command} @key{RET}} lists the keys that are bound to
207@var{command}. It displays the list in the echo area. If it says the
208command is not on any key, that means you must use @kbd{M-x} to run
209it. @kbd{C-h w} runs the command @code{where-is}.
210
211@node Name Help
212@section Help by Command or Variable Name
213
214@kindex C-h f
215@findex describe-function
216 @kbd{C-h f @var{function} @key{RET}} (@code{describe-function})
217displays the documentation of Lisp function @var{function}, in a
218window. Since commands are Lisp functions, you can use this method to
219view the documentation of any command whose name you know. For
220example,
221
222@example
223C-h f auto-fill-mode @key{RET}
224@end example
225
226@noindent
227displays the documentation of @code{auto-fill-mode}. This is the only
228way to get the documentation of a command that is not bound to any key
229(one which you would normally run using @kbd{M-x}).
230
231 @kbd{C-h f} is also useful for Lisp functions that you use in a Lisp
232program. For example, if you have just written the expression
233@code{(make-vector len)} and want to check that you are using
234@code{make-vector} properly, type @kbd{C-h f make-vector @key{RET}}.
235Because @kbd{C-h f} allows all function names, not just command names,
236you may find that some of your favorite completion abbreviations that
237work in @kbd{M-x} don't work in @kbd{C-h f}. An abbreviation that is
238unique among command names may not be unique among all function names.
239
240 If you type @kbd{C-h f @key{RET}}, it describes the function called
241by the innermost Lisp expression in the buffer around point,
242@emph{provided} that function name is a valid, defined Lisp function.
243(That name appears as the default while you enter the argument.) For
244example, if point is located following the text @samp{(make-vector
245(car x)}, the innermost list containing point is the one that starts
48de8b12 246with @samp{(make-vector}, so @kbd{C-h f @key{RET}} describes the
8cf51b2c
GM
247function @code{make-vector}.
248
249 @kbd{C-h f} is also useful just to verify that you spelled a
250function name correctly. If the minibuffer prompt for @kbd{C-h f}
251shows the function name from the buffer as the default, it means that
252name is defined as a Lisp function. Type @kbd{C-g} to cancel the
253@kbd{C-h f} command if you don't really want to view the
254documentation.
255
256@kindex C-h v
257@findex describe-variable
258 @kbd{C-h v} (@code{describe-variable}) is like @kbd{C-h f} but
259describes Lisp variables instead of Lisp functions. Its default is
260the Lisp symbol around or before point, if that is the name of a
261defined Lisp variable. @xref{Variables}.
262
263 Help buffers that describe Emacs variables and functions normally
3dc62b2b
CY
264have hyperlinks to the corresponding source code, if you have the
265source files installed (@pxref{Hyperlinking}).
8cf51b2c
GM
266
267@kindex C-h F
268@findex Info-goto-emacs-command-node
9de15963 269 To find a command's documentation in a manual, use @kbd{C-h F}
8cf51b2c
GM
270(@code{Info-goto-emacs-command-node}). This knows about various
271manuals, not just the Emacs manual, and finds the right one.
272
273@node Apropos
274@section Apropos
3dc62b2b 275@cindex apropos
8cf51b2c
GM
276
277 The @dfn{apropos} commands answer questions like, ``What are the
278commands for working with files?'' More precisely, you specify an
279@dfn{apropos pattern}, which means either a word, a list of words, or
3dc62b2b
CY
280a regular expression.
281
282 Each of the following apropos commands reads an apropos pattern in
283the minibuffer, searches for items that match the pattern, and
284displays the results in a different window.
8cf51b2c
GM
285
286@table @kbd
3dc62b2b
CY
287@item C-h a
288@kindex C-h a
289@findex apropos-command
290Search for commands (@code{apropos-command}). With a prefix argument,
291search for noninteractive functions too.
8cf51b2c 292
3dc62b2b
CY
293@item M-x apropos
294@findex apropos
295Search for functions and variables. Both interactive functions
296(commands) and noninteractive functions can be found by this.
8cf51b2c 297
acfe10b7
BG
298@item M-x apropos-user-option
299@findex apropos-user-option
3dc62b2b
CY
300Search for user-customizable variables. With a prefix argument,
301search for non-customizable variables too.
8cf51b2c 302
acfe10b7
BG
303@item M-x apropos-variable
304@findex apropos-variable
305Search for variables. With a prefix argument, search for
306customizable variables only.
307
3dc62b2b
CY
308@item M-x apropos-value
309@findex apropos-value
310Search for variables whose values match the specified pattern. With a
311prefix argument, search also for functions with definitions matching
312the pattern, and Lisp symbols with properties matching the pattern.
8cf51b2c 313
3dc62b2b
CY
314@item C-h d
315@kindex C-h d
316@findex apropos-documentation
317Search for functions and variables whose documentation strings match
318the specified pattern (@code{apropos-documentation}).
8cf51b2c
GM
319@end table
320
3dc62b2b
CY
321 The simplest kind of apropos pattern is one word. Anything
322containing that word matches the pattern. Thus, to find commands that
323work on files, type @kbd{C-h a file @key{RET}}. This displays a list
324of all command names that contain @samp{file}, including
8cf51b2c
GM
325@code{copy-file}, @code{find-file}, and so on. Each command name
326comes with a brief description and a list of keys you can currently
327invoke it with. In our example, it would say that you can invoke
328@code{find-file} by typing @kbd{C-x C-f}.
329
8cf51b2c 330 For more information about a function definition, variable or symbol
3dc62b2b 331property listed in an apropos buffer, you can click on it with
8cf51b2c
GM
332@kbd{Mouse-1} or @kbd{Mouse-2}, or move there and type @key{RET}.
333
334 When you specify more than one word in the apropos pattern, a name
335must contain at least two of the words in order to match. Thus, if
336you are looking for commands to kill a chunk of text before point, you
337could try @kbd{C-h a kill back backward behind before @key{RET}}. The
338real command name @code{kill-backward} will match that; if there were
339a command @code{kill-text-before}, it would also match, since it
340contains two of the specified words.
341
342 For even greater flexibility, you can specify a regular expression
343(@pxref{Regexps}). An apropos pattern is interpreted as a regular
344expression if it contains any of the regular expression special
345characters, @samp{^$*+?.\[}.
346
347 Following the conventions for naming Emacs commands, here are some
348words that you'll find useful in apropos patterns. By using them in
349@kbd{C-h a}, you will also get a feel for the naming conventions.
350
351@quotation
352char, line, word, sentence, paragraph, region, page, sexp, list, defun,
353rect, buffer, frame, window, face, file, dir, register, mode, beginning, end,
354forward, backward, next, previous, up, down, search, goto, kill, delete,
355mark, insert, yank, fill, indent, case, change, set, what, list, find,
356view, describe, default.
357@end quotation
358
8cf51b2c
GM
359@vindex apropos-do-all
360 If the variable @code{apropos-do-all} is non-@code{nil}, the apropos
361commands always behave as if they had been given a prefix argument.
362
363@vindex apropos-sort-by-scores
364@cindex apropos search results, order by score
8cf51b2c 365@vindex apropos-documentation-sort-by-scores
3dc62b2b
CY
366 By default, all apropos commands except @code{apropos-documentation}
367list their results in alphabetical order. If the variable
368@code{apropos-sort-by-scores} is non-@code{nil}, these commands
369instead try to guess the relevance of each result, and display the
370most relevant ones first. The @code{apropos-documentation} command
371lists its results in order of relevance by default; to list them in
372alphabetical order, change the variable
373@code{apropos-documentation-sort-by-scores} to @code{nil}.
8cf51b2c
GM
374
375@node Help Mode
376@section Help Mode Commands
377
e2aeef63 378 Help buffers provide the same commands as View mode (@pxref{View
3dc62b2b
CY
379Mode}); for instance, @key{SPC} scrolls forward, and @key{DEL} scrolls
380backward. A few special commands are also provided:
8cf51b2c
GM
381
382@table @kbd
8cf51b2c 383@item @key{RET}
3dc62b2b 384Follow a cross reference at point (@code{help-follow}).
8cf51b2c 385@item @key{TAB}
3dc62b2b 386Move point forward to the next hyperlink (@code{forward-button}).
8cf51b2c 387@item S-@key{TAB}
3dc62b2b 388Move point back to the previous hyperlink (@code{backward-button}).
8cf51b2c
GM
389@item Mouse-1
390@itemx Mouse-2
3dc62b2b 391Follow a hyperlink that you click on.
8cf51b2c 392@item C-c C-c
3dc62b2b
CY
393Show all documentation about the symbol at point
394(@code{help-follow-symbol}).
395@item C-c C-b
396Go back to the previous help topic (@code{help-go-back}).
8cf51b2c
GM
397@end table
398
3dc62b2b
CY
399@cindex hyperlink
400@findex help-follow
401@findex help-go-back
402@kindex RET @r{(Help mode)}
403@kindex C-c C-b @r{(Help mode)}
404 When a function name, variable name, or face name (@pxref{Faces})
405appears in the documentation in the help buffer, it is normally an
406underlined @dfn{hyperlink}. To view the associated documentation,
407move point there and type @key{RET} (@code{help-follow}), or click on
408the hyperlink with @kbd{Mouse-1} or @kbd{Mouse-2}. Doing so replaces
409the contents of the help buffer; to retrace your steps, type @kbd{C-c
410C-b} (@code{help-go-back}).
8cf51b2c
GM
411
412@cindex URL, viewing in help
413@cindex help, viewing web pages
414@cindex viewing web pages in help
415@cindex web pages, viewing in help
416@findex browse-url
3dc62b2b
CY
417 A help buffer can also contain hyperlinks to Info manuals, source
418code definitions, and URLs (web pages). The first two are opened in
419Emacs, and the third using a web browser via the @code{browse-url}
420command (@pxref{Browse-URL}).
8cf51b2c 421
27a16462 422@kindex TAB @r{(Help mode)}
3dc62b2b 423@findex forward-button
27a16462 424@kindex S-TAB @r{(Help mode)}
3dc62b2b
CY
425@findex backward-button
426 In a help buffer, @key{TAB} (@code{forward-button}) moves point
427forward to the next hyperlink, while @kbd{S-@key{TAB}}
428(@code{backward-button}) point back to the previous hyperlink. These
429commands act cyclically; for instance, typing @key{TAB} at the last
430hyperlink moves back to the first hyperlink.
431
432 To view all documentation about any symbol in the text, move point
433to there and type @kbd{C-c C-c} (@code{help-follow-symbol}). This
434shows all available documentation about the symbol---as a variable,
435function and/or face.
436
437@node Package Keywords
438@section Keyword Search for Packages
439@cindex finder
440
441Most optional features in Emacs are grouped into @dfn{packages}.
442Emacs contains several hundred built-in packages, and more can be
443installed over the network (@pxref{Packages}).
8cf51b2c
GM
444
445@kindex C-h p
446@findex finder-by-keyword
3dc62b2b
CY
447 To make it easier to find packages related to a topic, most packages
448are associated with one or more @dfn{keywords} based on what they do.
449Type @kbd{C-h p} (@code{finder-by-keyword}) to bring up a list of
450package keywords, together with a description of what the keywords
451mean. To view a list of packages for a given keyword, type @key{RET}
452on that line; this displays the list of packages in a Package Menu
453buffer (@pxref{Package Menu}).
454
455@findex describe-package
456@kindex C-h P
457 @kbd{C-h P} (@code{describe-package}) prompts for the name of a
458package, and displays a help buffer describing the attributes of the
459package and the features that it implements.
8cf51b2c
GM
460
461@node Language Help
462@section Help for International Language Support
463
3dc62b2b
CY
464 For information on a specific language environment (@pxref{Language
465Environments}), type @kbd{C-h L}
466(@code{describe-language-environment}). This displays a help buffer
467describing the languages supported by the language environment, and
468listing the associated character sets, coding systems, and input
469methods, as well as some sample text for that language environment.
8cf51b2c
GM
470
471 The command @kbd{C-h h} (@code{view-hello-file}) displays the file
66ecdc9e
GM
472@file{etc/HELLO}, which demonstrates various character sets by showing
473how to say ``hello'' in many languages.
8cf51b2c
GM
474
475 The command @kbd{C-h I} (@code{describe-input-method}) describes an
476input method---either a specified input method, or by default the
477input method currently in use. @xref{Input Methods}.
478
479 The command @kbd{C-h C} (@code{describe-coding-system}) describes
480coding systems---either a specified coding system, or the ones
481currently in use. @xref{Coding Systems}.
482
483@node Misc Help
484@section Other Help Commands
485
486@kindex C-h i
487@findex info
488@cindex Info
489@cindex manuals, on-line
490@cindex on-line manuals
491 @kbd{C-h i} (@code{info}) runs the Info program, which browses
492structured documentation files. The entire Emacs manual is available
493within Info, along with many other manuals for the GNU system. Type
494@kbd{h} after entering Info to run a tutorial on using Info.
495
496@cindex find Info manual by its file name
497 With a numeric argument @var{n}, @kbd{C-h i} selects the Info buffer
498@samp{*info*<@var{n}>}. This is useful if you want to browse multiple
499Info manuals simultaneously. If you specify just @kbd{C-u} as the
500prefix argument, @kbd{C-h i} prompts for the name of a documentation
501file, so you can browse a file which doesn't have an entry in the
502top-level Info menu.
503
504 The help commands @kbd{C-h F @var{function} @key{RET}} and @kbd{C-h
505K @var{key}}, described above, enter Info and go straight to the
506documentation of @var{function} or @var{key}.
507
508@kindex C-h S
509@findex info-lookup-symbol
510 When editing a program, if you have an Info version of the manual
511for the programming language, you can use @kbd{C-h S}
ff98e024
MR
512(@code{info-lookup-symbol}) to find an entry for a symbol (keyword,
513function or variable) in the proper manual. The details of how this
514command works depend on the major mode.
8cf51b2c
GM
515
516@kindex C-h l
517@findex view-lossage
9de15963
MR
518 If something surprising happens, and you are not sure what you typed,
519use @kbd{C-h l} (@code{view-lossage}). @kbd{C-h l} displays your last
520300 input keystrokes. If you see commands that you don't know, you can
521use @kbd{C-h c} to find out what they do.
8cf51b2c
GM
522
523@kindex C-h e
524@findex view-echo-area-messages
525 To review recent echo area messages, use @kbd{C-h e}
526(@code{view-echo-area-messages}). This displays the buffer
1c64e6ed 527@file{*Messages*}, where those messages are kept.
8cf51b2c
GM
528
529@kindex C-h m
530@findex describe-mode
531 Each Emacs major mode typically redefines a few keys and makes other
532changes in how editing works. @kbd{C-h m} (@code{describe-mode})
533displays documentation on the current major mode, which normally
534describes the commands and features that are changed in this mode.
535
536@kindex C-h b
537@findex describe-bindings
253e30aa
GM
538@kindex C-h s
539@findex describe-syntax
8cf51b2c
GM
540 @kbd{C-h b} (@code{describe-bindings}) and @kbd{C-h s}
541(@code{describe-syntax}) show other information about the current
542environment within Emacs. @kbd{C-h b} displays a list of all the key
543bindings now in effect: first the local bindings of the current minor
544modes, then the local bindings defined by the current major mode, and
545finally the global bindings (@pxref{Key Bindings}). @kbd{C-h s}
546displays the contents of the syntax table, with explanations of each
6cfd0fa2
CY
547character's syntax (@pxref{Syntax Tables,, Syntax Tables, elisp, The
548Emacs Lisp Reference Manual}).
8cf51b2c 549
89671e16 550@findex describe-prefix-bindings
8cf51b2c 551 You can get a list of subcommands for a particular prefix key by
89671e16
LMI
552typing @kbd{C-h} (@code{describe-prefix-bindings}) after the prefix
553key. (There are a few prefix keys for which this does not
554work---those that provide their own bindings for @kbd{C-h}. One of
555these is @key{ESC}, because @kbd{@key{ESC} C-h} is actually
556@kbd{C-M-h}, which marks a defun.)
8cf51b2c
GM
557
558@node Help Files
559@section Help Files
560
3dc62b2b
CY
561 Apart from the built-in documentation and manuals, Emacs contains
562several other files describing topics like copying conditions, release
563notes, instructions for debugging and reporting bugs, and so forth.
564You can use the following commands to view these files. Apart from
565@kbd{C-h g}, they all have the form @kbd{C-h C-@var{char}}.
8cf51b2c
GM
566
567@kindex C-h C-c
568@findex describe-copying
569@kindex C-h C-d
087a8fdc 570@findex view-emacs-debugging
8cf51b2c 571@kindex C-h C-e
087a8fdc 572@findex view-external-packages
8cf51b2c
GM
573@kindex C-h C-f
574@findex view-emacs-FAQ
087a8fdc
KS
575@kindex C-h g
576@findex describe-gnu-project
577@kindex C-h C-m
578@findex view-order-manuals
8cf51b2c
GM
579@kindex C-h C-n
580@findex view-emacs-news
087a8fdc
KS
581@kindex C-h C-o
582@findex describe-distribution
8cf51b2c 583@kindex C-h C-p
087a8fdc 584@findex view-emacs-problems
8cf51b2c
GM
585@kindex C-h C-t
586@findex view-emacs-todo
587@kindex C-h C-w
588@findex describe-no-warranty
589
590@table @kbd
591@item C-h C-c
3dc62b2b
CY
592Display the rules under which you can copy and redistribute Emacs
593(@code{describe-copying}).
8cf51b2c 594@item C-h C-d
ae742cb5 595Display help for debugging Emacs (@code{view-emacs-debugging}).
31976bd5 596@item C-h C-e
3dc62b2b 597Display information about where to get external packages
31976bd5 598(@code{view-external-packages}).
8cf51b2c
GM
599@item C-h C-f
600Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
087a8fdc 601@item C-h g
3dc62b2b 602Display information about the GNU Project (@code{describe-gnu-project}).
087a8fdc 603@item C-h C-m
3dc62b2b 604Display information about ordering printed copies of Emacs manuals
087a8fdc 605(@code{view-order-manuals}).
8cf51b2c 606@item C-h C-n
3dc62b2b
CY
607Display the ``news'' file, which lists the new features in this
608version of Emacs (@code{view-emacs-news}).
087a8fdc
KS
609@item C-h C-o
610Display how to order or download the latest version of
611Emacs and other GNU software (@code{describe-distribution}).
8cf51b2c 612@item C-h C-p
087a8fdc
KS
613Display the list of known Emacs problems, sometimes with suggested
614workarounds (@code{view-emacs-problems}).
8cf51b2c 615@item C-h C-t
087a8fdc 616Display the Emacs to-do list (@code{view-emacs-todo}).
8cf51b2c
GM
617@item C-h C-w
618Display the full details on the complete absence of warranty for GNU
619Emacs (@code{describe-no-warranty}).
620@end table
621
622@node Help Echo
623@section Help on Active Text and Tooltips
624
625@cindex tooltips
626@cindex balloon help
3dc62b2b
CY
627 In Emacs, stretches of ``active text'' (text that does something
628special in response to mouse clicks or @key{RET}) often have
629associated help text. This includes hyperlinks in Emacs buffers, as
630well as parts of the mode line. On graphical displays, as well as
631some text terminals which support mouse tracking, moving the mouse
632over the active text displays the help text as a @dfn{tooltip}.
a67cf2bb 633@xref{Tooltips}.
8cf51b2c
GM
634
635@kindex C-h .
636@findex display-local-help
637@vindex help-at-pt-display-when-idle
3dc62b2b
CY
638 On terminals that don't support mouse-tracking, you can display the
639help text for active buffer text at point by typing @kbd{C-h .}
640(@code{display-local-help}). This shows the help text in the echo
641area. To display help text automatically whenever it is available at
642point, set the variable @code{help-at-pt-display-when-idle} to
643@code{t}.