mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 07:19:57 +00:00
3518 lines
122 KiB
Plaintext
Executable File
3518 lines
122 KiB
Plaintext
Executable File
|
||
|
||
|
||
Price: $1.00
|
||
|
||
|
||
|
||
|
||
Mathlab Memo #3
|
||
|
||
|
||
Massachusetts Institute of Technology
|
||
|
||
Mathlab Group
|
||
Laboratory for Computer Science
|
||
Cambridge, Massachusetts, 02139
|
||
|
||
|
||
|
||
|
||
An Introduction to ITS for the MACSYMA User
|
||
|
||
|
||
|
||
|
||
|
||
by
|
||
V. Ellen Golden
|
||
|
||
|
||
|
||
|
||
|
||
|
||
revised
|
||
April 14, 1981
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
An Introduction to ITS for the MACSYMA User
|
||
|
||
|
||
Contents
|
||
|
||
I. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 1
|
||
II. Getting onto the System . . . . . . . . . . . . . . . . . . .3
|
||
A. Getting an Account . . . . . . . . . . . . . . . . . . . . . 3
|
||
B. Establishing a Connection . . . . . . . . . . . . . . . . . .3
|
||
C. Logging In . . . . . . . . . . . . . . . . . . . . . . . . . 6
|
||
D. Loading a MACSYMA . . . . . . . . . . . . . . . . . . . . . .6
|
||
E. Logging Out . . . . . . . . . . . . . . . . . . . . . . . . .7
|
||
F. INQUIR . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
|
||
G. INIT files . . . . . . . . . . . . . . . . . . . . . . . . . 8
|
||
H. Experienced User Login Protocol . . . . . . . . . . . . . . .9
|
||
III. DDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
|
||
A. Program Loading and Execution . . . . . . . . . . . . . . . 10
|
||
B. "Jobs" . . . . . . . . . . . . . . . . . . . . . . . . . . .11
|
||
C. Moving From One Job to the Next . . . . . . . . . . . . . . 12
|
||
D. Getting Rid of Jobs . . . . . . . . . . . . . . . . . . . . 12
|
||
E. Disowned and Detached Jobs . . . . . . . . . . . . . . . . .12
|
||
F. Quit Commands . . . . . . . . . . . . . . . . . . . . . . .13
|
||
G. Communication . . . . . . . . . . . . . . . . . . . . . . . 14
|
||
H. Messages and Mail . . . . . . . . . . . . . . . . . . . . . 17
|
||
I. MACSYM Mail . . . . . . . . . . . . . . . . . . . . . . . . 18
|
||
J. Other DDT Commands . . . . . . . . . . . . . . . . . . . . .18
|
||
IV. Introduction to and Description of Files . . . . . . . . . .20
|
||
A. File Names . . . . . . . . . . . . . . . . . . . . . . . . .20
|
||
B. Directories . . . . . . . . . . . . . . . . . . . . . . . . 21
|
||
C. File Manipulation: Printing, Copying, Renaming, Deleting . .23
|
||
D. FIND. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
|
||
E. Altmode, or Defaults made easy . . . . . . . . . . . . . . .25
|
||
V. TECO. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
|
||
A. File Preparation . . . . . . . . . . . . . . . . . . . . . .27
|
||
B. Editing Commands . . . . . . . . . . . . . . . . . . . . . .29
|
||
C. Filing in Teco . . . . . . . . . . . . . . . . . . . . . . .30
|
||
D. TECO Example . . . . . . . . . . . . . . . . . . . . . . . .32
|
||
E. Other TECO Facilities . . . . . . . . . . . . . . . . . . . 33
|
||
VI. Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . 36
|
||
A. NAME. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
|
||
B. WHOIS . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
|
||
C. PEEK. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
|
||
D. TIME. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
|
||
VII. Additional Sources of Information . . . . . . . . . . . . . 38
|
||
A. Running MACSYMA Demo files. . . . . . . . . . . . . . . . . 38
|
||
B. SHARE Directory . . . . . . . . . . . . . . . . . . . . . . 38
|
||
C. The INFO Program and further information about the system . 39
|
||
VIII. Terminals . . . . . . . . . . . . . . . . . . . . . . . . . 40
|
||
A. The TCTYP Program . . . . . . . . . . . . . . . . . . . . . 40
|
||
|
||
i
|
||
|
||
|
||
|
||
B. CRTSTY . . . . . . . . . . . . . . . . . . . . . . . . . . .41
|
||
C. A Word About Keyboards . . . . . . . . . . . . . . . . . . .41
|
||
D. OCTPUS . . . . . . . . . . . . . . . . . . . . . . . . . . .42
|
||
E. TIP commands . . . . . . . . . . . . . . . . . . . . . . . .47
|
||
IX. Possible Problems . . . . . . . . . . . . . . . . . . . . . 48
|
||
A. Problems with your terminal . . . . . . . . . . . . . . . . 48
|
||
B. Problems with the system . . . . . . . . . . . . . . . . . .48
|
||
C. If Your Typing Appears . . . . . . . . . . . . . . . . . . .49
|
||
D. If Your Typing Does Not Appear . . . . . . . . . . . . . . .50
|
||
Index of DDT Commands. . . . . . . . . . . . . . . . . . . . . . . . .53
|
||
General Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ii
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Acknowledgements
|
||
|
||
|
||
The original outline for this memo was prepared by Richard Bogen.
|
||
Corrections and editorial comments were provided by the Mathlab Group.
|
||
|
||
|
||
|
||
Work reported herein was supported in part by the Advanced Research
|
||
Projects Agency of the Department of Defense and was monitored by the
|
||
Office of Naval Research under Contract #N00014-75-C-0661, in part by
|
||
the United States Department of Energy under Contract #E(11-1)-3070, and
|
||
in part by the National Aeronautics and Space Administration under Grant
|
||
NSG 1323.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
iii
|
||
Introduction to ITS 1
|
||
|
||
|
||
I. Introduction
|
||
|
||
The MACSYMA algebraic manipulation system is a collection of
|
||
programs embedded in a LISP interpreter. The purpose of this document
|
||
is to describe how to gain access to MACSYMA as it exists on the MC PDP-
|
||
10 at the Laboratory for Computer Science at M.I.T. and how to interact
|
||
with the environment in which it exists, i.e. operating system, monitor,
|
||
editor, and other programs, so that successful use can be made of it.
|
||
|
||
To use MACSYMA effectively you will also need a "Primer" and a
|
||
MACSYMA Manual. These may be obtained from:
|
||
|
||
Laboratory for Computer Science
|
||
Publications Department
|
||
Room 112
|
||
545 Technology Square
|
||
Cambridge, MA 02139
|
||
|
||
|
||
There is a $5.00 charge for the manual, plus $1.00 for postage and
|
||
handling. The primer is free, and comes with the manual. Additional
|
||
copies of the Primer may be obtained from:
|
||
|
||
Secretary, Mathlab Group
|
||
Laboratory for Computer Science
|
||
Room 828
|
||
545 Technology Square
|
||
Cambridge, MA 02139
|
||
Additional copies of this document may be obtained from Publications for
|
||
$1.00/each.
|
||
|
||
|
||
|
||
|
||
Before continuing we should establish some conventions for notation in
|
||
this document.
|
||
|
||
|
||
the character $ will be used to denote the "altmode" (ascii 27 (decimal)
|
||
or 33 (octal)), often labelled "escape" or "esc" on terminal
|
||
keyboards.
|
||
|
||
control characters will be denoted by being prefixed by an uparrow, thus
|
||
^Z, ^A. They are typed by holding down the key marked "control",
|
||
"ctrl" or "cntl" on the keyboard as one would the shift key, and
|
||
typing the indicated character.
|
||
|
||
<something> will be used to denote variables in examples of command
|
||
lines. Thus
|
||
|
||
:login <name><carrige return>
|
||
|
||
The entire <name> is to be replaced with whatever login name you
|
||
select, e.g.
|
||
|
||
1
|
||
I. Introduction Introduction to ITS
|
||
|
||
|
||
:login ellen
|
||
|
||
and the <carriage return> (often shortened to <cr>) indicates the
|
||
key labelled "return".
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
2
|
||
Introduction to ITS II. Getting onto the System
|
||
|
||
|
||
II. Getting onto the System
|
||
|
||
|
||
II.A. Getting an Account
|
||
|
||
To log in to the system you will need a login name and a
|
||
password. A login name is any identifier of up to six characters in
|
||
length. Most people choose their initials, but any combination of
|
||
letters or digits is acceptable, provided (a) the last character is not
|
||
a digit, and (b) the particular name is not already being used by
|
||
someone else. The INQUIR program will check whether or not your
|
||
proposed login name is "taken", and ask you to select another if it is.
|
||
The login name you select should be used each time you log in.
|
||
|
||
A password is any combination of letters and digits up to 12
|
||
characters in length. If you do not have a password, then you should
|
||
apply for one. The procedure will be started automatically for you when
|
||
you first connect to the machine and attempt to log in. Answer the
|
||
questions which the Password program asks, and your account application
|
||
will be automatically be sent to the USER-ACCOUNTS group. If someone
|
||
from USER-ACCOUNTS is logged in at the time, your account may be
|
||
initialized within a few minutes. It will certainly be processed within
|
||
24 hours. If you have any questions or problems, you may call (617)253-
|
||
5891 for assistance.
|
||
|
||
The first time you log in after your account has been
|
||
initialized, you will be asked to run the INQUIR program (see II.F.
|
||
below) and answer its questions, giving your full name, address,
|
||
position, field of interest, and login name. The INQUIR program will be
|
||
started up for you automatically. It will appear to duplicate some of
|
||
the questions from the account application, but it is a separate
|
||
database, so please bear with us and answer its questions.
|
||
|
||
|
||
II.B. Establishing a Connection
|
||
|
||
There are 4 different ways in which one can establish a
|
||
connection to the MC computer:
|
||
|
||
|
||
(1) Using a terminal which is directly connected to the machine.
|
||
These are on the 8th floor of the Laboratory for Computer
|
||
Science at M.I.T.
|
||
|
||
(2) Using a dialup line, directly connect to the machine.
|
||
|
||
(3) Dialing the number of a Terminal Interface Processor (or TIP) on
|
||
the ARPA Network, and connecting to the machine from there.
|
||
|
||
(4) Connecting to another computer on the ARPA Network either by a
|
||
direct line or a direct dialup line, and running a program on
|
||
that computer which makes network connections.
|
||
|
||
|
||
|
||
3
|
||
II. Getting onto the System Introduction to ITS
|
||
|
||
|
||
For local terminals (option 1), turn to section II.C below.
|
||
|
||
The protocol for (4) will vary widely with the particular
|
||
computer you have access to. However, no matter what the protocol you
|
||
will have to specify either the name of the MC computer, which is MIT-
|
||
MC, or its host number, which is 236 decimal, or 354 octal.
|
||
|
||
The protocols for (2) and (3) are given here:
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
4
|
||
Introduction to ITS II. Getting onto the System
|
||
|
||
|
||
Dialup protocol TIP protocol
|
||
|
||
1. Make sure your console is set 1. Make sure your console is set
|
||
for 30 cps (300 baud), or 120 for 30 cps (300 baud), full
|
||
cps (1200 baud) full duplex, duplex, the parity switch, if
|
||
the parity switch, if there is there is one, does not matter.
|
||
one, does not matter. 2. Dial the number of the Tip.
|
||
2. Dial the number of the machine. 3. When you hear the tone place
|
||
3. When you hear the tone place the receiver in the acoustic
|
||
the receiver in the acoustic coupler headset or press the
|
||
coupler headset or press the data button on the dataset and
|
||
data button on the dataset and hang up the receiver.
|
||
hang up the receiver. 4. Type the appropriate letter for
|
||
4. Type an <cr>. The response your console type. For most
|
||
should be ascii consoles that operate at
|
||
300 baud, this is E. Some
|
||
Connected to MC response will then be printed.
|
||
5. Type @OPEN 236. (The 236 is
|
||
Now you may proceed with the the number of the MC computer.)
|
||
standard login procedure Most commands to the TIP begin
|
||
(Section II.C) starting with with @ and are never seen by
|
||
(2) below. 1
|
||
the MC system. The response to
|
||
the @OPEN command may be any
|
||
one of the following:
|
||
CANT - this means the line is
|
||
already open and the TIP cannot
|
||
make the connection. (Probable
|
||
reason is the last user did not
|
||
close the connection when he
|
||
logged out). Type @CLOSE and
|
||
then repeat the @OPEN command
|
||
again.
|
||
TRYING... - this means the TIP is
|
||
attempting to complete the
|
||
connection. Wait, and usually
|
||
it will be successful.
|
||
OPEN - this means the connection
|
||
has been completed.
|
||
REFUSED - this means all available
|
||
ports are in use. Try again
|
||
later.
|
||
Now you may proceed with (2)
|
||
below.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
_______________
|
||
1. If you want to type an @ that
|
||
is not the beginning of a TIP
|
||
command, then type @@. 5
|
||
II. Getting onto the System Introduction to ITS
|
||
|
||
|
||
II.C. Logging In
|
||
|
||
(1) Type Control-Z. (Control characters are typed by holding down the
|
||
key labelled "control" (or "Ctrl") while typing the desired
|
||
character. From here on they will be represented in print by being
|
||
prefixed with "^".) After ^Z is typed the MC system will respond
|
||
2
|
||
with "MC ITS nnnn DDT mmm" and tell how many users are on.
|
||
|
||
(2) Type :LOGIN, a space, your login name, and a carriage return. For
|
||
example,
|
||
|
||
:LOGIN JRN
|
||
|
||
The system will then ask for your password. Type your password
|
||
followed by a carriage return.
|
||
|
||
The system will then print the date and time, and the message
|
||
|
||
Welcome to ITS
|
||
|
||
If you have any mail (see III.H), it will be offered to you for reading
|
||
and if there are any systems messages you have not seen yet, they will
|
||
also be offered.
|
||
|
||
|
||
II.D. Loading a MACSYMA
|
||
|
||
To load a MACSYMA simply type :MACSYM followed by a carriage
|
||
return or :A followed by a carriage return (A is a pseudonym for
|
||
MACSYMA). Several seconds later MACSYMA will acknowledge that it is
|
||
ready by printing
|
||
|
||
This is MACSYMA 296
|
||
|
||
|
||
(or whatever the current version is), loading a "fix" file, if any, and
|
||
labeling the first input line
|
||
|
||
|
||
(C1)
|
||
|
||
|
||
Now commands (terminated by a semicolon or dollar sign) may be typed to
|
||
MACSYMA. (See the MACSYMA manual.)
|
||
|
||
If you have never used MACSYMA before, you may wish to run the
|
||
on-line PRIMER. To do this, give MACSYMA the command
|
||
|
||
PRIMER();
|
||
_______________
|
||
2. The nnnn and mmm are version numbers for the system and DDT program
|
||
respectively, and are useful for connecting bugs with a particular
|
||
version.
|
||
|
||
6
|
||
Introduction to ITS II. Getting onto the System
|
||
|
||
|
||
The on-line PRIMER is also available from DDT level with the command
|
||
:TEACHM.
|
||
|
||
The "QUIT" command for MACSYMA is ^G (control-G).
|
||
|
||
If you need help, you can use the SEND(); command in MACSYMA.
|
||
Type
|
||
|
||
SEND("message");
|
||
|
||
|
||
and message will be sent to the Mathlab group people who are logged in.
|
||
One of them will then contact you and help you. Notice the quotation
|
||
marks, they are part of the command.
|
||
|
||
Other on-line HELP commands for MACSYMA are DESCRIBE(command);,
|
||
OPTIONS(); and APROPOS(string);. The DESCRIBE command takes the name of
|
||
a command and prints out the portion of the manual which describes that
|
||
command. The OPTIONS command enters a network of topics, which allows
|
||
you to find the commands which exist in MACSYMA for dealing with certain
|
||
3
|
||
types of expressions or to perform particular functions. The APROPOS
|
||
command takes a character string as an argument and prints out the list
|
||
of commands which contain that string. E.g. APROPOS(tr_); would print
|
||
out all the switches which are associated with the MACSYMA translator,
|
||
since they all have "TR_" in their names. To see how some commands
|
||
work, there is an EXAMPLE(command); command, which runs a demo file of
|
||
sample calculations.
|
||
|
||
|
||
II.E. Logging Out
|
||
|
||
In order to logout you should be at system command level. That
|
||
is, you should be talking to DDT (see III. below) and not to MACSYMA or
|
||
any other programs. Usually it is only necessary to type a ^Z to get
|
||
back to DDT level. If you are already there then the system prints ??.
|
||
To logout from MC, type the command :LOGOUT and a carriage return.
|
||
Next, if you are using a TIP, close the connection by typing @C. Then
|
||
it is only necessary to hang up the phone and turn off the terminal.
|
||
|
||
Occasionally, attempting to logout will produce the message
|
||
--KILL RUNNING INFERIORS?--. This means that a program you have loaded
|
||
is still running. If you do not want the program (i.e. want to kill it
|
||
4
|
||
and logout), respond by hitting the space bar once . If you do not want
|
||
to kill the program, you can type :LISTJ (see III.B) to see what is
|
||
going on and proceed accordingly.
|
||
_______________
|
||
3. This network is not quite complete, but is being worked on currently.
|
||
The command is usable, however, and the areas covered will expand
|
||
rapidly.
|
||
|
||
4. If you don't know about the program or what this all means, then
|
||
probably it is quite safe to type a space.
|
||
|
||
7
|
||
II. Getting onto the System Introduction to ITS
|
||
|
||
|
||
II.F. INQUIR
|
||
|
||
The INQUIR program assists us in identifying our users. It will
|
||
be started for you automatically the first time you log in. It will
|
||
explain itself fairly well; however, please note the following:
|
||
|
||
You do not need to give your Social Security Number if you would
|
||
prefer not to, nor your birthday. To avoid any question you feel is too
|
||
prying or does not apply, simply type a carriage return. We do need
|
||
your full name and an address, however. You may give your place of work
|
||
as "home address" if you wish. Your "Group" is U (MACSYMA User) or N<> _
|
||
(Non-Consortium MACSYMA User), depending on whether or not you are<72> _
|
||
funded by one of the MACSYMA Consortium organizations. If you are not
|
||
sure about this, speak to ELLEN or another member of USER-ACCOUNTS.
|
||
When you have answered all the questions and it says "What now boss?"
|
||
You signify that you are finished by typing
|
||
|
||
DONE
|
||
|
||
|
||
If you need to update the information in your INQUIR entry you can start
|
||
up INQUIR by typing
|
||
|
||
:INQUIR
|
||
|
||
|
||
(followed by a carriage return, of course). And the system will look up
|
||
your entry and allow you to edit it.
|
||
|
||
|
||
II.G. INIT files
|
||
|
||
It is possible to have a special file which does certain things
|
||
when you log in, like give :TCTYP commands for you (see below), or set
|
||
the defaults to a particular directory (see Section IV.B on files and
|
||
directories), or print out the date and time. Such a file is called an
|
||
INIT (INITialization) file. If you have a directory, it is located on
|
||
your directory and is called
|
||
|
||
<login name>;<login name> LOGIN
|
||
|
||
|
||
If you do not have a directory, it is located on your "home directory"
|
||
(see IV.A below) and has the name
|
||
|
||
<directory>;<login name> LOGIN
|
||
|
||
|
||
Such a file can eliminate many of the frustrations of logging in,
|
||
assuming you always use the same type of console and want the same
|
||
things to happen each time. To have one of these files created for you,
|
||
contact ELLEN or another member of the Mathlab group. (See III.G and
|
||
III.H below).
|
||
|
||
|
||
8
|
||
Introduction to ITS II. Getting onto the System
|
||
|
||
|
||
II.H. Experienced User Login Protocol
|
||
|
||
When you have become quite familiar with the login protocol
|
||
given above, and know fairly well the material in the DDT section which
|
||
follows, you may wish to change slightly the way you log in to the
|
||
system. Using :LOGIN sets certain variables within the DDT program
|
||
which are intended to protect novice users from accidently destroying
|
||
their programs or otherwise doing things they might regret. Once you
|
||
are sufficiently familiar with the various commands, and appreciate the
|
||
^K command and the : command for loading programs, you may find it
|
||
irritating to be asked each time you use one
|
||
|
||
--CLOBBER EXISTING JOB?--
|
||
or
|
||
--CREATE ADDITIONAL JOB?--
|
||
|
||
with the attendent delays to answer with a space. Well, when you reach
|
||
this point, you are ready to graduate to the "experienced user" login
|
||
protocol which is
|
||
|
||
<login name>$U
|
||
|
||
|
||
$ represents the character altmode (or escape, ascii 27 (decimal), 33
|
||
(octal)). This method of logging in replaces :LOGIN <login name> and
|
||
does not set the variables which protect you from loading excess jobs,
|
||
etc. DDT will continue to tell you what the default file names are for
|
||
^O, however.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
9
|
||
III. DDT Introduction to ITS
|
||
|
||
|
||
III. DDT
|
||
|
||
After typing ^Z you are communicating with a program called DDT
|
||
(also called HACTRN) which is the monitor level under ITS that accepts
|
||
system commands for performing various functions like program loading,
|
||
program control, and copying and printing files. There are two formats
|
||
for commands at DDT level; the first is called "Monitor" format, and
|
||
this format is what will be meant by the general expression "DDT
|
||
command". These commands begin with a colon and are immediately
|
||
followed by the mnemonic name of the command with no intervening spaces.
|
||
Some commands take arguments, which are separated from the command by a
|
||
space. A command ends with a carriage return which causes DDT to begin
|
||
execution.
|
||
|
||
The second format for commands is a short form, consisting of a
|
||
single character, possibly prefixed by 1 or 2 altmodes. These short
|
||
commands perform the same functions as the corresponding mnemonics.
|
||
When short form commands take arguments, these precede the command with
|
||
no space between the argument and the command. Altmode, (or escape)
|
||
which is ascii 27 (decimal), 33 (octal), will be represented in print by
|
||
$. It differs from "control" in that it is not held down, but just
|
||
typed. The succeeding command character is not separated from it, e.g.
|
||
$P. On some terminals altmode may not be standard. Right brace, },
|
||
(ascii octal 175, or 176) is what you get when you push the key labelled
|
||
"altmode" on some of these terminals. The :TCTYP command,
|
||
:TCTYP STANDARDIZE tells the system to interpret ascii 175 and 176 as an
|
||
altmode.
|
||
|
||
A few short form DDT commands are control-characters.
|
||
|
||
The short forms are easier to type, of course, but the novice
|
||
user is urged to become familiar with the mnemonic DDT commands first.
|
||
This permits the simple rule of thumb:
|
||
|
||
All commands to DDT begin with : and end with carriage return.
|
||
|
||
|
||
III.A. Program Loading and Execution
|
||
|
||
One way to load and execute programs has already been mentioned,
|
||
e.g. :MACSYM. That is, colon followed by the program name and a
|
||
carriage return. This is consistent with the rule of thumb for DDT
|
||
commands. There is, however, another way to load programs which is
|
||
frequently preferable: type the program name followed by ^K, e.g.
|
||
MACSYM^K. The reason this is preferable is that ^K causes the
|
||
replacement of any existing program you may have loaded called MACSYM
|
||
1
|
||
with a new MACSYMA. :MACSYM will load a second MACSYMA, if you have
|
||
|
||
_______________
|
||
1. However, DDT may first ask you if you are sure this is what you want
|
||
to do by typing --CLOBBER EXISTING JOB?--. You answer yes by typing a
|
||
space. Typing anything else will "flush" the command, so if you did not
|
||
mean to replace your MACSYMA, you get a second chance.
|
||
|
||
10
|
||
Introduction to ITS III. DDT
|
||
|
||
|
||
2
|
||
one already. In those rare circumstances where two copies of a program
|
||
are necessary, use the colon-type command, or better yet, load one with
|
||
MACSYM^K and the other with A^K (and expect to be questioned about it by
|
||
a systems programmer at M.I.T.).
|
||
|
||
To exit from a program, type ^Z. This will bring you back up to
|
||
DDT level. For the remainder of this section it will be assumed that
|
||
you are at DDT level, so if you wish to issue one of these commands and
|
||
are not at DDT level, first type ^Z to get up to DDT, and then type the
|
||
command. If you are not sure what level you are at, type ^Z. If you
|
||
were already at DDT level, the system will respond ?? and if you were
|
||
not, you will be brought up to DDT and an interrupt message of some kind
|
||
will appear, usually [DDT] (but if you were in a TECO under your MACSYMA
|
||
it might say "(Console connected to MACSYMA)", in which case you would
|
||
need still another ^Z to get to DDT).
|
||
|
||
To re-enter a program, type :CONTIN. $P is a short, easier form
|
||
for this.
|
||
|
||
When you exit from a program, it stops running. If you want to
|
||
have a program resume running while you remain at DDT level, type
|
||
:PROCEED after ^Z. ^P is the short form for this.
|
||
|
||
|
||
III.B. "Jobs"
|
||
|
||
The programs running "under" your DDT are referred to as "jobs".
|
||
It is possible to have more than one job and to move from one job to
|
||
another, leaving the first (a long computation in MACSYMA, for instance)
|
||
to run while you do something else. DDT will permit you to have up to
|
||
eight jobs at one time, but since the system can only accomodate about
|
||
120 jobs for all users (including the systems jobs), it is not
|
||
recommended to have more than two or three. (Your DDT is one job, so as
|
||
soon as you load a MACSYMA you have two jobs, your "top level" DDT and
|
||
one "inferior"). When you have more than one job under your DDT, it is
|
||
necessary to be able to tell which job is the "current" one, so that if
|
||
you type :CONTIN or $P you will be "in" it. To see a list of the jobs
|
||
you own at any given time, type :LISTJ (the short form is $$V). This
|
||
will give a list of all your jobs, with the current one marked by an *.
|
||
Each job will be followed by its status, R for running, P for stopped
|
||
but "proceedable", or W for waiting to print out something on the
|
||
console. The status will be followed by the index number for that job,
|
||
which is a unique number assigned to the job by the system. For
|
||
example:
|
||
|
||
*TECO P 14
|
||
MACSYM R 23
|
||
|
||
|
||
|
||
_______________
|
||
2. But since you rarely want to do this, DDT will ask --CREATE
|
||
ADDITIONAL JOB?--, and you reply space for yes, anything else for no.
|
||
|
||
11
|
||
III. DDT Introduction to ITS
|
||
|
||
|
||
III.C. Moving From One Job to the Next
|
||
|
||
To move from one job to the next, i.e. to make another job the
|
||
current job, type :JOB. The system will then tell you which job is then
|
||
current by responding, for example, MACSYM$J. Typing a sequence of
|
||
:JOB's will cause each job to become the current job, in turn. An
|
||
alternative to this shuffling through all your jobs to get to the
|
||
desired one is to type :JOB followed by a space and the name of the
|
||
desired job, e.g.
|
||
|
||
:JOB MACSYM
|
||
|
||
This will cause the job with this name to become the current one. The
|
||
short form of this command is $J, preceded by the job name to specify a
|
||
particular job, e.g. MACSYM$J. Notice that :JOB only selects the
|
||
current job; you still must type :CONTINUE to enter it. Warning: if
|
||
you misspell the name of the job, :JOB will create a new job which you
|
||
3
|
||
will have to kill.
|
||
|
||
There is a shorthand for :JOB followed by :CONTINUE. That is to
|
||
4
|
||
type the name of the job you wish to re-enter followed by ^H , e.g.
|
||
MACSYM^H.
|
||
|
||
If you have left a job running with :PROCEED, it will inform you
|
||
when it is ready to print out by sending you a message, e.g. JOB MACSYM
|
||
WANTS THE TTY. It will then wait for you to exit whatever job you are
|
||
in, and enter it using ^H or :JOB and :CONTINUE.
|
||
|
||
|
||
III.D. Getting Rid of Jobs
|
||
|
||
To dispose of a job that you no longer want, the command :KILL
|
||
is used. This kills the current job, so obviously care should be taken
|
||
to assure that the job you want to KILL is the current job. (:LISTJ<54> __
|
||
will help you). After a :KILL command, DDT will inform you which job is
|
||
then current. For example if you just :KILLed your TECO, DDT will
|
||
select your MACSYMA (or whatever the next job is) and print
|
||
|
||
MACSYM$J
|
||
|
||
|
||
III.E. Disowned and Detached Jobs
|
||
|
||
Occasionally it may be necessary to logout in order to switch
|
||
terminals, or to permit someone else to use your terminal, but you may
|
||
have a job you do not want to lose, or which hasn't finished running.
|
||
The thing to do is to detach yourself, or to disown the job. There is a
|
||
|
||
_______________
|
||
3. DDT will type "!" when a new job is created, as a warning.
|
||
|
||
4. ^H is "backspace"
|
||
|
||
12
|
||
Introduction to ITS III. DDT
|
||
|
||
|
||
difference between these two. Disowning a job is to merely "cut" it
|
||
loose from your DDT while you are logged in. It can be thought of then
|
||
as floating loose in the system. To do it, exit from the job with ^Z,
|
||
then type :DISOWN (If you want to leave it running, type :PROCEED before
|
||
:DISOWN). If you log out while a job is disowned, it will wait for you
|
||
to log back in and reclaim it. To reclaim it use the :JOB command
|
||
followed by the job name. The system will respond by typing
|
||
|
||
:$ REOWNED $
|
||
|
||
and it will then be reconnected to your DDT, and you can reenter it with
|
||
:CONTINUE. Disowning running jobs is inconsiderate, however. If a
|
||
disowned job wants to print out, it will not be able to and will just
|
||
stop. This defeats the purpose of its existence and takes up a job slot
|
||
in the system. What this means is you should only disown running jobs
|
||
when it is absolutely necessary.
|
||
|
||
Detaching affects the entire DDT and all the jobs connected to
|
||
it. Typing :DETACH will log you out of the system but leave your DDT
|
||
and all your jobs sitting there. This takes up several job slots in the
|
||
5
|
||
system, so it should only be used when absolutely necessary. When you
|
||
log back in, (assuming the system has not crashed in the interim) you
|
||
will receive the message --ATTACH YOUR DETACHED JOB-- and should answer
|
||
this by typing a space as explained in section IX.D, below. When you
|
||
log back in after disowning a job, you will not receive a message, but
|
||
the continued existence of your job can be confirmed by using :PEEK (see
|
||
Section VI.C), and you can then reclaim it with :JOB.
|
||
|
||
|
||
III.F. Quit Commands
|
||
|
||
There are three Quit commands for DDT, ^D , ^S, and ^G. These
|
||
three have different functions. ^D will abort a command that you have
|
||
not completed typing. This is useful if the wrong command was selected,
|
||
or a typing error has been made. DDT will print "XXX?" and you may then
|
||
retype the command. ^G will stop the execution of a command. DDT
|
||
responds with "QUIT?" and execution stops. This is a "panic button"
|
||
type of command, and will stop infinite loops. ^S will stop the
|
||
printout which results from the execution of a command, e.g. the listing
|
||
of a directory. ^G is also the "quit" command for MACSYMA and TECO.
|
||
|
||
However, when using any "quit" command, at DDT level or inside a
|
||
program, it should be noted that due to network delay typing a "quit"
|
||
command from a TIP will not cause instant cessation of execution; rather
|
||
it may take several seconds (or even minutes) before the quit command
|
||
takes effect. It should also be noted that a TIP has a limited number
|
||
of bits to hold its "interrupt" character, so although it may seem
|
||
psychologically satisfying to type a long string of ^G's, they overflow
|
||
|
||
_______________
|
||
5. During the afternoon system people usually kill detached trees that
|
||
have been idle for over half an hour, since the system is too loaded to
|
||
make it possible to retain them.
|
||
|
||
13
|
||
III. DDT Introduction to ITS
|
||
|
||
|
||
6
|
||
(and clear) the interrupt bit, actually cancelling each other out.
|
||
|
||
|
||
III.G. Communication
|
||
|
||
A very useful aid to a MACSYMA user is the ability to
|
||
communicate on-line and receive assistance in this fashion. This is the
|
||
best way to get help with specific MACSYMA problems, because a MACSYMA
|
||
Programmer at MIT can have access to your current MACSYMA and examine
|
||
your expressions. He (or she) can also use your console remotely to
|
||
demonstrate various solutions for you.
|
||
|
||
There are two ways to communicate: one-way communication, using
|
||
the command :SEND, and two-way communication in which the user links his
|
||
terminal to that of another user and the typing of either one appears on
|
||
both. A list of people who can answer questions for you is available.
|
||
Type
|
||
|
||
:PRINT ALJABR;MACSYM HELP
|
||
|
||
Of course, to communicate with someone, he must be logged in.
|
||
To determine who is logged in at any given time, type :USERS and a list
|
||
of the current users will be printed out. Alternatively, :NAME can be
|
||
used, which is described in section VI.A, below.
|
||
|
||
To send a one-way message to another user, type :SEND followed
|
||
by a space and the login name of the person to whom the message is being
|
||
sent. Then type the message. It may be more than one line long. End
|
||
it with ^C. For example:
|
||
|
||
:SEND JPG HOW DO I GET MACSYMA TO
|
||
INVERT A MATRIX?^C
|
||
|
||
This will result in a message on JPG's terminal that says
|
||
|
||
[MESSAGE FROM <login name> at <machine name><time>]
|
||
HOW DO I GET MACSYMA TO
|
||
INVERT A MATRIX?
|
||
|
||
:SEND can also be used to send messages to people who are not logged in.
|
||
In this case, DDT will add (MAIL) either after the login name or at the
|
||
end of the message and the message will be saved as MAIL until the user
|
||
logs in (see H. below). To explicitly send someone mail (whether or not
|
||
they are logged in), :MAIL is used. It has the same format as :SEND
|
||
except that the message is saved as MAIL for the addressee.
|
||
|
||
Often, it is more convenient to interrupt another user and enter
|
||
|
||
|
||
|
||
|
||
_______________
|
||
6. Thus re-affirming that 'Patience is a virtue.'
|
||
|
||
14
|
||
Introduction to ITS III. DDT
|
||
|
||
|
||
7
|
||
direct two way communication with him. This resembles a typed phone
|
||
call. Once the "link" is established, you simply type, no special
|
||
prefix or terminator is required. It is customary to indicate that you
|
||
have finished what you are saying by typing a > sign as the first
|
||
character on a new line so that the other person knows it is his turn to
|
||
type. Some people use 2 carriage returns in succession for this
|
||
purpose.
|
||
|
||
To enter two-way communication, type ^_C and the login name of
|
||
the user you wish to communicate with. That is control-backarrow, or
|
||
control-underscore, followed immediately with a C and then the login
|
||
name of the user to be communicated with and a carriage return. On many
|
||
terminals ^_ will be control-shift-of-the-letter-O. However, on some
|
||
terminals the backarrow or underscore may not have the proper effect
|
||
when used as control characters. On some Texas Instrument Silent 700's,
|
||
for example, the effect of ^_ is achieved with ^?. On a CDI Teleterm it
|
||
is control-shift of zero. (The octal ascii value for ^_ is 37, decimal
|
||
8
|
||
31.) The normal response by the system to the command is OK, which
|
||
means your console is linked to the other user's and the typing on
|
||
either one appears on both. To terminate the link type ^_N. Other
|
||
responses to ^_C<login name> may be QUERYING, meaning the other person
|
||
is in "Query mode" and may accept or reject your link (while you wait
|
||
for him to decide you may simply wait, type ^G (bell) to attract his
|
||
attention, or type ^_N and try again later), or IN COMMUNICATE WITH
|
||
____, BREAK IN? (to answer that affirmatively, type Y; negatively, N).
|
||
The response "?" means that the person is not logged in, or you spelled
|
||
his login name wrong.
|
||
|
||
Two way communication (or communicate mode) may be recognized
|
||
when a message appears on your console saying
|
||
|
||
9
|
||
LINK FROM <login name>
|
||
|
||
A one way (:SEND) message always says
|
||
|
||
[MESSAGE FROM <login name> at <machine>]
|
||
or
|
||
_______________
|
||
7. When asking for help on complex MACSYMA questions, :SEND is
|
||
preferred, since all messages sent by :SEND are saved during the
|
||
recipient's console session in a file on the .TEMP.; directory. Thus he
|
||
or she will have a record of any pertinent information relative to your
|
||
problem. The MACSYMA Programmer will very likely communicate directly
|
||
with you, however.
|
||
|
||
8. See VIII.D below for help in locating this or other characters you
|
||
cannot find on your keyboard.
|
||
|
||
9. Note, although two way communications announce themselves with LINK
|
||
FROM, they are in no way related to the :LINK command, which links files
|
||
together.
|
||
|
||
15
|
||
III. DDT Introduction to ITS
|
||
|
||
|
||
TTY MESSAGE FROM <login name>
|
||
|
||
On printing terminals a one way message will appear only once, but on a
|
||
display (CRT) terminal the message may continue to repeat itself if a
|
||
job has control of the console (i.e. the user is in a job) since the
|
||
output of the job could write over and obliterate the message. This
|
||
repetition can be stopped by simply typing ^Z :CONTIN, i.e. by going up
|
||
to DDT level (at which point DDT will print the message one last time)
|
||
and then re-entering the job. If DDT has control of the console, the
|
||
message will appear only once. Note, if you "lose" a message (because
|
||
output from a job obliterates it, or your paper jams), it is not really
|
||
lost. All messages sent to you are saved in the file .TEMP.;<login
|
||
name> SENDS, and you can read them by printing this file, or simply be
|
||
typing (at DDT level)
|
||
|
||
:PRSENDS
|
||
or
|
||
^A
|
||
|
||
|
||
Communications of any sort do not disrupt the job which may be
|
||
running, in control of your console. It will resume any print out as
|
||
soon as you are finished. Remember, to respond to a one way
|
||
communication, you must first be at DDT level (i.e. type ^Z)
|
||
|
||
Occasionally you may find you want to print out a long function
|
||
or a file and you do not want the printout interrupted by any messages
|
||
which might be sent to you. This can be accomplished using the command
|
||
|
||
:GAG 0
|
||
|
||
which will inhibit all communications to you. Then print out your
|
||
material. After your print out is completed, type
|
||
|
||
:GAG 17
|
||
|
||
to reset things. Any messages sent to you during the time you were
|
||
"gagged" will be saved as MAIL for you.
|
||
|
||
If for some reason you do not wish to be bothered by two way
|
||
communications from other users, there are commands to control them.
|
||
The first is the default, ^_A, (which stands for "Accept"). It is the
|
||
standard state and means that you can be communicated with. The second
|
||
is ^_Q (which stands for "Query"). Typing ^_Q will set your DDT and
|
||
your jobs in a state such that if someone tries to communicate with you,
|
||
you will just be told about it. You type ^_Y to accept communication,
|
||
^_Z to refuse, and ^_Q to ask who is querying. To reset things to the
|
||
standard state, type ^_A. The third is ^_R (which stands for "Refuse").
|
||
Typing ^_R at DDT level will cause all communications to be refused.
|
||
^_A resets things. Novice users are advised not to inhibit
|
||
communications, since they may accidently cut themselves off from help
|
||
thereby.
|
||
|
||
|
||
|
||
16
|
||
Introduction to ITS III. DDT
|
||
|
||
|
||
One other method of communication should also be mentioned. It
|
||
is called :SHOUT. As the name implies, it is a message sent to all
|
||
currently logged in users. Its syntax is similar to that of :SEND or
|
||
:MAIL, except that no login name is specified. A SHOUT can be
|
||
recognized because it will contain the word EVERYBODY,
|
||
|
||
[MESSAGE FROM <login name> EVERYBODY:]
|
||
|
||
These messages often appear when the system is being used heavily and 1)
|
||
10
|
||
all the job slots are in use, or 2) disk space is very low. Obviously,
|
||
if you have an extra job you are not using, or three copies of a file
|
||
you don't need, heed such a message.
|
||
|
||
|
||
III.H. Messages and Mail
|
||
|
||
Messages of general interest are sometimes put on the system.
|
||
When you log in for the first time the message
|
||
|
||
TO SEE SYSTEM MESSAGES DO ":MSGS<CR>"
|
||
|
||
will be printed on the terminal. Once you have typed :MSGS followed by
|
||
a carriage return, the system will set up a message date for your login
|
||
name. The next time you log in, if there are any new messages, the
|
||
system will print --MSGS-- and you have only to type a space to have the
|
||
messages displayed (each time it says --MORE--, type space to continue
|
||
the display). Typing carriage return will cause the messages to be
|
||
"postponed" until the next time. Typing rub-out will cause that message
|
||
to be skipped over (i.e. you will never see it). A message is something
|
||
sent to the user community at large.
|
||
|
||
If when you log in the system prints --MAIL-- this means that
|
||
there is a private communication just for you, and once again typing
|
||
space will cause the mail to be displayed, while typing anything else
|
||
will postpone it. To check someone else's mail, for instance to see if
|
||
he has seen a message you sent him, type :PRMAIL followed by a space and
|
||
the login name of the user whose mail you want to check. Typing :PRMAIL
|
||
with your own login name will display your own mail. Typing :PRMAIL
|
||
with no login name will also display your own mail. The system will
|
||
then offer to delete your mail for you. Typing a space will answer
|
||
"yes"; a carriage return will answer "no" (i.e. your mail will be
|
||
deleted if you type a space, and saved if you type a carriage return).
|
||
11
|
||
Note, typing :PRMAIL SKL will not delete SKL's MAIL file.
|
||
|
||
_______________
|
||
10. :SHOUT should not be used except in such emergency situations, as in
|
||
other situations it can be extremely bothersome to other users.
|
||
|
||
11. The file on the .TEMP.; directory in which all the messages sent to
|
||
you with :SEND are saved during your console session is deleted when you
|
||
log out. If you wish to re-read these messages before you log out, type
|
||
:PRINT .TEMP.;<login name> SENDS, :PRSENDS, or ^A.
|
||
|
||
17
|
||
III. DDT Introduction to ITS
|
||
|
||
|
||
There is a program specially designed for reading mail, :RMAIL
|
||
(Read MAIL). It will show you one message at a time, permitting you to
|
||
delete or save messages selectively, as well as peruse previous mail for
|
||
replying or other action. When you exit from it (or should you get
|
||
disconnected, log out accidently, or otherwise "screwup") it writes the
|
||
file <directory>;<login name> RMAIL, so it is very hard to "lose" mail.
|
||
For more information about it use the :INFO program (section VII.C
|
||
below).
|
||
|
||
|
||
III.I. MACSYM Mail
|
||
|
||
There is a special MAIL file for MACSYMA, in which you may
|
||
report bugs, questions, problems, or suggestions for features. To do
|
||
this, you type :MAIL MACSYM followed by the message and end it with a
|
||
12
|
||
^C, just as for any other :MAIL or :SEND . This file is checked daily
|
||
by system programmers. They will answer your questions or attempt to
|
||
locate and fix any bugs you report. When bugs are fixed, your report
|
||
will be deleted from MACSYMA mail, and mail will be sent to you by the
|
||
person who fixes the bug. To read the MACSYMA mail file, type :PRMAIL
|
||
MACSYM.
|
||
|
||
When new features are added to MACSYMA, this will be reported in
|
||
the update file. To read this file, type :PRINT MACSYM;UPDATE >.
|
||
|
||
|
||
III.J. Other DDT Commands
|
||
|
||
A complete list of the DDT commands can be obtained by typing
|
||
|
||
:?
|
||
|
||
To respond to questions or messages from DDT of the form
|
||
|
||
--Message--
|
||
|
||
you should type a space for yes, and carriage return or rubout (delete)
|
||
for no.
|
||
|
||
A note about question marks: a ? at DDT level is not a request
|
||
for an answer from the user (things requiring an answer are of the form
|
||
--Question?-- as mentioned in the preceding paragraph). The question
|
||
mark is a prompt indicating that the machine is waiting for your next
|
||
command. A particularly confusing sequence occurs when the system asks
|
||
|
||
--CLOBBER EXISTING JOB?--
|
||
|
||
|
||
and the user, realizing he wants to type :CONTINUE instead of loading
|
||
the job again, hits a carriage return. The system responds
|
||
|
||
_______________
|
||
12. You can also use the MAIL("message"); command in MACSYMA.
|
||
|
||
18
|
||
Introduction to ITS III. DDT
|
||
|
||
|
||
FLUSHED?
|
||
|
||
|
||
which appears to be a question (or perhaps for those of us more
|
||
anthropomorphically inclined, an incredulous comment by the system, "You
|
||
want that flushed?"). In fact, it is two outputs: the report "FLUSHED"
|
||
refering to the user's request to load a job, and the prompt "?" meaning
|
||
"OK, now what?" At this point the appropriate thing to do is to type
|
||
:CONTINUE. Another case similar to this is the
|
||
|
||
--ATTACH YOUR DETACHED TREE--
|
||
|
||
|
||
problem. The "FLUSHED?" in this case is likewise two outputs, and how
|
||
to proceed is explained in section IX.D.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
19
|
||
IV. Introduction to and Description of Files Introduction to ITS
|
||
|
||
|
||
IV. Introduction to and Description of Files
|
||
|
||
A file is simply an area on a particular storage device which
|
||
contains data or text. The only storage devices which are used on the
|
||
MC machine are disks and tapes.
|
||
|
||
Files on the disks are figuratively grouped into "directories".
|
||
A directory is just a list of all the files stored under a given name.
|
||
|
||
|
||
IV.A. File Names
|
||
|
||
Files in the ITS system possess two names, each of at most 6
|
||
characters. They are referenced by giving the two names as well as the
|
||
device (default is DSK:) and the directory name where the file resides.
|
||
A device is usually a machine name, meaning the disk of that machine.
|
||
The device name DSK: refers the disk of the machine you are using. Thus
|
||
on MC, either DSK: or MC: means MC's disks. A device name is always
|
||
followed by a colon.
|
||
|
||
A directory name is always followed by a semi-colon. Your
|
||
directory is determined when you login: if you have a directory of your
|
||
own, its name will be the same as your login name; otherwise it is the
|
||
default specified in your INQUIR entry, if one was specified; if none
|
||
was specified, you will be assigned by the system to a "home directory"
|
||
called USERSn; where n is a digit from 0 to 9. You may determine which
|
||
directory you have been assigned to by typing
|
||
|
||
:HSNAME
|
||
|
||
|
||
File names are up to six characters long and separated by
|
||
spaces. A > sign may be used for the second file name and stands for
|
||
the name which is the largest numerically if there exists a file with
|
||
the given first name and a numeric second name; otherwise the > sign
|
||
represents the "greatest" name in an alphanumeric sense. A < sign may
|
||
be similarly used for the "least" name.
|
||
|
||
The device (followed by a colon), the directory name (followed
|
||
by a semi-colon), and the file names (separated by a space) may appear
|
||
anywhere in the file descriptor string. Thus for example both
|
||
|
||
INTRO 4 DSK:RAB;
|
||
RAB;DSK:INTRO 4
|
||
|
||
are equivalent descriptions. However, the most usual description is
|
||
|
||
DSK:RAB;INTRO 4.
|
||
|
||
Any of the four descriptors (1st name, 2nd name, device, directory) may
|
||
be omitted and either the default, or the value given in a previous
|
||
command (if there was one given) will be used. Notice that at DDT level
|
||
the "usual" way to reference this file is:
|
||
|
||
|
||
20
|
||
Introduction to ITS IV. Introduction to and Description of Files
|
||
|
||
|
||
DSK:RAB;INTRO 4
|
||
|
||
|
||
while in MACSYMA the two file names are given first and then the device
|
||
and directory,
|
||
|
||
(INTRO, 4, DSK, RAB).
|
||
|
||
|
||
i.e. (filename1,filename2,device,directory), which corresponds to the
|
||
1
|
||
DDT ordering: INTRO 4 DSK:RAB;.
|
||
|
||
|
||
IV.B. Directories
|
||
|
||
A list of all the files on any directory can be seen by typing,
|
||
:LISTF followed by a space and the directory name. The short form of
|
||
this is the directory name followed by ^F. A typical directory looks
|
||
like this:
|
||
|
||
MC USERS0;
|
||
FREE BLOCKS #0=923 - #1=879 - #13=1585 - #14=2314 - #15=2098
|
||
0 * LOGIN 1 3/6/80 01:29:54
|
||
13 AK DATA 2 5/22/80 09:35:24
|
||
1 AK LOGIN 1 !9/14/80 08:34:29
|
||
L AK1 3 BACKUP TAPE GFR18
|
||
0 BH MAIL 1 9/1/80 14:21:09
|
||
14 BQS MATRIX 16 12/3/79 16:48:25
|
||
1 CEH F2 10 !9/14/80 11:48:30
|
||
15 DUFF A3 6 11/21/79 10:35:15
|
||
|
||
The top line shows the device (MC is a synonym for DSK, referring to the
|
||
MC machine) and the directory name. The next line shows the number of
|
||
free blocks (for all users) on each of the five disk drives. If the
|
||
2
|
||
numbers are low , it indicates that disk space is short, and you should
|
||
be careful about creating files you really do not need. Following this
|
||
there will be a line for each file on the directory, with the following
|
||
information: The number of the disk on which that file resides
|
||
(0,1,13,14,15), the two file names of the file (e.g. DUFF A3, or AK
|
||
LOGIN), the length of the file in blocks (a "block" is up to 5120
|
||
characters, or 1024 words, corresponding to approximately two single
|
||
spaced typed pages), and the date and time of creation of the file.
|
||
Some files will have BACKUP TAPE, with a number, instead of a creation
|
||
date. This means that the file has been transferred to tape (notice
|
||
|
||
_______________
|
||
1. A new feature in MACSYMA allows you to type DDT style file names in
|
||
MACSYMA commands which accept file names, by enclosing them in quotation
|
||
marks, and by preceding the ";" with a "\", e.g. LOADFILE("USERS0\;CEH
|
||
F2"); or SAVE(["USERS9\;ZHT OUTPUT"],FUNCTIONS);
|
||
|
||
2. In the case of the MC machine, less than 500 blocks per disk.
|
||
|
||
21
|
||
IV. Introduction to and Description of Files Introduction to ITS
|
||
|
||
|
||
that the file above that is listed as on BACKUP TAPE does not have a
|
||
disk number, but rather the letter L), and deleted from the disk. A file
|
||
on tape can be reloaded into the system.
|
||
|
||
All files on the disk are copied onto tape (but not deleted from
|
||
the disk) every weekday. Files that have not been "accessed", i.e.
|
||
used, as indicated by the date of last reference (not visible when the
|
||
directory is listed, but available to the "Grim File Reaper") in a week
|
||
are moved to disk #13, which is a "secondary" pack. They are still
|
||
accessible in exactly the same manner as files on the regular or
|
||
"primary" disks, however if a disk drive is not working, the secondary
|
||
pack may be demounted until the drive is repaired, in which case those
|
||
files on it would not be accessible temporarily. Files that have not
|
||
been accessed in a longer period of time are moved to disks #14 and #15.
|
||
Once again, they are still accessible in the same manner as files on the
|
||
primary disks, but access may be a little slower as these "tertiary"
|
||
disks are connected to the machine in a slightly different manner.
|
||
Files which have migrated to disk pack #15 and have not been used for
|
||
even longer are deleted in "grim file reaps", but only after being
|
||
3
|
||
dumped on tape. Such a file can be reloaded, if need be (see below).
|
||
If a file is accidently deleted, or somehow lost in a system crash, it
|
||
can often be recovered from tape. Notice the file above called CEH F2.
|
||
Just before the date there is an !. That indicates that the file has
|
||
not yet been copied onto tape. Any file that does not have an ! in
|
||
front of its date will appear somewhere on tape and if deleted can be
|
||
reloaded.
|
||
|
||
To have any file reloaded, send mail to FILE-RETRIEVE (which may
|
||
be abbreviated FILE-R). (See III.G above for how to send mail.) You
|
||
must specify the directory and both file names. Files are usually
|
||
reloaded within 24 hours.
|
||
|
||
The USERSn directory is the default for people who have no
|
||
directory of their own or do not have another group directory to use.
|
||
When using a USERSn or any other group directory, the first file name of
|
||
any file you put there should be your login name. This permits quickly
|
||
figuring out what belongs to whom. If you allow MACSYMA to select a
|
||
file name for you, it will choose the first 3 characters of your login
|
||
name, and append a digit to it (the lowest digit which insures a unique
|
||
file name), using > as the second name, e.g. the file AK1 3 above. You
|
||
are probably better off specifying names yourself, but you can always
|
||
rename the files MACSYMA names for you.
|
||
|
||
Directories tend to be fairly long. The average group directory
|
||
may have something more than 100 files on it. If your login name begins
|
||
|
||
_______________
|
||
3. Precise time periods vary depending on how heavy the disk usage is.
|
||
In general 2 or 3 months is the average lifetime of a file which is not
|
||
being used. In any case, these files can still be retrieved. Also,
|
||
note that it is not necessary to retain the link in the directory to
|
||
find the file on BACKUP TAPE, it is only necessary to remember the file
|
||
name.
|
||
|
||
22
|
||
Introduction to ITS IV. Introduction to and Description of Files
|
||
|
||
|
||
with a W, you are going to have to watch a lot of paper roll past before
|
||
you get to your files if you just use :LISTF. There is another way to
|
||
look at just those files with a certain first file name (your login name
|
||
in this case): type
|
||
|
||
<login name>$$^F
|
||
|
||
|
||
and only those files on your default directory with your login name as
|
||
first file name will be displayed. That is <login
|
||
name><altmode><altmode><control-F>.
|
||
|
||
|
||
IV.C. File Manipulation: Printing, Copying, Renaming, Deleting
|
||
|
||
Files may be moved from directory to directory, renamed, and
|
||
printed out. To move a file from one directory to another, type :COPY
|
||
followed by the directory name and the two file names and a carriage
|
||
return. The system will prompt with TO: after which the new directory
|
||
name should be typed, followed by a carriage return. If no new file
|
||
names are designated, the system will assume the default names, i.e. the
|
||
same names; however, a new name may be given the file if so desired.
|
||
For example: If RAB has files ITS 57, ITS 58, and ITS 59,
|
||
|
||
:COPY RAB;ITS >
|
||
TO:ELLEN;
|
||
|
||
will copy the file ITS 59 from RAB's directory to ELLEN's directory,
|
||
still calling it ITS >. If ELLEN doesn't have a file called ITS, it
|
||
will be ITS 1.
|
||
|
||
:COPY RAB;ITS >
|
||
TO:ELLEN;FOO >
|
||
|
||
will copy the file ITS 59 from RAB's directory to ELLEN's directory,
|
||
(without deleting it from RAB's directory) but name it FOO > on ELLEN's
|
||
directory.
|
||
|
||
To remove a file from one directory and place it in another, the
|
||
:MOVE command is used. This deletes the file from the original
|
||
directory, leaving only the copy in the new directory. Since this is a
|
||
command which does a deletion, great care should be exercised in using
|
||
it.
|
||
|
||
To just rename a file without moving it, type :RENAME followed
|
||
by the directory and file names and a carriage return. Once again, the
|
||
4
|
||
system will prompt with TO: and the new name should be typed.
|
||
|
||
|
||
_______________
|
||
4. Note, this command works only to change the name of a file, and a new
|
||
directory may not be specified. If you want to change the directory
|
||
(i.e. move the file) and give it a new name, use :COPY or :MOVE.
|
||
|
||
23
|
||
IV. Introduction to and Description of Files Introduction to ITS
|
||
|
||
|
||
To print out a listing of a file on your terminal, type :PRINT
|
||
followed by the directory and the file names and a carriage return. The
|
||
short form for this is ^R, which is followed by the directory and file
|
||
names as usual, e.g.
|
||
|
||
:PRINT ELLEN;FOO 29
|
||
|
||
or
|
||
|
||
^R ELLEN;FOO 29
|
||
|
||
Files that are outdated or no longer needed can be deleted, of
|
||
course. To do this type :DELETE followed by the directory and the file
|
||
5
|
||
names, and a carriage return. A shorter form is ^O followed by the
|
||
directory and file names. Great caution should be used with the ^O or
|
||
:DELETE command, lest you delete a file you didn't intend to. However,
|
||
if this should happen, it can sometimes be retrieved from tape as
|
||
described above. If you type ^O by accident, type ^D to abort it.
|
||
|
||
|
||
IV.D. FIND
|
||
|
||
Most directories are quite long. On a slow terminal they can
|
||
take a long time to list (and a lot of paper). To locate particular
|
||
files, without listing an entire directory, there is a program called
|
||
FIND. :FIND takes 4 arguments, which are the device, the directory, and
|
||
the two file names (the default device is DSK: and the default directory
|
||
is "all directories"). Any of the four arguments may be replaced by *
|
||
and FIND will proceed to locate all occurrences of the given
|
||
specifications, taking the * as a "wild card" which will match anything.
|
||
For example:
|
||
|
||
:FIND USERS4;SKL *
|
||
|
||
|
||
will find and print on your console all the files on the USERS4
|
||
directory that have SKL as their first file name. Similarly:
|
||
|
||
:FIND SKL *
|
||
|
||
|
||
will find all the files on any directory with SKL as their first file
|
||
name, and print out the list on your console. This is another way for
|
||
people using a USERSn directory (or any other group directory) to list
|
||
just their own files with
|
||
|
||
:FIND USERSn;<login name> *
|
||
|
||
|
||
_______________
|
||
5. This is a dangerous command, and the default login init is currently
|
||
set up so that ^O will not work. For people using the default init, the
|
||
result of typing ^O will be "OP?"
|
||
|
||
24
|
||
Introduction to ITS IV. Introduction to and Description of Files
|
||
|
||
|
||
Of course, as with any : type command, a carriage return terminates
|
||
that.
|
||
|
||
Type
|
||
|
||
:FIND ?
|
||
|
||
|
||
to find out about additional features and options of FIND.
|
||
|
||
|
||
IV.E. Altmode, or Defaults made easy
|
||
|
||
The character altmode can be typed after any of the file
|
||
manipulating commands (COPY, PRINT, DELETE, RENAME) and the result will
|
||
be that the DDT will print out the default file specification. If, for
|
||
instance, you type
|
||
|
||
:COPY $
|
||
|
||
DDT might respond, for example:
|
||
|
||
USERS3;JRN FOO
|
||
|
||
meaning that USERS3;JRN FOO are the current defaults. If you want to
|
||
COPY the file JRN FOO, you just type a carriage return. However, if you
|
||
would like to COPY the file USERS3;FOO BAR, you simply type the new file
|
||
names, FOO BAR, and then the carriage return. Suppose you wanted to
|
||
COPY the file JRN OMAIL, but it was on FOO; not USERS3;. Then you
|
||
simply type FOO; and a carriage return. (If you don't want to COPY a
|
||
file after all, type ^D).
|
||
|
||
Since the device is always followed by a colon, and the
|
||
directory name by a semi-colon, there can be no confusion about those
|
||
two. The file names are always separated by spaces, and all that
|
||
remains is to be able to designate to DDT whether it is the first or
|
||
second file name we wish to change (assuming we are not changing both).
|
||
Let us assume that we do not want to COPY USERS3;JRN FOO, but rather
|
||
USERS3;JRN 23. The device and the directory are correct, as is the
|
||
first file name. We wish to change only the second file name. So we
|
||
type
|
||
|
||
^X23
|
||
|
||
|
||
Typing ^X is the same as typing the default first file name; ^Y,
|
||
represents the default second file name. Thus in this case ^X23 is the
|
||
same as JRN 23. If we had typed ^Y^X, it would have been the same as
|
||
FOO JRN, etc. If you are skeptical (and it is wise to be), you may type
|
||
altmode again after you have altered the default file specification, to
|
||
check that it is correct, changing it still further if so desired:
|
||
|
||
|
||
:COPY $
|
||
|
||
25
|
||
IV. Introduction to and Description of Files Introduction to ITS
|
||
|
||
|
||
DSK:USERS;JRN MAIL
|
||
|
||
to which you type
|
||
|
||
^X23$
|
||
|
||
to which the DDT responds
|
||
|
||
DSK:USERS;JRN 23
|
||
|
||
which is what you want, so you type carriage return.
|
||
|
||
For certain "dangerous" commands, such as ^O (the short form for
|
||
:DELETE, the file deletion command), DDT supplies an altmode
|
||
automatically to be sure you realize what you are doing.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
26
|
||
Introduction to ITS V. TECO
|
||
|
||
|
||
V. TECO
|
||
|
||
Teco is the text editor. It is useful for preparing batch files
|
||
and/or papers. After loading it with TECO^K or :TECO, you are in a
|
||
program that handles text strings and operates on them. You have what
|
||
is called a "buffer" into which you insert text. By issuing commands
|
||
you can add to or otherwise change the contents of the buffer. By
|
||
issuing other commands, you can file the contents of the buffer on the
|
||
disk. For papers and reports there are a variety of formatting commands
|
||
which can be used to justify the text for output on whatever printing
|
||
1
|
||
device you have available. The commands typed do not enter the buffer;
|
||
only those characters following the "insert" command go into the buffer.
|
||
You can then correct typing, or other errors. For instance, a series of
|
||
commands for MACSYMA could be prepared thus, filed on the disk, and
|
||
finally loaded into MACSYMA using the BATCH command.
|
||
|
||
The TECO language itself was originally designed partly as an
|
||
editing language and partly as a programming language, so that
|
||
repetitive editing programs could be written. When display consoles
|
||
became available, special display editing packages were implemented
|
||
using the TECO programming language. They are much better than the
|
||
original TECO editing language on display consoles, but they work only
|
||
marginally on printing consoles. So this documentation will deal
|
||
primarily with the original TECO editing language and only in passing
|
||
with the display modes (commonly called "Control-R" modes). If you are
|
||
going to be using TECO from a display console you should definitely
|
||
learn how to use one of these display editing packages and take
|
||
advantage of all the capabilities of your console. You can learn about
|
||
the most commonly used package on MC by looking at its documentation.
|
||
Type
|
||
|
||
:PRINT EMACS;EMACS CHART
|
||
|
||
You can try out EMACS or simply by typing
|
||
|
||
:EMACS
|
||
|
||
which will start up a TECO for you (which will be have its "job name"
|
||
EMACS) using that package. (:E is the short form for this). For a
|
||
primer on EMACS, you can type :TEACHE. And more complete information
|
||
can be gotten in the :INFO program (see section VII.C).
|
||
|
||
|
||
V.A. File Preparation
|
||
|
||
TECO may be loaded by typing :TECO followed by a carriage
|
||
return, or by typing TECO^K. (:T and T^K are short forms for these
|
||
|
||
|
||
|
||
_______________
|
||
1. For more elaborate writeup of results, there are also text justifying
|
||
programs available. Speak to ELLEN for details.
|
||
|
||
27
|
||
V. TECO Introduction to ITS
|
||
|
||
|
||
2
|
||
two). In standard TECO the full set of keys on the keyboard is
|
||
available for editing commands. Insertion of text is done by use of the
|
||
3
|
||
command "I" which takes the following text string as its argument.
|
||
Commands in TECO are terminated by two altmodes. The preprocessor
|
||
processes the string, handling rubouts, until it encounters an altmode.
|
||
It does not begin execution, however until it encounters two altmodes.
|
||
Thus, single altmodes may be used within a command string to delimit
|
||
Search or Insert strings.<2E>_ _
|
||
|
||
Your location in the buffer is marked by a pointer, referred to
|
||
as "the cursor". Initially its position is at the very top of the
|
||
4
|
||
buffer. Editing commands can change its position. The Insert command
|
||
inserts the following text string and leaves the cursor at the end of
|
||
the inserted string. The Search command locates the following string,
|
||
and leaves the cursor at the end of it. The -S (reverse search) command
|
||
leaves the cursor at the beginning of the sought for string.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
_______________
|
||
2. In MACSYMA it is possible to load a TECO under your MACSYMA by giving
|
||
the MACSYMA command TECO();. Similarly EMACS(); starts up an EMACS under
|
||
your MACSYMA. In this case, ^Z will bring you back up to your MACSYMA,
|
||
and TECO(); again will return you to TECO.
|
||
|
||
3. In the special display packages, all the characters are self-
|
||
inserting and editing commands are available as "control" characters.
|
||
|
||
4. On a display console it will appear as /\
|
||
|
||
28
|
||
Introduction to ITS V. TECO
|
||
|
||
|
||
V.B. Editing Commands
|
||
|
||
A list of the most commonly used editing commands, in regular
|
||
mode, follows:
|
||
|
||
effect of command command
|
||
advance cursor one line L
|
||
go back one line -L
|
||
move one character to the right C
|
||
move one character to the left -C or R
|
||
delete one character D
|
||
(the next character after the
|
||
cursor)
|
||
kill from cursor position to end of K
|
||
line (including carriage return
|
||
and line feed)
|
||
kill from cursor position to end of :K
|
||
line (retaining carriage return
|
||
and line feed)
|
||
kill from cursor position to beginning 0K
|
||
of line
|
||
move to the beginning of the line 0L
|
||
move to the end of the line :L
|
||
redisplay screen (on a display terminal) ^L
|
||
move to the top of the buffer J
|
||
move to the end of the buffer ZJ
|
||
move right one word FWR
|
||
move left one word -FWR
|
||
kill to the end of the buffer ZK
|
||
|
||
Commands that take string arguments:
|
||
to insert text I
|
||
to search forward S
|
||
(i.e. over text beyond cursor position)
|
||
to search backward -S
|
||
(i.e. over text that is before cursor position)
|
||
|
||
Commands pertaining to printing terminals
|
||
to type out the whole buffer HT
|
||
to type out the current line 0TT
|
||
(without moving the cursor)
|
||
to type out the current line 0LT
|
||
(moving cursor to beginning of line)
|
||
to type out n lines nTT
|
||
to automatically type out three lines :3^N
|
||
each time two altmodes are typed
|
||
|
||
Quit, or cancel command string typed ^G
|
||
(but not executed yet)
|
||
|
||
|
||
|
||
|
||
|
||
|
||
29
|
||
V. TECO Introduction to ITS
|
||
|
||
|
||
Commands may be prefixed by a numerical argument indicating the
|
||
number of repetitions, e.g. 4L would advance the cursor four lines, -4L
|
||
would move it up four lines.
|
||
|
||
The Insert and Search commands take the following string of<6F> _ _
|
||
characters, including spaces, carriage returns, and tabs, and insert or
|
||
locate them respectively, e.g. Iany string$$ would insert "any string"
|
||
into the buffer.
|
||
|
||
The command :3^N is a switch (giving it a second time will
|
||
reverse the condition). It is given once and has effect for the
|
||
duration of the TECO you have loaded (unless you turn it off). Notice
|
||
that in spite of beginning with a :, it is a TECO command, not a DDT
|
||
command. It is particularly useful because it prints out the line the
|
||
cursor is on and the next two lines, each time two altmodes are typed,
|
||
if the cursor is in the middle of the text. The position of the cursor
|
||
will be shown by -!-. If the cursor is at the end of the buffer (as in
|
||
a file that you are in the process of typing in) the last three buffer
|
||
lines will be typed out, and the cursor position will be shown by the
|
||
location of the ampersand that is the TECO "ready" symbol.
|
||
|
||
^G is a quit command. It will stop an infinite loop (e.g. an
|
||
iterative search without proper terminating conditions) or it will flush
|
||
an entire command string which you have not yet executed.
|
||
|
||
There are approximately 400 other Teco commands; the most up-to-
|
||
date listing of them can be had by printing out DSK:.INFO.;TECORD >.
|
||
(This file is very long however, so perhaps you want to ask someone at
|
||
5
|
||
MIT to list it for you on our high speed printer and mail it to you.)
|
||
|
||
|
||
V.C. Filing in Teco
|
||
|
||
"Filing" is the process of storing the edited text which is in
|
||
your buffer in a disk file where it will stay permanently (until the
|
||
file is deleted). If you do not have your own directory, you will use
|
||
the group or USERSi directory assigned to you (see IV.A). directories.
|
||
All the TECO commands that deal with files and filing begin with E. The
|
||
ones you will need to deal with are EW, ER, EE, EF, EY, ET and ED. The
|
||
specifications for file names have been given already. By using the >
|
||
convention you can avoid writing over and thereby obliterating a
|
||
previous copy of a file. This is especially useful if it becomes
|
||
necessary to return to a previous version to undo an "improvement" that
|
||
didn't work out. However, it is "good manners" to delete extra copies
|
||
of files before logging out. There is a rule of thumb that two copies
|
||
|
||
_______________
|
||
5. Those familiar with the MACSYMA editor will note that it was largely
|
||
based on TECO. Note, however, that the commands which cause display and
|
||
printout in the MACSYMA editor are quite different from those in TECO,
|
||
there are some commands in the MACSYMA editor for insertion of text
|
||
which do not exist in TECO, and TECO's commands for manipulation of
|
||
parenthesized expressions are entirely different.
|
||
|
||
30
|
||
Introduction to ITS V. TECO
|
||
|
||
|
||
of the same source file are enough...and the GFR (Grim File Reaper) will
|
||
delete all but the two most recent if you don't do it yourself.
|
||
|
||
There are two common protocols for filing things from a Teco
|
||
buffer. The first is: EW<directory>;$EE<filename1> <filename2>$$. This
|
||
files the whole buffer in the specified directory. The second is:
|
||
EW<directory>;$HPEF<filename1> <filename2>$$. This files a copy of the
|
||
whole buffer in the specified directory but leaves the contents of the
|
||
buffer intact. You are at the same location in the buffer you were at
|
||
previous to filing and can continue working. On a display terminal,
|
||
typing $$ will show you the buffer again.
|
||
|
||
To "yank" a file from a directory into the buffer, the following
|
||
protocol is used: ER<directory>;<filename1> <filename2>$^Y$$. Note, in
|
||
this case ^ is uparrow (ascii decimal value 94, octal 136), and not
|
||
control. Once you have specified a directory name and some file names,
|
||
they become the defaults. Unless you want to change them, they can be
|
||
omitted from subsequent ER,EW,EE,EF, etc. commands.
|
||
|
||
To list a directory while you are in TECO, type EY followed by
|
||
the directory name and a semi-colon, thus:
|
||
|
||
EYELLEN;$$
|
||
|
||
This does not disrupt or modify your buffer; you are still in the same
|
||
place ($$ will redisplay the buffer on a display console).
|
||
|
||
When you are inputting a lot of data, it is advisable to "file"
|
||
it away every fifteen minutes or so to minimize the amount of work you
|
||
will lose if the system crashes while it is all in your buffer. Using >
|
||
as the second file name, you can set up a default file name with the ET
|
||
command, thus:
|
||
|
||
ETUSERS4;JRN >$$
|
||
|
||
Then after you have inserted your data for a few minutes, you can type
|
||
EW$HPEF$$, and a copy of what you have just done will be filed on disk
|
||
in the appropriate USERSi directory as JRN 1 (it is recommended that you
|
||
make the first file name of a file you place on any USERSi directory
|
||
your login name; you can then rename it when it is complete to JRN DATA,
|
||
or whatever name you find descriptive). Then type $$ and continue
|
||
inserting data. This process is repeated until you have completed the
|
||
file. Then you can delete all but the largest file, renaming that one
|
||
if you wish. Note that it is possible to designate files to be deleted
|
||
using < as the second file name, but it is very easy to miscount <'s,
|
||
and using the specific file names, (e.g. USERS4;JRN 15) is safer.
|
||
|
||
The :DELETE command is used at DDT level, but it is possible to
|
||
delete files while you are in TECO. The ED command followed by the
|
||
directory and file names and terminated by two altmodes will do it,
|
||
thus:
|
||
|
||
EDUSERS4;JRN 15$$
|
||
|
||
|
||
31
|
||
V. TECO Introduction to ITS
|
||
|
||
|
||
(Be sure to do ETJRN >$$ so that your default name doesn't stay "JRN
|
||
15").
|
||
|
||
|
||
V.D. TECO Example
|
||
|
||
Here is an example showing how to create a batch file for
|
||
loading into MACSYMA. Everything you would type on your console will be
|
||
shown in lower case, at the left margin, thus:
|
||
|
||
foo
|
||
|
||
Everything the system responds or types out will be shown indented, in
|
||
capital letters, thus:
|
||
|
||
BAR
|
||
|
||
Explanatory comments will be shown following a semi-colon, on the line
|
||
they explain, thus:
|
||
|
||
;explanatory comment.
|
||
|
||
|
||
:teco ;load TECO
|
||
|
||
TECO 928.
|
||
&
|
||
|
||
iexp(2*x)*sin(x)^2; ;insert a command line
|
||
dif(%,x); ;and another one
|
||
$$ ;end the Insert command
|
||
&
|
||
|
||
-LTT$$ ;go back one line and type it out
|
||
|
||
DIF(%,X);
|
||
&
|
||
|
||
3c$$ ;move 3 characters to the right
|
||
|
||
6
|
||
if$$ ;insert another f
|
||
|
||
0tt$$ ;type out the line
|
||
|
||
DIFF(%,X);
|
||
&
|
||
|
||
ht$$ ;type out the entire buffer
|
||
|
||
_______________
|
||
6. Note that the last two commands could have been written together,
|
||
thus:
|
||
3cif$$
|
||
|
||
32
|
||
Introduction to ITS V. TECO
|
||
|
||
|
||
EXP(2*X)*SIN(X)^2;
|
||
DIFF(%,X);
|
||
&
|
||
|
||
ewusers4;$eejrn de$$ ;file it away as JRN DE on USERS4
|
||
|
||
|
||
V.E. Other TECO Facilities
|
||
|
||
There are numerous facilities available in the TECO programming
|
||
language, but two of the more useful for editing are Q-registers and
|
||
Iteration.
|
||
|
||
Q-registers can be thought of as pigeon holes in which to stick
|
||
useful things, much like the numbered holes behind the desk at an old
|
||
fashioned hotel. The pigeon holes available to you in TECO are the keys
|
||
on your keyboard, that is to say that there are Q-registers 0 through 9
|
||
and A thru Z (there are also registers .A through .Z, and ..A through
|
||
..Z, but these contain special features of the TECO program itself, or
|
||
of special macro packages). You can copy something into a Q-register so
|
||
as to be able to insert it repetitively. You can remove a piece of text
|
||
from its location, store it in a Q-register, and then insert it
|
||
someplace else. You can use Q-registers for various bookkeeping
|
||
operations you might want to do (counting the number of lines in a file,
|
||
for example). You can use a Q-register to store a macro, such as an
|
||
iterative search, which you want to have operate over your entire
|
||
buffer, or a portion of your buffer.
|
||
|
||
There are four basic commands which refer to Q-registers:
|
||
|
||
X Copy text into Q-register
|
||
U Place numeric value into Q-register
|
||
G Get the contents of Q-register and insert in buffer
|
||
M Execute (Macro) the contents of Q-register
|
||
|
||
The two commands X and U take arguments of the form
|
||
|
||
<what>X<where> or <number>U<where>
|
||
|
||
|
||
<where> is the name of a Q-register. <what> may be either of the
|
||
following
|
||
|
||
1. a number of lines (e.g. 3X1 -> copy the next three lines into
|
||
Q-register 1)
|
||
2. A range of the buffer (e.g. Q2,.X4 -> copy from the point (location)
|
||
in Q-register 2 to the current location into Q-register 4)
|
||
|
||
and the <number> may be either of the following:
|
||
|
||
1. an integer (e.g. 0U1 -> put zero into Q-register 1)
|
||
|
||
2. a location (e.g. .U2 -> put the current location into Q-register 2)
|
||
|
||
|
||
33
|
||
V. TECO Introduction to ITS
|
||
|
||
|
||
The location of the cursor in the buffer is calculated in characters
|
||
from the beginning of the buffer.
|
||
|
||
The two commands G and M take one argument following them, which is the
|
||
name of a Q-register, e.g.
|
||
|
||
G8
|
||
|
||
|
||
inserts the contents of Q-register 8 in the buffer at the location of
|
||
the cursor (leaving the cursor after the inserted text).
|
||
|
||
M8
|
||
|
||
|
||
executes the command string contained in Q-register 8.
|
||
|
||
The command Q followed by the name of a Q-register designates a
|
||
particular register for other commands, e.g.
|
||
|
||
Q1= will show you the value in Q-register 1 (a number)
|
||
(this does not insert the value in the buffer,
|
||
just displays it for you to inspect)
|
||
Q1J jump to the location contained in Q-register 1
|
||
Q1,. designates a portion of the buffer from the
|
||
location in Q-register 1 to the current location
|
||
of the cursor (.)
|
||
Q1,.X2 copies the specified portion of the buffer
|
||
into Q-register 2
|
||
|
||
The command X may be preceded by an F, e.g. Q1,.FX2, and the text
|
||
designated will be copied into the Q-register and deleted from the
|
||
buffer. It may also be preceded by ^, in which case text is appended to
|
||
what is already in the Q-register.
|
||
|
||
Iteration is made possible because TECO is a programming
|
||
language. Iterative procedures are enclosed in angle brackets,
|
||
<procedure> (notice these are "real" angle brackets, you type them),
|
||
which may be preceded by a number to indicate the number of repetitions
|
||
(no number specified indicates the procedure is to iterate indefinitely,
|
||
beginning at the cursor location, until terminated by the ";" command).
|
||
|
||
The most commonly used iterative procedure is the iterative
|
||
search. The format for an iterative search to change all occurrences of
|
||
X+3 to X+2 is
|
||
|
||
<SX+3$;-DI2$>$$
|
||
|
||
|
||
Notice the altmodes. The first one terminates the search string, X+3.
|
||
The second one terminates the insert string, 2. -D, which deletes the
|
||
3, does not need a terminator since it does not take a string argument.
|
||
(Notice it is -D since the cursor is at the end of the string X+3, so<73> __
|
||
|
||
|
||
34
|
||
Introduction to ITS V. TECO
|
||
|
||
|
||
the 3 is the character just before the cursor). Finally, notice that
|
||
the ";" is not there for punctuation, but is the special TECO character
|
||
that says, "if you find no occurrences of the string, exit the
|
||
iteration." It provides the terminating condition for the search.
|
||
|
||
|
||
|
||
More examples:
|
||
|
||
0U1 J<S
|
||
$; %1> Q1=$$ zero Q-register 1, then go to the top
|
||
of the buffer and search for all
|
||
occurrences of <carriage return> and
|
||
increment the value in Q-register 1
|
||
each time you find one; finally
|
||
display the contents of Q-register 1.
|
||
This will count the number of lines
|
||
in a file.
|
||
|
||
J .,.XA <SDIFF$; 0L ^XA L>$$ go to the top of the buffer, and set
|
||
up Q-register A, then search for all
|
||
occurrences of DIFF; when you find
|
||
one go to the beginning of the line
|
||
it is on, and append that line to Q-
|
||
register A, then go to the next line
|
||
to insure you don't keep finding the
|
||
7
|
||
same line with DIFF in it. This will
|
||
create a list in Q-register A of all
|
||
the lines containing DIFF.
|
||
|
||
Either of these two little procedures could be inserted in a TECO
|
||
buffer, then the command HFXB$$ given, which would put the contents of
|
||
the buffer (i.e. the procedure) in Q-register B. Then a file could be
|
||
read into the buffer, and the command MB$$ given, which would run the
|
||
procedure over that file.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
_______________
|
||
7. Failure to do something like this is a very common "bug" in iterative
|
||
procedures, and is one of the easiest ways to produce infinite loops.
|
||
|
||
35
|
||
VI. Miscellaneous Introduction to ITS
|
||
|
||
|
||
VI. Miscellaneous
|
||
|
||
There are several other programs which may be of help to the
|
||
MACSYMA user. Two of them, NAME and WHOIS, identify other users. PEEK
|
||
permits you to check on your own or someone else's status. And TIME
|
||
gives you the current date and time.
|
||
|
||
|
||
VI.A. NAME
|
||
|
||
NAME is loaded by typing :NAME followed by a carriage return, or
|
||
by NAME^K. It prints out a list of the users currently logged in with
|
||
their full names and locations. It also gives the idle time, i.e. the
|
||
length of time since the user last did something at his console.
|
||
|
||
When NAME has completed its printout, it kills itself and
|
||
returns you to DDT level.
|
||
|
||
|
||
VI.B. WHOIS
|
||
|
||
Loading WHOIS has different effects depending upon the way it is
|
||
done. Loading it with :WHOIS <carriage return> or WHOIS^K will produce
|
||
the same print out as :NAME, but with additional information about the
|
||
users. Loading it with :WHOIS JRN <carriage return> will print out the
|
||
identity of the user who uses JRN as his login name. Alternatively,
|
||
:WHOIS may be given a full name, and the result will be to provide the
|
||
login name of that person. The difference from NAME here is that not
|
||
only the full name of the user is given but some other identification,
|
||
e.g. MACSYMA user, secretary, graduate student, etc. :WHOIS and
|
||
WHOIS^K give only those users logged in, but by giving a login name to
|
||
:WHOIS any user's identity can be determined, whether or not he is
|
||
logged in. This is a good way to check if someone already uses the
|
||
login name you want to use. A user who is not known to the system will,
|
||
of course, not be identified, and the system will print "???" or "No
|
||
Users".
|
||
|
||
WHOIS also kills itself and leaves you at DDT level.
|
||
|
||
|
||
VI.C. PEEK
|
||
|
||
PEEK permits you to check on your status, or that of other
|
||
users. It is loaded by either :PEEK <carriage return> or PEEK^K (:P and
|
||
P^K are short forms of these two). The printout is a listing of all the
|
||
current users with all the jobs that they currently possess and the
|
||
status of each job. This printout will update itself every 20 seconds
|
||
on a display console, and you may cause it to update itself more
|
||
frequently by typing space. On a printing console, the printout is
|
||
updated only by explicitly typing a space. You kill PEEK by typing Q.
|
||
This will return you to DDT level (but remember that from a TIP, this
|
||
may still take a few seconds). There are several modes to PEEK, which
|
||
are selected by a series of single letter commands. A listing of these
|
||
may be obtained by typing ? at PEEK.
|
||
|
||
36
|
||
Introduction to ITS VI. Miscellaneous
|
||
|
||
|
||
The first two lines give statistics about the system itself.
|
||
The third line gives the headings for the information to follow. The
|
||
remaining give status information, one line for each job. The number in
|
||
the first column is the user index, followed by the login name of the
|
||
person, and the name which is currently the default for his DDT. The
|
||
next column gives the status of the job; HANG, RUN, WALK, CRAWL, FLY,
|
||
PAGE, 10!0 and TTYI and TTYO are the most common. HANG and RUN are
|
||
sufficiently descriptive; WALK, CRAWL, and FLY are variants of RUN
|
||
1
|
||
intended to indicate roughly how your job is doing ; PAGE means the job
|
||
is currently waiting its turn in time sharing, and 10!0 means that the
|
||
job has been interrupted (usually because you typed ^Z). TTYI and TTYO
|
||
will be next to a job that has control of the console, and mean
|
||
"inputting" (or waiting for input) and "outputting" respectively. To
|
||
the right of this status indication there will be one of three symbols:
|
||
<, >, or Tn. < means that the job has relinquished control of the
|
||
console to a "superior" procedure. > means that control is with an
|
||
"inferior" procedure. In the majority of cases you will find the >
|
||
next to your DDT, and the < next to your MACSYMA. The Tn indicates that
|
||
that job has control of the console (a bit of reflection will assure you
|
||
that if you are looking at a PEEK, your Tn will be opposite the PEEK
|
||
job). The n is the number of the line you are logged in on. The next
|
||
two columns give the core units the job is using. The first number is
|
||
the total amount of core the job takes, and the second number is the
|
||
amount of that that is on the disk. The next column gives the % of time
|
||
the job is receiving from the machine. The remaining column gives the
|
||
total machine time (CPU time) the job has received. For each user, the
|
||
line with his login name represents his DDT. Then under that, indented
|
||
slightly, will be a line for each job, with the job name in the first
|
||
column, and the directory name that is the current default for that job
|
||
in the second column. The status column and the % time are generally
|
||
the most useful in determining your status.
|
||
|
||
On a printing console, running a PEEK when the system is being
|
||
used heavily can take a long time. To just see the status of your own
|
||
jobs, load PEEK by typing
|
||
|
||
:PEEK J
|
||
|
||
This will cause it to display only your jobs. If you have a disowned
|
||
job, it will be shown, also, but next to <, >, or Tn, it will say DSN.
|
||
|
||
|
||
VI.D. TIME
|
||
|
||
:TIME or TIME^K will give you a print out of the current time
|
||
and date, as well as the length of time the system has been running.
|
||
|
||
|
||
|
||
_______________
|
||
1. There are a few other varients of RUN: MULTIX, TENEX, and perhaps one
|
||
or two others. These are actually names of operating systems, and in
|
||
PEEK mean "slow"; this is a bit of inter system sniping.
|
||
|
||
37
|
||
VII. Additional Sources of Information Introduction to ITS
|
||
|
||
|
||
VII. Additional Sources of Information
|
||
|
||
|
||
VII.A. Running MACSYMA Demo files.
|
||
|
||
It is sometimes useful, as an adjunct to the information in the
|
||
MACSYMA Manual, to see how some commands work on sample problems. There
|
||
is a directory called DEMO which contains batch files used for giving
|
||
demonstrations. These files illustrate the various capabilities of
|
||
MACSYMA. You can list the DEMO directory (see IV.B) and then run one of
|
||
these files yourself to see how a particular command works, or just to
|
||
get an idea of how MACSYMA operates in general.
|
||
|
||
After you have chosen a file (say it is BEGIN DEMO) you load a
|
||
MACSYMA (see II.C) and, after it gives you a command line number, type:
|
||
|
||
BATCH(BEGIN, DEMO, DSK, DEMO);
|
||
|
||
or
|
||
|
||
DEMO(BEGIN, DEMO, DSK, DEMO);
|
||
|
||
BATCH will cause the file to be run right through without pauses between
|
||
command lines. DEMO will cause the system to pause after each command-
|
||
display line pair for you to type a space, which will cause it to type
|
||
and execute the next command. (On noisy phone connections, sometimes
|
||
the phone line will send a <cr> for you, which the DEMO command
|
||
interprets as "no", and the DEMO will terminate prematurely. If this
|
||
happens, try it with the BATCH command.)
|
||
|
||
|
||
VII.B. SHARE Directory
|
||
|
||
Another directory available to MACSYMA users is the SHARE
|
||
1
|
||
directory. As the name implies, it is a directory of routines written
|
||
by users which may be useful to other users. There are at least two
|
||
files for each routine, one providing documentation on the use of the
|
||
routine, and the other containing the actual routine ready for loading
|
||
into MACSYMA.
|
||
|
||
Users are invited to use the files on this directory and to add
|
||
to it should they develop some useful routine. The naming conventions
|
||
and required file formats are explained in a file on the directory
|
||
called -READ- -THIS-. Please heed them.
|
||
|
||
Note, when using programs on the SHAREi directories, some files
|
||
have changed location since the last version of the MACSYMA manual. If
|
||
you attempt to load something advertised to be on SHARE, and get a FILE
|
||
NOT FOUND message, try the same file name but SHARE1 or SHARE2 as the
|
||
|
||
_______________
|
||
1. As our users "SHARE" more and more, the original directory has gotten
|
||
full, and now there are also SHARE1 and SHARE2 directories.
|
||
|
||
38
|
||
Introduction to ITS VII. Additional Sources of Information
|
||
|
||
|
||
directory. (Of course, you could also use :FIND to locate the new
|
||
location.)
|
||
|
||
|
||
VII.C. The INFO Program and further information about the system
|
||
|
||
The :INFO Program contains a variety of information about
|
||
programs that run on the system. You can start it up with :INFO or
|
||
INFO^K. It has a self-teaching feature which explains how to use it:
|
||
type H the first time you run it and it will enter this self-teaching
|
||
routine.
|
||
|
||
A file which is interesting to look at is AI:GLS;JARGON >, which
|
||
you can print with the :PRINT command. It is a glossary of some of the
|
||
seemingly incomprehensible language some programmers use.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
39
|
||
VIII. Terminals Introduction to ITS
|
||
|
||
|
||
VIII. Terminals
|
||
|
||
|
||
VIII.A. The TCTYP Program
|
||
|
||
ITS tries to identify the type of terminal which the user has in
|
||
order to send characters to it in an optimal fashion. However, it is
|
||
not always successful in doing this, so sometimes you may have to help
|
||
it. If you feel this is the case type the command :TCTYP DESCRIBE
|
||
followed by a carriage return. This printout will show the type of
|
||
terminal ITS thinks you are using and the characteristics which it
|
||
possesses. The possible terminal types are: DATAPOINT, HP2640, OMRON,
|
||
TEKTRONIX, VT52, GT40, IMLAC, MEM (memorex), EXECUPORT, TERMINET,
|
||
TELETYPE (for 33 and 35 terminals), TISILENT, PRINTING, and a few
|
||
others. (See .INFO.;TCTYP ORDER for the complete list.) The
|
||
designation PRINTING is used if none of the other types apply.
|
||
|
||
For example typing :TCTYP TISILENT (followed by a carriage
|
||
return) will inform ITS that you have a Texas Instruments Silent 700
|
||
terminal. Giving the name of the terminal causes the relevant
|
||
parameters to be set to "reasonable values." If these are inadequate,
|
||
they can be reset. The command :TCTYP HELP (carriage return) gives a
|
||
brief explanation of how to reset them. The principal parameters are
|
||
LINEL (line length), PAGESIZE (the number of lines per page or screen),
|
||
PADCR, PADLF, and PADTAB (which specify padding for carriage returns,
|
||
linefeeds, or tabs respectively). A value of 0 for PADCR and PADLF and
|
||
1 for PADTAB means no padding after carriage returns, linefeeds, and
|
||
tabs respectively. A value of 0 for PADTAB means the terminal is not to
|
||
tab at all. The maximum padding value is 7. (Try small values first).
|
||
A numerical value of a parameter should be followed by a period to
|
||
indicate decimal base (otherwise it is taken as octal).
|
||
|
||
ITS does not pad carriage returns or linefeeds unless you
|
||
specify it explicitly. TIPs, however, provide what is usually adequate
|
||
padding (2 pads for carriage return). If the padding for carriage
|
||
returns and line feeds on a terminal being used from a TIP seems
|
||
inadequate, it may be improved by resetting the padding value, or by
|
||
adding PADDED to its :TCTYP command. For example, a T.I. Silent 700
|
||
that is sometimes missing linefeeds may be improved by typing
|
||
|
||
:TCTYP TISILENT PADDED
|
||
|
||
This will slow down its input response a bit but will greatly improve
|
||
legibility.
|
||
|
||
A complete description of the :TCTYP program may be found by
|
||
typing
|
||
|
||
:PRINT .INFO.;TCTYP ORDER.
|
||
|
||
The normal response by the system to any :TCTYP command (except
|
||
DESCRIBE and HELP) is
|
||
|
||
:KILL
|
||
|
||
40
|
||
Introduction to ITS VIII. Terminals
|
||
|
||
|
||
In spite of the bloodthirsty look of this response, it does not destroy
|
||
any programs you may have running, but only indicates execution of the
|
||
command.
|
||
|
||
|
||
VIII.B. CRTSTY
|
||
|
||
For display terminals which are not handled directly by the
|
||
system there exists a program called CRTSTY. This provides the software
|
||
support to permit these terminals to take advantage of their display
|
||
characteristics. Among the terminals supported by CRTSTY are: ADM3's,
|
||
Concept 100's, Hazeltine 1500's, Perkins Elmer FOX's, Datamedias,
|
||
Control Data Corporation 713's, and a host of others. You should try
|
||
:INFO CRTSTY and :INFO TERMS to see if your terminal is included. If it
|
||
isn't, the maintainers of CRTSTY are usually willing to help you add it.
|
||
In the CRTSTY section of INFO the information you must provide to have a
|
||
new terminal supported is listed. You can communicate with the
|
||
maintainers of CRTSTY by sending mail to BUG-CRTSTY.
|
||
|
||
|
||
VIII.C. A Word About Keyboards
|
||
|
||
Unfortunately there is no standard ascii keyboard. There are
|
||
many various keyboard layouts, and in some cases certain ascii codes may
|
||
not be assigned to the same key on any two keyboards. Included here is
|
||
a chart which give the ascii codes in octal and decimal, and the various
|
||
printing characters most usually associated with them. These may be
|
||
helpful in trying to locate stray control characters on your console.
|
||
|
||
The keys usually most affected by the whim of the keyboard
|
||
designer are the control functions which in this document are called
|
||
"control-backarrow" (^_) and "control-uparrow" (^^). The first of these
|
||
is particularly useful on ITS for communicating (^_).
|
||
|
||
|
||
^_ On teletypes, the backarrow is the shift of the letter O, and on all
|
||
upper case terminals, this is the first thing to try. The backarrow
|
||
on more modern terminals is "underscore", so the key on your
|
||
keyboard which would be used to underline may turn out to be the
|
||
elusive "backarrow". A few consoles (notably the CDI Teleterm) have
|
||
the function of control-underscore on control-shift-zero.
|
||
|
||
DEC Consoles: Decwriters (LA36), Decscopes (VT50, VT52). The
|
||
backarrow on these consoles is the underline, which is the shift of
|
||
the dash, i.e. the fifth key from the right in the top row. On
|
||
VT100's it is control-?.
|
||
|
||
TIsilents. There are two main TI keyboard types. On one of them
|
||
there actually is a key with a backarrow on it in the top row of
|
||
keys, and it is the backarrow for "control-backarrow". On the other
|
||
control-backarrow is control-question-mark. If the obvious key on
|
||
your TI console does not work for control-backarrow, try control-
|
||
question-mark. On some TI's the key "US" ("underscore") is the key
|
||
to use for control-backarrow.
|
||
|
||
41
|
||
VIII. Terminals Introduction to ITS
|
||
|
||
|
||
^^ On teletypes the uparrow is the shift of the letter N. On all upper
|
||
case terminals that is the first thing to try. In other cases,
|
||
there seems to be no particular scheme for what the uparrow is. A
|
||
key with an arrow pointing up would be an obvious one to try. Some
|
||
keyboards indicate uparrow with a large circumflex or caret.
|
||
|
||
DEC Consoles. On LA36's, VT50's and VT52's, uparrow is the shift of
|
||
the number 6. On VT100's it is control-tilde.
|
||
|
||
TIsilents. On one of the TI keyboards, the uparrow is the uparrow,
|
||
and is located in the top row of keys. On the other, the control-
|
||
uparrow function is achieved with control-greater-than.
|
||
|
||
The table of translation of strange control-characters for the
|
||
TI silent variant keyboard is given here, in case any other console
|
||
types use it:
|
||
|
||
To get ^_ Type ^?
|
||
^^ ^>
|
||
^] ^=
|
||
^\ ^<
|
||
|
||
|
||
VIII.D. OCTPUS
|
||
|
||
There is a program called :OCTPUS (for OCToPUS) which will give
|
||
you the octal value of any character you type from your keyboard. This
|
||
will aid you in locating special characters which are eluding you. You
|
||
start it with :OCTPUS and type characters at it. ^Z will offer to
|
||
return you to DDT level, at which point it kills itself and leaves you
|
||
there.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
42
|
||
Introduction to ITS VIII. Terminals
|
||
|
||
|
||
ASCII CHAR LPT VALUE TRANS SAIL MEANING
|
||
|
||
null ^@ 000
|
||
control A 001 vl down arrow
|
||
control B 002 a_ alpha
|
||
control C (eof) ^C 003 b_ beta
|
||
control D 004 ^ logical and (caret)
|
||
control E 005 ~ logical not
|
||
control F 006 e_ epsilon
|
||
control G 007 n- pi
|
||
backspace ^H 010 ^\ lambda
|
||
tab ^I 011
|
||
line feed ^J 012
|
||
vertical tab ^K 013
|
||
form feed ^L 014
|
||
carriage return ^M 015
|
||
control N 016 %_ infinity
|
||
control O 017 @o del (partial deriv.)
|
||
control P 020 (_ subset of
|
||
control Q 021 )_ contains
|
||
control R 022 n^ intersection
|
||
control S 023 U_ union
|
||
control T 024 V- for all
|
||
control U 025 E| for some
|
||
control V 026 O+ exclusive or
|
||
control W 027 <> two-way arrow
|
||
control X 030 _ underbar
|
||
control Y 031 -> right arrow
|
||
control Z 032 Z- control Z (eof)
|
||
altmode $ 033 =/ not equal
|
||
control shift l 034 <_ less or equal
|
||
control shift m 035 >_ greater or equal
|
||
control shift n 036 =_ equivalent
|
||
control shift o 037 V_ logical or
|
||
|
||
space 040
|
||
exclamation point ! 041
|
||
double quote " 042
|
||
number sign # 043
|
||
dollar sign $ 044
|
||
percent sign % 045
|
||
ampersand & 046
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
43
|
||
VIII. Terminals Introduction to ITS
|
||
|
||
|
||
single quote ' 047
|
||
left parenthesis ( 050
|
||
right parenthesis ) 051
|
||
asterisk * 052
|
||
plus sign + 053
|
||
comma , 054
|
||
minus sign (dash) - 055
|
||
period . 056
|
||
slash / 057
|
||
zero 0 060
|
||
one 1 061
|
||
two 2 062
|
||
three 3 063
|
||
four 4 064
|
||
five 5 065
|
||
six 6 066
|
||
seven 7 067
|
||
eight 8 070
|
||
nine 9 071
|
||
colon : 072
|
||
semicolon ; 073
|
||
less than sign < 074
|
||
equal sign = 075
|
||
greater than sign > 076
|
||
question mark ? 077
|
||
at sign @ 100
|
||
capital A A 101
|
||
capital B B 102
|
||
capital C C 103
|
||
capital D D 104
|
||
capital E E 105
|
||
capital F F 106
|
||
capital G G 107
|
||
capital H H 110
|
||
capital I I 111
|
||
capital J J 112
|
||
capital K K 113
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
44
|
||
Introduction to ITS VIII. Terminals
|
||
|
||
|
||
capital L L 114
|
||
capital M M 115
|
||
capital N N 116
|
||
capital O O 117
|
||
capital P P 120
|
||
capital Q Q 121
|
||
capital R R 122
|
||
capital S S 123
|
||
capital T T 124
|
||
capital U U 125
|
||
capital V V 126
|
||
capital W W 127
|
||
capital X X 130
|
||
capital Y Y 131
|
||
capital Z Z 132
|
||
left bracket [ 133
|
||
backslash \ 134
|
||
right bracket ] 135
|
||
up arrow (caret) ^ 136 ^l up arrow
|
||
back " (underbar) _ 137 <- back arrow
|
||
accent grave ` 140
|
||
small a a 141
|
||
small b b 142
|
||
small c c 143
|
||
small d d 144
|
||
small e e 145
|
||
small f f 146
|
||
small g g 147
|
||
small h h 150
|
||
small i i 151
|
||
small j j 152
|
||
small k k 153
|
||
small l l 154
|
||
small m m 155
|
||
small n n 156
|
||
small o o 157
|
||
small p p 160
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
45
|
||
VIII. Terminals Introduction to ITS
|
||
|
||
|
||
small q q 161
|
||
small r r 162
|
||
small s s 163
|
||
small t t 164
|
||
small u u 165
|
||
small v v 166
|
||
small w w 167
|
||
small x x 170
|
||
small y y 171
|
||
small z z 172
|
||
left brace { 173
|
||
vertical bar | 174
|
||
right brace } 175 _ altmode
|
||
logical not ~ 176 } right brace
|
||
rubout 177
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
46
|
||
Introduction to ITS VIII. Terminals
|
||
|
||
|
||
VIII.E. TIP commands
|
||
|
||
Under certain circumstances it may be necessary to give
|
||
additional commands to the TIP. Frequently used ones are as follows:
|
||
|
||
@OPEN <number> Open connection to host whose number is give
|
||
|
||
@C Close TIP connection.
|
||
|
||
@D C E Device code extra padding, for terminals with a slow c
|
||
|
||
@D C A Device code ascii padding, to undo @D C E.
|
||
|
||
@E R Echo remote, prevents TIP from echoing.
|
||
|
||
@E A Echo all, allows TIP to echo.
|
||
|
||
@I L Insert linefeed after carriage returns.
|
||
|
||
@C I L Clear insert linefeed, nullify @I L
|
||
|
||
@T E 0 Enters one-character-at-a-time mode
|
||
|
||
@R Reset
|
||
|
||
@S A Y T Send Are You There, for those frustrating moments
|
||
when the system seems hung. If MC is "there" it
|
||
will answer "YES" (other systems may acknowledge
|
||
differently).
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
47
|
||
IX. Possible Problems Introduction to ITS
|
||
|
||
|
||
IX. Possible Problems
|
||
|
||
|
||
IX.A. Problems with your terminal
|
||
|
||
If the terminal is printing double or triple then it probably is
|
||
in half-duplex mode. If the terminal is capable of working in full
|
||
duplex then you should switch it to full duplex. If the terminal must
|
||
operate in half-duplex mode then the following procedure must be
|
||
performed. Type :TCTYP HALF followed by a carriage return. This will
|
||
prevent ITS from echoing (see VIII.A above). A note to people with
|
||
separate modems: your modem must also be set to full duplex. So if the
|
||
console is set to full duplex and things are still not right, check the
|
||
1
|
||
modem. If the terminal and modem are in full duplex mode and you are
|
||
getting still double printing, a good plan of action is to first type @E
|
||
R to cause the TIP to cease echoing, and then type :TCTYP followed by a
|
||
carriage return. If the type of terminal ITS thinks it is talking to
|
||
does not correspond to the type you have, then the appropriate :TCTYP
|
||
command should be selected from section VIII.A. If this fails to
|
||
improve the problem, see section VIII above for further suggestions.
|
||
|
||
If the terminal is apparently skipping characters, the TIP
|
||
command @T E 0 may help. This causes the TIP to transmit each character
|
||
separately (also slowly).
|
||
|
||
If your terminal does not line feed when the carriage return key
|
||
is struck, you may have to type a line feed after each carriage return.
|
||
|
||
VT100's should be set in "ascii" mode (local setup B) for use on
|
||
ITS. If you use a VT100 and its behavior is odd, check first that it is
|
||
not in "ansi" mode.
|
||
|
||
|
||
IX.B. Problems with the system
|
||
|
||
The problems you may encounter fall into two major categories:
|
||
1) your typing appears on the console, but the system either doesn't
|
||
respond or it gives you an error message, or 2) your typing does not
|
||
appear on the console, or you get a message such as ITS IS DOWN (if you
|
||
are on a dialup line) or HOST NOT RESPONDING or HOST DEAD (if you are
|
||
using a TIP)
|
||
|
||
|
||
|
||
|
||
|
||
_______________
|
||
1. A further anecdote: my own modem has its duplex switch next to the
|
||
on/off switch and both are on the back of the modem. I reach around to
|
||
the back of the modem to turn it off, and every so often I get the wrong
|
||
switch, which may not always be apparent until I log in again and suffer
|
||
from double echo. Now of course I KNOW that I have my console set to
|
||
full duplex... how the mighty are fallen.
|
||
|
||
48
|
||
Introduction to ITS IX. Possible Problems
|
||
|
||
|
||
IX.C. If Your Typing Appears
|
||
|
||
The fact that your typing appears indicates that the system is
|
||
still operating, so you should first make sure you know what program you
|
||
are in. A simple way to do this is to type ^Z and then :LISTJ (see
|
||
Section III.B). PEEK may also be used (see Section VI.C). If ^Z brings
|
||
no response, it may be that you are already at DDT level, but your DDT
|
||
is hung. Try ^G to unhang it. Sometimes the system will be heavily
|
||
loaded and the response will therefore be slow. Waiting a couple of
|
||
minutes and trying ^G again often works.
|
||
|
||
A common problem is characterized by the error message JOB?
|
||
This means that there is no current job, so the system can not execute
|
||
your commands such as :KILL or :CONTIN, which refer to the current job.
|
||
You will have no current job, of course, if you have not yet loaded one,
|
||
or under certain circumstances following error messages or ^G's to quit
|
||
out of certain commands. If you type :LISTJ you will see something like
|
||
this:
|
||
|
||
MACSYM P 15
|
||
*
|
||
Notice that the * which should be opposite the current job, is not. (If
|
||
you have no jobs, the only print out from :LISTJ will be *, of course).
|
||
The solution is once again fairly simple: type :JOB and then retype your
|
||
original command.
|
||
|
||
Another common problem, especially in the afternoons when the
|
||
system is loaded, is characterized by the message SYSTEM FULL?. When
|
||
this happens, it means that your attempt to start up a job was
|
||
unsuccessful because the system couldn't hold any more jobs. This is
|
||
usually a temporary phenomenon, so just waiting and trying again in a
|
||
minute or so will usually work. If you already have one job, and you
|
||
fail in loading a second, when you decide to go back to your original
|
||
job you may find yourself in the situation described in the previous
|
||
paragraph. Type :JOB, and all will be well.
|
||
|
||
Sometimes if a job which is running gets interrupted, for
|
||
instance your login init trying to run when the system is full, or a
|
||
MACSYMA SAVE command trying to write out to a directory which is full,
|
||
you will see the message :INPUSH. You can tell the job to continue from
|
||
this halt (if the cause was a full directory, you had best clean up your
|
||
files a bit, or if it is a USERSn directory, ask someone at MIT to clean
|
||
up the directory for you, first) by typing :INPOP<cr>.
|
||
|
||
Misspelling or other typographical errors will, of course, cause
|
||
problems. The response ?? at DDT level is not an error message, but
|
||
only a response to extra rubouts or extra ^Z's. It means that DDT is
|
||
waiting for you to type the next command. The error message ?U? means
|
||
that the system did not understand what you typed and ignored it. The
|
||
message OP? means that you typed a stray altmode (or one too few) in a
|
||
short form command. Sequences of apparently random numbers, e.g.
|
||
-137,,2640, are not error messages, but the contents of certain memory
|
||
locations which you have accidently opened for inspection. This happens
|
||
|
||
|
||
49
|
||
IX. Possible Problems Introduction to ITS
|
||
|
||
|
||
because DDT is also a debugging language, as well as a monitor for
|
||
program control. Certain keys, notably linefeed, uparrow, backarrow,
|
||
semi-colon and slash (there are others) are specially interpreted by
|
||
DDT. If you type one of these, under certain circumstances it will
|
||
print out what appears to be gibberish. This does no harm, but for
|
||
everyone's peace of mind do not type sequences of linefeeds to advance
|
||
your paper, for example. If you see some of these numbers (and
|
||
occasionally assembly language instructions such as MOVEI), just type a
|
||
carriage return, which will close the location, making it impossible for
|
||
you to accidently "write" anything into a random memory location. After
|
||
you have typed the carriage return, you are ready to retype whatever
|
||
command you had started before the numbers were printed out.
|
||
|
||
A syntactically correct but otherwise inoperable "command" (e.g.
|
||
one that is misspelled) will produce the message:
|
||
|
||
DSK:<login name>;TS <command> NON-EXISTENT...
|
||
|
||
which only means that the system was trying to locate a program called
|
||
whatever you typed. Retyping the command is all that need be done in
|
||
any of these cases (with due attention to spelling). If, in spite of
|
||
care with spelling and syntax, you are still not receiving the response
|
||
you expect, refer to section III.G for how to communicate with someone
|
||
in the Mathlab group who can help you.
|
||
|
||
If you feel you are hopelessly "lost" there is a program called
|
||
LUSER which will send a message requesting help for you. All you have
|
||
to do is type :LUSER (followed by a carriage return, of course).
|
||
|
||
If at any time you happen to receive the error message
|
||
|
||
DDT BUG, PLEASE DO :BUG DDT ....
|
||
|
||
|
||
it means that DDT has detected a bug in itself. You should tell the
|
||
systems programmers exactly what commands you gave, and what DDT's
|
||
response was. To do this type
|
||
|
||
:BUG DDT <your info> ^C
|
||
|
||
|
||
IX.D. If Your Typing Does Not Appear
|
||
|
||
If your typing does not appear on your console then either you
|
||
got disconnected or the computer has crashed. If the terminal or
|
||
dataset is equipped with a light indicating whether the connection is
|
||
still in force, check it. You can try typing ^_ (control-backarrow, as
|
||
for initiating links) followed by rubout (or delete), and if the system
|
||
does not respond ^_? then it is indeed down.
|
||
|
||
A TIP or Telnet Server will usually give some message indicating
|
||
that the host computer has crashed, e.g., HOST NOT RESPONDING or HOST
|
||
DEAD. Wait ten minutes and try to log in again. If you are not sure
|
||
|
||
|
||
50
|
||
Introduction to ITS IX. Possible Problems
|
||
|
||
|
||
who is dead, try @S A Y T (@Send Are You There). MC will say "YES" if
|
||
it is still up. If it doesn't answer "YES", then you should try to
|
||
connect again.
|
||
|
||
If you are on a dialup line, the system may type out ITS IS
|
||
DOWN. You need only wait and in ten or fifteen minutes the system will
|
||
either print the message MC ITS REVIVED! or the message MC ITS nnnn IN
|
||
OPERATION. In the former case, you can continue from where you left
|
||
off, and in the latter you must type ^Z and log in again. Note to 1200
|
||
baud users: When you are using a 1200 baud line, the "ITS IS DOWN"
|
||
message will print if the system crashes, but when it comes back up it
|
||
will not print "MC ITS .... IN OPERATION" but will print some random
|
||
garbage characters, usually a row of X's. This is because our 1200 baud
|
||
lines are actually variable speed lines, and when initialized after a
|
||
system crash do not seek the carrier at 1200 baud. You must then hang
|
||
up and dial again. It is worth while to remain connected until you see
|
||
the line of X's, however, so you know that the system is back up.
|
||
|
||
If, when you log back in after such a crash, you receive the
|
||
message --ATTACH YOUR DETACHED JOB--, it means that you were not logged
|
||
out by the system and can return to your job and continue from where you
|
||
were interrupted. The way to do this is very simple; just depress the
|
||
space bar once. This will set off a sequence of events which will
|
||
result in restoring the "detached job". The following sequence of
|
||
statements will be printed:
|
||
|
||
HACTRO$J! : $ REOWNED $
|
||
* :ATTACH
|
||
|
||
Notice that you do not type any of this; the system does it for you. At
|
||
this point you are right back where you were before the interruption.
|
||
If you are not sure where you were, type ^Z and then :LISTJ, as
|
||
described in Section III.B, above. Warning: do not type :ATTACH
|
||
yourself, without being VERY SURE you know what you are doing or you
|
||
will regret it!
|
||
|
||
Since network connections can on occasion be somewhat
|
||
unreliable, you may sometimes find your connection breaks. When you log
|
||
back in under these circumstances, the computer will not have crashed,
|
||
and your old jobs will still be there. There are two possibilities:
|
||
|
||
|
||
1. Your jobs were detached and you get the --ATTACH YOUR DETACHED
|
||
JOB?--message. In this case proceed as above.
|
||
|
||
2. When you type :LOGIN <login name>, the system types back <login
|
||
name>$0U <login name>$$^S. This means that while your connection
|
||
was broken, you were not detached. At this point you are logged in
|
||
twice. To get back to your previous jobs you say
|
||
:REATTACH <login name>/K
|
||
and your previous jobs will be attached to your current console.
|
||
|
||
Occasionally when you attempt to answer the --ATTACH YOUR DETACHED JOB?-
|
||
|
||
|
||
51
|
||
IX. Possible Problems Introduction to ITS
|
||
|
||
|
||
-message, you may be unable to type a space, or you might not want to
|
||
type a space. You may be unable to type a space if your phone
|
||
connection is very noisy and a spurious character is transmitted before
|
||
you hit the space bar. You might not want to attach your detached job
|
||
immediately if you have an INIT which initializes your line to some
|
||
particular terminal type (in that case you want to run your LOGIN INIT
|
||
file before recovering your jobs). In any case, having typed (or had
|
||
typed for you by the phone line) a <carriage return> or other character,
|
||
you will see the message
|
||
|
||
LEFT DETACHED?
|
||
|
||
You may still reclaim your old job, however. When you are ready to do
|
||
so, proceed as in case 2 above, i.e. type
|
||
|
||
:REATTACH <login name>/K
|
||
|
||
If after trying all these things, you are still having trouble do not
|
||
hesitiate to contact someone in the Mathlab group.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
52
|
||
DDT Command Index
|
||
|
||
|
||
Index of DDT Commands
|
||
|
||
Entries in bold face type refer to most complete explanation.
|
||
Command Short form Function
|
||
|
||
:? lists DDT commands 18
|
||
:A A^K loads MACSYMA, 6
|
||
:CONTIN $P re-enter a job, 11
|
||
:CONTINUE re-enter a job, 12, 13
|
||
:COPY copies specified file 23
|
||
:DELETE ^O deletes a file 24
|
||
:DETACH disconnects but keeps jobs 13
|
||
:DISOWN disowns current job 13
|
||
:FIND locates files 24
|
||
:HSNAME finds your home directory 20
|
||
:INQUIR registers Users 8
|
||
:JOB $J selects job, 12, 13
|
||
:KILL $^X. kills current job, 12
|
||
:LISTF ^F lists a directory 21
|
||
:LISTJ $$V lists your jobs, 11, 49
|
||
:LOGIN $U logs you into system, 6
|
||
:LOGOUT $$U logs you out of system, 7
|
||
:MACSYM MACSYM^K loads MACSYMA, 6, 10
|
||
:MAIL sends mail 14
|
||
:MAIL MACSYM sends MACSYMA Mail 18
|
||
:MOVE moves a file 23
|
||
:NAME NAME^K loads NAME 36
|
||
:P P^K loads PEEK 36
|
||
:PEEK PEEK^K loads PEEK 36
|
||
:PEEK J P^KJ loads PEEK 37
|
||
:PRINT ^R prints out a file 24
|
||
:PRMAIL prints out Mail 17
|
||
:PRMAIL MACSYM prints out MACSYMA Mail 18
|
||
:PROCEED ^P leaves a job running, 11
|
||
:PRSENDS Prints out messages sent to you 16
|
||
:RENAME renames a file 23
|
||
:SEND sends one-way message 14
|
||
:SHOUT sends message to all logged in users 17
|
||
:T T^K loads TECO 27
|
||
:TCTYP adjusts line to your console, 40, 48
|
||
:TCTYP HELP explains :TCTYP, 40
|
||
:TCTYP HALF for half-duplex consoles, 48
|
||
:TCTYP STANDARDIZE standardizes altmode, 10
|
||
:TEACHE Starts EMACS tutorial 27
|
||
:TEACHM Starts MACSYMA Primer 7
|
||
:TECO TECO^K loads TECO 27
|
||
:TIME TIME^K gives current time 37
|
||
:USERS lists current users 14
|
||
:WHOIS WHOIS^K loads WHOIS 36
|
||
|
||
^C terminates messages 14
|
||
^D aborts type-in of a command, 13
|
||
^G stops execution of a command, 13
|
||
^H selects and re-enters job 12
|
||
|
||
53
|
||
DDT Command Index
|
||
|
||
|
||
^S stops printout, 13, 13
|
||
^X defaults the first file name 25
|
||
^Y defaults second file name 25
|
||
^Z gets you to system command level 10, 11, 49
|
||
^_C initiate two-way communication 15
|
||
^_N terminates two way communication 15
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
54
|
||
General Index
|
||
|
||
|
||
Index
|
||
|
||
<login name>$$^F 23 Filing 30
|
||
FIND 24
|
||
:INPOP 49
|
||
:INPUSH 49 Grim File Reaper 22, 31
|
||
GT40 40
|
||
@S A Y T 51
|
||
HACTRN 10
|
||
account 3 half-duplex mode 48
|
||
account application 3 Hazeltine 41
|
||
ADM3 41 home directory 20
|
||
altmode 9 HOST DEAD 48, 50
|
||
Altmode 10 HOST NOT RESPONDING 48, 50
|
||
altmode 25 host number 4
|
||
APROPOS(string); 7 HP2640 40
|
||
assistance 14
|
||
IMLAC 40
|
||
BACKUP TAPE 21 INFO 39
|
||
BUG-CRTSTY 41 INIT 8
|
||
INQUIR 3, 8
|
||
check on your status 36 INQUIR entry 8
|
||
Concept 100 41 interrupt message 11
|
||
Control characters 6 ITS IS DOWN 48, 51
|
||
Control Data Corporation 713 41
|
||
control-backarrow 15, 41 JOB? 49
|
||
control-underscore 15 jobs 11
|
||
control-uparrow 41
|
||
CRTSTY 41 keyboard 41
|
||
|
||
Datamedia 41 line length 40
|
||
DATAPOINT 40 list a directory 31
|
||
DDT commands 10 listing of a file 24
|
||
defaults 25 login name 3
|
||
DEMO directory 38 LUSER 50
|
||
DESCRIBE(command); 7
|
||
dialup line 3, 48, 51 MACSYMA mail 18
|
||
Dialup protocol 5 MAIL 14, 17
|
||
directories 20, 24, 30 Manual 1
|
||
, 30 Messages 17
|
||
disowned job 13, 37 MIT-MC 4
|
||
monitor 10
|
||
echoing 48
|
||
editing commands 29 NAME 36
|
||
EMACS 27, 27
|
||
error messages 49 octal value of any character 42
|
||
escape 10 OCTPUS 42
|
||
EXAMPLE(command); 7 OMRON 40
|
||
EXECUPORT 40 on-line PRIMER 6
|
||
OPTIONS(); 7
|
||
FILE NOT FOUND message 38
|
||
FILE-RETRIEVE 22 PADCR 40
|
||
Files 20 padding 40
|
||
|
||
|
||
55
|
||
General Index
|
||
|
||
|
||
|
||
|
||
PADLF 40
|
||
PADTAB 40
|
||
PAGESIZE 40
|
||
password 3
|
||
PEEK 36
|
||
Perkins Elmer FOX 41
|
||
Primer 1
|
||
PRIMER(); 6
|
||
printing double 48
|
||
PRMAIL 17
|
||
problems 48
|
||
PRSENDS 16
|
||
|
||
Query mode 15
|
||
question marks 18
|
||
Quit commands 13
|
||
|
||
REATTACH 51
|
||
rename a file 23
|
||
RMAIL 18
|
||
|
||
SEND(); 7
|
||
SENDS 16
|
||
SHARE directory 38
|
||
SHOUT 17
|
||
skipping characters 48
|
||
SYSTEM FULL? 49
|
||
|
||
TECO 27
|
||
TEKTRONIX 40
|
||
TELETYPE 40
|
||
Terminal Interface Processor 3
|
||
terminal types 40
|
||
TERMINET 40
|
||
TI keyboard 41
|
||
TIME 37
|
||
TIP 3, 7, 36, 40, 48, 50
|
||
TIP protocol 5
|
||
TISILENT 40
|
||
|
||
update file 18
|
||
USER-ACCOUNTS 3
|
||
USERSn directory 22, 24
|
||
USERSi directory 30, 31
|
||
|
||
VT100 48
|
||
VT52 40
|
||
|
||
WHOIS 36
|
||
|
||
|
||
|
||
|
||
56
|
||
|