aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2011-10-09 17:00:42 -0400
committerChong Yidong2011-10-09 17:00:42 -0400
commit3dc62b2b1e2f1c44d867907683702dd10763a0c5 (patch)
tree74cdc1b3380ffe5d0d228266fa0a729752a08684
parente3b10342fb9a9d2ab7e5ae2777150b69ed311975 (diff)
downloademacs-3dc62b2b1e2f1c44d867907683702dd10763a0c5.tar.gz
emacs-3dc62b2b1e2f1c44d867907683702dd10763a0c5.zip
Corrections and tweaks to Help chapter in Emacs manual.
* doc/emacs/help.texi (Help, Help Summary): Eliminate the unnecessary "help option" terminology. (Key Help): Add command names. Define "documentation string". (Name Help): Remove an over-long joke. (Apropos): Document prefix args. Remove duplicated descriptions. (Help Mode): Add C-c C-b to table. Update TAB binding. (Package Keywords): Rename from "Library by Keyword". Describe new package menu interface. (Help Files, Help Echo): Tweak description. * doc/emacs/mini.texi: Various copyedits.
-rw-r--r--doc/emacs/ChangeLog13
-rw-r--r--doc/emacs/emacs.texi4
-rw-r--r--doc/emacs/help.texi426
-rw-r--r--doc/emacs/mini.texi125
4 files changed, 258 insertions, 310 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index d2d861c4e2a..6adbe95cc97 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,6 +1,17 @@
12011-10-08 Chong Yidong <cyd@stupidchicken.com> 12011-10-09 Chong Yidong <cyd@stupidchicken.com>
2
3 * help.texi (Help, Help Summary): Eliminate the unnecessary "help
4 option" terminology.
5 (Key Help): Add command names. Define "documentation string".
6 (Name Help): Remove an over-long joke.
7 (Apropos): Document prefix args. Remove duplicated descriptions.
8 (Help Mode): Add C-c C-b to table. Update TAB binding.
9 (Package Keywords): Rename from "Library by Keyword". Describe
10 new package menu interface.
11 (Help Files, Help Echo): Tweak description.
2 12
3 * mini.texi (Completion Options): Add completion-cycle-threshold. 13 * mini.texi (Completion Options): Add completion-cycle-threshold.
14 (Minibuffer History): Document numeric args to history commands.
4 15
52011-10-08 Eli Zaretskii <eliz@gnu.org> 162011-10-08 Eli Zaretskii <eliz@gnu.org>
6 17
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 49b91c72da4..286595c2b45 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -292,10 +292,10 @@ Help
292* Name Help:: Asking about a command, variable or function name. 292* Name Help:: Asking about a command, variable or function name.
293* Apropos:: Asking what pertains to a given topic. 293* Apropos:: Asking what pertains to a given topic.
294* Help Mode:: Special features of Help mode and Help buffers. 294* Help Mode:: Special features of Help mode and Help buffers.
295* Library Keywords:: Finding Lisp libraries by keywords (topics). 295* Package Keywords:: Finding Lisp libraries by keywords (topics).
296* Language Help:: Help relating to international language support. 296* Language Help:: Help relating to international language support.
297* Misc Help:: Other help commands. 297* Misc Help:: Other help commands.
298* Help Files:: Commands to display pre-written help files. 298* Help Files:: Commands to display auxilliary help files.
299* Help Echo:: Help on active text and tooltips (`balloon help'). 299* Help Echo:: Help on active text and tooltips (`balloon help').
300 300
301The Mark and the Region 301The Mark and the Region
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index daa7ee4396a..a85edf101e5 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -11,31 +11,19 @@
11@kindex C-h 11@kindex C-h
12@kindex F1 12@kindex F1
13 13
14 Emacs provides extensive help features, all accessible through the
15@dfn{help character}, @kbd{C-h}. This is a prefix key that is used
16for commands that display documentation; the next character you type
17should be a @dfn{help option}, to ask for a particular kind of help.
18You can cancel the @kbd{C-h} command with @kbd{C-g}. The function key
19@key{F1} is equivalent to @kbd{C-h}.
20
21@kindex C-h C-h 14@kindex C-h C-h
22@findex help-for-help 15@findex help-for-help
23 @kbd{C-h} itself is one of the help options; @kbd{C-h C-h} displays 16 Emacs provides a wide variety of help commands, all accessible
24a list of help options, with a brief description of each one 17through the prefix key @kbd{C-h} (or, equivalently, the function key
25(@code{help-for-help}). You can scroll the list with @key{SPC} and 18@key{F1}). These help commands are described in the following
26@key{DEL}, then type the help option you want. To cancel, type 19sections. You can also type @kbd{C-h C-h} to view a list of help
27@kbd{C-g}. 20commands (@code{help-for-help}). You can scroll the list with
28 21@key{SPC} and @key{DEL}, then type the help command you want. To
29 @kbd{C-h} or @key{F1} means ``help'' in various other contexts as 22cancel, type @kbd{C-g}.
30well. For instance, you can type them after a prefix key to display 23
31a list of the keys that can follow the prefix key. (A few prefix keys 24 Many help commands display their information in a special @dfn{help
32don't support @kbd{C-h} in this way, because they define other 25buffer}. In this buffer, you can type @key{SPC} and @key{DEL} to
33meanings for it, but they all support @key{F1} for help.) 26scroll and type @key{RET} to follow hyperlinks. @xref{Help Mode}.
34
35 Most help buffers use a special major mode, Help mode, which lets
36you scroll conveniently with @key{SPC} and @key{DEL}. You can also
37follow hyperlinks to URLs, and to other facilities including Info
38nodes and customization buffers. @xref{Help Mode}.
39 27
40@cindex searching documentation efficiently 28@cindex searching documentation efficiently
41@cindex looking for a subject in documentation 29@cindex looking for a subject in documentation
@@ -51,33 +39,38 @@ This searches for commands whose names match the argument
51regular expression (@pxref{Regexps}). @xref{Apropos}. 39regular expression (@pxref{Regexps}). @xref{Apropos}.
52 40
53@item C-h i d m emacs @key{RET} i @var{topic} @key{RET} 41@item C-h i d m emacs @key{RET} i @var{topic} @key{RET}
54This searches for @var{topic} in the indices of the on-line Emacs 42This searches for @var{topic} in the indices of the Emacs Info manual,
55manual, and displays the first match found. Press @kbd{,} to see 43displaying the first match found. Press @kbd{,} to see subsequent
56subsequent matches. You can use a regular expression as @var{topic}. 44matches. You can use a regular expression as @var{topic}.
57 45
58@item C-h i d m emacs @key{RET} s @var{topic} @key{RET} 46@item C-h i d m emacs @key{RET} s @var{topic} @key{RET}
59Similar, but searches the @emph{text} of the manual rather than the 47Similar, but searches the @emph{text} of the manual rather than the
60indices. 48indices.
61 49
62@item C-h C-f 50@item C-h C-f
63This displays the Emacs FAQ. You can use the Info commands 51This displays the Emacs FAQ, using Info.
64to browse it.
65 52
66@item C-h p 53@item C-h p
67This displays the available Emacs packages based on keywords. 54This displays the available Emacs packages based on keywords.
68@xref{Library Keywords}. 55@xref{Package Keywords}.
69@end table 56@end table
70 57
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
71@menu 64@menu
72* Help Summary:: Brief list of all Help commands. 65* Help Summary:: Brief list of all Help commands.
73* Key Help:: Asking what a key does in Emacs. 66* Key Help:: Asking what a key does in Emacs.
74* Name Help:: Asking about a command, variable or function name. 67* Name Help:: Asking about a command, variable or function name.
75* Apropos:: Asking what pertains to a given topic. 68* Apropos:: Asking what pertains to a given topic.
76* Help Mode:: Special features of Help mode and Help buffers. 69* Help Mode:: Special features of Help mode and Help buffers.
77* Library Keywords:: Finding Lisp libraries by keywords (topics). 70* Package Keywords:: Finding Lisp libraries by keywords (topics).
78* Language Help:: Help relating to international language support. 71* Language Help:: Help relating to international language support.
79* Misc Help:: Other help commands. 72* Misc Help:: Other help commands.
80* Help Files:: Commands to display pre-written help files. 73* Help Files:: Commands to display auxilliary help files.
81* Help Echo:: Help on active text and tooltips (`balloon help'). 74* Help Echo:: Help on active text and tooltips (`balloon help').
82@end menu 75@end menu
83 76
@@ -89,21 +82,20 @@ This displays the available Emacs packages based on keywords.
89@section Help Summary 82@section Help Summary
90@end ifnottex 83@end ifnottex
91 84
92 Here is a summary of the Emacs interactive help commands. (The 85 Here is a summary of help commands for accessing the built-in
93character that follows @kbd{C-h} is the ``help option.'') See 86documentation. Most of these are described in more detail in the
94@ref{Help Files}, for other help commands that display fixed files 87following sections.
95of information.
96 88
97@table @kbd 89@table @kbd
98@item C-h a @var{topics} @key{RET} 90@item C-h a @var{topics} @key{RET}
99Display a list of commands whose names match @var{topics} 91Display a list of commands whose names match @var{topics}
100(@code{apropos-command}; @pxref{Apropos}). 92(@code{apropos-command}).
101@item C-h b 93@item C-h b
102Display all active key bindings; minor mode bindings first, then those 94Display all active key bindings; minor mode bindings first, then those
103of the major mode, then global bindings (@code{describe-bindings}). 95of the major mode, then global bindings (@code{describe-bindings}).
104@item C-h c @var{key} 96@item C-h c @var{key}
105Given a key sequence @var{key}, show the name of the command that it 97Show the name of the command that the key sequence @var{key} is bound
106runs (@code{describe-key-briefly}). Here @kbd{c} stands for 98to (@code{describe-key-briefly}). Here @kbd{c} stands for
107``character.'' For more extensive information on @var{key}, use 99``character.'' For more extensive information on @var{key}, use
108@kbd{C-h k}. 100@kbd{C-h k}.
109@item C-h d @var{topics} @key{RET} 101@item C-h d @var{topics} @key{RET}
@@ -120,8 +112,8 @@ this works for commands too.
120Display the @file{HELLO} file, which shows examples of various character 112Display the @file{HELLO} file, which shows examples of various character
121sets. 113sets.
122@item C-h i 114@item C-h i
123Run Info, the GNU documentation browser (@code{info}). 115Run Info, the GNU documentation browser (@code{info}). The Emacs
124The complete Emacs manual is available on-line in Info. 116manual is available in Info.
125@item C-h k @var{key} 117@item C-h k @var{key}
126Display the name and documentation of the command that @var{key} runs 118Display the name and documentation of the command that @var{key} runs
127(@code{describe-key}). 119(@code{describe-key}).
@@ -134,20 +126,18 @@ Display documentation of the current major mode (@code{describe-mode}).
134Display news of recent Emacs changes (@code{view-emacs-news}). 126Display news of recent Emacs changes (@code{view-emacs-news}).
135@item C-h p 127@item C-h p
136Find packages by topic keyword (@code{finder-by-keyword}). This lists 128Find packages by topic keyword (@code{finder-by-keyword}). This lists
137packages using a package menu buffer (@pxref{Package Menu}); for an 129packages using a package menu buffer. @xref{Packages}.
138alternative interface to the same information, try the
139@code{info-finder} command.
140@item C-h P @var{package} @key{RET} 130@item C-h P @var{package} @key{RET}
141Display documentation about the package named @var{package} 131Display documentation about the package named @var{package}
142(@code{describe-package}; @pxref{Packages}). 132(@code{describe-package}).
143@item C-h r 133@item C-h r
144Display the Emacs manual in Info (@code{info-emacs-manual}). 134Display the Emacs manual in Info (@code{info-emacs-manual}).
145@item C-h s 135@item C-h s
146Display the current contents of the @dfn{syntax table}, with an 136Display the contents of the current @dfn{syntax table}
147explanation of what they mean (@code{describe-syntax}). The syntax 137(@code{describe-syntax}). The syntax table says which characters are
148table says which characters are opening delimiters, which are parts of 138opening delimiters, which are parts of words, and so on. @xref{Syntax
149words, which are string quotes, and so on. @xref{Syntax Tables,, 139Tables,, Syntax Tables, elisp, The Emacs Lisp Reference Manual}, for
150Syntax Tables, elisp, The Emacs Lisp Reference Manual}, for details. 140details.
151@item C-h t 141@item C-h t
152Enter the Emacs interactive tutorial (@code{help-with-tutorial}). 142Enter the Emacs interactive tutorial (@code{help-with-tutorial}).
153@item C-h v @var{var} @key{RET} 143@item C-h v @var{var} @key{RET}
@@ -184,27 +174,27 @@ Display the help message for a special text area, if point is in one
184@node Key Help 174@node Key Help
185@section Documentation for a Key 175@section Documentation for a Key
186 176
187@kindex C-h c
188@findex describe-key-briefly 177@findex describe-key-briefly
178@findex describe-key
189 The help commands to get information about a key sequence are 179 The help commands to get information about a key sequence are
190@kbd{C-h c} and @w{@kbd{C-h k}}. @kbd{C-h c @var{key}} displays in 180@kbd{C-h c} (@code{describe-key-briefly}) and @kbd{C-h k}
191the echo area the name of the command that @var{key} is bound to. For 181(@code{describe-key}).
192example, @kbd{C-h c C-f} displays @samp{forward-char}. Since command
193names are chosen to describe what the commands do, this gives you a
194very brief description of what @var{key} does.
195 182
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
196@kindex C-h k 189@kindex C-h k
197@findex describe-key
198 @kbd{C-h k @var{key}} is similar but gives more information: it 190 @kbd{C-h k @var{key}} is similar but gives more information: it
199displays the documentation string of the command as well as its name. 191displays a help buffer containing the command's @dfn{documentation
200It displays this information in a window, since it may not fit in the 192string}, which describes exactly what the command does.
201echo area.
202 193
203@kindex C-h K 194@kindex C-h K
204@findex Info-goto-emacs-key-command-node 195@findex Info-goto-emacs-key-command-node
205 To find the documentation of a key sequence @var{key}, type @kbd{C-h 196 @kbd{C-h K @var{key}} displays the section of the Emacs manual that
206K @var{key}}. This displays the appropriate manual section which 197describes the command corresponding to @var{key}.
207contains the documentation of @var{key}.
208 198
209 @kbd{C-h c}, @kbd{C-h k} and @kbd{C-h K} work for any sort of key 199 @kbd{C-h c}, @kbd{C-h k} and @kbd{C-h K} work for any sort of key
210sequences, including function keys, menus, and mouse events. For 200sequences, including function keys, menus, and mouse events. For
@@ -271,14 +261,8 @@ the Lisp symbol around or before point, if that is the name of a
271defined Lisp variable. @xref{Variables}. 261defined Lisp variable. @xref{Variables}.
272 262
273 Help buffers that describe Emacs variables and functions normally 263 Help buffers that describe Emacs variables and functions normally
274have hyperlinks to the corresponding source definition, if you have 264have hyperlinks to the corresponding source code, if you have the
275the source files installed. (@xref{Hyperlinking}.) If you know Lisp 265source files installed (@pxref{Hyperlinking}).
276(or C), this provides the ultimate documentation. If you don't know
277Lisp, you should learn it. (The Introduction to Emacs Lisp
278Programming, available from the FSF through fsf.org, is a good way to
279get started.) If Emacs feels you are just @emph{using} it, treating
280it as an object program, its feelings may be hurt. For real intimacy,
281read the Emacs source code.
282 266
283@kindex C-h F 267@kindex C-h F
284@findex Info-goto-emacs-command-node 268@findex Info-goto-emacs-command-node
@@ -288,53 +272,58 @@ manuals, not just the Emacs manual, and finds the right one.
288 272
289@node Apropos 273@node Apropos
290@section Apropos 274@section Apropos
275@cindex apropos
291 276
292 The @dfn{apropos} commands answer questions like, ``What are the 277 The @dfn{apropos} commands answer questions like, ``What are the
293commands for working with files?'' More precisely, you specify an 278commands for working with files?'' More precisely, you specify an
294@dfn{apropos pattern}, which means either a word, a list of words, or 279@dfn{apropos pattern}, which means either a word, a list of words, or
295a regular expression. Each apropos command displays a list of items 280a regular expression.
296that match the pattern, in a separate buffer. 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.
297 285
298@table @kbd 286@table @kbd
299@item C-h a @var{pattern} @key{RET} 287@item C-h a
300Search for commands whose names match @var{pattern}. 288@kindex C-h a
289@findex apropos-command
290Search for commands (@code{apropos-command}). With a prefix argument,
291search for noninteractive functions too.
301 292
302@item M-x apropos @key{RET} @var{pattern} @key{RET} 293@item M-x apropos
303Search for functions and variables whose names match @var{pattern}. 294@findex apropos
304Both interactive functions (commands) and noninteractive functions can 295Search for functions and variables. Both interactive functions
305be found by this command. 296(commands) and noninteractive functions can be found by this.
306 297
307@item M-x apropos-variable @key{RET} @var{pattern} @key{RET} 298@item M-x apropos-variable
308Search for user-option variables whose names match @var{pattern}. 299@findex apropos-variable
300Search for user-customizable variables. With a prefix argument,
301search for non-customizable variables too.
309 302
310@item M-x apropos-value @key{RET} @var{pattern} @key{RET} 303@item M-x apropos-value
311Search for functions whose definitions match @var{pattern}, and 304@findex apropos-value
312variables whose values match @var{pattern}. 305Search for variables whose values match the specified pattern. With a
306prefix argument, search also for functions with definitions matching
307the pattern, and Lisp symbols with properties matching the pattern.
313 308
314@item C-h d @var{pattern} @key{RET} 309@item C-h d
315Search for functions and variables whose @strong{documentation 310@kindex C-h d
316strings} match @var{pattern}. 311@findex apropos-documentation
312Search for functions and variables whose documentation strings match
313the specified pattern (@code{apropos-documentation}).
317@end table 314@end table
318 315
319@kindex C-h a 316 The simplest kind of apropos pattern is one word. Anything
320@findex apropos-command 317containing that word matches the pattern. Thus, to find commands that
321@cindex apropos 318work on files, type @kbd{C-h a file @key{RET}}. This displays a list
322 The simplest kind of apropos pattern is one word. Anything which 319of all command names that contain @samp{file}, including
323contains that word matches the pattern. Thus, to find the commands
324that work on files, type @kbd{C-h a file @key{RET}}. This displays a
325list of all command names that contain @samp{file}, including
326@code{copy-file}, @code{find-file}, and so on. Each command name 320@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 321comes 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 322invoke it with. In our example, it would say that you can invoke
329@code{find-file} by typing @kbd{C-x C-f}. 323@code{find-file} by typing @kbd{C-x C-f}.
330 324
331 The @kbd{a} in @kbd{C-h a} stands for ``Apropos''; @kbd{C-h a}
332runs the command @code{apropos-command}. This command normally checks
333only commands (interactive functions); if you specify a prefix
334argument, it checks noninteractive functions as well.
335
336 For more information about a function definition, variable or symbol 325 For more information about a function definition, variable or symbol
337property listed in the apropos buffer, you can click on it with 326property listed in an apropos buffer, you can click on it with
338@kbd{Mouse-1} or @kbd{Mouse-2}, or move there and type @key{RET}. 327@kbd{Mouse-1} or @kbd{Mouse-2}, or move there and type @key{RET}.
339 328
340 When you specify more than one word in the apropos pattern, a name 329 When you specify more than one word in the apropos pattern, a name
@@ -362,160 +351,117 @@ mark, insert, yank, fill, indent, case, change, set, what, list, find,
362view, describe, default. 351view, describe, default.
363@end quotation 352@end quotation
364 353
365@findex apropos
366 Use @kbd{M-x apropos} instead of @kbd{C-h a} to list all the Lisp
367symbols that match an apropos pattern, not just the symbols that are
368commands. This command does not list key bindings by default; specify
369a numeric argument if you want it to list them.
370
371@findex apropos-variable
372 Use @kbd{M-x apropos-variable} to list user-customizable variables
373that match an apropos pattern. If you specify a prefix argument, it
374lists all matching variables.
375
376@kindex C-h d
377@findex apropos-documentation
378 The @code{apropos-documentation} command is like @code{apropos}
379except that it searches documentation strings instead of symbol names
380for matches.
381
382@findex apropos-value
383 The @code{apropos-value} command is like @code{apropos} except that
384it searches variables' values for matches for the apropos pattern.
385With a prefix argument, it also checks symbols' function definitions
386and property lists.
387
388@vindex apropos-do-all 354@vindex apropos-do-all
389 If the variable @code{apropos-do-all} is non-@code{nil}, the apropos 355 If the variable @code{apropos-do-all} is non-@code{nil}, the apropos
390commands always behave as if they had been given a prefix argument. 356commands always behave as if they had been given a prefix argument.
391 357
392@vindex apropos-sort-by-scores 358@vindex apropos-sort-by-scores
393@cindex apropos search results, order by score 359@cindex apropos search results, order by score
394 By default, apropos lists the search results in alphabetical order.
395If the variable @code{apropos-sort-by-scores} is non-@code{nil}, the
396apropos commands try to guess the relevance of each result, and
397display the most relevant ones first.
398
399@vindex apropos-documentation-sort-by-scores 360@vindex apropos-documentation-sort-by-scores
400 By default, apropos lists the search results for 361 By default, all apropos commands except @code{apropos-documentation}
401@code{apropos-documentation} in order of relevance of the match. If 362list their results in alphabetical order. If the variable
402the variable @code{apropos-documentation-sort-by-scores} is 363@code{apropos-sort-by-scores} is non-@code{nil}, these commands
403@code{nil}, apropos lists the symbols found in alphabetical order. 364instead try to guess the relevance of each result, and display the
365most relevant ones first. The @code{apropos-documentation} command
366lists its results in order of relevance by default; to list them in
367alphabetical order, change the variable
368@code{apropos-documentation-sort-by-scores} to @code{nil}.
404 369
405@node Help Mode 370@node Help Mode
406@section Help Mode Commands 371@section Help Mode Commands
407 372
408 Help buffers provide the same commands as View mode (@pxref{View 373 Help buffers provide the same commands as View mode (@pxref{View
409Mode}), plus a few special commands of their own. 374Mode}); for instance, @key{SPC} scrolls forward, and @key{DEL} scrolls
375backward. A few special commands are also provided:
410 376
411@table @kbd 377@table @kbd
412@item @key{SPC}
413Scroll forward.
414@item @key{DEL}
415Scroll backward.
416@item @key{RET} 378@item @key{RET}
417Follow a cross reference at point. 379Follow a cross reference at point (@code{help-follow}).
418@item @key{TAB} 380@item @key{TAB}
419Move point forward to the next cross reference. 381Move point forward to the next hyperlink (@code{forward-button}).
420@item S-@key{TAB} 382@item S-@key{TAB}
421Move point back to the previous cross reference. 383Move point back to the previous hyperlink (@code{backward-button}).
422@item Mouse-1 384@item Mouse-1
423@itemx Mouse-2 385@itemx Mouse-2
424Follow a cross reference that you click on. 386Follow a hyperlink that you click on.
425@item C-c C-c 387@item C-c C-c
426Show all documentation about the symbol at point. 388Show all documentation about the symbol at point
389(@code{help-follow-symbol}).
390@item C-c C-b
391Go back to the previous help topic (@code{help-go-back}).
427@end table 392@end table
428 393
429 When a function name (@pxref{M-x,, Running Commands by Name}), 394@cindex hyperlink
430variable name (@pxref{Variables}), or face name (@pxref{Faces}) 395@findex help-follow
431appears in the documentation, it normally appears inside paired 396@findex help-go-back
432single-quotes. To view the documentation of that command, variable or 397@kindex RET @r{(Help mode)}
433face, you can click on the name with @kbd{Mouse-1} or @kbd{Mouse-2}, 398@kindex C-c C-b @r{(Help mode)}
434or move point there and type @key{RET}. Use @kbd{C-c C-b} to retrace 399 When a function name, variable name, or face name (@pxref{Faces})
435your steps. 400appears in the documentation in the help buffer, it is normally an
401underlined @dfn{hyperlink}. To view the associated documentation,
402move point there and type @key{RET} (@code{help-follow}), or click on
403the hyperlink with @kbd{Mouse-1} or @kbd{Mouse-2}. Doing so replaces
404the contents of the help buffer; to retrace your steps, type @kbd{C-c
405C-b} (@code{help-go-back}).
436 406
437@cindex URL, viewing in help 407@cindex URL, viewing in help
438@cindex help, viewing web pages 408@cindex help, viewing web pages
439@cindex viewing web pages in help 409@cindex viewing web pages in help
440@cindex web pages, viewing in help 410@cindex web pages, viewing in help
441@findex browse-url 411@findex browse-url
442 You can follow cross references to URLs (web pages) also. This uses 412 A help buffer can also contain hyperlinks to Info manuals, source
443the @code{browse-url} command to view the page in the browser you 413code definitions, and URLs (web pages). The first two are opened in
444choose. @xref{Browse-URL}. 414Emacs, and the third using a web browser via the @code{browse-url}
415command (@pxref{Browse-URL}).
445 416
446@kindex TAB @r{(Help mode)} 417@kindex TAB @r{(Help mode)}
447@findex help-next-ref 418@findex forward-button
448@kindex S-TAB @r{(Help mode)} 419@kindex S-TAB @r{(Help mode)}
449@findex help-previous-ref 420@findex backward-button
450 There are convenient commands to move point to cross references in 421 In a help buffer, @key{TAB} (@code{forward-button}) moves point
451the help text. @key{TAB} (@code{help-next-ref}) moves point down to 422forward to the next hyperlink, while @kbd{S-@key{TAB}}
452the next cross reference. @kbd{S-@key{TAB}} moves up to the previous 423(@code{backward-button}) point back to the previous hyperlink. These
453cross reference (@code{help-previous-ref}). 424commands act cyclically; for instance, typing @key{TAB} at the last
454 425hyperlink moves back to the first hyperlink.
455 To view all documentation about any symbol name that appears in the 426
456text, move point to the symbol name and type @kbd{C-c C-c} 427 To view all documentation about any symbol in the text, move point
457(@code{help-follow-symbol}). This shows all available documentation 428to there and type @kbd{C-c C-c} (@code{help-follow-symbol}). This
458about the symbol as a variable, function and/or face. As above, use 429shows all available documentation about the symbol---as a variable,
459@kbd{C-c C-b} to retrace your steps. 430function and/or face.
460 431
461@node Library Keywords 432@node Package Keywords
462@section Keyword Search for Lisp Libraries 433@section Keyword Search for Packages
434@cindex finder
435
436Most optional features in Emacs are grouped into @dfn{packages}.
437Emacs contains several hundred built-in packages, and more can be
438installed over the network (@pxref{Packages}).
463 439
464@kindex C-h p 440@kindex C-h p
465@findex finder-by-keyword 441@findex finder-by-keyword
466The @kbd{C-h p} command lets you search the standard Emacs Lisp 442 To make it easier to find packages related to a topic, most packages
467libraries by topic keywords. Here is a partial list of keywords you can 443are associated with one or more @dfn{keywords} based on what they do.
468use: 444Type @kbd{C-h p} (@code{finder-by-keyword}) to bring up a list of
469 445package keywords, together with a description of what the keywords
470@multitable {convenience} {aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa} 446mean. To view a list of packages for a given keyword, type @key{RET}
471@item abbrev@tab abbreviation handling, typing shortcuts, macros. 447on that line; this displays the list of packages in a Package Menu
472@item bib@tab code related to the @code{bib} bibliography processor. 448buffer (@pxref{Package Menu}).
473@item c@tab support for the C language and related languages. 449
474@item calendar@tab calendar and time management support. 450@findex describe-package
475@item comm@tab communications, networking, remote access to files. 451@kindex C-h P
476@item convenience@tab convenience features for faster editing. 452 @kbd{C-h P} (@code{describe-package}) prompts for the name of a
477@item data@tab support for editing files of data. 453package, and displays a help buffer describing the attributes of the
478@item docs@tab support for Emacs documentation. 454package and the features that it implements.
479@item emulations@tab emulations of other editors.
480@item extensions@tab Emacs Lisp language extensions.
481@item faces@tab support for multiple fonts.
482@item files@tab support for editing and manipulating files.
483@item frames@tab support for Emacs frames and window systems.
484@item games@tab games, jokes and amusements.
485@item hardware@tab support for interfacing with exotic hardware.
486@item help@tab support for on-line help systems.
487@item hypermedia@tab support for links between text or other media types.
488@item i18n@tab internationalization and alternate character-set support.
489@item internal@tab code for Emacs internals, build process, defaults.
490@item languages@tab specialized modes for editing programming languages.
491@item lisp@tab Lisp support, including Emacs Lisp.
492@item local@tab code local to your site.
493@item maint@tab maintenance aids for the Emacs development group.
494@item mail@tab modes for electronic-mail handling.
495@item matching@tab various sorts of searching and matching.
496@item mouse@tab mouse support.
497@item multimedia@tab images and sound support.
498@item news@tab support for netnews reading and posting.
499@item oop@tab support for object-oriented programming.
500@item outlines@tab support for hierarchical outlining.
501@item processes@tab process, subshell, compilation, and job control support.
502@item terminals@tab support for terminal types.
503@item tex@tab supporting code for the @TeX{} formatter.
504@item tools@tab programming tools.
505@item unix@tab front-ends/assistants for, or emulators of, UNIX-like features.
506@item wp@tab word processing.
507@end multitable
508 455
509@node Language Help 456@node Language Help
510@section Help for International Language Support 457@section Help for International Language Support
511 458
512 You can use the command @kbd{C-h L} 459 For information on a specific language environment (@pxref{Language
513(@code{describe-language-environment}) to get information about a 460Environments}), type @kbd{C-h L}
514specific language environment. @xref{Language Environments}. This 461(@code{describe-language-environment}). This displays a help buffer
515tells you which languages this language environment supports. It also 462describing the languages supported by the language environment, and
516lists the character sets, coding systems, and input methods that work 463listing the associated character sets, coding systems, and input
517with this language environment, and finally shows some sample text to 464methods, as well as some sample text for that language environment.
518illustrate scripts.
519 465
520 The command @kbd{C-h h} (@code{view-hello-file}) displays the file 466 The command @kbd{C-h h} (@code{view-hello-file}) displays the file
521@file{etc/HELLO}, which shows how to say ``hello'' in many languages. 467@file{etc/HELLO}, which shows how to say ``hello'' in many languages.
@@ -604,12 +550,11 @@ these is @key{ESC}, because @kbd{@key{ESC} C-h} is actually
604@node Help Files 550@node Help Files
605@section Help Files 551@section Help Files
606 552
607 The Emacs help commands described above display dynamic help based 553 Apart from the built-in documentation and manuals, Emacs contains
608on the current state within Emacs, or refer to manuals. Other help 554several other files describing topics like copying conditions, release
609commands display pre-written, static help files. 555notes, instructions for debugging and reporting bugs, and so forth.
610 556You can use the following commands to view these files. Apart from
611 Except for @kbd{C-h g}, these commands all have the form @kbd{C-h 557@kbd{C-h g}, they all have the form @kbd{C-h C-@var{char}}.
612C-@var{char}}; that is, @kbd{C-h} followed by a control character.
613 558
614@kindex C-h C-c 559@kindex C-h C-c
615@findex describe-copying 560@findex describe-copying
@@ -636,24 +581,23 @@ C-@var{char}}; that is, @kbd{C-h} followed by a control character.
636 581
637@table @kbd 582@table @kbd
638@item C-h C-c 583@item C-h C-c
639Display the Emacs copying conditions (@code{describe-copying}). 584Display the rules under which you can copy and redistribute Emacs
640These are the rules under which you can copy and redistribute Emacs. 585(@code{describe-copying}).
641@item C-h C-d 586@item C-h C-d
642Display help for debugging Emacs (@code{view-emacs-debugging}). 587Display help for debugging Emacs (@code{view-emacs-debugging}).
643@item C-h C-e 588@item C-h C-e
644Display external packages and information about Emacs 589Display information about where to get external packages
645(@code{view-external-packages}). 590(@code{view-external-packages}).
646@item C-h C-f 591@item C-h C-f
647Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}). 592Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
648@item C-h g 593@item C-h g
649Display general information about the GNU Project 594Display information about the GNU Project (@code{describe-gnu-project}).
650(@code{describe-gnu-project}).
651@item C-h C-m 595@item C-h C-m
652Display how to order printed copies of Emacs manuals 596Display information about ordering printed copies of Emacs manuals
653(@code{view-order-manuals}). 597(@code{view-order-manuals}).
654@item C-h C-n 598@item C-h C-n
655Display the Emacs ``news'' file, which lists new features in the most 599Display the ``news'' file, which lists the new features in this
656recent version of Emacs (@code{view-emacs-news}). 600version of Emacs (@code{view-emacs-news}).
657@item C-h C-o 601@item C-h C-o
658Display how to order or download the latest version of 602Display how to order or download the latest version of
659Emacs and other GNU software (@code{describe-distribution}). 603Emacs and other GNU software (@code{describe-distribution}).
@@ -672,20 +616,20 @@ Emacs (@code{describe-no-warranty}).
672 616
673@cindex tooltips 617@cindex tooltips
674@cindex balloon help 618@cindex balloon help
675 When text on the screen is ``active'', so that it does something 619 In Emacs, stretches of ``active text'' (text that does something
676special in response to mouse clicks or @kbd{RET}, it often has associated 620special in response to mouse clicks or @key{RET}) often have
677help text. For instance, most parts of the mode line have help text. On 621associated help text. This includes hyperlinks in Emacs buffers, as
678terminals that support mouse tracking, Emacs displays the help text as a 622well as parts of the mode line. On graphical displays, as well as
679``tooltip'' (sometimes known as ``balloon help'') or in the echo area, 623some text terminals which support mouse tracking, moving the mouse
680whenever you leave the mouse stationary over the active text. 624over the active text displays the help text as a @dfn{tooltip}.
681@xref{Tooltips}. 625@xref{Tooltips}.
682 626
683@kindex C-h . 627@kindex C-h .
684@findex display-local-help 628@findex display-local-help
685@vindex help-at-pt-display-when-idle 629@vindex help-at-pt-display-when-idle
686 If your terminal doesn't support mouse-tracking, you can display the 630 On terminals that don't support mouse-tracking, you can display the
687help text for active buffer text using the keyboard. @kbd{C-h .} 631help text for active buffer text at point by typing @kbd{C-h .}
688(@code{display-local-help}) displays any help text associated with the 632(@code{display-local-help}). This shows the help text in the echo
689character after point, using the echo area. To display help text 633area. To display help text automatically whenever it is available at
690automatically whenever it is available on the character after point, set 634point, set the variable @code{help-at-pt-display-when-idle} to
691the variable @code{help-at-pt-display-when-idle} to @code{t}. 635@code{t}.
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index a3822ba2bf2..e84b4c9f080 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -541,64 +541,60 @@ Move to a later item in the minibuffer history that matches
541 541
542@kindex M-p @r{(minibuffer history)} 542@kindex M-p @r{(minibuffer history)}
543@kindex M-n @r{(minibuffer history)} 543@kindex M-n @r{(minibuffer history)}
544@kindex UP @r{(minibuffer history)}
545@kindex DOWN @r{(minibuffer history)}
544@findex next-history-element 546@findex next-history-element
545@findex previous-history-element 547@findex previous-history-element
546 While in the minibuffer, typing @kbd{M-p} or @key{Up} 548 While in the minibuffer, @kbd{M-p} or @key{Up}
547(@code{previous-history-element}) moves up through the minibuffer 549(@code{previous-history-element}) moves through the minibuffer history
548history list, one item at a time. Each @kbd{M-p} fetches an earlier 550list, one item at a time. Each @kbd{M-p} fetches an earlier item from
549item from the history list into the minibuffer, replacing its existing 551the history list into the minibuffer, replacing its existing contents.
550contents. Similarly, typing @kbd{M-n} or @key{Down} 552Typing @kbd{M-n} or @key{Down} (@code{next-history-element}) moves
551(@code{next-history-element}) moves back down the history list, 553through the minibuffer history list in the opposite direction,
552fetching later entries into the minibuffer. You can think of these 554fetching later entries into the minibuffer.
553commands as ``backwards'' and ``forwards'' through the history list.
554 555
555 If you type @kbd{M-n} in the minibuffer when there are no later 556 If you type @kbd{M-n} in the minibuffer when there are no later
556entries in the minibuffer history (e.g., if you haven't previously 557entries in the minibuffer history (e.g., if you haven't previously
557typed @kbd{M-p}), Emacs tries fetching from a list of default 558typed @kbd{M-p}), Emacs tries fetching from a list of default
558argument: values that you are likely to enter. You can think of this 559arguments: values that you are likely to enter. You can think of this
559as moving through the ``future list'' instead of the ``history list''. 560as moving through the ``future history'' list.
560 561
561 The input that @kbd{M-p} or @kbd{M-n} fetches into the minibuffer 562 If you edit the text inserted by the @kbd{M-p} or @key{M-n}
562entirely replaces the existing contents of the minibuffer, so you can 563minibuffer history commands, this does not change its entry in the
563simply type @key{RET} to use it as an argument. You can also edit the 564history list. However, the edited argument does go at the end of the
564text before you reuse it; this does not change the history element 565history list when you submit it.
565that you ``moved'' to, but your new argument does go at the end of the
566history list in its own right.
567 566
568@findex previous-matching-history-element 567@findex previous-matching-history-element
569@findex next-matching-history-element 568@findex next-matching-history-element
570@kindex M-r @r{(minibuffer history)} 569@kindex M-r @r{(minibuffer history)}
571@kindex M-s @r{(minibuffer history)} 570@kindex M-s @r{(minibuffer history)}
572 There are also commands to search forward or backward through the 571 You can use @kbd{M-r} (@code{previous-matching-history-element}) to
573history; they search for history elements that match a regular 572search through older elements in the history list, and @kbd{M-s}
574expression. @kbd{M-r} (@code{previous-matching-history-element}) 573(@code{next-matching-history-element}) to search through newer
575searches older elements in the history, while @kbd{M-s} 574entries. Each of these commands asks for a @dfn{regular expression}
576(@code{next-matching-history-element}) searches newer elements. These 575as an argument, and fetches the first matching entry into the
577commands are unusual: they use the minibuffer to read the regular 576minibuffer. @xref{Regexps}, for an explanation of regular
578expression even though they are invoked from the minibuffer. As with 577expressions. A numeric prefix argument @var{n} means to fetch the
579incremental searching, an upper-case letter in the regular expression 578@var{n}th matching entry. These commands are unusual, in that they
580makes the search case-sensitive (@pxref{Search Case}). You can also 579use the minibuffer to read the regular expression argument, even
581search through the history using an incremental search (@pxref{Isearch 580though they are invoked from the minibuffer. An upper-case letter in
582Minibuffer}). 581the regular expression makes the search case-sensitive (@pxref{Search
583 582Case}).
584 All uses of the minibuffer record your input on a history list, but 583
585there are separate history lists for different kinds of arguments. 584 You can also search through the history using an incremental search.
586For example, there is a list for file names, used by all the commands 585@xref{Isearch Minibuffer}.
587that read file names. (As a special feature, this history list 586
588records the absolute file name, even if the name you entered was not 587 Emacs keeps separate history lists for several different kinds of
589absolute.) 588arguments. For example, there is a list for file names, used by all
590 589the commands that read file names. Other history lists include buffer
591 There are several other specific history lists, including one for 590names, command names (used by @kbd{M-x}), and command arguments (used
592buffer names, one for arguments of commands like @code{query-replace}, 591by commands like @code{query-replace}).
593one used by @kbd{M-x} for command names, and one used by
594@code{compile} for compilation commands. Finally, there is one
595``miscellaneous'' history list that most minibuffer arguments use.
596 592
597@vindex history-length 593@vindex history-length
598 The variable @code{history-length} specifies the maximum length of a 594 The variable @code{history-length} specifies the maximum length of a
599minibuffer history list; adding a new element deletes the oldest 595minibuffer history list; adding a new element deletes the oldest
600element if the list gets too long. If the value of 596element if the list gets too long. If the value is @code{t}, there is
601@code{history-length} is @code{t}, there is no maximum length. 597no maximum length.
602 598
603@vindex history-delete-duplicates 599@vindex history-delete-duplicates
604 The variable @code{history-delete-duplicates} specifies whether to 600 The variable @code{history-delete-duplicates} specifies whether to
@@ -629,27 +625,25 @@ Display the entire command history, showing all the commands
629 625
630@kindex C-x ESC ESC 626@kindex C-x ESC ESC
631@findex repeat-complex-command 627@findex repeat-complex-command
632 @kbd{C-x @key{ESC} @key{ESC}} is used to re-execute a recent command 628 @kbd{C-x @key{ESC} @key{ESC}} re-executes a recent command that used
633that used the minibuffer. With no argument, it repeats the last such 629the minibuffer. With no argument, it repeats the last such command.
634command. A numeric argument specifies which command to repeat; 1 630A numeric argument specifies which command to repeat; 1 means the last
635means the last one, 2 the previous, and so on. 631one, 2 the previous, and so on.
636 632
637 @kbd{C-x @key{ESC} @key{ESC}} works by turning the previous command 633 @kbd{C-x @key{ESC} @key{ESC}} works by turning the previous command
638into a Lisp expression and then entering a minibuffer initialized with 634into a Lisp expression and then entering a minibuffer initialized with
639the text for that expression. Even if you don't understand Lisp 635the text for that expression. Even if you don't know Lisp, it will
640syntax, it will probably be obvious which command is displayed for 636probably be obvious which command is displayed for repetition. If you
641repetition. If you type just @key{RET}, that repeats the command 637type just @key{RET}, that repeats the command unchanged. You can also
642unchanged. You can also change the command by editing the Lisp 638change the command by editing the Lisp expression before you execute
643expression before you execute it. The repeated command is added to 639it. The repeated command is added to the front of the command history
644the front of the command history unless it is identical to the most 640unless it is identical to the most recent item.
645recent item. 641
646 642 Once inside the minibuffer for @kbd{C-x @key{ESC} @key{ESC}}, you
647 Once inside the minibuffer for @kbd{C-x @key{ESC} @key{ESC}}, you can 643can use the usual minibuffer history commands (@pxref{Minibuffer
648use the minibuffer history commands (@kbd{M-p}, @kbd{M-n}, @kbd{M-r}, 644History}) to move through the history list. After finding the desired
649@kbd{M-s}; @pxref{Minibuffer History}) to move through the history list 645previous command, you can edit its expression as usual and then repeat
650of saved entire commands. After finding the desired previous command, 646it by typing @key{RET}.
651you can edit its expression as usual and then repeat it by typing
652@key{RET}.
653 647
654@vindex isearch-resume-in-command-history 648@vindex isearch-resume-in-command-history
655 Incremental search does not, strictly speaking, use the minibuffer. 649 Incremental search does not, strictly speaking, use the minibuffer.
@@ -674,12 +668,11 @@ when you tell Emacs to visit a file on another machine via a network
674protocol such as FTP, you often need to supply a password to gain 668protocol such as FTP, you often need to supply a password to gain
675access to the machine (@pxref{Remote Files}). 669access to the machine (@pxref{Remote Files}).
676 670
677 Entering a password is, in a basic sense, similar to using a 671 Entering a password is similar to using a minibuffer. Emacs
678minibuffer. Emacs displays a prompt in the echo area (such as 672displays a prompt in the echo area (such as @samp{Password: }); after
679@samp{Password: }); after you type the required password, press 673you type the required password, press @key{RET} to submit it. To
680@key{RET} to submit it. To prevent others from seeing your password, 674prevent others from seeing your password, every character you type is
681every character you type is displayed as a dot (@samp{.}) instead of 675displayed as a dot (@samp{.}) instead of its usual form.
682its usual form.
683 676
684 Most of the features and commands associated with the minibuffer can 677 Most of the features and commands associated with the minibuffer can
685@emph{not} be used when entering a password. There is no history or 678@emph{not} be used when entering a password. There is no history or