mirror of
https://github.com/PDP-10/its.git
synced 2026-05-04 23:26:02 +00:00
Build INFO, the EMACS library.
This commit is contained in:
committed by
Eric Swenson
parent
a8e624e6dd
commit
dca354f147
975
doc/info/info.47
Executable file
975
doc/info/info.47
Executable file
@@ -0,0 +1,975 @@
|
||||
This file documents the INFO program. -*-Text-*-
|
||||
The H command of INFO goes to the node Help in this file.
|
||||
Do NOT edit this file! It is produced by DOCOND from the file INFOD.
|
||||
|
||||
File: INFO Node: Top Up: (DIR) Next: Add
|
||||
|
||||
INFO is a program for reading documentation, which you are using now.
|
||||
|
||||
INFO is invoked as a separate program with :INFO<CR> from DDT. INFO
|
||||
can be run inside an EMACS editor with MM INFO, or, in the default
|
||||
enviroment, C-X I.
|
||||
|
||||
To learn how to use INFO, type the command "H". It will bring you
|
||||
to a programmed instruction sequence.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Printing:: How to use INFO on a printing terminal.
|
||||
* Expert:: Advanced INFO commands: G, S, ^R, and 1 - 5.
|
||||
* Arg:: Giving INFO an argument, as in :INFO EMACS KILLING
|
||||
* Add:: Describes how to add new nodes to the hierarchy.
|
||||
Also tells what nodes look like.
|
||||
* Menus:: How to add to or create menus in info nodes.
|
||||
* Footnotes:: How to add footnotes to info nodes.
|
||||
* Tags:: How to make tag tables for INFO files.
|
||||
* Checking:: How to check the consistency of an INFO file.
|
||||
* Installing:: How to install a modified INFO file.
|
||||
|
||||
|
||||
File: INFO Node: Help-Small-Screen Next: Help
|
||||
|
||||
Since your terminal has an unusually small number of lines on its
|
||||
screen, it is necessary to give you special advice at the beginning,
|
||||
or else you wouldn't be able to read this tutorial!
|
||||
|
||||
If you see the the text "--MORE--" appear near the lower right hand
|
||||
corner of your screen, that means that there is more text to be read
|
||||
than will fit. You can type a Space to see another screen's worth of
|
||||
text. To move back to earlier screenfulls which you have passed by
|
||||
with Spaces, use Backspaces (if there is no such key, try holding down
|
||||
"Control" and typing "H").
|
||||
|
||||
Here are 40 lines of junk, so you can try Spaces and Backspaces and
|
||||
see what they do. At the end are instructions of what you should do
|
||||
next.
|
||||
|
||||
This is line 17
|
||||
This is line 18
|
||||
This is line 19
|
||||
This is line 20
|
||||
This is line 21
|
||||
This is line 22
|
||||
This is line 23
|
||||
This is line 24
|
||||
This is line 25
|
||||
This is line 26
|
||||
This is line 27
|
||||
This is line 28
|
||||
This is line 29
|
||||
This is line 30
|
||||
This is line 31
|
||||
This is line 32
|
||||
This is line 33
|
||||
This is line 34
|
||||
This is line 35
|
||||
This is line 36
|
||||
This is line 37
|
||||
This is line 38
|
||||
This is line 39
|
||||
This is line 40
|
||||
This is line 41
|
||||
This is line 42
|
||||
This is line 43
|
||||
This is line 44
|
||||
This is line 45
|
||||
This is line 46
|
||||
This is line 47
|
||||
This is line 48
|
||||
This is line 49
|
||||
This is line 50
|
||||
This is line 51
|
||||
This is line 52
|
||||
This is line 53
|
||||
This is line 54
|
||||
This is line 55
|
||||
This is line 56
|
||||
|
||||
If you have managed to get here, go back to the beginning with
|
||||
Backspaces, and come back here again, then you understand Space and
|
||||
Backspace. So now type an "N" - just an "N", no Return afterward -
|
||||
to get to the normal start of the course.
|
||||
|
||||
File: INFO Node: Help-Printing Next: Help-Print-P
|
||||
|
||||
Please type "T". Just one character; no CR after it.
|
||||
|
||||
You are talking to a program INFO, used for reading documentation.
|
||||
INFO documentation files are structured into units called "Nodes".
|
||||
A node usually contains information on a particular topic at a
|
||||
particular level of detail, and names of other related nodes. The
|
||||
purpose of the INFO program is to help you move from one node to
|
||||
another.
|
||||
|
||||
This node contains the beginning of the course on how to use INFO.
|
||||
This is a form of programmed instruction in which the text will tell
|
||||
you how to use INFO commands to continue reading the text. ">>" in
|
||||
the left margin will be used to mark directions which should be
|
||||
followed immediately.
|
||||
|
||||
The "T" command which you typed told INFO to type the entire contents
|
||||
of the node, which is what it is now doing. Because you are using a
|
||||
printing terminal (or so the system believes), when you first move to
|
||||
a node INFO will print only the first four lines, as it did. To see
|
||||
the rest, you must type "T". The intention is that from those four
|
||||
lines you will get an idea of whether you want to see all the rest.
|
||||
|
||||
The top line of a node is its "Header". This node's header, which
|
||||
said "File: INFO Node: Help-Printing Next: Help-Print-P" in case
|
||||
it's off your screen now) says that it is the node named Help-Printing
|
||||
in the file "INFO". It says that the Next node after this one is the
|
||||
node called "Help-Print-P". An advanced INFO command lets you go to
|
||||
any node whose name you know.
|
||||
|
||||
Besides a "Next", a node can have a "Previous" or an "Up".
|
||||
You can tell that this node doesn't have either of those, because
|
||||
there is none visible in the header.
|
||||
|
||||
The line that follows that Header is called the Title. This node's
|
||||
title is peculiar in that it gives the directions "Please type 'T'",
|
||||
but most nodes' titles just say what the node is about.
|
||||
|
||||
Now it's time to move from this node to the Next one, which is
|
||||
Help-Printing-Space. To do that, type "N" for Next. INFO will look
|
||||
in the header to find which node is next after this one and then go
|
||||
there.
|
||||
|
||||
>> Type "N". After the header and title are printed, type "T" again.
|
||||
|
||||
Node: Help-Print-P, Previous: Help-Printing, Next: Help-Print-Space
|
||||
|
||||
The "P" Command.
|
||||
|
||||
The "P" command moves to the Previous node. This node has a
|
||||
Previous, as is listed in the header; it is Help-Printing, which you
|
||||
came from with Next. Next and Previous usually run in opposite
|
||||
directions like this but not always; whatever it says in the header
|
||||
line is the truth.
|
||||
|
||||
When you try the "P" command, it will print the header and title
|
||||
which you already saw, which will say "Please type T". But you don't
|
||||
have to type "T" again. Just type an "N" to come back here and
|
||||
another "N" to move on.
|
||||
|
||||
>> Now type "P" for Previous. When you get there, type "N" to come
|
||||
back here and another "N" to move on to this node's Next node.
|
||||
After each "P" and "N" you should think about the header and title
|
||||
that are printed to make sure you understand what is happening. When
|
||||
you get to node Help-Print-Space, which will be new to you, you should
|
||||
follow the directions in the title line.
|
||||
|
||||
Node: Help-Print-Space, Previous: Help-Print-P, Next: Help-Pr-Quit
|
||||
|
||||
>> Please type a Space instead of a "T".
|
||||
|
||||
Typing a space prints ten more lines. Space is useful if you think
|
||||
a node might be interesting but you aren't sure. After the ten
|
||||
lines, you can keep typing spaces and get ten more lines each. The
|
||||
first time you read this node, do it by typing a Space each time
|
||||
printing stops. When you get fewer than 10 lines from one Space, you
|
||||
have reached the end of the node.
|
||||
|
||||
If after typing one or more Spaces you decide you want to see the
|
||||
whole node, "T" will print the rest, from where the Spaces left off.
|
||||
|
||||
Space might also be useful for you if "T" makes text scroll off the
|
||||
top of your screen before you can read it all. In that case, you
|
||||
might prefer to use Space all the time, and never "T".
|
||||
|
||||
In order to make this node long enough for Space to be different
|
||||
from "T", it's necessary to tell you here about a related command,
|
||||
"B", which means to move to the Beginning of the node you are in.
|
||||
After a "B", the next Space or "T" command will start from the
|
||||
beginning of the node again.
|
||||
|
||||
>> Now type a "B" and then another Space. Then type a "B" and a "T".
|
||||
Experiment with these commands until you are sure what sequences of
|
||||
them will do. Then type an "N" to move on in the course.
|
||||
|
||||
Node: Help-Pr-Quit, Previous: Help-Print-Space, Next: Help-Pr-M
|
||||
|
||||
How to stop a "T" from typing if you lose interest.
|
||||
|
||||
If you issue a "T" command and then find that the node is long and
|
||||
you have lost interest, you need not wait for it to stop. You can
|
||||
instead type ^G (Control-G). The terminal's bell should ring,
|
||||
printing will stop more or less immediately, and you can then issue
|
||||
other commands. If you change your mind again you can type another
|
||||
"T", or Spaces, and printing will resume from a little before where it
|
||||
stopped.
|
||||
|
||||
>> This node isn't long enough to practice on, and the previous one
|
||||
is. So type "P" to go there and "T", then type Control-G when you
|
||||
feel like it. If the bell doesn't ring and printing doesn't stop,
|
||||
you typed the wrong character, so keep trying. If necessary, type "B"
|
||||
and "T" to get more chance to practice. When done, type two "N"'s to
|
||||
come back and move on.
|
||||
|
||||
Node: Help-Pr-M, Previous: Help-Pr-Quit, Next: Help-Pr-L
|
||||
|
||||
Menus, Subnodes and the "M" command.
|
||||
|
||||
With only the "N" and "P" commands for moving between nodes, nodes
|
||||
are restricted to a linear sequence. Menus allow a branching
|
||||
structure. A menu is a list of other nodes you can move to. It is
|
||||
actually just part of the text of the node formatted specially so that
|
||||
INFO can interpret it. The beginning of a menu is always identified
|
||||
by a line which starts with "* Menu:". A node contains a menu if and
|
||||
only if it has a line in it which starts that way. The only menu you
|
||||
can use at any moment is the one in the node you are in. To use a
|
||||
menu in any other node, you must move to that node first.
|
||||
|
||||
After the start of the menu, each line that starts with a "*"
|
||||
identifies one subtopic. The line will usually contain a brief name
|
||||
for the subtopic (followed by a ":"), the name of the node that talks
|
||||
about that subtopic, and optionally some further description of the
|
||||
subtopic. Lines in the menu that don't start with a "*" have no
|
||||
special meaning - they are only for the human reader's benefit and do
|
||||
not define additional subtopics. Here is an example:
|
||||
* Foo: FOO's Node This tells about FOO
|
||||
The subtopic name is Foo, and the node describing it is "FOO's Node".
|
||||
The rest of the line is just for the reader's information.
|
||||
|
||||
When you use a menu to go to another node (in a way that will be
|
||||
described soon), what you specify is the subtopic name, the first
|
||||
thing in the menu line. INFO uses it to find the menu line, extracts
|
||||
the node name from it, and goes to that node. The reason that there
|
||||
is both a subtopic name and a node name is that the node name must be
|
||||
meaningful to the computer and may therefore have to be ugly looking.
|
||||
The subtopic name can be chosen just to be convenient for the user to
|
||||
specify. Often the node name is convenient for the user to specify
|
||||
and so both it and the subtopic name are the same. There is an
|
||||
abbreviation for this:
|
||||
* Foo:: This tells about FOO
|
||||
This means that the subtopic name and node name are the same; they are
|
||||
both "Foo".
|
||||
|
||||
The command to go to one of the subnodes is "M" - but DON'T DO IT
|
||||
YET! Before you use "M", you must understand the difference between
|
||||
commands and arguments. So far, you have learned several commands
|
||||
that do not need arguments. When you type one, INFO processes it and
|
||||
is instantly ready for another command. The "M" command is different:
|
||||
it is incomplete without the NAME OF THE SUBTOPIC. Once you have
|
||||
typed "M", INFO tries to read the name - an argument.
|
||||
|
||||
Only when you have completed the argument will the "M" command take
|
||||
effect and INFO be ready for another command. Until then, you have
|
||||
the ability to change your mind. To complete the argument and make
|
||||
the command finish, you type a CR (Carriage-Return). To change your
|
||||
mind, type a Control-G (the same thing that makes a "T" stop). While
|
||||
typing the argument, you can use Rubout to cancel a single character,
|
||||
which will be echoed back at you. If you rub out the entire argument
|
||||
the next Rubout will rub out the "M" and you will be back at command
|
||||
level. This much is shared by "M" with all the other INFO commands
|
||||
that read arguments.
|
||||
|
||||
Two features peculiar to the "M" command allow you to ask what
|
||||
alternatives there are for you to type. Right after typing the "M",
|
||||
before typing any of the argument, if you type a "?" it will print a
|
||||
list of all of the subtopic names - all of the things that are
|
||||
meaningful arguments to "M" for the menu in this node. If you type a
|
||||
Space, it will print just one subtopic name, and you can keep typing
|
||||
Spaces to see more of them. After either a "?" or a Space, you are
|
||||
STILL inside the "M" command and should still either type an argument
|
||||
or quit with Control-G. These "?" and Space features work only right
|
||||
after "M" is typed. Even something which was rubbed out will be
|
||||
enough to prevent them from working, unfortunately.
|
||||
|
||||
The argument to the "M" command is the name of a subtopic in the
|
||||
menu, or an abbreviation for a subtopic. If you use an abbreviation
|
||||
that could match more than one subtopic, the first subtopic that
|
||||
matches will be used, so be a little careful. Some menus will put the
|
||||
shortest possible abbreviation for each subtopic in capital letters to
|
||||
make it clear what will work. Be sure not to put any spaces at the
|
||||
end of the argument, and put in only a single space where there is a
|
||||
space in the subtopic as it appears in the menu.
|
||||
|
||||
Here is a menu to give you a chance to practice.
|
||||
|
||||
* Menu:
|
||||
* Foo: Help-Pr-FOO A node you can visit for fun
|
||||
* Bar: Help-Pr-FOO Strange! two ways to get to the same place.
|
||||
* Help-Pr-FOO:: And yet another!
|
||||
|
||||
You can go to the node Help-Pr-FOO by typing "MFoo" and a CR,
|
||||
or "MBar" and a CR, or "MHelp-Pr-FOO" and a CR.
|
||||
|
||||
>> Type "M", then "?" to see how that lists the alternatives. Then
|
||||
type "Bar" and four Rubouts. This will rub all the way out of the
|
||||
"M", so type another "M", and quit with Control-G. Finally, type an
|
||||
"M", "Bar", and a CR and you will go to Help-Pr-FOO.
|
||||
|
||||
Node: Help-Pr-FOO, Up: Help-Pr-M
|
||||
|
||||
Congratulations on learning how to use "M".
|
||||
|
||||
This node is the first one you have seen that has an Up (look at the
|
||||
header). It also has no Next or Previous, unlike the others. The Up
|
||||
is none other than Help-Pr-M, which is the node that contains the menu
|
||||
that you got here through. This is the usual convention; menus point
|
||||
"down" and each place you can get to through the menu points back Up.
|
||||
Previous, on the other hand, is usually used to mean "go backwards but
|
||||
stay at the same level". Often the subnodes in one menu will be
|
||||
linked among themselves with Next and Previous.
|
||||
|
||||
But again, there are exceptions, and you should look at the header to
|
||||
be sure what "N", "P" and "U" ought to do.
|
||||
|
||||
>> Now type "U" to go back Up to Help-Pr-M. Then "N" to move on.
|
||||
|
||||
Node: Help-Pr-L, Previous: Help-Pr-M, Next: Help-Pr-Footnotes
|
||||
|
||||
Retracing Steps with the "L" Command.
|
||||
|
||||
If you have been moving around to different nodes and wish to
|
||||
retrace your steps, the "L" command ("L" for "Last") will do that, one
|
||||
node at a time. If you have been following directions, an "L" command
|
||||
now will get you back to Help-Pr-M. Another L command would undo the U
|
||||
and get you back to Help-Pr-FOO. Another L would undo the M and get you
|
||||
back to Help-Pr-M.
|
||||
|
||||
Note the difference between L and P: L moves to where YOU last
|
||||
were, whereas P always moves to the node which the Header says
|
||||
is the "Previous" node (from this node, to Help-M).
|
||||
|
||||
The place to start looking for any topic, if you know nothing else,
|
||||
is the directory node of INFO, which is the one you saw the header and
|
||||
title of when you started INFO. This node has a menu which leads
|
||||
(directly, or indirectly through other menus), to all the nodes that
|
||||
exist. You can go there ar any time to start looking for a topic by
|
||||
typing "D" for Directory.
|
||||
|
||||
>> Try typing three L's, pausing in between to see what each L does.
|
||||
You should end up at Help-Pr-M. The header will show you then that
|
||||
you can use "N" to come back to here, Help-Pr-L Then type a "D" to
|
||||
go to the directory and come back here with "L". Then move on with
|
||||
"N". You know enough to look around at the directory now, but please
|
||||
resist the temptation to do so until the end of the course (which is
|
||||
soon).
|
||||
|
||||
Node: Help-Pr-Footnotes, Previous: Help-Pr-L, Next: Help-Pr-Q
|
||||
|
||||
Footnotes and Cross-References
|
||||
|
||||
Sometimes, in INFO documentation, you will see a footnote-pointer.
|
||||
A footnote pointer performs a similar function to a menu subtopic,
|
||||
except that menus are used to describe the fundamental structure of
|
||||
the documentation, while footnotes are used for cross-references.
|
||||
|
||||
Footnote pointers look like this: *Note ftnt: Help-Ft. This is a
|
||||
real, live footnote pointer which is named "Ftnt" and points at the
|
||||
node named "Help-Ft". You can use the footnote to go to node
|
||||
"Help-Ft" by issuing the "F" command. It takes an argument, like "M",
|
||||
and you should give the footnote name, in this case "Ftnt". As with
|
||||
"M", you can use "?" to get a list of the things you are allowed to
|
||||
use as arguments - the names of all the footnotes in the current node.
|
||||
|
||||
>> Type "F" and "?" to see how that looks, then type "Ftnt" and CR
|
||||
to go to the node of the footnote. Read it and come back with "L",
|
||||
then move on with "N".
|
||||
|
||||
Node: Help-Pr-Q, Previous: Help-Pr-Footnotes
|
||||
|
||||
To get out of Info, back to either DDT (if you did :INFO from DDT)
|
||||
or to EMACS (if you did MM Info from EMACS), type "Q" for "Quit".
|
||||
|
||||
This is the end of the course on using INFO. There are some other
|
||||
commands that are not essential or meant for experienced users; they
|
||||
are useful, and you can find them by looking in the directory for
|
||||
documentation on INFO. Finding them will be a good exercise in using
|
||||
INFO in the usual manner.
|
||||
|
||||
>> Go to the directory with "D", type "MInfo" and Return to get to the
|
||||
node about INFO and see what is available.
|
||||
|
||||
File: INFO Node: Help Next: Help-P
|
||||
|
||||
You are talking to a program INFO, for reading documentation.
|
||||
|
||||
Right now you are looking at one "Node" of information.
|
||||
A node contains text describing a specific topic at a specific
|
||||
level of detail. This node's topic is "how to use INFO".
|
||||
|
||||
The top line of a node is its "Header". This node's header (look at
|
||||
it now) says that it is the node named "Help" in the file "INFO".
|
||||
It says that the Next node after this one is the node called "Help-P".
|
||||
An advanced INFO command lets you go to any node whose name you know.
|
||||
|
||||
Besides a "Next", a node can have a "Previous" or an "Up".
|
||||
But this node doesn't have either of those, as you can see.
|
||||
|
||||
Now it's time to move on to the Next node, named "Help-P".
|
||||
>> Type "N" to move there.
|
||||
|
||||
File: INFO Node: Help-P Next: Help-^L Previous: Help
|
||||
|
||||
This node is called "Help-P". The "Previous" node, as you see, is
|
||||
"Help", which is the one you just came from using the "N" command.
|
||||
Another "N" command now would take you to the Next node, "Help-^L".
|
||||
|
||||
>> But don't do that yet. First, try the "P" command, which takes
|
||||
you to the Previous node. When you get there, you can do an "N"
|
||||
again to return here.
|
||||
|
||||
This all probably seems insultingly simple so far, but DON'T be
|
||||
led into skimming. Things will get more complicated soon. Also,
|
||||
don't try a new command until you are told it's time to. Otherwise,
|
||||
you may make INFO skip past an important warning that was coming up.
|
||||
">>" in the margin means it is really time to try a command.
|
||||
|
||||
>> Now do an "N" to get to the node "Help-^L" and learn more.
|
||||
|
||||
File: INFO Node: Help-^L Next: Help-M Previous: Help-P
|
||||
|
||||
Space, Backspace, B and ^L commands.
|
||||
|
||||
This node's header tells you that you are now at node "Help-^L", and
|
||||
that "P" would get you back to "Help-P". The line starting "Space,"
|
||||
is a "Title", saying what the node is about (most nodes have one).
|
||||
|
||||
This is a big node and it doesn't all fit on your display screen.
|
||||
You can tell that there is more that isn't visible because of the
|
||||
"--MORE--" that appears on a line near the bottom of the screen.
|
||||
|
||||
The Space, Backspace and B commands exist to allow you to "move
|
||||
around" in a node that doesn't all fit at once.
|
||||
Space moves forward, to show what was below the bottom of the screen.
|
||||
Backspace moves backward, to show what was above the top of the screen
|
||||
(there isn't anything above the top until you have typed some spaces).
|
||||
>> Now try typing a Space (afterward, type a Backspace to return here).
|
||||
|
||||
When you type the space, the two lines that were at the bottom of the
|
||||
screen appear at the top, followed by more lines. Backspace takes the
|
||||
two lines from the top and moves them to the bottom, USUALLY, but if
|
||||
there are not a full screen's worth of lines above them they may not
|
||||
make it all the way to the bottom.
|
||||
|
||||
If you type a Space when there is no more to see, it will ring the
|
||||
bell and otherwise do nothing. The same goes for a Backspace when
|
||||
the Header of the node is visible.
|
||||
|
||||
If your screen is ever garbaged, you can tell INFO to print it out
|
||||
again by typing a ^L (Control-L, that is - hold down "Control" and
|
||||
type an "L").
|
||||
>> Type a ^L now.
|
||||
|
||||
To move back to the beginning of the node you are on, you can type
|
||||
a lot of Backspaces. You can also type simply "B" for beginning.
|
||||
>> Try that now. (I have put in enough verbiage to make sure you are
|
||||
not on the first screenful now). Then come back, with Spaces.
|
||||
|
||||
You have just learned a considerable number of commands. If you
|
||||
want to use one but have trouble remembering which, you should type
|
||||
a "?" which will print out a brief list of commands. When you are
|
||||
finished looking at the list, type a Space to make it go away and
|
||||
make the node come back.
|
||||
>> Type a "?" now. After it finishes, type a Space.
|
||||
|
||||
From now on, you will encounter large nodes without warning, and
|
||||
will be expected to know how to use Space and Backspace to move
|
||||
around in them without being told. Since not all terminals have
|
||||
the same size screen, it would be impossible to warn you anyway.
|
||||
|
||||
>> Now type "N" to see the description of the "M" command.
|
||||
|
||||
File: INFO Node: Help-M Next: Help-Adv Previous: Help-^L
|
||||
|
||||
Menus and the M command
|
||||
|
||||
With only the "N" and "P" commands for moving between nodes, nodes
|
||||
are restricted to a linear sequence. Menus allow a branching
|
||||
structure. A menu is a list of other nodes you can move to. It is
|
||||
actually just part of the text of the node formatted specially so that
|
||||
INFO can interpret it. The beginning of a menu is always identified
|
||||
by a line which starts with "* Menu:". A node contains a menu if and
|
||||
only if it has a line in it which starts that way. The only menu you
|
||||
can use at any moment is the one in the node you are in. To use a
|
||||
menu in any other node, you must move to that node first.
|
||||
|
||||
After the start of the menu, each line that starts with a "*"
|
||||
identifies one subtopic. The line will usually contain a brief name
|
||||
for the subtopic (followed by a ":"), the name of the node that talks
|
||||
about that subtopic, and optionally some further description of the
|
||||
subtopic. Lines in the menu that don't start with a "*" have no
|
||||
special meaning - they are only for the human reader's benefit and do
|
||||
not define additional subtopics. Here is an example:
|
||||
* Foo: FOO's Node This tells about FOO
|
||||
The subtopic name is Foo, and the node describing it is "FOO's Node".
|
||||
The rest of the line is just for the reader's information.
|
||||
|
||||
When you use a menu to go to another node (in a way that will be
|
||||
described soon), what you specify is the subtopic name, the first
|
||||
thing in the menu line. INFO uses it to find the menu line, extracts
|
||||
the node name from it, and goes to that node. The reason that there
|
||||
is both a subtopic name and a node name is that the node name must be
|
||||
meaningful to the computer and may therefore have to be ugly looking.
|
||||
The subtopic name can be chosen just to be convenient for the user to
|
||||
specify. Often the node name is convenient for the user to specify
|
||||
and so both it and the subtopic name are the same. There is an
|
||||
abbreviation for this:
|
||||
* Foo:: This tells about FOO
|
||||
This means that the subtopic name and node name are the same; they are
|
||||
both "Foo".
|
||||
|
||||
>> Now use Spaces to find the menu in this node, then come back to
|
||||
the front with a "B". As you see, a menu is actually visible
|
||||
in its node. If you can't find a menu in a node by looking at it,
|
||||
then the node doesn't have a menu. The only menu you can use is the
|
||||
one (if any) in the current node. To use a menu in another node,
|
||||
you must first get to that node somehow.
|
||||
|
||||
The command to go to one of the subnodes is "M" - but DON'T DO IT
|
||||
YET! Before you use "M", you must understand the difference between
|
||||
commands and arguments. So far, you have learned several commands
|
||||
that do not need arguments. When you type one, INFO processes it and
|
||||
is instantly ready for another command. The "M" command is different:
|
||||
it is incomplete without the NAME OF THE SUBTOPIC. Once you have
|
||||
typed "M", INFO tries to read the name.
|
||||
|
||||
Now look for the text "INFO documentation reader" near the bottom of
|
||||
the screen. As long as that text is there, INFO is awaiting a
|
||||
command. When that line says something else, INFO is trying to read
|
||||
the ARGUMENT to a command. At such times, commands won't work,
|
||||
because INFO will try to use them as the argument. You must either
|
||||
type the argument and finish the command you started, or type
|
||||
Control-G to cancel the command. When you have done one of those
|
||||
things, the line will change back to "INFO documentation reader".
|
||||
|
||||
The command to go to a subnode via a menu is "M". When you type an
|
||||
"M", the top of the menu will appear on the screen if it wasn't
|
||||
already visible. If the menu doesn't all fit on the screen, you can use
|
||||
Space and Backspace as usual to move around in it. When you have
|
||||
decided which subtopic to look at, type the subtopic's name, ended
|
||||
by a CR (Carriage-Return). You can abbreviate the topic name. If
|
||||
the abbreviation is not unique, the first matching topic is chosen.
|
||||
Some menus will put the shortest possible abbreviation for each topic
|
||||
name in capital letters, so you can see how much you need to type.
|
||||
You should not put any spaces at the end, or inside of the item name,
|
||||
except for one space where a space appears in the item in the menu.
|
||||
|
||||
>> Now type just an "M" and see what happens:
|
||||
|
||||
Here is a menu to give you a chance to practice.
|
||||
|
||||
* Menu: The menu starts here. Type a space if you need to.
|
||||
|
||||
This menu givs you three ways of going to one place, Help-FOO.
|
||||
|
||||
* Foo: Help-FOO A node you can visit for fun
|
||||
* Bar: Help-FOO Strange! two ways to get to the same place.
|
||||
* Help-FOO:: And yet another!
|
||||
|
||||
Now you are "inside" an "M" command. Commands can't be used now;
|
||||
the next thing you will type must be the name of a subtopic. Notice
|
||||
how "INFO documentation reader" has changed to "INFO, awaiting Menu
|
||||
item" to tell you what you should type next (find this on the screen).
|
||||
|
||||
>> Type a question-mark and see what you get.
|
||||
|
||||
You can change your mind about doing the "M" by typing a Rubout.
|
||||
>> Try that now; notice the "awaiting Menu item" change back
|
||||
>> Then type another "M".
|
||||
|
||||
>> Now type "Foo", the item name. Don't type CR yet.
|
||||
|
||||
While you are typing the item name, you can use the Rubout
|
||||
character to cancel one character at a time if you make a mistake.
|
||||
>> Type one to cancel the last "O". You could type another "O" to
|
||||
replace it. You don't have to, since "FO" is a valid abbreviation.
|
||||
>> Now you are ready to go. Type a CR.
|
||||
|
||||
After visiting Help-FOO, you should return here.
|
||||
|
||||
>> Type "N" to see more commands.
|
||||
|
||||
File: INFO Node: Help-FOO Up: Help-M
|
||||
|
||||
The U command
|
||||
|
||||
Congratulations! This is the node Help-FOO. Unlike the other nodes
|
||||
you have seen, this one has an "Up". It is "Help-M", the node you
|
||||
just came from via the "M" command. That is the usual convention - a
|
||||
node's subnodes have "Up"'s pointing back at it. Menus move Down in
|
||||
the tree, and Up moves Up. Previous, on the other hand, is usually
|
||||
used to "stay on the same level but go backwards".
|
||||
|
||||
You can go back to the node Help-M by typing the command
|
||||
"U" for "Up". That will put you at the FRONT of the node - to get
|
||||
back to where you were reading you will have to type some Spaces.
|
||||
|
||||
>> Now type "U" to move back up to Help-M.
|
||||
|
||||
File: INFO Node: Help-Adv Next: Help-Q Previous: Help-M
|
||||
|
||||
Some advanced INFO commands
|
||||
|
||||
The course is almost over, so please stick with it to the end.
|
||||
|
||||
If you have been moving around to different nodes and wish to
|
||||
retrace your steps, the "L" command ("L" for "Last") will do that, one
|
||||
node at a time. If you have been following directions, an "L" command
|
||||
now will get you back to Help-M. Another L command would undo the U
|
||||
and get you back to Help-FOO. Another L would undo the M and get you
|
||||
back to Help-M.
|
||||
|
||||
>> Try typing three L's, pausing in between to see what each L does.
|
||||
Then follow directions again and you will end up back here.
|
||||
|
||||
Note the difference between L and P: L moves to where YOU last
|
||||
were, whereas P always moves to the node which the Header says
|
||||
is the "Previous" node (from this node, to Help-M).
|
||||
|
||||
The "D" command gets you instantly to the Directory node.
|
||||
This node, which is the first one you saw when you entered INFO,
|
||||
has a menu which leads (directly, or indirectly through other menus),
|
||||
to all the nodes that exist.
|
||||
|
||||
>> Try doing a "D", then do an L to return here (yes, DO return).
|
||||
|
||||
Sometimes, in INFO documentation, you will see a footnote-pointer.
|
||||
Footnote pointers look like this: *Note ftnt: Help-Ft. That is a
|
||||
real, live footnote pointer which is named "Ftnt" and points at the
|
||||
node named "Help-Ft".
|
||||
|
||||
If you wish to look at a footnote, you must use the "F" command.
|
||||
The "F" must be followed by the footnote name (in this case, "Ftnt").
|
||||
You can use Rubout and ^L to edit the footnote name, and if you change
|
||||
your mind about looking at any footnote you can use a lot of Rubouts
|
||||
to cancel the command.
|
||||
|
||||
>> Type "F", followed by "Ftnt", and a CR.
|
||||
|
||||
To get a list of all the footnotes in the current node, you can
|
||||
type "?" after an "F". The "F" continues to await a footnote name
|
||||
even after printing the list, so if you don't actually want to visit
|
||||
a footnote you should type a Rubout to cancel the "F".
|
||||
|
||||
>> Type "F?" to get a list of the footnotes in this node. Then
|
||||
type a Rubout and see how the "F" gives up.
|
||||
|
||||
>> Now type "N" to see the last node of the course.
|
||||
|
||||
File: INFO Node: Help-Ft
|
||||
|
||||
This is the node reached by the footnote "Ftnt".
|
||||
|
||||
While this node is specifically intended to be a footnote,
|
||||
many footnotes are simply cross-references to other places in the
|
||||
structure of nodes. So you can't expect the footnote to have
|
||||
a Next, Previous or Up pointing back to where you came from.
|
||||
In general, the "L" command is the only way to get back there.
|
||||
|
||||
>> Type "L" to return to where the footnote was.
|
||||
|
||||
File: INFO Node: Help-Q Previous: Help-Adv Up: Top
|
||||
|
||||
To get out of Info, back to either DDT (if you did :INFO from DDT)
|
||||
or to EMACS (if you did MM Info from EMACS), type "Q" for "Quit".
|
||||
|
||||
This is the end of the course on using INFO. There are some other
|
||||
commands that are not essential or meant for experienced users; they
|
||||
are useful, and you can find them by looking in the directory for
|
||||
documentation on INFO. Finding them will be a good exercise in using
|
||||
INFO in the usual manner.
|
||||
|
||||
>> Go to the directory with "D", type "MInfo" and Return to get to the
|
||||
node about INFO and see what is available.
|
||||
|
||||
File: INFO Node: Add Up: Top Next: Menus
|
||||
|
||||
To add a new topic to the list in the directory, you must
|
||||
1) create a node, in some file, to document that topic.
|
||||
2) put that topic in the menu in the directory. *Note Menu: Menus.
|
||||
3) install it on all five machines. *Note Installing: Installing.
|
||||
|
||||
The new node can live in an existing documentation file, or in a new
|
||||
one. It must have a ^_ before it (invisible to the user; this node
|
||||
has one but you can't see it), and it ends with either a ^_, a ^L, or
|
||||
the end of file. Note: If you put in a ^L to end a new node, be sure
|
||||
that there is a ^_ after it to start the next one, since ^L can't
|
||||
START a node. Also, a nicer way to make a node boundary be a page
|
||||
boundary as well is to put a ^L RIGHT AFTER the ^_.
|
||||
|
||||
The ^_ starting a node must be followed by a CRLF or a ^L CRLF,
|
||||
after which comes the node's header line. The header line must give
|
||||
the node's name (by which INFO will find it), and state the names of
|
||||
the Next, Previous, and Up nodes (if there are any). As you can see,
|
||||
this node's Up node is the node Top, which points at all the
|
||||
documentation for INFO. The Next node is "Menus". There is no
|
||||
Previous node.
|
||||
|
||||
The keywords "Node", "Previous", "Up" and "Next", may appear in any
|
||||
order, anywhere in the header line, but the recommended order is the
|
||||
one in this sentence. Each keyword must be followed by a colon,
|
||||
spaces and tabs, and then the appropriate name. The name may be
|
||||
terminated with a Tab, a comma, or a CRLF. A space does not end it -
|
||||
node names may contain spaces. The case of letters in the names is
|
||||
insignificant.
|
||||
|
||||
A node name has two forms. A node in the current file is named by
|
||||
what appears after the "Node: " in that node's first line. For
|
||||
example, this node's name is "ADD". A node in another file is named
|
||||
by "(filename)node-within-file", as in "(INFO)ADD" for this node. The
|
||||
default names for files are DSK:INFO;... >. Parts of the filename
|
||||
which are the same as the default should be omitted for clarity;
|
||||
usually, just the first name of the file suffices. The name
|
||||
"(filename)Top" can be abbreviated to just "(filename)". By
|
||||
convention, the name "Top" is used for the "highest" node in any
|
||||
single file - the node whose "Up" points out of the file. The
|
||||
Directory node is "(DIR)". The Top node of a document file listed in
|
||||
the Directory should have an "Up: (DIR)" in it.
|
||||
|
||||
The node name "*" is special - it refers to the entire file. Thus,
|
||||
G* will show you the whole current file. The use of the node * is to
|
||||
make it possible to make old-fashioned, unstructured files into nodes
|
||||
of the tree. .INFO.;FOO ORDER can be made into a subnode by putting
|
||||
"(.INFO.;FOO ORDER)*" into a menu!
|
||||
|
||||
The "Node:" name, in which a node states its own name, must not
|
||||
contain a filename, since INFO when searching for a node does not
|
||||
expect one to be there. The Next, Previous and Up names may contain
|
||||
them. In this node, since the Up node is in the same file, it was not
|
||||
necessary to use one.
|
||||
|
||||
Note that the nodes in this file have a File name in the header
|
||||
line. The File names are ignored by INFO, but they help the user
|
||||
keep track of where he is (after all, just "Top" isn't much help).
|
||||
|
||||
File: INFO, Node: Menus, Previous: Add, Up: Top, Next: Footnotes
|
||||
|
||||
How to Create Menus:
|
||||
|
||||
Any node in the INFO hierarchy may have a MENU - a list of subnodes.
|
||||
The M command searches the current node's menu for the topic which it
|
||||
reads from the TTY.
|
||||
|
||||
A menu begins with a line starting with "* Menu:". The rest of the
|
||||
line is a comment. After the starting line, every line that begins
|
||||
with a "* " lists a single topic. The name of the topic - the arg
|
||||
that the user must give to the M command to select this topic -
|
||||
comes right after the star and space, and is followed by
|
||||
a colon, spaces and tabs, and the name of the node which discusses
|
||||
that topic. The node name, like node names following Next,
|
||||
Previous and Up, must be terminated with a tab, comma, or CRLF.
|
||||
If the node name and topic name are the same, than rather than
|
||||
giving the name twice, the abbreviation "* <name>::" may be used
|
||||
(and should be used, whenever possible, as it reduces the visual
|
||||
clutter in the menu).
|
||||
|
||||
It is considerate to choose the topic names so that
|
||||
they differ from each other very near the beginning - this allows
|
||||
the user to type short abbreviations. In a long menu, it is a good
|
||||
idea to capitalize the beginning of each item name which is the
|
||||
minimum acceptable abbreviation for it (a long menu is more than 5 or
|
||||
so entries).
|
||||
|
||||
The node's listed in a node's menu are called its "subnodes", and
|
||||
it is their "father". They should each have an "Up:" pointing at
|
||||
the father. It is often useful to arrange all or most of the
|
||||
subnodes in a sequence of Next's/Previous's so that someone who
|
||||
wants to see them all need not keep revisiting the Menu.
|
||||
|
||||
The INFO Directory is simply the menu of the node "(DIR)TOP" - that
|
||||
is, node Top in file INFO;DIR >. You can put new entries in that menu
|
||||
just like any other menu. The INFO Directory is NOT the same as the
|
||||
file directory called INFO. It happens that many of INFO's files live
|
||||
on that file directory, but they don't have to; and files on that
|
||||
directory are not automatically listed in the INFO Directory node.
|
||||
|
||||
Also, although the INFO node graph is claimed to be a "Hierarchy",
|
||||
in fact it can be ANY directed graph. Shared structures and
|
||||
pointer cycles are perfectly possible, and can be used if they are
|
||||
appropriate to the meaning to be expressed. There is no need
|
||||
for all the nodes in a file to form a connected structure. In fact,
|
||||
this file has two connected components. You are in one of them,
|
||||
which is under the node Top; the other contains the node Help which
|
||||
the "H" command goes to. In fact, since there is no
|
||||
garbage collector, nothing terrible happens if a substructure
|
||||
is not pointed to, but such a substructure will be rather useless
|
||||
since nobody will ever find out that it exists.
|
||||
|
||||
File: INFO, Node: Footnotes, Previous: Menus, Up: Top, Next: Tags
|
||||
|
||||
Creating Footnotes:
|
||||
|
||||
A footnote can be placed anywhere in the text, unlike a menu item
|
||||
which must go at the front of a line. A footnote looks like a menu
|
||||
item except that it has "*note" instead of "*". In addition, the
|
||||
footnote's node name can be terminated by a ".", as well as by a
|
||||
",", Tab, or CR. It CANNOT be terminated by a ")", because ")"'s
|
||||
are so often part of node names. If you wish to enclose a footnote
|
||||
in parentheses, terminate it with a period first. Here are two
|
||||
examples of footnote pointers:
|
||||
|
||||
*Note details: commands. (see *note 3: Full Proof.)
|
||||
|
||||
They are just examples. The places they "lead to" don't really exist!
|
||||
|
||||
File: INFO, Node: Tags, Previous: Footnotes, Up: Top, Next: Checking
|
||||
|
||||
Tag Tables for INFO Files:
|
||||
|
||||
You can speed up the access to nodes of a large INFO file by giving
|
||||
it a tag table. Unlike the tag table for a program, the tag table for
|
||||
an INFO file lives inside the file itself and will automatically be
|
||||
used whenever INFO reads in the file. For information on how to
|
||||
construct and update the tag table, see *Note Tags: (TAGS)INFO.
|
||||
|
||||
File: INFO, Node: Checking, Previous: Tags, Up: Top, Next: Installing
|
||||
|
||||
Checking an INFO File:
|
||||
|
||||
When creating an INFO file, it is easy to forget the name of a node
|
||||
when you are making a pointer to it from another node. If you put in
|
||||
the wrong name for a node, this will not be detected until someone
|
||||
tries to go through the pointer using INFO. Verification of the INFO
|
||||
file is an automatic process which checks all pointers to nodes and
|
||||
reports any pointers which are invalid. Every Next, Previous, and Up
|
||||
is checked, as is every menu item and every footnode. In addition,
|
||||
any Next which doesn't have a Previous pointing back is reported.
|
||||
Only pointers within the file are checked, because checking pointers
|
||||
to other files would be terribly slow. But those are usually few.
|
||||
|
||||
To check an INFO file, do M-X RunINFOCheck INFO File<cr> with the
|
||||
INFO file visited in EMACS, or do X Check INFO File<cr> while looking
|
||||
at a node in the file with INFO.
|
||||
|
||||
File: INFO, Node: Installing, Up: Top, Previous: Checking
|
||||
|
||||
How to Install a New INFO Directory on All Machines:
|
||||
|
||||
There are five ITS machines (AI, MC, MX, ML, and MD) and each one has
|
||||
its own copy of the directory file INFO;DIR >. These files should all be
|
||||
identical and have the same version number. Whenever the directory is
|
||||
changed on one machine it should be changed on all machines at the same
|
||||
time. This is done by editing the directory on one machine and then
|
||||
copying the file to the other machines.
|
||||
|
||||
The reason for this is that it is much easier to edit the directory once
|
||||
and copy it than to edit five different directories. In order for us to
|
||||
continue to be able to edit only once, we must make sure that the five
|
||||
directories remain the same, which means EVERYONE must install his changes
|
||||
on all machines.
|
||||
|
||||
The easiest way to copy the file to all the other machines is to do
|
||||
|
||||
:INSTAL INFO;DIR >
|
||||
|
||||
The :INSTAL program will ask for confirmation, and then copy the file
|
||||
from the machine you are on to all other machines. If all goes well,
|
||||
you are done. If it loses (say, if a machine is down) then you must
|
||||
repeat the process later -- but not much later!
|
||||
|
||||
Another implication of this policy is that all the other
|
||||
documentation files ought to exist on all machines (since the
|
||||
directory will point to them anyway).
|
||||
|
||||
Most other files on INFO; should be maintained identical on all
|
||||
machines just like INFO;DIR >. If you are solely responsible for
|
||||
maintaining an INFO file, you can keep different versions on different
|
||||
machines if you like, but advertise that fact widely; otherwise
|
||||
someone else may edit the file on one machine and copy it around.
|
||||
If you work on an INFO file about general parts of the system, then it
|
||||
should certainly be maintained identical on all machines.
|
||||
|
||||
File: INFO Node: Printing Up: Top
|
||||
|
||||
Using INFO on a printing terminal.
|
||||
|
||||
Most of INFO's special value is lost on printing terminals,
|
||||
but it can still help direct you to the documentation you are
|
||||
interested in.
|
||||
|
||||
When you arrive at a node, the header and title lines will be
|
||||
typed out automatically to orient you. To see any more of the
|
||||
node, you must ask explicitly.
|
||||
|
||||
The staple of printing terminal INFO is the T command.
|
||||
T prints out the entire node - very simple.
|
||||
As an alternative, the Space command on a printing terminal
|
||||
prints out ten more lines - the ones after the last ones you saw.
|
||||
The B command still works; it will make Spaces start printing
|
||||
from the beginning again. Backspace will move back 10 lines,
|
||||
not printing them. B and Backspace are most useful on "Glass
|
||||
teletypes", which are stupid displays combining the worst features
|
||||
of displays and printing terminals.
|
||||
|
||||
The ^L command (redisplay screen) will type out the node's header
|
||||
and title lines once again. It does not affect the sequence of
|
||||
lines printed by Spaces.
|
||||
|
||||
If your only interest in a node is to use its Menu, you need
|
||||
not type anything out if you know the name of the topic to specify.
|
||||
If you don't, then once you are into the M command you can have the
|
||||
Menu typed out for you, one item at a time, by typing Spaces.
|
||||
When you have seen enough, you can give the Menu item name.
|
||||
Alternatively, you can type a "?", which will provide you with
|
||||
a list of just the names of all the items in the menu. Both "?"
|
||||
and space will no longer work once you have typed the first
|
||||
character of the item name.
|
||||
|
||||
File: INFO Node: Expert Up: Top
|
||||
|
||||
Some Advanced INFO Commands ("G", "S", "1" - "5", and "^R").
|
||||
|
||||
If you know a node's name, you can go there by typing
|
||||
"G", the name, and a CR. Thus, "GTop<CR>" would go to the node
|
||||
called Top in this file (its directory node). "GExpert<CR>"
|
||||
would come back.
|
||||
|
||||
Unlike M, G does not allow the use of abbreviations, and
|
||||
does not let you give even the Space, Backspace and ^L commands
|
||||
while you are typing the argument in.
|
||||
|
||||
To go to a node in another file, you can include the filename in the
|
||||
node name by putting it at the front, in parentheses. Thus,
|
||||
"G(DIR)Top<CR>" would go to the INFO Directory node, which is node Top
|
||||
in the file DIR (which is short for DSK:INFO;DIR >).
|
||||
|
||||
The node name "*" specifies the whole file. So you can look at all
|
||||
of the current file by typing "G*<CR>" or all of any other file
|
||||
with "G(<file>)<CR>".
|
||||
|
||||
|
||||
The "S" command allows you to search a whole file for a string. It
|
||||
will switch to the next node if and when that is necessary. You type
|
||||
"S" followed by the string to search for, terminated by a CR. To
|
||||
search for the same string again, just "S" followed by a CR will do.
|
||||
The file's nodes will be scanned in the order they are in in the file,
|
||||
which has no necessary relationship to the order that they may be in
|
||||
in the tree structure of menus and next's. But normally the two
|
||||
orders will not be far different. In any case, you can always do a
|
||||
"B" to find out what node you have reached, if the header isn't
|
||||
visible (this can happen, because "S" puts your cursor at the
|
||||
occurrence of the string, not at the beginning of the node).
|
||||
|
||||
|
||||
The "X" command is the same as the EMACS command Meta-X. It lets you
|
||||
type in the name of an EMACS MM command and its arguments, and
|
||||
executes them. Command name completion is provided.
|
||||
|
||||
If you grudge the system each character of type-in it requires,
|
||||
you might like to use the commands "1", "2", "3", "4", and "5".
|
||||
They are short for the "M" command together with an argument.
|
||||
"1" goes through the first item in the current node's Menu;
|
||||
"2" goes through the second item, etc. Note that numbers
|
||||
larger than 5 are not allowed. If the item you want is that
|
||||
far down, you are better off using an abbreviation for its
|
||||
name than counting.
|
||||
|
||||
|
||||
The INFO command "" enters a recursive editing level for you to edit
|
||||
the text of the current node. To get back to INFO, you must give a
|
||||
command to exit. This command is C-M-C unless your init file
|
||||
redefines it. If you have changed the text of the node, then when you
|
||||
visit a node in a different file INFO will offer to save this file.
|
||||
This is because INFO just uses C-X C-V to access files. You can also
|
||||
save the file explicitly by using the C-X C-S command or equivalent
|
||||
while you are still inside the recursive edit.
|
||||
|
||||
File: INFO Node: ARG Up: Top
|
||||
|
||||
When INFO is invoked with an argument, as in :INFO INFO ARG, or as in
|
||||
M-X INFOINFO ARG from EMACS, the words of the argument are taken as
|
||||
menu items in a chain of menus, leading to the node you would like to
|
||||
see. :INFO INFO ARG would get to this node.
|
||||
Reference in New Issue
Block a user