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