aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2001-04-14 11:52:21 +0000
committerEli Zaretskii2001-04-14 11:52:21 +0000
commitb457dbd989cb36a1affc0a3e4616ed48800fe2f4 (patch)
tree83c9ca83c5e66c86de685975bf63c6f6e416d8a6
parentdb921254738a2aa6866c70059e4abbc622850551 (diff)
downloademacs-b457dbd989cb36a1affc0a3e4616ed48800fe2f4.tar.gz
emacs-b457dbd989cb36a1affc0a3e4616ed48800fe2f4.zip
Update for Emacs 21. Add index entries.
-rw-r--r--man/info.texi1009
1 files changed, 663 insertions, 346 deletions
diff --git a/man/info.texi b/man/info.texi
index d88a7bf4ccb..9c1571a243d 100644
--- a/man/info.texi
+++ b/man/info.texi
@@ -1,23 +1,24 @@
1\input texinfo @c -*-texinfo-*- 1\input texinfo @c -*-texinfo-*-
2@comment %**start of header 2@comment %**start of header
3@setfilename ../info/info 3@setfilename info.info
4@settitle Info 1.0 4@settitle Info
5@comment %**end of header 5@syncodeindex fn cp
6 6@syncodeindex vr cp
7@dircategory Emacs 7@syncodeindex ky cp
8@comment %**end of header
9@comment $Id: info.texi,v 1.16 2001/02/03 13:00:56 karl Exp $
10
11@dircategory Texinfo documentation system
8@direntry 12@direntry
9* Info: (info). Documentation browsing system. 13* Info: (info). Documentation browsing system.
10@end direntry 14@end direntry
11 15
12@iftex
13@finalout
14@end iftex
15
16@ifinfo 16@ifinfo
17This file describes how to use Info, 17This file describes how to use Info, the on-line, menu-driven GNU
18the on-line, menu-driven GNU documentation system. 18documentation system.
19 19
20Copyright (C) 1989, 1992 Free Software Foundation, Inc. 20Copyright (C) 1989, 92, 96, 97, 98, 99, 2000, 2001
21Free Software Foundation, Inc.
21 22
22 23
23Permission is granted to copy, distribute and/or modify this document 24Permission is granted to copy, distribute and/or modify this document
@@ -38,25 +39,19 @@ separately from the collection, you can do so by adding a copy of the
38license to the document, as described in section 6 of the license. 39license to the document, as described in section 6 of the license.
39@end ifinfo 40@end ifinfo
40 41
41@setchapternewpage odd
42@titlepage 42@titlepage
43@sp 11 43@title Info
44@center @titlefont{Info} 44@subtitle The online, hyper-text GNU documentation system
45@sp 2 45@author Brian Fox
46@center The 46@author and the GNU Texinfo community
47@sp 2
48@center On-line, Menu-driven
49@sp 2
50@center GNU Documentation System
51
52@page 47@page
53@vskip 0pt plus 1filll 48@vskip 0pt plus 1filll
54Copyright @copyright{} 1989, 1992, 1993 Free Software Foundation, Inc. 49Copyright @copyright{} 1989, 92, 93, 96, 97, 98, 99, 2000, 2001
50Free Software Foundation, Inc.
55@sp 2 51@sp 2
56
57Published by the Free Software Foundation @* 52Published by the Free Software Foundation @*
5859 Temple Place, Suite 330 @* 5359 Temple Place - Suite 330 @*
59Boston, MA 02111-1307 USA @* 54Boston, MA 02111-1307, USA.
60 55
61Permission is granted to copy, distribute and/or modify this document 56Permission is granted to copy, distribute and/or modify this document
62under the terms of the GNU Free Documentation License, Version 1.1 or 57under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -76,32 +71,27 @@ separately from the collection, you can do so by adding a copy of the
76license to the document, as described in section 6 of the license. 71license to the document, as described in section 6 of the license.
77@end titlepage 72@end titlepage
78 73
79@paragraphindent 3 74@ifnottex
80@ifinfo 75@node Top
81@node Top, Getting Started, (dir), (dir)
82@top Info: An Introduction 76@top Info: An Introduction
83 77
84Info is a program for reading documentation, which you are using now. 78Info is a program for reading documentation, which you are using now.
85 79
86To learn how to use Info, type the command @kbd{h}. It brings you 80@ifinfo
87to a programmed instruction sequence. If at any time you are ready to 81If you are new to Info and want to learn how to use it, type the
88stop using Info, type @samp{q}. 82command @kbd{h} now. It brings you to a programmed instruction
89 83sequence.
90@c Need to make sure that `Info-help' goes to the right node,
91@c which is the first node of the first chapter. (It should.)
92@c (Info-find-node "info"
93@c (if (< (window-height) 23)
94@c "Help-Small-Screen"
95@c "Help")))
96 84
97To learn advanced Info commands, type @kbd{n} twice. This brings you to 85To learn advanced Info commands, type @kbd{n} twice. This brings you to
98@cite{Info for Experts}, skipping over the `Getting Started' chapter. 86@cite{Info for Experts}, skipping over the `Getting Started' chapter.
99@end ifinfo 87@end ifinfo
88@end ifnottex
100 89
101@menu 90@menu
102* Getting Started:: Getting started using an Info reader. 91* Getting Started:: Getting started using an Info reader.
103* Advanced Info:: Advanced commands within Info. 92* Advanced Info:: Advanced commands within Info.
104* Create an Info File:: How to make your own Info file. 93* Creating an Info File:: How to make your own Info file.
94* Index:: An Index of topics, commands, and variables.
105@end menu 95@end menu
106 96
107@node Getting Started, Advanced Info, Top, Top 97@node Getting Started, Advanced Info, Top, Top
@@ -111,23 +101,26 @@ To learn advanced Info commands, type @kbd{n} twice. This brings you to
111This first part of the Info manual describes how to get around inside 101This first part of the Info manual describes how to get around inside
112of Info. The second part of the manual describes various advanced 102of Info. The second part of the manual describes various advanced
113Info commands, and how to write an Info as distinct from a Texinfo 103Info commands, and how to write an Info as distinct from a Texinfo
114file. The third part is about how to generate Info files from 104file. The third part briefly explains how to generate Info files from
115Texinfo files. 105Texinfo files.
116 106
117@iftex 107@ifnotinfo
118This manual is primarily designed for use on a computer, so that you can 108This manual is primarily designed for browsing with an Info reader
119try Info commands while reading about them. Reading it on paper is less 109program on a computer, so that you can try Info commands while reading
110about them. Reading it on paper or with an HTML browser is less
120effective, since you must take it on faith that the commands described 111effective, since you must take it on faith that the commands described
121really do what the manual says. By all means go through this manual now 112really do what the manual says. By all means go through this manual
122that you have it; but please try going through the on-line version as 113now that you have it; but please try going through the on-line version
123well. 114as well.
124 115
116@cindex Info reader, how to invoke
117@cindex entering Info
125There are two ways of looking at the online version of this manual: 118There are two ways of looking at the online version of this manual:
126 119
127@enumerate 120@enumerate
128@item 121@item
129Type @code{info} at your shell's command line. This approach uses a 122Type @code{info} at your shell's command line. This approach uses a
130stand-alone program designed just to read Info files. 123small stand-alone program designed just to read Info files.
131 124
132@item 125@item
133Type @code{emacs} at the command line; then type @kbd{C-h i} (Control 126Type @code{emacs} at the command line; then type @kbd{C-h i} (Control
@@ -143,7 +136,7 @@ the screen.
143@c Is it worth worrying about what-if the beginner goes to somebody 136@c Is it worth worrying about what-if the beginner goes to somebody
144@c else's Emacs session, which already has an Info running in the middle 137@c else's Emacs session, which already has an Info running in the middle
145@c of something---in which case these simple instructions won't work? 138@c of something---in which case these simple instructions won't work?
146@end iftex 139@end ifnotinfo
147 140
148@menu 141@menu
149* Help-Small-Screen:: Starting Info on a Small Screen 142* Help-Small-Screen:: Starting Info on a Small Screen
@@ -155,33 +148,32 @@ the screen.
155* Help-Q:: Quitting Info 148* Help-Q:: Quitting Info
156@end menu 149@end menu
157 150
158@node Help-Small-Screen, Help, , Getting Started 151@node Help-Small-Screen
159@comment node-name, next, previous, up
160@section Starting Info on a Small Screen 152@section Starting Info on a Small Screen
161 153
162@iftex 154@ifnotinfo
163(In Info, you only see this section if your terminal has a small 155(In Info, you only see this section if your terminal has a small
164number of lines; most readers pass by it without seeing it.) 156number of lines; most readers pass by it without seeing it.)
165@end iftex 157@end ifnotinfo
166 158
167Since your terminal has an unusually small number of lines on its 159@cindex small screen, moving around
160Since your terminal has a relatively small number of lines on its
168screen, it is necessary to give you special advice at the beginning. 161screen, it is necessary to give you special advice at the beginning.
169 162
170If you see the text @samp{--All----} at near the bottom right corner 163If you see the text @samp{--All----} near the bottom right corner
171of the screen, it means the entire text you are looking at fits on the 164of the screen, it means the entire text you are looking at fits on the
172screen. If you see @samp{--Top----} instead, it means that there is 165screen. If you see @samp{--Top----} instead, it means that there is
173more text below that does not fit. To move forward through the text 166more text below that does not fit. To move forward through the text
174and see another screen full, press the Space bar, @key{SPC}. To move 167and see another screen full, press @key{SPC}, the Space bar. To move
175back up, press the key labeled @samp{Delete} or @key{DEL}. 168back up, press the key labeled @samp{Backspace} or @samp{DEL} (on some
169keyboards, this key might be labeled @samp{Delete}).
176 170
177@ifinfo 171@ifinfo
178Here are 40 lines of junk, so you can try Spaces and Deletes and 172Here are 40 lines of junk, so you can try Spaces and DEL and
179see what they do. At the end are instructions of what you should do 173see what they do. At the end are instructions of what you should do
180next. 174next.
175
181@format 176@format
182This is line 17
183This is line 18
184This is line 19
185This is line 20 177This is line 20
186This is line 21 178This is line 21
187This is line 22 179This is line 22
@@ -219,10 +211,14 @@ This is line 53
219This is line 54 211This is line 54
220This is line 55 212This is line 55
221This is line 56 213This is line 56
214This is line 57
215This is line 58
216This is line 59
222@end format 217@end format
218
223If you have managed to get here, go back to the beginning with 219If you have managed to get here, go back to the beginning with
224Delete, and come back here again, then you understand Space and 220@kbd{DEL}, and come back here again, then you understand Space and
225Delete. So now type an @kbd{n} ---just one character; don't type 221DEL. So now type an @kbd{n} ---just one character; don't type
226the quotes and don't type the Return key afterward--- to 222the quotes and don't type the Return key afterward--- to
227get to the normal start of the course. 223get to the normal start of the course.
228@end ifinfo 224@end ifinfo
@@ -233,44 +229,60 @@ get to the normal start of the course.
233 229
234You are talking to the program Info, for reading documentation. 230You are talking to the program Info, for reading documentation.
235 231
232@cindex node, in Info documents
236 Right now you are looking at one @dfn{Node} of Information. 233 Right now you are looking at one @dfn{Node} of Information.
237A node contains text describing a specific topic at a specific 234A node contains text describing a specific topic at a specific
238level of detail. This node's topic is ``how to use Info''. 235level of detail. This node's topic is ``how to use Info''. The mode
236line says that this is node @samp{Help} in the file @file{info}.
239 237
238@cindex header of Info node
240 The top line of a node is its @dfn{header}. This node's header (look at 239 The top line of a node is its @dfn{header}. This node's header (look at
241it now) says that it is the node named @samp{Help} in the file 240it now) says that the @samp{Next} node after this one is the node
242@file{info}. It says that the @samp{Next} node after this one is the node
243called @samp{Help-P}. An advanced Info command lets you go to any node 241called @samp{Help-P}. An advanced Info command lets you go to any node
244whose name you know. 242whose name you know. In the stand-alone Info reader program, the
243header line shows the names of this node and the info file as well.
244In Emacs, the header line is displayed in a special typeface, and it
245doesn't scroll off the screen when you scroll the display. The names
246of this node and of its Info file are omitted by Emacs from the header
247line.
245 248
246 Besides a @samp{Next}, a node can have a @samp{Previous} or an 249 Besides a @samp{Next}, a node can have a @samp{Previous} or an
247@samp{Up}. This node has a @samp{Previous} which is 250@samp{Up} links, or both. As you can see, this node has all of these
248@samp{Help-Small-Screen}, and an @samp{Up} which is @samp{Getting 251links.
249Started}. Some nodes have no @samp{Previous} and some have no
250@samp{Up}.
251 252
253@kindex n @r{(Info mode)}
252 Now it is time to move on to the @samp{Next} node, named @samp{Help-P}. 254 Now it is time to move on to the @samp{Next} node, named @samp{Help-P}.
253 255
254@format 256@format
255>> Type @samp{n} to move there. Type just one character; 257>> Type @kbd{n} to move there. Type just one character;
256 do not type the quotes and do not type a @key{RET} afterward. 258 do not type the quotes and do not type a @key{RET} afterward.
257@end format 259@end format
258 260
261@noindent
259@samp{>>} in the margin means it is really time to try a command. 262@samp{>>} in the margin means it is really time to try a command.
260 263
264@format
265>> If you have a mouse, and if you already practiced typing @kbd{n}
266 to get to the next node, click now with the right mouse button on
267 the @samp{Next} link to do the same ``the mouse way''.
268@end format
269
261@node Help-P, Help-^L, Help, Getting Started 270@node Help-P, Help-^L, Help, Getting Started
262@comment node-name, next, previous, up 271@comment node-name, next, previous, up
263@section Returning to the Previous node 272@section Returning to the Previous node
264 273
274@kindex p @r{(Info mode)}
265This node is called @samp{Help-P}. The @samp{Previous} node, as you see, 275This node is called @samp{Help-P}. The @samp{Previous} node, as you see,
266is @samp{Help}, which is the one you just came from using the @kbd{n} 276is @samp{Help}, which is the one you just came from using the @kbd{n}
267command. Another @kbd{n} command now would take you to the next 277command. Another @kbd{n} command now would take you to the next
268node, @samp{Help-^L}. 278node, @samp{Help-^L}. In Emacs, @kbd{n} runs the Emacs command
279@code{Info-next}, and @kbd{p} runs @code{Info-prev}.
269 280
270@format 281@format
271>> But do not do that yet. First, try the @kbd{p} command, which takes 282>> But do not do that yet. First, try the @kbd{p} command, or click
272 you to the @samp{Previous} node. When you get there, you can do an 283 the mouse on the @samp{Prev} link, which takes you to the
273 @kbd{n} again to return here. 284 @samp{Previous} node. When you get there, you can do an @kbd{n}
285 again to return here.
274@end format 286@end format
275 287
276 This all probably seems insultingly simple so far, but @emph{do not} be 288 This all probably seems insultingly simple so far, but @emph{do not} be
@@ -279,100 +291,143 @@ do not try a new command until you are told it is time to. Otherwise,
279you may make Info skip past an important warning that was coming up. 291you may make Info skip past an important warning that was coming up.
280 292
281@format 293@format
282>> Now do an @kbd{n} to get to the node @samp{Help-^L} and learn more. 294>> Now do an @kbd{n}, or click the mouse on the @samp{Next} link, to
295 get to the node @samp{Help-^L} and learn more.
283@end format 296@end format
284 297
285@node Help-^L, Help-M, Help-P, Getting Started 298@node Help-^L, Help-M, Help-P, Getting Started
286@comment node-name, next, previous, up 299@comment node-name, next, previous, up
287@section The Space, Delete, B and ^L commands. 300@section The Space, DEL, B and ^L commands.
288 301
289 This node's header tells you that you are now at node @samp{Help-^L}, and 302 This node's mode line tells you that you are now at node @samp{Help-^L},
290that @kbd{p} would get you back to @samp{Help-P}. The node's title is 303and the header line tells you that @kbd{p} would get you back to
291underlined; it says what the node is about (most nodes have titles). 304@samp{Help-P}. The node's title is underlined; it says what the node
305is about (most nodes have titles).
292 306
293 This is a big node and it does not all fit on your display screen. 307 This is a big node and it does not all fit on your display screen.
294You can tell that there is more that is not visible because you 308You can tell that there is more that is not visible because you
295can see the string @samp{--Top-----} rather than @samp{--All----} near 309can see the string @samp{--Top-----} rather than @samp{--All----} near
296the bottom right corner of the screen. 310the bottom right corner of the screen.
297 311
298 The Space, Delete and @kbd{B} commands exist to allow you to ``move 312@kindex SPC @r{(Info mode)}
299around'' in a node that does not all fit on the screen at once. 313@kindex DEL @r{(Info mode)}
300Space moves forward, to show what was below the bottom of the screen. 314@kindex BACKSPACE @r{(Info mode)}
301Delete moves backward, to show what was above the top of the screen 315@findex Info-scroll-up
302(there is not anything above the top until you have typed some spaces). 316@findex Info-scroll-down
317 The Space, Backspace (or DEL) and @kbd{b} commands exist to allow
318you to ``move around'' in a node that does not all fit on the screen
319at once. Space moves forward, to show what was below the bottom of
320the screen. DEL or Backspace moves backward, to show what was above
321the top of the screen (there is not anything above the top until you
322have typed some spaces). In Emacs, Space runs the command
323@code{Info-scroll-up}, while Backspace runs @code{Info-scroll-down}.
303 324
304@format 325@format
305>> Now try typing a Space (afterward, type a Delete to return here). 326>> Now try typing a Space (afterward, type a Backspace to return here).
306@end format 327@end format
307 328
308 When you type the space, the two lines that were at the bottom of 329 When you type the Space, the two lines that were at the bottom of
309the screen appear at the top, followed by more lines. Delete takes 330the screen appear at the top, followed by more lines. DEL or
310the two lines from the top and moves them to the bottom, 331Backspace takes the two lines from the top and moves them to the
311@emph{usually}, but if there are not a full screen's worth of lines 332bottom, @emph{usually}, but if there are not a full screen's worth of
312above them they may not make it all the way to the bottom. 333lines above them they may not make it all the way to the bottom.
313 334
314 Space and Delete scroll through all the nodes in an Info file as a 335 If you are reading this in Emacs, note that the header line is
315single logical sequence. In this sequence, a node's subnodes appear 336always visible, never scrolling off the display. That way, you can
316following their parent. If a node's menu is on the screen, Space takes 337always see the @samp{Next}, @samp{Prev}, and @samp{Up} links, and you
317you into the subnodes listed in the menu, one by one. Once you reach 338can conveniently go to one of these links from anywhere in the node by
318the end of a node, Space takes you to the next node or back to the 339clicking the mouse on one of these links.
319parent node. 340
320 341@cindex reading Info documents top to bottom
342@cindex Info documents as tutorials
343 Space and DEL not only move forward and backward through the current
344node. When these keys hit the beginning or the end of the current
345node, they move to preceding or subsequent nodes. Specifically, they
346scroll through all the nodes in an Info file as a single logical
347sequence. In this sequence, a node's subnodes appear following their
348parent. If a node has a menu, Space takes you into the subnodes
349listed in the menu, one by one. Once you reach the end of a node, and
350have seen all of its subnodes, Space takes you to the next node or to
351the parent's next node. This is so you could read the entire manual
352top to bottom by just typing Space.
353
354@kindex PAGEUP @r{(Info mode)}
355@kindex PAGEDOWN @r{(Info mode)}
356 Many keyboards nowadays have two scroll keys labeled @samp{PageUp}
357and @samp{PageDown} (or maybe @samp{Prior} and @samp{Next}). If your
358keyboard has these keys, you can use them to move forward and backward
359through the text, like with Space and Backspace. However, unlike
360Space and Backspace, PageUp and PageDown keys will never scroll beyond
361the beginning or the end of the current node.
362
363@kindex C-l @r{(Info mode)}
321 If your screen is ever garbaged, you can tell Info to print it out 364 If your screen is ever garbaged, you can tell Info to print it out
322again by typing @kbd{C-l} (@kbd{Control-L}, that is---hold down ``Control'' and 365again by typing @kbd{C-l} (@kbd{Control-L}, that is---hold down
323type an @key{L} or @kbd{l}). 366``Control'' and type an @key{L} or @kbd{l}).
324 367
325@format 368@format
326>> Type @kbd{C-l} now. 369>> Type @kbd{C-l} now.
327@end format 370@end format
328 371
372@kindex b @r{(Info mode)}
329 To move back to the beginning of the node you are on, you can type 373 To move back to the beginning of the node you are on, you can type
330a lot of Deletes. You can also type simply @kbd{b} for beginning. 374a lot of Backspaces. You can also type simply @kbd{b} for beginning.
375
331@format 376@format
332>> Try that now. (We have put in enough verbiage to push this past 377>> Try that now. (We have put in enough verbiage to push this past
333the first screenful, but screens are so big nowadays that perhaps it 378 the first screenful, but screens are so big nowadays that perhaps it
334isn't enough. You may need to shrink your Emacs or Info window.) 379 isn't enough. You may need to shrink your Emacs or Info window.)
335Then come back, with Spaces. 380 Then come back, with Spaces.
336@end format 381@end format
337 382
338If your screen is very tall, all of this node might fit at once. 383 If your screen is very tall, all of this node might fit at once.
339In that case, "b" won't do anything. Sorry; what can we do? 384In that case, @kbd{b} won't do anything. Sorry; what can we do?
340 385
386@kindex ? @r{(Info mode)}
387@findex Info-summary
341 You have just learned a considerable number of commands. If you 388 You have just learned a considerable number of commands. If you
342want to use one but have trouble remembering which, you should type 389want to use one but have trouble remembering which, you should type
343a @key{?} which prints out a brief list of commands. When you are 390a @key{?} (in Emacs it runs the @code{Info-summary} command) which
344finished looking at the list, make it go away by typing a @key{SPC}. 391prints out a brief list of commands. When you are finished looking at
392the list, make it go away by typing a Space repeatedly.
345 393
346@format 394@format
347>> Type a @key{?} now. After it finishes, type a @key{SPC}. 395>> Type a @key{?} now. Press @key{SPC} to see consecutive screenfuls of
396 the list until finished. Then type @key{SPC} several times, until
397 it goes away.
348@end format 398@end format
349 399
350 (If you are using the standalone Info reader, type `l' to return here.) 400 (If you are using the stand-alone Info reader, type @kbd{C-x 0} to
401return here, that is---press and hold ``Control'', type an @kbd{x},
402then release ``Control'' and @kbd{x}, and press @kbd{0}---a zero, not
403the letter ``o''.)
351 404
352 From now on, you will encounter large nodes without warning, and 405 From now on, you will encounter large nodes without warning, and
353will be expected to know how to use Space and Delete to move 406will be expected to know how to use Space and Backspace to move
354around in them without being told. Since not all terminals have 407around in them without being told. Since not all terminals have
355the same size screen, it would be impossible to warn you anyway. 408the same size screen, it would be impossible to warn you anyway.
356 409
357@format 410@format
358>> Now type @kbd{n} to see the description of the @kbd{m} command. 411>> Now type @kbd{n}, or click the mouse on the @samp{Next} link, to
412 see the description of the @kbd{m} command.
359@end format 413@end format
360 414
361@node Help-M, Help-Adv, Help-^L, Getting Started 415@node Help-M, Help-Adv, Help-^L, Getting Started
362@comment node-name, next, previous, up 416@comment node-name, next, previous, up
363@section Menus 417@section Menus and the @kbd{m} command
364 418
365Menus and the @kbd{m} command 419@cindex menus in an Info document
366 420@cindex Info menus
367 With only the @kbd{n} and @kbd{p} commands for moving between nodes, nodes 421 With only the @kbd{n} (next) and @kbd{p} (previous) commands for
368are restricted to a linear sequence. Menus allow a branching 422moving between nodes, nodes are restricted to a linear sequence.
369structure. A menu is a list of other nodes you can move to. It is 423Menus allow a branching structure. A menu is a list of other nodes
370actually just part of the text of the node formatted specially so that 424you can move to. It is actually just part of the text of the node
371Info can interpret it. The beginning of a menu is always identified 425formatted specially so that Info can interpret it. The beginning of a
372by a line which starts with @samp{* Menu:}. A node contains a menu if and 426menu is always identified by a line which starts with @samp{* Menu:}.
373only if it has a line in it which starts that way. The only menu you 427A node contains a menu if and only if it has a line in it which starts
374can use at any moment is the one in the node you are in. To use a 428that way. The only menu you can use at any moment is the one in the
375menu in any other node, you must move to that node first. 429node you are in. To use a menu in any other node, you must move to
430that node first.
376 431
377 After the start of the menu, each line that starts with a @samp{*} 432 After the start of the menu, each line that starts with a @samp{*}
378identifies one subtopic. The line usually contains a brief name 433identifies one subtopic. The line usually contains a brief name
@@ -383,13 +438,13 @@ special meaning---they are only for the human reader's benefit and do
383not define additional subtopics. Here is an example: 438not define additional subtopics. Here is an example:
384 439
385@example 440@example
386* Foo: FOO's Node This tells about FOO 441* Foo: Node about FOO This tells about FOO
387@end example 442@end example
388 443
389The subtopic name is Foo, and the node describing it is @samp{FOO's Node}. 444The subtopic name is Foo, and the node describing it is @samp{Node
390The rest of the line is just for the reader's Information. 445about FOO}. The rest of the line is just for the reader's
391[[ But this line is not a real menu item, simply because there is 446Information. [[ But this line is not a real menu item, simply because
392no line above it which starts with @samp{* Menu:}.]] 447there is no line above it which starts with @samp{* Menu:}.]]
393 448
394 When you use a menu to go to another node (in a way that will be 449 When you use a menu to go to another node (in a way that will be
395described soon), what you specify is the subtopic name, the first 450described soon), what you specify is the subtopic name, the first
@@ -418,54 +473,57 @@ both @samp{Foo}.
418 @kbd{m} command is not available. 473 @kbd{m} command is not available.
419@end format 474@end format
420 475
476@kindex m @r{(Info mode)}
421 The command to go to one of the subnodes is @kbd{m}---but @emph{do 477 The command to go to one of the subnodes is @kbd{m}---but @emph{do
422not do it yet!} Before you use @kbd{m}, you must understand the 478not do it yet!} Before you use @kbd{m}, you need to learn about
423difference between commands and arguments. So far, you have learned 479commands which prompt you for more input. So far, you have learned
424several commands that do not need arguments. When you type one, Info 480several commands that do not need additional input; when you typed
425processes it and is instantly ready for another command. The @kbd{m} 481one, Info processed it and was instantly ready for another command.
426command is different: it is incomplete without the @dfn{name of the 482The @kbd{m} command is different: it is incomplete without the
427subtopic}. Once you have typed @kbd{m}, Info tries to read the 483@dfn{name of the subtopic}. Once you have typed @kbd{m}, Info tries
428subtopic name. 484to read the subtopic name.
429 485
430 Now look for the line containing many dashes near the bottom of the 486 Now look for the line containing many dashes near the bottom of the
431screen. There is one more line beneath that one, but usually it is 487screen. There is one more line beneath that one, but usually it is
432blank. If it is empty, Info is ready for a command, such as @kbd{n} 488blank. If it is empty, Info is ready for a command, such as @kbd{n}
433or @kbd{b} or Space or @kbd{m}. If that line contains text ending 489or @kbd{b} or Space or @kbd{m}. If that line contains text ending
434in a colon, it mean Info is trying to read the @dfn{argument} to a 490in a colon, it means Info is trying to read more input for the last
435command. At such times, commands do not work, because Info tries to 491command. At such times, commands do not work, because Info tries to
436use them as the argument. You must either type the argument and 492use them as the input it needs. You must either type your response and
437finish the command you started, or type @kbd{Control-g} to cancel the 493finish the command you started, or type @kbd{Control-g} to cancel the
438command. When you have done one of those things, the line becomes 494command. When you have done one of those things, the line becomes
439blank again. 495blank again.
440 496
497@findex Info-menu
441 The command to go to a subnode via a menu is @kbd{m}. After you type 498 The command to go to a subnode via a menu is @kbd{m}. After you type
442the @kbd{m}, the line at the bottom of the screen says @samp{Menu item: }. 499the @kbd{m}, the line at the bottom of the screen says @samp{Menu item: }.
443You must then type the name of the subtopic you want, and end it with 500You must then type the name of the subtopic you want, and end it with
444a @key{RET}. 501a @key{RET}. In Emacs, @kbd{m} runs the command @code{Info-menu}.
445 502
503@cindex abbreviating Info subnodes
446 You can abbreviate the subtopic name. If the abbreviation is not 504 You can abbreviate the subtopic name. If the abbreviation is not
447unique, the first matching subtopic is chosen. Some menus put the 505unique, the first matching subtopic is chosen. Some menus put
448shortest possible abbreviation for each subtopic name in capital 506the shortest possible abbreviation for each subtopic name in capital
449letters, so you can see how much you need to type. It does not matter 507letters, so you can see how much you need to type. It does not
450whether you use upper case or lower case when you type the subtopic. Do 508matter whether you use upper case or lower case when you type the
451not put spaces at the end of the subtopic name; in the middle of the 509subtopic. You should not put any spaces at the end, or inside of the
452subtopic name, use one space (no more!) wherever the menu item name has 510item name, except for one space where a space appears in the item in
453a space. 511the menu.
454 512
513@cindex completion of Info node names
455 You can also use the @dfn{completion} feature to help enter the subtopic 514 You can also use the @dfn{completion} feature to help enter the subtopic
456name. If you type the Tab key after entering part of a name, it will 515name. If you type the Tab key after entering part of a name, it will
457magically fill in more of the name---as much as follows uniquely from 516magically fill in more of the name---as much as follows uniquely from
458what you have entered. 517what you have entered.
459 518
460 If you move the cursor to one of the menu subtopic lines, then you do 519 If you move the cursor to one of the menu subtopic lines, then you do
461not need to type the argument: you just type a Return, and it stands for 520not need to type the argument: you just type a @key{RET}, and it
462the subtopic of the line you are on. 521stands for the subtopic of the line you are on.
463 522
464Here is a menu to give you a chance to practice. 523Here is a menu to give you a chance to practice. This menu gives you
524three ways of going to one place, Help-FOO:
465 525
466@menu 526@menu
467This menu gives you three ways of going to one place, Help-FOO.
468
469* Foo: Help-FOO. A node you can visit for fun. 527* Foo: Help-FOO. A node you can visit for fun.
470* Bar: Help-FOO. Strange! two ways to get to the same place. 528* Bar: Help-FOO. Strange! two ways to get to the same place.
471* Help-FOO:: And yet another! 529* Help-FOO:: And yet another!
@@ -478,52 +536,105 @@ This menu gives you three ways of going to one place, Help-FOO.
478 Now you are ``inside'' an @kbd{m} command. Commands cannot be used 536 Now you are ``inside'' an @kbd{m} command. Commands cannot be used
479now; the next thing you will type must be the name of a subtopic. 537now; the next thing you will type must be the name of a subtopic.
480 538
481 You can change your mind about doing the @kbd{m} by typing Control-g. 539 You can change your mind about doing the @kbd{m} by typing
540@kbd{Control-g}.
482 541
483@format 542@format
484>> Try that now; notice the bottom line clear. 543>> Try that now; notice the bottom line clear.
544@end format
485 545
546@format
486>> Then type another @kbd{m}. 547>> Then type another @kbd{m}.
548@end format
487 549
488>> Now type @samp{BAR} item name. Do not type Return yet. 550@format
551>> Now type @kbd{BAR}, the item name. Do not type @key{RET} yet.
489@end format 552@end format
490 553
491 While you are typing the item name, you can use the Delete key to 554 While you are typing the item name, you can use the @key{DEL} (or
492cancel one character at a time if you make a mistake. 555Backspace) key to cancel one character at a time if you make a
556mistake.
493 557
494@format 558@format
495>> Type one to cancel the @samp{R}. You could type another @samp{R} to 559>> Press @key{DEL} to cancel the @samp{R}. You could type another @kbd{R}
496 replace it. You do not have to, since @samp{BA} is a valid abbreviation. 560 to replace it. But you do not have to, since @samp{BA} is a valid
561 abbreviation.
562@end format
497 563
564@format
498>> Now you are ready to go. Type a @key{RET}. 565>> Now you are ready to go. Type a @key{RET}.
499@end format 566@end format
500 567
501 After visiting Help-FOO, you should return here. 568 After visiting @samp{Help-FOO}, you should return here.
569
570 Another way to move to the menu subtopic lines and between them is
571to type @key{TAB}. Each time you type a @key{TAB}, you move to the
572next subtopic line. To move to a previous subtopic line, type
573@kbd{M-@key{TAB}}---that is, press and hold the Meta key and then
574press @key{TAB}. (On some keyboards, the Meta key might be known as
575``Alt''.)
576
577 Once you move cursor to a subtopic line, press @key{RET} to go to
578that subtopic's node.
579
580@cindex mouse support in Info mode
581@kindex Mouse-2 @r{(Info mode)}
582 If your terminal supports a mouse, you have yet another way of going
583to a subtopic. Move your mouse pointer to the subtopic line,
584somewhere between the beginning @samp{*} and the colon @samp{:} which
585ends the subtopic's brief name. You will see the subtopic's name
586change its appearance (usually, its background color will change), and
587the shape of the mouse pointer will change if your platform supports
588that. After a while, if you leave the mouse on that spot, a tooltip
589will pop up saying ``Mouse-2: go to that node''. (If the tooltips are
590turned off or unavailable, this message is printed in the @dfn{echo
591area}, the last screen line where you typed the menu subtopics in
592response to the prompt.) @kbd{Mouse-2} is the second button of your
593mouse---normally the rightmost button. So pressing @kbd{Mouse-2}
594while the mouse pointer is on a menu subtopic goes to that subtopic.
595
596@findex Info-mouse-follow-nearest-node
597 More generally, @kbd{Mouse-2} in an Info buffer runs the Emacs
598command @code{Info-mouse-follow-nearest-node}, which finds the nearest
599link to another node and goes there. For example, near a cross
600reference it acts like @kbd{f}, in a menu it acts like @kbd{m}, on the
601node's header line it acts like @kbd{n}, @kbd{p}, or @kbd{u}, etc. At
602end of the node's text @kbd{Mouse-2} moves to the next node, or up if
603there's no next node.
604
605 Here is another way to get to Help-FOO, a menu. You can ignore this
606if you want, or else try it by typing @key{TAB} and then @key{RET}, or
607clicking @kbd{Mouse-2} on it (but then please come back to here).
608
609@menu
610* Help-FOO::
611@end menu
502 612
503@format 613@format
504>> Type @kbd{n} to see more commands. 614>> Type @kbd{n} to see more commands.
505@end format 615@end format
506 616
507@c If a menu appears at the end of this node, remove it.
508@c It is an accident of the menu updating command.
509
510@node Help-FOO, , , Help-M 617@node Help-FOO, , , Help-M
511@comment node-name, next, previous, up
512@subsection The @kbd{u} command 618@subsection The @kbd{u} command
513 619
514 Congratulations! This is the node @samp{Help-FOO}. Unlike the other 620 Congratulations! This is the node @samp{Help-FOO}. It has an @samp{Up}
515nodes you have seen, this one has an @samp{Up}: @samp{Help-M}, the node you 621pointer @samp{Help-M}, the node you just came from via the @kbd{m}
516just came from via the @kbd{m} command. This is the usual 622command. This is the usual convention---the nodes you reach from a menu
517convention---the nodes you reach from a menu have @samp{Up} nodes that lead 623have @samp{Up} nodes that lead back to the menu. Menus move Down in the
518back to the menu. Menus move Down in the tree, and @samp{Up} moves Up. 624tree, and @samp{Up} moves Up. @samp{Previous}, on the other hand, is
519@samp{Previous}, on the other hand, is usually used to ``stay on the same 625usually used to ``stay on the same level but go backwards''.
520level but go backwards''
521 626
627@kindex u @r{(Info mode)}
628@findex Info-up
522 You can go back to the node @samp{Help-M} by typing the command 629 You can go back to the node @samp{Help-M} by typing the command
523@kbd{u} for ``Up''. That puts you at the @emph{front} of the 630@kbd{u} for ``Up'' (the Emacs command ruin by @kbd{u} is
524node---to get back to where you were reading you have to type 631@code{Info-up}). That puts you at the @emph{front} of the node---to
525some @key{SPC}s. (Some Info readers, such as the one built into Emacs, 632get back to where you were reading you have to type some @key{SPC}s.
526put you at the same place where you were reading in @samp{Help-M}.) 633(Some Info readers, such as the one built into Emacs, put you at the
634same place where you were reading in @samp{Help-M}.)
635
636 Another way to go Up is to click on the @samp{Up} pointer shown in
637the header line (provided that you have a mouse).
527 638
528@format 639@format
529>> Now type @kbd{u} to move back up to @samp{Help-M}. 640>> Now type @kbd{u} to move back up to @samp{Help-M}.
@@ -535,6 +646,9 @@ put you at the same place where you were reading in @samp{Help-M}.)
535 646
536 The course is almost over, so please stick with it to the end. 647 The course is almost over, so please stick with it to the end.
537 648
649@kindex l @r{(Info mode)}
650@findex Info-last
651@cindex going back in Info mode
538 If you have been moving around to different nodes and wish to 652 If you have been moving around to different nodes and wish to
539retrace your steps, the @kbd{l} command (@kbd{l} for @dfn{last}) will 653retrace your steps, the @kbd{l} command (@kbd{l} for @dfn{last}) will
540do that, one node-step at a time. As you move from node to node, Info 654do that, one node-step at a time. As you move from node to node, Info
@@ -542,61 +656,96 @@ records the nodes where you have been in a special history list. The
542@kbd{l} command revisits nodes in the history list; each successive 656@kbd{l} command revisits nodes in the history list; each successive
543@kbd{l} command moves one step back through the history. 657@kbd{l} command moves one step back through the history.
544 658
545 If you have been following directions, an @kbd{l} command now will get 659 If you have been following directions, ad @kbd{l} command now will get
546you back to @samp{Help-M}. Another @kbd{l} command would undo the 660you back to @samp{Help-M}. Another @kbd{l} command would undo the
547@kbd{u} and get you back to @samp{Help-FOO}. Another @kbd{l} would undo 661@kbd{u} and get you back to @samp{Help-FOO}. Another @kbd{l} would undo
548the @kbd{m} and get you back to @samp{Help-M}. 662the @kbd{m} and get you back to @samp{Help-M}.
549 663
664 In Emacs, @kbd{l} runs the command @code{Info-last}.
665
550@format 666@format
551>> Try typing three @kbd{l}'s, pausing in between to see what each 667>> Try typing three @kbd{l}'s, pausing in between to see what each
552 @kbd{l} does. 668 @kbd{l} does. Then follow directions again and you will end up
669 back here.
553@end format 670@end format
554 671
555Then follow directions again and you will end up back here.
556
557 Note the difference between @kbd{l} and @kbd{p}: @kbd{l} moves to 672 Note the difference between @kbd{l} and @kbd{p}: @kbd{l} moves to
558where @emph{you} last were, whereas @kbd{p} always moves to the node 673where @emph{you} last were, whereas @kbd{p} always moves to the node
559which the header says is the @samp{Previous} node (from this node, to 674which the header says is the @samp{Previous} node (from this node, the
560@samp{Help-M}). 675@samp{Prev} link leads to @samp{Help-M}).
561 676
562 The @samp{d} command gets you instantly to the Directory node. 677@kindex d @r{(Info mode)}
563This node, which is the first one you saw when you entered Info, 678@findex Info-directory
564has a menu which leads (directly, or indirectly through other menus), 679@cindex go to Directory node
565to all the nodes that exist. 680 The @kbd{d} command (@code{Info-directory} in Emacs) gets you
681instantly to the Directory node. This node, which is the first one
682you saw when you entered Info, has a menu which leads (directly, or
683indirectly through other menus), to all the nodes that exist. The
684Directory node lists all the manuals and other Info documents that
685are, or could be, installed on your system.
566 686
567@format 687@format
568>> Try doing a @samp{d}, then do an @kbd{l} to return here (yes, 688>> Try doing a @kbd{d}, then do an @kbd{l} to return here (yes,
569 @emph{do} return). 689 @emph{do} return).
570@end format 690@end format
571 691
692@kindex t @r{(Info mode)}
693@findex Info-top-node
694@cindex go to Top node
695 The @kbd{t} command moves to the @samp{Top} node of the manual.
696This is useful if you want to browse the manual's main menu, or select
697some specific top-level menu item. The Emacs command run by @kbd{t}
698is @code{Info-top-node}.
699
572 Sometimes, in Info documentation, you will see a cross reference. 700 Sometimes, in Info documentation, you will see a cross reference.
573Cross references look like this: @xref{Help-Cross, Cross}. That is a 701Cross references look like this: @xref{Help-Cross, Cross}. That is a
574real, live cross reference which is named @samp{Cross} and points at 702real, live cross reference which is named @samp{Cross} and points at
575the node named @samp{Help-Cross}. 703the node named @samp{Help-Cross}.
576 704
577 If you wish to follow a cross reference, you must use the @samp{f} 705@kindex f @r{(Info mode)}
578command. The @samp{f} must be followed by the cross reference name 706@findex Info-follow-reference
579(in this case, @samp{Cross}). While you enter the name, you can use the 707@cindex cross references in Info documents
580Delete key to edit your input. If you change your mind about following 708 If you wish to follow a cross reference, you must use the @kbd{f}
581any reference, you can use @kbd{Control-g} to cancel the command. 709command. The @kbd{f} must be followed by the cross reference name
582 710(in this case, @samp{Cross}). If the cursor is on or near the cross
583 Completion is available in the @samp{f} command; you can complete among 711reference, Info suggests the name if the nearest reference in
712parentheses; typing @key{RET} will follow that reference. You can
713also type a different name, if the default is not what you want.
714While you enter the name, you can use the DEL (or Backspace) key to
715edit your input. If you change your mind about following any
716reference, you can use @kbd{Control-g} to cancel the command.
717
718 Completion is available in the @kbd{f} command; you can complete among
584all the cross reference names in the current node by typing a Tab. 719all the cross reference names in the current node by typing a Tab.
585 720
721 @kbd{f} runs @code{Info-follow-reference} in Emacs.
722
586@format 723@format
587>> Type @samp{f}, followed by @samp{Cross}, and a @key{RET}. 724>> Type @kbd{f}, followed by @kbd{Cross}, and a @key{RET}.
588@end format 725@end format
589 726
590 To get a list of all the cross references in the current node, you can 727 To get a list of all the cross references in the current node, you can
591type @kbd{?} after an @samp{f}. The @samp{f} continues to await a 728type @kbd{?} after an @kbd{f}. The @kbd{f} continues to await a
592cross reference name even after printing the list, so if you don't 729cross reference name even after printing the list, so if you don't
593actually want to follow a reference, you should type a @kbd{Control-g} 730actually want to follow a reference, you should type a @kbd{Control-g}
594to cancel the @samp{f}. 731to cancel the @kbd{f}.
595 732
596@format 733@format
597>> Type "f?" to get a list of the cross references in this node. Then 734>> Type @kbd{f?} to get a list of the cross references in this node. Then
598 type a @kbd{Control-g} and see how the @samp{f} gives up. 735 type a @kbd{Control-g} and see how the @samp{f} gives up.
736@end format
737
738 The @key{TAB} and @kbd{M-@key{TAB}} key, which move between
739subtopics in a menu can move between cross references as well. Once
740the cursor is on a cross reference, you can press @key{RET} to follow
741that reference, just like you do in a menu.
599 742
743 Clicking @kbd{Mouse-2} on or near a cross reference also follows the
744reference. You can see that the cross reference is mouse-sensitive by
745moving the mouse pointer to the reference and watching how the
746underlying text and the mouse pointer change in response.
747
748@format
600>> Now type @kbd{n} to see the last node of the course. 749>> Now type @kbd{n} to see the last node of the course.
601@end format 750@end format
602 751
@@ -604,17 +753,16 @@ to cancel the @samp{f}.
604@c It is an accident of the menu updating command. 753@c It is an accident of the menu updating command.
605 754
606@node Help-Cross, , , Help-Adv 755@node Help-Cross, , , Help-Adv
607@comment node-name, next, previous, up 756@subsection The node reached by the cross reference in Info
608@unnumberedsubsec The node reached by the cross reference in Info
609 757
610 This is the node reached by the cross reference named @samp{Cross}. 758 This is the node reached by the cross reference named @samp{Cross}.
611 759
612 While this node is specifically intended to be reached by a cross 760 While this node is specifically intended to be reached by a cross
613reference, most cross references lead to nodes that ``belong'' 761reference, most cross references lead to nodes that ``belong''
614someplace else far away in the structure of Info. So you cannot expect 762someplace else far away in the structure of an Info document. So you
615the footnote to have a @samp{Next}, @samp{Previous} or @samp{Up} pointing back to 763cannot expect this node to have a @samp{Next}, @samp{Previous} or
616where you came from. In general, the @kbd{l} (el) command is the only 764@samp{Up} links pointing back to where you came from. In general, the
617way to get back there. 765@kbd{l} (el) command is the only way to get back there.
618 766
619@format 767@format
620>> Type @kbd{l} to return to the node where the cross reference was. 768>> Type @kbd{l} to return to the node where the cross reference was.
@@ -624,33 +772,52 @@ way to get back there.
624@comment node-name, next, previous, up 772@comment node-name, next, previous, up
625@section Quitting Info 773@section Quitting Info
626 774
775@kindex q @r{(Info mode)}
776@findex Info-exit
777@cindex quitting Info mode
627 To get out of Info, back to what you were doing before, type @kbd{q} 778 To get out of Info, back to what you were doing before, type @kbd{q}
628for @dfn{Quit}. 779for @dfn{Quit}. This runs @code{Info-exit} in Emacs.
629 780
630 This is the end of the course on using Info. There are some other 781 This is the end of the basic course on using Info. You have learned
631commands that are meant for experienced users; they are useful, and you 782how to move in an Info document, and how to follow menus and cross
632can find them by looking in the directory node for documentation on 783references. This makes you ready for reading manuals top to bottom,
633Info. Finding them will be a good exercise in using Info in the usual 784as new users should do when they learn a new package.
785
786 Another set of Info commands is useful when you need to find
787something quickly in a manual---that is, when you need to use a manual
788as a reference rather than as a tutorial. We urge you to make learn
789these search commands as well. If you want to do that now, follow this
790cross reference to @ref{Info Search}.
791
792Yet another set of commands are meant for experienced users; you can
793find them by looking in the Directory node for documentation on Info.
794Finding them will be a good exercise in using Info in the usual
634manner. 795manner.
635 796
636@format 797@format
637>> Type @samp{d} to go to the Info directory node; then type 798>> Type @kbd{d} to go to the Info directory node; then type
638 @samp{mInfo} and Return, to get to the node about Info and 799 @kbd{mInfo} and Return, to get to the node about Info and
639 see what other help is available. 800 see what other help is available.
640@end format 801@end format
641 802
642@node Advanced Info, Create an Info File, Getting Started, Top 803
643@comment node-name, next, previous, up 804@node Advanced Info
644@chapter Info for Experts 805@chapter Info for Experts
645 806
646This chapter describes various advanced Info commands, and how to write 807 This chapter describes various advanced Info commands. (If you are
647an Info as distinct from a Texinfo file. (However, in most cases, writing a 808using a stand-alone Info reader, there are additional commands
648Texinfo file is better, since you can use it @emph{both} to generate an 809specific to it, which are documented in several chapters of @ref{Top,,
649Info file and to make a printed manual. @xref{Top,, Overview of 810GNU Info, info-stnd, GNU Info}.)
650Texinfo, texinfo, Texinfo: The GNU Documentation Format}.) 811
812 This chapter also explains how to write an Info as distinct from a
813Texinfo file. (However, in most cases, writing a Texinfo file is
814better, since you can use it @emph{both} to generate an Info file and
815to make a printed manual. @xref{Top,, Overview of Texinfo, texinfo,
816Texinfo: The GNU Documentation Format}.)
651 817
652@menu 818@menu
653* Expert:: Advanced Info commands: g, s, e, and 1 - 5. 819* Expert:: Advanced Info commands: g, s, e, and 1 - 5.
820* Info Search:: How to search Info documents for specific subjects.
654* Add:: Describes how to add new nodes to the hierarchy. 821* Add:: Describes how to add new nodes to the hierarchy.
655 Also tells what nodes look like. 822 Also tells what nodes look like.
656* Menus:: How to add to or create menus in Info nodes. 823* Menus:: How to add to or create menus in Info nodes.
@@ -660,69 +827,159 @@ Texinfo, texinfo, Texinfo: The GNU Documentation Format}.)
660* Emacs Info Variables:: Variables modifying the behavior of Emacs Info. 827* Emacs Info Variables:: Variables modifying the behavior of Emacs Info.
661@end menu 828@end menu
662 829
663@node Expert, Add, , Advanced Info 830@node Expert, Info Search, , Advanced Info
664@comment node-name, next, previous, up 831@comment node-name, next, previous, up
665@section Advanced Info Commands 832@section Advanced Info Commands
666 833
667@kbd{g}, @kbd{s}, @kbd{1}, -- @kbd{9}, and @kbd{e} 834Here are some more Info commands that make it easier to move around.
835
836@unnumberedsubsec @kbd{g} goes to a node by name
668 837
669If you know a node's name, you can go there by typing @kbd{g}, the 838@kindex g @r{(Info mode)}
839@findex Info-goto-node
840@cindex go to a node by name
841 If you know a node's name, you can go there by typing @kbd{g}, the
670name, and @key{RET}. Thus, @kbd{gTop@key{RET}} would go to the node 842name, and @key{RET}. Thus, @kbd{gTop@key{RET}} would go to the node
671called @samp{Top} in this file (its directory node). 843called @samp{Top} in this file. (This is equivalent to @kbd{t}, see
672@kbd{gExpert@key{RET}} would come back here. 844@ref{Help-Adv}.) @kbd{gExpert@key{RET}} would come back here.
845@kbd{g} in Emacs runs the command @code{Info-goto-node}.
673 846
674Unlike @kbd{m}, @kbd{g} does not allow the use of abbreviations. 847 Unlike @kbd{m}, @kbd{g} does not allow the use of abbreviations.
848But it does allow completion, so you can type @key{TAB} to complete a
849partial node name.
675 850
676To go to a node in another file, you can include the file name in the 851@cindex go to another Info file
852 To go to a node in another file, you can include the file name in the
677node name by putting it at the front, in parentheses. Thus, 853node name by putting it at the front, in parentheses. Thus,
678@kbd{g(dir)Top@key{RET}} would go to the Info Directory node, which is 854@kbd{g(dir)Top@key{RET}} would go to the Info Directory node, which is
679node @samp{Top} in the file @file{dir}. 855the node @samp{Top} in the Info file @file{dir}. Likewise,
856@kbd{g(emacs)Top@key{RET}} goes to the top node of the Emacs manual.
680 857
681The node name @samp{*} specifies the whole file. So you can look at 858 The node name @samp{*} specifies the whole file. So you can look at
682all of the current file by typing @kbd{g*@key{RET}} or all of any 859all of the current file by typing @kbd{g*@key{RET}} or all of any
683other file with @kbd{g(FILENAME)@key{RET}}. 860other file with @kbd{g(@var{filename})@key{RET}}.
684 861
685The @kbd{s} command allows you to search a whole file for a string. It 862@unnumberedsubsec @kbd{1} -- @kbd{9} choose a menu subtopic by its number
686switches to the next node if and when that is necessary. You type 863
687@kbd{s} followed by the string to search for, terminated by @key{RET}. 864@kindex 1 @r{through} 9 @r{(Info mode)}
688To search for the same string again, just @kbd{s} followed by @key{RET} 865@findex Info-nth-menu-item
689will do. The file's nodes are scanned in the order they are in in the 866@cindex select @var{n}'th menu item
690file, which has no necessary relationship to the order that they may be 867 If you begrudge each character of type-in which your system requires,
691in the tree structure of menus and @samp{next} pointers. But 868you might like to use the commands @kbd{1}, @kbd{2}, @kbd{3}, @kbd{4},
692normally the two orders are not very different. In any case, you can 869@dots{}, @kbd{9}. They are short for the @kbd{m} command together
693always do a @kbd{b} to find out what node you have reached, if the 870with a name of a menu subtopic. @kbd{1} goes through the first item
694header is not visible (this can happen, because @kbd{s} puts your cursor 871in the current node's menu; @kbd{2} goes through the second item, etc.
695at the occurrence of the string, not at the beginning of the node). 872In the stand-alone reader, @kbd{0} goes through the last menu item;
696 873this is so you need not count how many entries are there. In Emacs,
697@kbd{Meta-s} is equivalent to @kbd{s}. That is for compatibility with 874the digit keys run the command @code{Info-nth-menu-item}.
698other GNU packages that use @kbd{M-s} for a similar kind of search 875
699command. 876 If your display supports multiple fonts, and you are using Emacs'
700 877Info mode to read Info files, the @samp{*} for the fifth menu item
701If you grudge the system each character of type-in it requires, you 878stands out, either in color or in some other attribute, such as
702might like to use the commands @kbd{1}, @kbd{2}, @kbd{3}, @kbd{4}, ... 879underline, and so is the @samp{*} for the ninth item; this makes it
703@kbd{9}. They are short for the @kbd{m} command together with an 880easy to see at a glance which number to use for an item.
704argument. @kbd{1} goes through the first item in the current node's 881
705menu; @kbd{2} goes through the second item, etc. 882 Some terminals don't support colors or underlining. If you need to
706
707If your display supports multiple fonts, and you are using Emacs' Info
708mode to read Info files, the @samp{*} for the fifth menu item is
709underlined, and so is the @samp{*} for the ninth item; these underlines
710make it easy to see at a glance which number to use for an item.
711
712On ordinary terminals, you won't have underlining. If you need to
713actually count items, it is better to use @kbd{m} instead, and specify 883actually count items, it is better to use @kbd{m} instead, and specify
714the name. 884the name, or use @key{TAB} to quickly move between menu items.
715 885
716The Info command @kbd{e} changes from Info mode to an ordinary 886@unnumberedsubsec @kbd{e} makes Info document editable
887
888@kindex e @r{(Info mode)}
889@findex Info-edit
890@cindex edit Info document
891 The Info command @kbd{e} changes from Info mode to an ordinary
717Emacs editing mode, so that you can edit the text of the current node. 892Emacs editing mode, so that you can edit the text of the current node.
718Type @kbd{C-c C-c} to switch back to Info. The @kbd{e} command is allowed 893Type @kbd{C-c C-c} to switch back to Info. The @kbd{e} command is allowed
719only if the variable @code{Info-enable-edit} is non-@code{nil}. 894only if the variable @code{Info-enable-edit} is non-@code{nil}.
720 895
721@node Add, Menus, Expert, Advanced Info 896 The @kbd{e} command only works in Emacs, where it runs the command
897@code{Info-edit}. The stand-alone Info reader doesn't allow you to
898edit the Info file, so typing @kbd{e} there goes to the end of the
899current node.
900
901@node Info Search, Add, Expert, Advanced Info
902@comment node-name, next, previous, up
903@section How to search Info documents for specific subjects
904
905@cindex searching Info documents
906@cindex Info document as a reference
907 The commands which move between and inside nodes allow you to read
908the entire manual or its large portions. But what if you need to find
909some information in the manual as fast as you can, and you don't know
910or don't remember in what node to look for it? This need arises when
911you use a manual as a @dfn{reference}, or when it is impractical to
912read the entire manual before you start using the programs it
913describes.
914
915 Info has powerful searching facilities that let you find things
916quickly. You can search either the manual indices or its text.
917
918@kindex i @r{(Info mode)}
919@findex Info-index
920 Since most subjects related to what the manual describes should be
921indexed, you should try the index search first. The @kbd{i} command
922prompts you for a subject and then looks up that subject in the
923indices. If it finds an index entry with the subject you typed, it
924goes to the node to which that index entry points. You should browse
925through that node to see whether the issue you are looking for is
926described there. If it isn't, type @kbd{,} one or more times to go
927through additional index entries which match your subject.
928
929 The @kbd{i} command finds all index entries which include the string
930you typed @emph{as a substring}. For each match, Info shows in the
931echo area the full index entry it found. Often, the text of the full
932index entry already gives you enough information to decide whether it
933is relevant to what you are looking for, so we recommend that you read
934what Emacs shows in the echo are before looking at the node it
935displays.
936
937 Since @kbd{i} looks for a substring, you can search for subjects even
938if you are not sure how they are spelled in the index. For example,
939suppose you want to find something that is pertinent to commands which
940complete partial input (e.g., when you type @key{TAB}). If you want
941to catch index entries that refer to ``complete'', ``completion'', and
942``completing'', you could type @kbd{icomplet@key{RET}}.
943
944 Info documents which describe programs should index the commands,
945options, and key sequences that the program provides. If you are
946looking for a description of a command, an option, or a key, just type
947their names when @kbd{i} prompts you for a topic. For example, if you
948want to read the description of what the @kbd{C-f} key does, type
949@kbd{iC-f@key{RET}}. Here @kbd{C-f} are 3 literal characters
950@samp{C}, @samp{-}, and @samp{f}, not the ``Control-f'' command key
951you type inside Emacs to run the command bound to @kbd{C-f}.
952
953 In Emacs, @kbd{i} runs the command @code{Info-index}.
954
955@kindex s @r{(Info mode)}
956@findex Info-search
957 The @kbd{s} command allows you to search a whole file for a string.
958It switches to the next node if and when that is necessary. You
959type @kbd{s} followed by the string to search for, terminated by
960@key{RET}. To search for the same string again, just @kbd{s} followed
961by @key{RET} will do. The file's nodes are scanned in the order
962they are in in the file, which has no necessary relationship to the
963order that they may be in the tree structure of menus and @samp{next}
964pointers. But normally the two orders are not very different. In any
965case, you can always do a @kbd{b} to find out what node you have
966reached, if the header is not visible (this can happen, because @kbd{s}
967puts your cursor at the occurrence of the string, not at the beginning
968of the node).
969
970@kindex M-s @r{(Info mode)}
971 In Emacs, @kbd{Meta-s} is equivalent to @kbd{s}. That is for
972compatibility with other GNU packages that use @kbd{M-s} for a similar
973kind of search command. Both @kbd{s} and @kbd{M-s} run in Emacs the
974command @code{Info-search}.
975
976
977@node Add, Menus, Info Search, Advanced Info
722@comment node-name, next, previous, up 978@comment node-name, next, previous, up
723@section Adding a new node to Info 979@section Adding a new node to Info
724 980
725To add a new topic to the list in the Info directory, you must: 981To add a new topic to the list in the Info directory, you must:
982
726@enumerate 983@enumerate
727@item 984@item
728Create some nodes, in some file, to document that topic. 985Create some nodes, in some file, to document that topic.
@@ -730,29 +987,32 @@ Create some nodes, in some file, to document that topic.
730Put that topic in the menu in the directory. @xref{Menus, Menu}. 987Put that topic in the menu in the directory. @xref{Menus, Menu}.
731@end enumerate 988@end enumerate
732 989
733Usually, the way to create the nodes is with Texinfo @pxref{Top,, Overview of 990 Usually, the way to create the nodes is with Texinfo (@pxref{Top,,
734Texinfo, texinfo, Texinfo: The GNU Documentation Format}); this has the 991Overview of Texinfo, texinfo, Texinfo: The GNU Documentation Format});
735advantage that you can also make a printed manual from them. However, 992this has the advantage that you can also make a printed manual from
736if you want to edit an Info file, here is how. 993them. However, if you want to edit an Info file, here is how.
737 994
995@cindex node delimiters
738 The new node can live in an existing documentation file, or in a new 996 The new node can live in an existing documentation file, or in a new
739one. It must have a @key{^_} character before it (invisible to the 997one. It must have a @key{^_} character before it (invisible to the
740user; this node has one but you cannot see it), and it ends with either 998user; this node has one but you cannot see it), and it ends with either
741a @key{^_}, a @key{^L}, or the end of file. Note: If you put in a 999a @key{^_}, a @key{^L}, or the end of file.@footnote{If you put in a
742@key{^L} to end a new node, be sure that there is a @key{^_} after it 1000@key{^L} to end a new node, be sure that there is a @key{^_} after it
743to start the next one, since @key{^L} cannot @emph{start} a node. 1001to start the next one, since @key{^L} cannot @emph{start} a node.
744Also, a nicer way to make a node boundary be a page boundary as well 1002Also, a nicer way to make a node boundary be a page boundary as well
745is to put a @key{^L} @emph{right after} the @key{^_}. 1003is to put a @key{^L} @emph{right after} the @key{^_}.}
746 1004
747 The @key{^_} starting a node must be followed by a newline or a 1005 The @key{^_} starting a node must be followed by a newline or a
748@key{^L} newline, after which comes the node's header line. The 1006@key{^L} newline, after which comes the node's header line. The header
749header line must give the node's name (by which Info finds it), 1007line must give the node's name (by which Info finds it), and state the
750and state the names of the @samp{Next}, @samp{Previous}, and @samp{Up} nodes (if 1008names of the @samp{Next}, @samp{Previous}, and @samp{Up} nodes (if there
751there are any). As you can see, this node's @samp{Up} node is the node 1009are any). As you can see, this node's @samp{Up} node is the node
752@samp{Top}, which points at all the documentation for Info. The @samp{Next} 1010@samp{Top}, which points at all the documentation for Info. The
753node is @samp{Menus}. 1011@samp{Next} node is @samp{Menus}.
754 1012
755 The keywords @dfn{Node}, @dfn{Previous}, @dfn{Up}, and @dfn{Next}, 1013@cindex node header line format
1014@cindex format of node headers
1015 The keywords @dfn{Node}, @dfn{Next}, @dfn{Previous}, and @dfn{Up}
756may appear in any order, anywhere in the header line, but the 1016may appear in any order, anywhere in the header line, but the
757recommended order is the one in this sentence. Each keyword must be 1017recommended order is the one in this sentence. Each keyword must be
758followed by a colon, spaces and tabs, and then the appropriate name. 1018followed by a colon, spaces and tabs, and then the appropriate name.
@@ -760,30 +1020,35 @@ The name may be terminated with a tab, a comma, or a newline. A space
760does not end it; node names may contain spaces. The case of letters 1020does not end it; node names may contain spaces. The case of letters
761in the names is insignificant. 1021in the names is insignificant.
762 1022
1023@cindex node name format
1024@cindex Directory node
763 A node name has two forms. A node in the current file is named by 1025 A node name has two forms. A node in the current file is named by
764what appears after the @samp{Node: } in that node's first line. For 1026what appears after the @samp{Node: } in that node's first line. For
765example, this node's name is @samp{Add}. A node in another file is 1027example, this node's name is @samp{Add}. A node in another file is
766named by @samp{(@var{filename})@var{node-within-file}}, as in 1028named by @samp{(@var{filename})@var{node-within-file}}, as in
767@samp{(info)Add} for this node. If the file name starts with ``./'', 1029@samp{(info)Add} for this node. If the file name starts with ``./'',
768then it is relative to the current directory; otherwise, it is relative 1030then it is relative to the current directory; otherwise, it is
769starting from the standard Info file directory of your site. 1031relative starting from the standard directory for Info files of your
770The name @samp{(@var{filename})Top} can be abbreviated to just 1032site. The name @samp{(@var{filename})Top} can be abbreviated to just
771@samp{(@var{filename})}. By convention, the name @samp{Top} is used for 1033@samp{(@var{filename})}. By convention, the name @samp{Top} is used
772the ``highest'' node in any single file---the node whose @samp{Up} points 1034for the ``highest'' node in any single file---the node whose @samp{Up}
773out of the file. The Directory node is @file{(dir)}. The @samp{Top} node 1035points out of the file. The @samp{Directory} node is @file{(dir)}, it
774of a document file listed in the Directory should have an @samp{Up: 1036points to a file @file{dir} which holds a large menu listing all the
1037Info documents installed on your site. The @samp{Top} node of a
1038document file listed in the @samp{Directory} should have an @samp{Up:
775(dir)} in it. 1039(dir)} in it.
776 1040
1041@cindex unstructured documents
777 The node name @kbd{*} is special: it refers to the entire file. 1042 The node name @kbd{*} is special: it refers to the entire file.
778Thus, @kbd{g*} shows you the whole current file. The use of the 1043Thus, @kbd{g*} shows you the whole current file. The use of the
779node @kbd{*} is to make it possible to make old-fashioned, 1044node @kbd{*} is to make it possible to make old-fashioned,
780unstructured files into nodes of the tree. 1045unstructured files into nodes of the tree.
781 1046
782 The @samp{Node:} name, in which a node states its own name, must not 1047 The @samp{Node:} name, in which a node states its own name, must not
783contain a file name, since Info when searching for a node does not 1048contain a file name, since when Info searches for a node, it does not
784expect one to be there. The @samp{Next}, @samp{Previous} and @samp{Up} names may 1049expect a file name to be there. The @samp{Next}, @samp{Previous} and
785contain them. In this node, since the @samp{Up} node is in the same file, 1050@samp{Up} names may contain them. In this node, since the @samp{Up}
786it was not necessary to use one. 1051node is in the same file, it was not necessary to use one.
787 1052
788 Note that the nodes in this file have a file name in the header 1053 Note that the nodes in this file have a file name in the header
789line. The file names are ignored by Info, but they serve as comments 1054line. The file names are ignored by Info, but they serve as comments
@@ -793,14 +1058,15 @@ to help identify the node for the user.
793@comment node-name, next, previous, up 1058@comment node-name, next, previous, up
794@section How to Create Menus 1059@section How to Create Menus
795 1060
796 Any node in the Info hierarchy may have a @dfn{menu}---a list of subnodes. 1061 Any node in the Info hierarchy may have a @dfn{menu}---a list of subnodes.
797The @kbd{m} command searches the current node's menu for the topic which it 1062The @kbd{m} command searches the current node's menu for the topic which it
798reads from the terminal. 1063reads from the terminal.
799 1064
1065@cindex menu and menu entry format
800 A menu begins with a line starting with @samp{* Menu:}. The rest of the 1066 A menu begins with a line starting with @samp{* Menu:}. The rest of the
801line is a comment. After the starting line, every line that begins 1067line is a comment. After the starting line, every line that begins
802with a @samp{* } lists a single topic. The name of the topic--the 1068with a @samp{* } lists a single topic. The name of the topic--what
803argument that the user must give to the @kbd{m} command to select this 1069the user must type at the @kbd{m}'s command prompt to select this
804topic---comes right after the star and space, and is followed by a 1070topic---comes right after the star and space, and is followed by a
805colon, spaces and tabs, and the name of the node which discusses that 1071colon, spaces and tabs, and the name of the node which discusses that
806topic. The node name, like node names following @samp{Next}, @samp{Previous} 1072topic. The node name, like node names following @samp{Next}, @samp{Previous}
@@ -808,8 +1074,8 @@ and @samp{Up}, may be terminated with a tab, comma, or newline; it may also
808be terminated with a period. 1074be terminated with a period.
809 1075
810 If the node name and topic name are the same, then rather than 1076 If the node name and topic name are the same, then rather than
811giving the name twice, the abbreviation @samp{* NAME::} may be used 1077giving the name twice, the abbreviation @samp{* @var{name}::} may be
812(and should be used, whenever possible, as it reduces the visual 1078used (and should be used, whenever possible, as it reduces the visual
813clutter in the menu). 1079clutter in the menu).
814 1080
815 It is considerate to choose the topic names so that they differ 1081 It is considerate to choose the topic names so that they differ
@@ -818,18 +1084,18 @@ short abbreviations. In a long menu, it is a good idea to capitalize
818the beginning of each item name which is the minimum acceptable 1084the beginning of each item name which is the minimum acceptable
819abbreviation for it (a long menu is more than 5 or so entries). 1085abbreviation for it (a long menu is more than 5 or so entries).
820 1086
821 The nodes listed in a node's menu are called its ``subnodes'', and 1087 The nodes listed in a node's menu are called its ``subnodes'', and it
822it is their ``superior''. They should each have an @samp{Up:} pointing at 1088is their ``superior''. They should each have an @samp{Up:} pointing at
823the superior. It is often useful to arrange all or most of the 1089the superior. It is often useful to arrange all or most of the subnodes
824subnodes in a sequence of @samp{Next} and @samp{Previous} pointers so that someone who 1090in a sequence of @samp{Next} and @samp{Previous} pointers so that
825wants to see them all need not keep revisiting the Menu. 1091someone who wants to see them all need not keep revisiting the Menu.
826 1092
827 The Info Directory is simply the menu of the node @samp{(dir)Top}---that 1093 The Info Directory is simply the menu of the node @samp{(dir)Top}---that
828is, node @samp{Top} in file @file{.../info/dir}. You can put new entries 1094is, node @samp{Top} in file @file{.../info/dir}. You can put new entries
829in that menu just like any other menu. The Info Directory is @emph{not} the 1095in that menu just like any other menu. The Info Directory is @emph{not} the
830same as the file directory called @file{info}. It happens that many of 1096same as the file directory called @file{info}. It happens that many of
831Info's files live on that file directory, but they do not have to; and 1097Info's files live in that file directory, but they do not have to; and
832files on that directory are not automatically listed in the Info 1098files in that directory are not automatically listed in the Info
833Directory node. 1099Directory node.
834 1100
835 Also, although the Info node graph is claimed to be a ``hierarchy'', 1101 Also, although the Info node graph is claimed to be a ``hierarchy'',
@@ -848,9 +1114,10 @@ ever find out that it exists.
848@comment node-name, next, previous, up 1114@comment node-name, next, previous, up
849@section Creating Cross References 1115@section Creating Cross References
850 1116
1117@cindex cross reference format
851 A cross reference can be placed anywhere in the text, unlike a menu 1118 A cross reference can be placed anywhere in the text, unlike a menu
852item which must go at the front of a line. A cross reference looks 1119item which must go at the front of a line. A cross reference looks
853like a menu item except that it has @samp{*note} instead of @kbd{*}. 1120like a menu item except that it has @samp{*note} instead of @samp{*}.
854It @emph{cannot} be terminated by a @samp{)}, because @samp{)}'s are 1121It @emph{cannot} be terminated by a @samp{)}, because @samp{)}'s are
855so often part of node names. If you wish to enclose a cross reference 1122so often part of node names. If you wish to enclose a cross reference
856in parentheses, terminate it with a period first. Here are two 1123in parentheses, terminate it with a period first. Here are two
@@ -860,32 +1127,41 @@ examples of cross references pointers:
860*Note details: commands. (See *note 3: Full Proof.) 1127*Note details: commands. (See *note 3: Full Proof.)
861@end example 1128@end example
862 1129
863They are just examples. The places they ``lead to'' do not really exist! 1130@noindent
1131@emph{These are just examples.} The places they ``lead to'' do not
1132really exist!
864 1133
865@node Tags, Checking, Cross-refs, Advanced Info 1134@node Tags, Checking, Cross-refs, Advanced Info
866@comment node-name, next, previous, up 1135@comment node-name, next, previous, up
867@section Tags Tables for Info Files 1136@section Tags Tables for Info Files
868 1137
1138@cindex tags tables in info files
869 You can speed up the access to nodes of a large Info file by giving 1139 You can speed up the access to nodes of a large Info file by giving
870it a tags table. Unlike the tags table for a program, the tags table for 1140it a tags table. Unlike the tags table for a program, the tags table for
871an Info file lives inside the file itself and is used 1141an Info file lives inside the file itself and is used
872automatically whenever Info reads in the file. 1142automatically whenever Info reads in the file.
873 1143
1144@findex Info-tagify
874 To make a tags table, go to a node in the file using Emacs Info mode and type 1145 To make a tags table, go to a node in the file using Emacs Info mode and type
875@kbd{M-x Info-tagify}. Then you must use @kbd{C-x C-s} to save the 1146@kbd{M-x Info-tagify}. Then you must use @kbd{C-x C-s} to save the
876file. 1147file. Info files produced by the @code{makeinfo} command that is part
1148of the Texinfo package always have tags tables to begin with.
877 1149
1150@cindex stale tags tables
1151@cindex update Info tags table
878 Once the Info file has a tags table, you must make certain it is up 1152 Once the Info file has a tags table, you must make certain it is up
879to date. If, as a result of deletion of text, any node moves back 1153to date. If you edit an Info file directly (as opposed to editing its
1154Texinfo source), and, as a result of deletion of text, any node moves back
880more than a thousand characters in the file from the position 1155more than a thousand characters in the file from the position
881recorded in the tags table, Info will no longer be able to find that 1156recorded in the tags table, Info will no longer be able to find that
882node. To update the tags table, use the @code{Info-tagify} command again. 1157node. To update the tags table, use the @code{Info-tagify} command
1158again.
883 1159
884 An Info file tags table appears at the end of the file and looks like 1160 An Info file tags table appears at the end of the file and looks like
885this: 1161this:
886 1162
887@example 1163@example
888^_ 1164^_^L
889Tag Table: 1165Tag Table:
890File: info, Node: Cross-refs^?21419 1166File: info, Node: Cross-refs^?21419
891File: info, Node: Tags^?22145 1167File: info, Node: Tags^?22145
@@ -896,47 +1172,41 @@ End Tag Table
896@noindent 1172@noindent
897Note that it contains one line per node, and this line contains 1173Note that it contains one line per node, and this line contains
898the beginning of the node's header (ending just after the node name), 1174the beginning of the node's header (ending just after the node name),
899a Delete character, and the character position in the file of the 1175a DEL character, and the character position in the file of the
900beginning of the node. 1176beginning of the node.
901 1177
1178
902@node Checking, Emacs Info Variables, Tags, Advanced Info 1179@node Checking, Emacs Info Variables, Tags, Advanced Info
903@comment node-name, next, previous, up
904@section Checking an Info File 1180@section Checking an Info File
905 1181
906 When creating an Info file, it is easy to forget the name of a node 1182When creating an Info file, it is easy to forget the name of a node when
907when you are making a pointer to it from another node. If you put in 1183you are making a pointer to it from another node. If you put in the
908the wrong name for a node, this is not detected until someone 1184wrong name for a node, this is not detected until someone tries to go
909tries to go through the pointer using Info. Verification of the Info 1185through the pointer using Info. Verification of the Info file is an
910file is an automatic process which checks all pointers to nodes and 1186automatic process which checks all pointers to nodes and reports any
911reports any pointers which are invalid. Every @samp{Next}, @samp{Previous}, and 1187pointers which are invalid. Every @samp{Next}, @samp{Previous}, and
912@samp{Up} is checked, as is every menu item and every cross reference. In 1188@samp{Up} is checked, as is every menu item and every cross reference. In
913addition, any @samp{Next} which does not have a @samp{Previous} pointing back is 1189addition, any @samp{Next} which does not have a @samp{Previous} pointing
914reported. Only pointers within the file are checked, because checking 1190back is reported. Only pointers within the file are checked, because
915pointers to other files would be terribly slow. But those are usually 1191checking pointers to other files would be terribly slow. But those are
916few. 1192usually few.
917 1193
918 To check an Info file, do @kbd{M-x Info-validate} while looking at 1194@findex Info-validate
919any node of the file with Emacs Info mode. 1195To check an Info file, do @kbd{M-x Info-validate} while looking at any
1196node of the file with Emacs Info mode.
920 1197
921@node Emacs Info Variables, , Checking, Advanced Info 1198@node Emacs Info Variables, , Checking, Advanced Info
922@section Emacs Info-mode Variables 1199@section Emacs Info-mode Variables
923 1200
924The following variables may modify the behaviour of Info-mode in Emacs; 1201The following variables may modify the behavior of Info-mode in Emacs;
925you may wish to set one or several of these variables interactively, or 1202you may wish to set one or several of these variables interactively, or
926in your @file{~/.emacs} init file. @xref{Examining, Examining and Setting 1203in your @file{~/.emacs} init file. @xref{Examining, Examining and Setting
927Variables, Examining and Setting Variables, emacs, The GNU Emacs 1204Variables, Examining and Setting Variables, emacs, The GNU Emacs
928Manual}. 1205Manual}. The stand-alone Info reader program has its own set of
929 1206variables, described in @ref{Variables,, Manipulating Variables,
930@table @code 1207info-stnd, GNU Info}.
931@item Info-enable-edit
932Set to @code{nil}, disables the @samp{e} (@code{Info-edit}) command. A
933non-@code{nil} value enables it. @xref{Add, Edit}.
934
935@item Info-enable-active-nodes
936When set to a non-@code{nil} value, allows Info to execute Lisp code
937associated with nodes. The Lisp code is executed when the node is
938selected.
939 1208
1209@vtable @code
940@item Info-directory-list 1210@item Info-directory-list
941The list of directories to search for Info files. Each element is a 1211The list of directories to search for Info files. Each element is a
942string (directory name) or @code{nil} (try default directory). If not 1212string (directory name) or @code{nil} (try default directory). If not
@@ -948,24 +1218,71 @@ initialize it, or @code{Info-default-directory-list} if there is no
948A list of additional directories to search for Info documentation files. 1218A list of additional directories to search for Info documentation files.
949These directories are not searched for merging the @file{dir} file. 1219These directories are not searched for merging the @file{dir} file.
950 1220
951@item Info-directory 1221@item Info-fontify
952The standard directory for Info documentation files. Only used when the 1222When set to a non-@code{nil} value, enables highlighting of Info
953function @code{Info-directory} is called. 1223files. The default is @code{t}. You can change how the highlighting
1224looks by customizing the faces @code{info-node}, @code{info-menu-5},
1225@code{info-xref}, @code{info-header-xref}, @code{info-header-node},
1226@code{info-title-@var{n}-face} (where @var{n} is the level of the
1227section, a number between 1 and 4), and @code{info-menu-header}. To
1228customize a face, type @kbd{M-x customize-face @key{RET} @var{face}
1229@key{RET}}, where @var{face} is one of the face names listed here.
1230
1231@item Info-use-header-line
1232If non-@code{nil}, Emacs puts in the Info buffer a header line showing
1233the @samp{Next}, @samp{Prev}, and @samp{Up} links. A header line does
1234not scroll with the rest of the buffer, making these links always
1235visible.
1236
1237@item Info-scroll-prefer-subnodes
1238If set to a non-@code{nil} value, Space and Backspace (or DEL) keys in
1239a menu visit subnodes of the current node before scrolling to its end
1240or beginning, respectively. For example, if the node's menu appears
1241on the screen, the next Space moves to a subnode indicated by the
1242following menu item. Setting this option to @code{nil} results in
1243behavior similar to the stand-alone Info reader program, which visits
1244the first subnode from the menu only when you hit the end of the
1245current node. The default is @code{t}.
954 1246
955@end table 1247@item Info-enable-active-nodes
1248When set to a non-@code{nil} value, allows Info to execute Lisp code
1249associated with nodes. The Lisp code is executed when the node is
1250selected. The Lisp code to be executed should follow the node
1251delimiter (the DEL character) and an @samp{execute: } tag, like this:
956 1252
957@node Create an Info File, , Advanced Info, Top 1253@example
958@comment node-name, next, previous, up 1254^_execute: (message "This is an active node!")
959@chapter Creating an Info File from a Makeinfo file 1255@end example
1256
1257@item Info-enable-edit
1258Set to @code{nil}, disables the @samp{e} (@code{Info-edit}) command. A
1259non-@code{nil} value enables it. @xref{Add, Edit}.
1260@end vtable
1261
1262
1263@node Creating an Info File
1264@chapter Creating an Info File from a Texinfo File
960 1265
961@code{makeinfo} is a utility that converts a Texinfo file into an Info 1266@code{makeinfo} is a utility that converts a Texinfo file into an Info
962file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are 1267file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are
963GNU Emacs functions that do the same. 1268GNU Emacs functions that do the same.
964 1269
965@xref{Creating an Info File, , Creating an Info File, texinfo, the Texinfo 1270@xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU
966Manual}, to learn how to create an Info file from a Texinfo file. 1271Documentation Format}, to learn how to write a Texinfo file.
1272
1273@xref{Creating an Info File,,, texinfo, Texinfo: The GNU Documentation
1274Format}, to learn how to create an Info file from a Texinfo file.
1275
1276@xref{Installing an Info File,,, texinfo, Texinfo: The GNU
1277Documentation Format}, to learn how to install an Info file after you
1278have created one.
1279
1280@node Index
1281@unnumbered Index
1282
1283This is an alphabetical listing of all the commands, variables, and
1284topics discussed in this document.
967 1285
968@xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU Documentation 1286@printindex cp
969Format}, to learn how to write a Texinfo file.
970 1287
971@bye 1288@bye