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