Documente Academic
Documente Profesional
Documente Cultură
Introduction to VOS
UNLESS EXPRESSLY SET FORTH IN A WRITTEN AGREEMENT SIGNED BY AN AUTHORIZED REPRESENTATIVE OF STRATUS
COMPUTER, INC., STRATUS MAKES NO WARRANTY OR REPRESENTATION OF ANY KIND WITH RESPECT TO THE
INFORMATION CONTAINED HEREIN, INCLUDING WARRANTY OF MERCHANTABILITY AND FITNESS FOR A PURPOSE. Stratus
Computer, Inc., assumes no responsibility or obligation of any kind for any errors contained herein or in connection with the furnishing,
performance, or use of this document.
Software described in Stratus documents (a) is the property of Stratus Computer, Inc., or the third party, (b) is furnished only under license, and (c)
may be copied or used only as expressly permitted under the terms of the license.
Stratus manuals document all of the subroutines and commands of the user interface. Any other operating-system commands and subroutines are
intended solely for use by Stratus personnel and are subject to change without warning.
This document is protected by copyright. All rights are reserved. No part of this document may be copied, reproduced, or translated, either
mechanically or electronically, without the prior written consent of Stratus Computer, Inc.
Stratus, the Stratus logo, Continuum, VOS, Continuous Processing, StrataNET, FTX, and SINAP are registered trademarks of Stratus Computer, Inc.
XA, XA/R, Stratus/32, Stratus/USF, StrataLINK, RSN, Continuous Processing, Isis, the Isis logo, Isis Distributed, Isis Distributed Systems,
RADIO, RADIO Cluster, and the SQL/2000 logo are trademarks of Stratus Computer, Inc.
Revision Information
This is Revision 1 of the Introduction to VOS (R001). It documents the VOS software
available with VOS Release 5.0.
This manual contains many major changes from the original manual. The following are
changes in the manual’s organization and content:
• Tables have been added in Chapter 2 that describe the special keys for entering
commands on the keyboards of both the Stratus Model V101 Terminal and the Stratus
Model V102 Terminal. Illustrations of both keyboards have been added.
• Processes, subprocesses, the help command, prelogin commands, command lines, and
command functions are discussed in new subsections in Chapter 2. The arguments of
the login command have been added to the discussion of logging in.
• Subsections on file organization and access codes for files and directories have been
added in Chapter 3.
• The arguments of the print command have been added in Chapter 4 to illustrate the
CRT form of a command. Brief descriptions of other commonly used VOS commands
show the lineal form of a command.
• New text describes requests for creating, modifying, and saving documents in the VOS
Word Processor. Chapter 5 also contains tables of special editing keys on both the
Stratus Model V101 Terminal and the Stratus Model V102 Terminal.
• A section on the text editor VOS Emacs has been added to this manual. Chapter 6
describes Emacs requests for basic editing and file management tasks. Summary tables
are included.
• All six VOS programming languages are now included in Chapter 8, as well as a new
explanation of the bind command.
Manual Organization
This manual has nine sections and a glossary.
Chapter 4 describes VOS command names, command formats, and some VOS
commands.
Chapter 5 presents some of the most commonly used editing requests in the VOS Word
Processor.
Chapter 6 presents some of the most commonly used editing requests in VOS Emacs.
Chapter 8 describes the steps for creating, compiling, binding, and executing a
program.
Chapter 9 describes the use of two commands for doing work in noninteractive
processes.
Notation
Stratus documentation uses computer font to represent text that would appear on your CRT
screen or on a line printer. (Such text is referred to as literal text.) For example:
Slanted font is used to represent general terms that are to be replaced by literal values. In the
following example, the term file_name shows that the user must supply an actual file name.
print file_name
Italics are used for new terms when they are introduced and defined. For example:
iv Preface
Preface
Related Manuals
• VOS Commands Reference Manual (R098)
• VOS Commands User’s Guide (R089)
• VOS Reference Manual (R002)
• How to Use the VOS Word Processor (R022)
• VOS Word Processing User’s Guide (R006)
• VOS Emacs User’s Guide (R093)
Stratus welcomes any corrections and suggestions for improving this manual.
vi Preface
Contents
viii Contents
Contents
6. Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Concepts and Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
The <CTRL> and <ESC> Keys . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
The Point of the Cursor. . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Terms You Should Know . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Creating, Editing, and Saving Files . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Calling Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Entering Only the Command . . . . . . . . . . . . . . . . . . . . . . 6-5
Entering the Command with a File Name . . . . . . . . . . . . . . . . . 6-5
Entering the Command and Then the find_file Request . . . . . . . . . . 6-5
Entering Text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5
Moving the Cursor One Position . . . . . . . . . . . . . . . . . . . . . . . 6-6
Moving Left and Right . . . . . . . . . . . . . . . . . . . . . . . . 6-6
Moving Up and Down. . . . . . . . . . . . . . . . . . . . . . . . . 6-6
Deleting and Inserting Characters. . . . . . . . . . . . . . . . . . . . . . . 6-6
Inserting a Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Using Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Canceling an Incomplete Request. . . . . . . . . . . . . . . . . . . . . . . 6-7
An Alternate Way to Enter Requests . . . . . . . . . . . . . . . . . . . . . 6-7
Saving Text in a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Quitting Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Summary of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
x Contents
Contents
7. Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
First Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Subsequent Directives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
All Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
8. Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Creating a Source Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
Compiling a Source Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Binding an Object Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
Executing a Program Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossary-1
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index-1
xii Contents
Tables
Table 2-1. Special Keys for Entering Commands on the Main Keyboard . . . . . . . . . . . 2-5
Table 2-2. Function Keys for Entering Commands . . . . . . . . . . . . . . . . . . . . 2-7
Table 3-1. File Access Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Table 3-2. Directory Access Codes . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Table 5-1. Special Keys for Editing (Stratus Model V101 Terminal) . . . . . . . . . . . . . 5-2
Table 5-2. Special Keys for Editing (Stratus Model V102 Terminal) . . . . . . . . . . . . . 5-5
Table 5-3. Numeric Key Pad Keys with Special Uses . . . . . . . . . . . . . . . . . . . 5-6
Table 6-1. Keystroke Representations in this Section . . . . . . . . . . . . . . . . . . . 6-2
Table 6-2. Summary of Basic Editing Requests . . . . . . . . . . . . . . . . . . . . . 6-9
Table 6-3. Summary of Requests for Cursor Movement and Scrolling . . . . . . . . . . . . 6-11
Table 6-4. Summary of Requests for Managing Files . . . . . . . . . . . . . . . . . . . 6-13
Table 6-5. Summary of Requests for Editing Text . . . . . . . . . . . . . . . . . . . . 6-19
Table 6-6. Summary of Requests for Using Multiple Buffers . . . . . . . . . . . . . . . . 6-24
Table 6-7. Summary of Requests for Interfacing with VOS. . . . . . . . . . . . . . . . . 6-26
Table 8-1. Programming Language Suffixes . . . . . . . . . . . . . . . . . . . . . . 8-1
xiv Figures
Chapter 1:
Overview of the Stratus Continuous Processing System 1-
The Stratus Continuous Processing System is a computer system consisting of between 1 and
32 modules. The modules can operate either separately or in a group.
A system comprising several modules can form a local area network, using StrataLINK cable.
A system can also be connected to multiple systems to form a long distance network, using
X.25 Virtual Circuits or StrataNET lines.
This manual focuses on interaction between a user and a single system. Information on
interaction with multiple systems can be found in the manual VOS Communications Software:
StrataLINK, StrataNET, X.25, and X.29 (R028).
Interactive Processing
The Stratus computer system is both interactive and time-sharing. When you log in, the
Virtual Operating System (VOS) creates a work space for you in which to use the resources
of the computer system. This work space is called your interactive process. When you enter
a command from your terminal, VOS responds immediately. It either executes your command
or asks you for more information. You respond to a question on the screen by typing an
answer.
VOS apportions its resources among many users. The central processing unit runs your
programs part of the time, and the rest of the time it executes other users’ programs or does
work for VOS.
If the command you enter will take a long time to execute, you can put it in a batch queue.
VOS creates a separate, noninteractive process in which it executes the command. VOS may
execute it either while you are working in your interactive process or at a later time after you
log out.
This manual is mainly about working in interactive processes. Interactive processes are suited
to tasks that VOS can carry out quickly. Tasks that require a long time to process are best
carried out by VOS as noninteractive processes. The last section is about working in
noninteractive processes.
• Using a terminal
Using a Terminal
You interact with VOS by typing instructions on a keyboard and viewing a display of your
input and the system output on a screen.
This manual documents interaction with VOS on both the Stratus Model V101 Terminal and
the Stratus Model V102 Terminal. If you are using any other terminal, you may need to refer
to the instructions that apply to it.
To turn on the power, be sure that the terminal is plugged into an electrical outlet, and press
the toggle switch. On the Stratus Model V101 Terminal, the switch is located on the lower
left corner at the rear. On the Stratus Model V102 Terminal, the switch is located on the lower
right corner at the front.
To turn off the power, press the toggle switch in the opposite direction.
The Screen
The screens of both the Stratus Model V101 Terminal and the Stratus Model V102 Terminal
contain 80 columns and 25 lines.
When you turn on the terminal, a solid rectangular block called the cursor appears, marking
the location where VOS will begin to display the characters you type. When the characters
appear on the screen, the cursor moves to the right.
The twenty-fifth line of the screen, at the bottom, is reserved for messages from VOS.
The Keyboard
The keyboards of both Stratus terminals are similar, except for the location and purpose of
several keys. Both terminals have:
See Figure 2-1 for an illustration of the keyboard of the Stratus Model V101 Terminal. See
Figure 2-2 for an illustration of the keyboard of the Stratus Model V102 Terminal.
WORD TAB WINDOW LINE PARA- SCROLL SEARCH REPEAT MENU CHANGE SAVE INSERT DELETE COLUMN MARK SHORT- CYCLE CANCEL DISPLAY
– STOP GRAPH CASE SAVED HAND FORM
—
tx001
2-3
REDISP
* Shaded areas signify shifted keys SYSRQ ATTN RESET
F16 F17 F18
PF13 PF14 PF16 EXIT HOME
PF15 PF17 PF18 PF19 PF20 PF21 PF22 PF23 PF24 PA1 PA2
CLEAR ERINP EREOF INSERT
PF1 PF2 PF3 PF4 PF5 PF6 PF7 PF8 PF9 PF10 PF11 PF12 FDMK DUP PRINT
F19 F20 F21 F22
2-4
Using a Terminal
The purpose of the special keys, which have an arrow or one or more words on the face of
each key, varies according to
• whether you are using a Stratus Model V101 Terminal or a Stratus Model V102
Terminal.
When you enter a command, you type an instruction that causes VOS to execute a program.
To enter a command, you must be at command level. This means that VOS must be ready to
receive the instruction.
Table 2-1, which follows, explains the purpose of each of the special keys when you are
entering commands on either the Stratus Model V101 Terminal or the Stratus Model V102
Terminal. The tables found in Chapter 5, “The VOS Word Processor,” and Chapter 6,
“Emacs,” explain the purposes of these keys when you are working with text files.
1
Table 2-1. Special Keys for Entering Commands on the Main Keyboard (Page 1 of 2)
Key Function
<ALPHA_LOCK> Shifts the keyboard to upper-case letters and back to lower-case letters
without affecting the numeral and symbol keys.
<BACK_SPACE> Deletes the character to the left of the cursor.
<BREAK> Pressed simultaneously with <CTRL>, takes your process to break level.
<CTRL> Combines with the <BREAK> key to take your process to break level.
On the Stratus Model V101 Terminal, combines with some function keys
to perform the requests named in the top row of the template.
<DEL> Deletes the character at the cursor location without moving the cursor.
Characters to the right of the cursor move one position to the left.
<¯> Moves the cursor, one line at a time, from the top to the bottom of a CRT
form within a column of arguments.
Table 2-1. Special Keys for Entering Commands on the Main Keyboard (Page 2 of 2)
Key Function
<¬> Moves the cursor one position to the left.
Combined with <GO_TO>, moves the cursor to the beginning of the line.
<RETURN> Executes the commands you enter.
Saves your input in buffers, or work areas. You can retrieve the input
with the function keys <INSERT_SAVED> and <INSERT_DEFAULT>.
Combined with <GO_TO>, moves the cursor to the end of the line.
<Shift> Shifts the keyboard to upper case and to the symbols shown on the upper
half of the faces of the numeral and symbol keys.
The keys <PRINT>, <FUNCT>, and <ESC> on the Stratus Model V101 Terminal are not used in
entering commands. The same is true for the keys <PRINT>, <FUNCT>, and <LOC_ESC_ESC> on the
Stratus Model V102 Terminal. If you accidentally press the <ESC> or <LOC_ESC_ESC> key, this
may cause the terminal to beep.
The <STATUS> key replaces whatever is on the twenty-fifth line of the screen with information
about system performance.
Pressing the <ENTER> key enters the command you type in either the CRT or lineal form. (See
the Introduction to this manual for an explanation of both command forms.)
Pressing the <ENTER> key saves your input in a buffer. You can retrieve the input by pressing
the <INSERT_SAVED> key.
The numeric key pad of the Stratus Model V102 Terminal has several special keys in addition
to the numeric keys. A <TAB> key duplicates the action of the <TAB> key on the main keyboard.
The key marked <CE> (“Clear Entry”) on this terminal is used in the VOS Word Processor.
• On the Stratus Model V101 Terminal, these keys are numbered <F0> through <F18>.
• On the Stratus Model V102 Terminal, these keys are numbered <F0> through <F22>.
Most of the function keys are used for working in the VOS Word Processor and are described
in Chapter 5 , “The VOS Word Processor.” Those that are used for entering commands are
shown in Table 2-2, which follows.
2
Key Function
<CANCEL> Cancels the display of a CRT or lineal form of a command and returns
you to command level.
<CHANGE_CASE> When used in the sequence <WORD> <CHANGE_CASE> <−>, with the cursor
located anywhere in the word, changes all the letters from lower to upper
case. Used also in the sequence <WORD> <CHANGE_CASE> <¯>.
<CYCLE> Displays another in the possible set of values for those items in the CRT
form that have a set of predefined values.
<CYCLE_BACK> Displays another in the possible set of values for an item in the CRT form
that has a set of predefined values. <CYCLE_BACK> displays the values in
reverse order from <CYCLE>.
<DELETE><¬> Deletes all characters on the current line to the left of the cursor location.
<DELETE><®> Deletes all characters on the current line to the right of the left edge of the
cursor.
<DISPLAY_FORM> Displays the CRT form of the command you type.
<INSERT_DEFAULT> In the lineal form, displays the characters you typed before the last time
you pressed <RETURN>.
<INSERT_SAVED> In the lineal form, displays the characters you typed before the last time
you pressed either <RETURN> or <ENTER>.
<INTERRUPT> (On the Stratus Model V101 Terminal, press <CTRL> <F0>) If pressed while
a CRT form is displayed, creates a subprocess.
Key Function
<WORD> In the sequence <WORD> <CHANGE_CASE> <−>, with the cursor located
anywhere in the word, changes all the letters from lower to upper case.
Used also in the sequence <WORD> <CHANGE_CASE> <¯>.
When you press <RETURN>, your input is saved in buffers. You can retrieve the input by
pressing the <INSERT_SAVED> or <INSERT_DEFAULT> key.
When you press <ENTER>, your input replaces the input you saved in a buffer the last time you
pressed <RETURN>. You can retrieve the input you just saved with <ENTER> by pressing
<INSERTSAVED>. You can still retrieve the previous input you saved the last time you pressed
<RETURN> by pressing <INSERT_DEFAULT>.
help <RETURN>
Internal Commands:
display_current_module(prelogin) list_modules(prelogin)
display_date_time(prelogin) list_systems(prelogin)
display_line(prelogin) login(prelogin)
help
External Commands in %s1#d01>system>commands_library:
lnp.prelogin.cm
To use any of these commands, type the command and press <RETURN>. For example:
display_date_time <RETURN>
Registration
Before you can log in on the Stratus computer, your system administrator must enter certain
information for you in the system registration file. This file contains information such as the
following about each individual who uses the system:
• a person name
• a password (required for some systems)
• a group name
Your person name is the name by which you are known on the system. If your name is Susan
Smith, for example, your person name could be Smith. You can also log in with an alias,
which is an alternative, short form of your person name, assigned in the registration file.
Your password is a name of up to eight characters by which you further identify yourself on
the system. If your system requires a password, the system administrator will give you one.
If you wish, you can change your initial password by logging in with the
-change_password option.
Your group name is the name of the group of users to which you are assigned. Assigning users
to groups helps in allocating the system resources and controlling access to files and
directories. To use the system, you must be in at least one group. Susan Smith, for example,
might be in a group named Sales.
Your person name and group name are combined, separated by a period, to form your user
name. The user name of Susan Smith, for example, would be Smith.Sales.
Once you are registered on the system, you can log in on the computer.
Logging in
To gain access to the computer system you enter the command login. You can log in using
either the lineal form or the CRT form of the command. Both forms are demonstrated in this
section.
When you turn on the terminal, a login message appears on the screen. You type the login
command below this message, which is similar to:
• the computer
The module is identified by the system name, preceded by the percent sign (%), and the
module name, preceded by the pound sign (#).
The second line invites you to log into the Stratus computer. It also displays the current hour,
minute, and second in a six-digit figure.
If your computer requires a password, VOS asks you for it with the prompt
Password?
As you type, the confidentiality of your password is protected; the characters do not appear
on the screen. To enter your password, press <RETURN>.
To correct a typing error that you notice before you press <RETURN>, use the <DEL> or
<BACK_SPACE> key or any other appropriate editing request shown in Table 2-1.
If you press <RETURN> without correcting a typing error, VOS displays a message asking you
to try again.
After you enter the required information, VOS displays a message similar to the following:
The second line displays the word ready, indicating that VOS is at command level and is
ready to receive your commands. The time is also displayed.
login <DISPLAY_FORM>
Display Form
------------------------------------ login -------------------------------------
user_name:
-privileged: as registered
-password:
-change_password: no
-priority:
-home_dir:
-module: ''
-subsystem:
Each of the terms displayed at the left margin is an argument. The space to the right of the
argument is called a field. You enter the value of an argument in its field. A term already
displayed in a field is the default value for the argument. The display of a field in inverse
video indicates that the argument is required and that you must supply a value.
You can move the cursor from field to field by pressing the <RETURN>, <TAB>, <¯>, or <−> key.
You can choose values of the eight arguments of the login command as follows:
Argument Description
user_name For this argument, type your person name or your alias in the field
displayed in inverse video.
-privileged If you use the default value as registered, VOS uses the definition
of privilege that is specified for you in the registration file. If you
switch to the value yes by pressing the <CYCLE> key but do not have
privileged status, VOS uses the definition specified for you in the
registration file.
-password If your system requires a password, type it here. If you do not type
it, VOS asks you for it when you enter the command. When you
type the password, VOS does not display the characters.
-change_password To change your password, use the -change_password argument;
switch to the value yes by pressing the <CYCLE> key. After you enter
the command, VOS prompts you twice for the the new password.
If your answers to the two prompts match, VOS changes your
password. You must use the new password the next time you log
in.
Argument Description
-priority The priority level at which you log in defines when your process
can run in relation to other active processes, such as those of other
users, as the computer allocates its resources. You can change your
priority by typing a number that is no greater than the maximum
priority defined for you in the registration file. The range of
priorities that VOS recognizes is 0 through 9.
-home_dir With this argument, you can name any directory in your system as
your home directory. If you do not give a value for this argument,
VOS uses your default home directory.
-module With this argument, you can elect to work on a module other than
the one to which your terminal is connected. To work on another
module, type its name as the value in the field.
-subsystem You can give a value here if you are using a subsystem, such as
USF, supported under VOS.
When you have finished providing or selecting values for the arguments in the CRT form, you
enter the login command by pressing <ENTER>.
VOS displays the logged in message, shown in the previous subsection. You now have a
ready prompt, indicating you are at command level.
For more examples of the CRT and lineal forms of VOS commands, see Chapter 4, entitled
“The Command Language,” later in this manual.
For more information about the login command, see the VOS Commands Reference
Manual (R098).
Logging out
When you are finished working on the system, you log out. Do this by entering the logout
command. At command level, enter:
logout <RETURN>
VOS tells you that you are logged out, with a message similar to the following:
Processes
Once you log in, VOS creates an interactive process for you to work in. A process has the
following attributes (among others):
• space in memory
• libraries containing various files that allow you to perform operations on the system
• interfaces, called ports, between yourself and the system, connecting to your terminal
You can use more than one process at a time to do your work. You can do this by creating
another process, called a subprocess, from command level. A subprocess has the same
attributes as its parent process (the process you are returned to when you log out of the
subprocess).
login <RETURN>
You can create a second subprocess in the same way from the first subprocess.
When you have finished your work in a subprocess, you terminate that subprocess by entering
logout <RETURN>
<INTERRUPT>
(On the Stratus Model V101 Terminal, you hold the <CTRL> key and press <F0> to perform this
action.)
VOS then creates a subprocess for you. When you are finished working in the subprocess,
you terminate it by entering
logout <RETURN>
VOS then returns you to the CRT form in which you were working, in the previous process.
Command Lines
A line containing one or more commands together with arguments is called a command line.
A command line is given in the lineal form. It can be up to 300 characters long, forming
several lines of text on the screen.
To enter a command line, press either the <RETURN> key or the <ENTER> key.
For examples, see the subsection “Command Functions,” which follows. See also the print
command, explained in Chapter 4, “The Command Language.”
Command Functions
A command function is a function that VOS evaluates before executing the commands
invoked on the command line. The command function returns a value that replaces the
command function in the line. A command function must be enclosed in parentheses.
Command functions can also be used in CRT forms.
(user_name)
(date)
(time)
These functions can be used with the command display_line, for example. This
command displays the text that immediately follows it on the line.
Hello.
You can add the command functions (user_name) and (date), for example, within the text
on the command line. VOS displays the current values for the functions in the output. Type,
for example:
For a list of all the command functions in the Stratus system and an explanation of their uses,
see the VOS Commands Reference Manual (R098). For an on-line display, enter the help
command, as explained in the next subsection.
help <RETURN>
VOS displays a list of internal commands, external commands, and command functions. All
entries are listed alphabetically within categories.
Internal commands are commands that are part of the operating system. Some examples are:
copy_file
debug
display
list
External commands are either executable programs, called program modules, or command
files, called command macros. External commands reside on disk and are part of the file
system. Some examples are:
cobol.pm
edit
pl1.pm
sort.pm
Program modules and command macros are explained in Chapter 3, “The Input/Output
System,” and Chapter 8, “Programming.” They are explained in detail in the VOS Commands
User’s Guide (R089).
• stop terminates the program that is currently running and returns your process to
command level.
• debug calls the debugging aid. (See the VOS Commands Reference Manual (R098) for
information.)
• keep stores a copy of the interrupted executable program in a file for debugging later
and returns your process to command level.
• re-enter starts execution of your interrupted program from the beginning. You can
enter this instruction only when your process is at break level. Some programs do not
support the re-enter command.
• continue continues execution of your interrupted program from the break point. You
can enter this instruction only when your process is at break level.
The circumstances in which <CTRL><BREAK> does not put your process at break level are:
<CANCEL>
VOS stops the display and returns your process to command level.
You can also cancel the display of a CRT form by pressing <CANCEL>. VOS stops the display
and returns your process to command level.
In the lineal form, when you press <CANCEL> instead of <RETURN> after typing a command line,
VOS deletes the command line and returns you to command level.
An object is any data structure or device in the system that you can refer to by name. The
following objects are discussed in this section:
• files
• directories
• links
• ports
Naming Conventions
VOS locates objects by interpreting their names. This subsection describes the rules for
forming object names, suffixes, star names, and special names. The subsections that follow
describe how VOS interprets the names.
Names
A name is an ASCII character string that contains no more than 32 characters. The characters
must be chosen from the following set of ASCII characters:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
• the digits
0 1 2 3 4 5 6 7 8 9
• the characters
" $ + , - . / : _
@ [ ] ^ ‘ { | } ~
In addition to these restrictions, a name cannot begin with a hyphen. (A leading hyphen
indicates the keyword of a command argument.)
Suffixes
A suffix is a character string that begins with an embedded period in a name. A suffix consists
of the sequence of characters beginning with the embedded period and ending with the last
character in the name. For example, in the name memos.cobol, the string .cobol is a suffix.
In the name .memos.cobol, the string .memos.cobol is the name, and the string .cobol
is the suffix.
Note that a suffix can contain another suffix. For example, in the name
reports.old.cobol, the string .old.cobol is a suffix containing the suffix .cobol.
The rules for forming a suffix are the same as the rules for forming a name, except that the
initial character of a suffix must be a period.
One use of a suffix is to distinguish among programming files that are related. When a
compiler reads a source file, it generates an object file, a listing file, and if there are any errors,
an error file. (These terms are discussed in Chapter 8, “Programming.”) VOS indicates that
the files are related by making the first part of the file names (before the suffix) the same. By
adding a different suffix to the name of each of these files, VOS indicates that the files are
different. The suffix identifies the purpose of the file.
• For a source file, the user must add the name of the compiler, preceded by a period, as
the suffix (.cobol, .pl1, .pascal, .fortran, .basic, or .c).
Suppose that a VOS COBOL source file is named make_report.cobol. The suffix
.cobol shows that the file is a VOS COBOL source file. The VOS COBOL compiler creates
three other files: an object file named make_report.obj, a listing file named
make_report.list and, if there are errors, an error file named make_report.error.
A suffix is used also to identify program modules and command macros. A program module
is a file consisting of one or more separately compiled object modules brought together into
one executable file. A command macro is a file containing a series of commands that VOS
executes in sequence.
For more information about program modules, see Chapter 8, “Programming.” For further
information about both program modules and command macros, see the VOS Commands
User’s Guide (R089).
Star Names
A star name is a name that contains one or more asterisk characters. An asterisk represents
zero or more unspecified characters in the star name. Some commands that can operate on a
set of similar objects accept star names as arguments. When you enter such a command, VOS
matches the star name with any object name that contains the character string specified in the
star name and zero or more additional characters in the position designated by the asterisk.
The star name week86-02-*, for example, matches any object name beginning with the
characters week86-02-. This star name matches the following file names in the directory
%s1#d01>Sales>Jones>report>weekly_old, shown in Figure 3-2:
week86-02-11
week86-02-18
week86-02-25
The star name week86-02-1* matches the following file names found in the same directory:
week86-02-11
week86-02-18
An asterisk can appear anywhere within a star name. The following names, for example, are
valid star names:
test*.cobol
*.cobol
*86-02-*
Special Names
In a command line, special names can be used to represent your current directory and the
directory that contains it. A period used in place of a directory name on a line represents your
current directory. Two consecutive periods used in place of a directory name on a line
represent the containing directory of your current directory.
Suppose that the current directory of the user Jones is the directory
%s1#d01>Sales>Jones>reports>this_month, and that Jones wants to display the
access list for this directory. Jones can use any of the following commands, which are
equivalent.
display_access_list .
display_access_list (current_dir)
display_access_list >Sales>Jones>reports>this_month
change_current_dir ..
change_current_dir <
change_current_dir >Sales>Jones>reports
For an explanation of directories, see the subsections “Directories” and “Path Names,” later
in this section.
Files
All data are stored as part of files. A file has a name, called a file name.
Usually, you create a file by typing and then saving text in an editor, either the VOS Word
Processor or Emacs. You can store or print a text file without further processing. You can also
create a text file to be used as data for a program or as a source program that will be compiled.
In a text file, each line of text is considered a record.
VOS, also, creates files, such as the object module, which contains the code compiled from
your source module. (These terms are discussed in Chapter 8, “Programming.”) The records
in such a file are not always character strings, so they cannot always be displayed or printed
without further processing.
The input/output (I/O) system keeps a file in secondary storage until you need to gain access
to it. Then the file, or part of it, is read into main storage, where the contents can be examined
and changed. The file is then written back to secondary storage.
Since thousands of files can exist in secondary storage at the same time, files must be
organized and stored with unambiguous references. The directory hierarchy provides this
kind of organization.
Access to Files
After you log in, you have access to various files and directories in the system. Your access
to an object in the system depends on whether the object is a file or a directory and on what
access restrictions are associated with the object.
The access restrictions to an object depend on the access rights designated on an access
control list (ACL) maintained by VOS. This list contains user names associated with access
codes. VOS uses the list to control the operations a user is permitted to perform on a file or
directory.
You can find out your access rights to files in a directory by entering the list command from
that directory. The access codes are displayed to the left of the file names. Table 3-1 shows
the access codes for files.
1
Access codes for directories are explained briefly later in this section.
For more information about access, see the VOS Commands User’s Guide (R089), the VOS
Commands Reference Manual (R098), or the VOS Reference Manual (R002).
File Organization
A file is a logical unit of storage for a sequence of records. A record is an ordered set of bytes.
It is the smallest unit of data that VOS file I/O routines can gain access to when performing
operations such as reading or writing. The kind of record a file contains depends upon the
kind of file you create.
The organization of a file refers to the way the records of a file are stored on the disk. There
are four types of VOS data file organization: sequential, stream, fixed, and relative.
A sequential file has variable-length records. There is no maximum or fixed size limit other
than the file system record limit of 32,000 bytes. The length of a record determines the size
of the disk region in which the record is stored. Sequential files are the default for most
commands that create files, including text editors.
A stream file, like a sequential file, has variable-length records. Each record in a stream file
is stored in a disk region holding approximately the same number of bytes as the record. A
stream file differs from a sequential file in the following ways:
• You gain access to a sequential file on a record basis, and to a stream file, on either a
record or a byte basis.
• Sequential files are stored on disk with record size information at the beginning and end
of each record. Stream files do not have any record size information stored with them;
each newline character in the file is interpreted as the end of a record.
It is possible to have a stream file with only one record (with a maximum size of about
32,000 bytes). When stream files are used to store text, each record contains one line of text.
Records cannot be deleted from stream files.
A fixed file has fixed-length records. All records are the same size. Each record is stored in a
disk region holding a number of bytes that is the same for every record in the file. Fixed
organization is most suited for files whose contents will not be changed during processing.
For example, VOS organizes and stores an executable program module as a fixed file.
A relative file, like the sequential or stream file, has varying-length records. There is,
however, a specified maximum record size. Each record is stored in a disk region holding a
number of bytes that is the same for every record in the file. Relative organization is
frequently used for files with changing data, in which records are usually the same size.
Directories
A directory is a catalogue of files, subdirectories, and links. (Links are explained later in this
section.) For convenience, you generally put a set of objects that are logically related into one
directory.
You can create your own directories and control the objects in them. Two rules, however,
govern the cataloguing of objects:
• The name of an object must be unique among the object names catalogued in the
directory that contains it.
Two files can have the same name if each file is stored in a separate directory. When you copy
a file into another directory, for example, the original and the copy are separate files, each
catalogued in only one directory.
To refer to a file in a directory other than your current directory, you must specify the name
of the directory that contains the file as well as the name of the file.
A directory contained in another directory is called a subdirectory of the other directory. The
fact that a subdirectory, like a file, can be catalogued in only one directory imposes a
hierarchical structure on a set of directories and subdirectories. In the hierarchy, a directory
is on the level above another if it contains the other.
In the part of a directory hierarchy shown in Figure 3-1, the directory named Smith is the
home directory of a user named Smith. This directory has two subdirectories, current and
old, and two files, abbreviations and memos. The contents of the two subdirectories are
not shown in the figure. The directory that contains the directory Smith is also not shown.
Smith
Files Subdirectories
tx043
Disk Directory
The disk directory is the directory at the top level of a hierarchy of directories. All other
directories on the hierarchy are subordinate to the disk directory. If you start at any directory
and trace up the hierarchy through the chain of containing directories, you always reach a disk
directory and can go no further.
Usually, the only subdirectories of a disk directory are system directories or group directories
(or both).
The disk directory in Figure 3-2 is named d01. It is a directory at the top level of the hierarchy
of the system named s1. A system may contain more than one disk directory.
The information in a disk directory and all of its subdirectories is stored on one or more disks.
A disk can contain, at most, one disk directory.
System Directory
A system directory contains some programs and data used only by the system and some
programs that can be invoked by all users. Compilers, editors, and error message files are
some examples of objects in a system directory. You may never need to refer to a system
directory explicitly.
Group Directory
A group directory contains the user directories of the members of a group. The name of a
group directory is the name of the group. In Figure 3-2, the group directories are named
Marketing, Sales, and Accounting.
User Directory
Each user in a group has a directory, called a user directory. This directory is a subdirectory
of the group directory. It is named with the user’s person name. If you are in more than one
group, you can log in as one of several users, and you will have more than one user directory.
Typically, your user directory in a group directory is your home directory when you log in as
a member of the group. The user directories in Figure 3-2 are named Smith, Jones, and
Clark.
Home Directory
Your home directory is assigned to you by the system administrator. VOS expects to find
certain files, such as your abbreviations file, in your home directory. In Figure 3-2, the home
directories are the user directories named Smith, Jones, and Clark.
Current Directory
Your current directory is the directory you are working in. When you log in, your current
directory is your home directory. You can change to another directory, which then becomes
your current directory. Commands that create files for you place the files by default in your
current directory. (Some of these commands are discussed in Chapter 8, “Programming.”)
VOS uses your current directory as the basis for interpreting relative path names, explained
later in this section.
s1
d01
Files Subdirectories
Files Subdirectories
Files
tx044
Paths
The unique chain of directories going from a disk directory to a subdirectory in the hierarchy
is called the path from the disk directory to that subdirectory.
To ensure that references are unambiguous, the names of the subdirectories, files and links
(explained later in this section) contained in a directory must all be different. This rule is
enforced by the I/O system commands that create, move, copy, and rename files and
directories.
Figure 3-2 shows part of a directory hierarchy, beginning at the disk directory level. This
directory hierarchy will be referred to frequently in the subsections that follow.
The name of the system in the figure is s1. The disk directory is named d01. Three group
directories are shown. They are: Marketing, Sales, and Accounting. The group directory
Sales contains three user directories, named Smith, Jones, and Clark. The directory
Jones, which is the home directory of the user Jones, contains two files and two
subdirectories. The subdirectory reports also contains both files and subdirectories. No
system directories are shown in this figure.
You can see the contents of a directory by giving the list command from that directory. This
command is described in Chapter 4, “The Command Language.”
Access to Directories
Table 3-2 shows the access codes for directories.
2
You can find out your access rights to a directory by entering the command list
directory_path_name. The access code is displayed to the left of the directory name.
For an explanation of access rights, see the subsection “Access to Files,” earlier in this
section. For an explanation of path names, see the subsection “Path Names,” later in this
section. For more information about access to directories, see the VOS Commands User’s
Guide (R089), the VOS Commands Reference Manual (R098), or the VOS Reference
Manual (R002).
I/O Devices
An I/O device is equipment that you use for entering information into the computer and
receiving information from it. In this manual, the term I/O device refers to terminals, printers,
disk drives, and tape drives.
Every I/O device has a path name that is unique among the names for I/O devices and disk
directories in the system. The system administrator maintains a file of I/O device names for
the system. In Figure 3-3 the devices are physically connected to three different modules.
Path Names
The most important function of the directory hierarchy is to provide a user with a way to reach
an object located anywhere in the I/O system.
The unique name of an object is derived from the unique path of the object in the I/O system.
This type of name is called a path name. By using a path name, you can specify the location
of an object anywhere in the hierarchy of any system that your terminal is connected to, as
long as you have access to do so.
In addition to the two rules for naming objects stated in the subsection “Directories,” the
following restrictions apply to forming path names:
Files or Directories
The path name of a file or directory consists of the following names:
1. The name of the system containing the object, prefixed with the percent sign (%)
2. The name of the disk directory containing the object, prefixed with the pound sign (#)
3. The names of the directories in the path of the object, in order, each prefixed with the
greater-than sign (>)
4. The name of the object (the file or directory referred to), prefixed with the greater-than
sign (>).
The file named this_week in Figure 3-2, for example, has the following path name:
%s1#d01>Sales>Jones>reports>this_week
This file is contained in the directory reports, which is contained in the user directory
Jones. The directory Jones is contained in the group directory Sales, which is a
subdirectory of the disk directory d01. The disk directory is in the system s1.
I/O Devices
The path name of an I/O device consists of the following names:
• the name of the system to which the device is connected, prefixed with the percent sign
(% )
• the name of the device, prefixed with the pound sign (#)
The path name of the printer print.1.0, connected to the system s1, shown in Figure 3-3 is:
%s1#print.1.0
A relative path name refers to an object in relation to your current directory. A relative path
name is usually shorter than a full path name and is therefore easier to type when issuing a
command. When VOS reads a string that it expects to be a path name and that does not begin
with a percent sign (%), VOS interprets the string as a relative path name.
The following examples illustrate the rules by which VOS interprets relative path names. The
directory hierarchy that is referred to in these examples is shown in Figure 3-2,
1. If the path name does not contain the name of a system, VOS uses the name of the
system of your current directory. Suppose, for example, that your current directory is
%s1#d01>Sales>Jones>reports
Then, for the relative path name #d02>Research>Brown the corresponding full path
name is
%s1#d02>Research>Brown
2. If the path name does not contain either the name of a system or the name of a disk
directory, VOS uses the name of the system and the name of the disk directory of your
current directory. Suppose, for example, that your current directory is
%s1#d01>Sales>Jones>reports
Then, for the relative path name >Sales>Smith>prospects, the corresponding full
path name is
%s1#d01>Sales>Smith>prospects
3. If a path name begins with a name that is not prefixed with one of the special characters
%, #, <, or >, VOS treats that name for example, that the current directory is
%s1#d01>Sales>Jones
Then, for the relative path name reports>this_week the corresponding full path
name is
%s1#d01>Sales>Jones>reports>this_week
4. If a path name begins with a sequence of less-than characters (<), then, beginning at the
current directory, VOS moves up in the directory hierarchy as many levels as there are
less-than characters to locate the name of a directory. VOS then expands the rest of the
relative path name as if that directory were the current directory. Suppose, for example,
that the current directory is
%s1#d01>Sales>Jones>reports
Then, for the relative path name <<Clark>prospects the corresponding full path
name is
%s1#d01>Sales>Clark>prospects
5. If a path name consists of only a greater-than character (>), then VOS uses for the full
path name the name of the system and the name of the disk directory of the current
directory. Suppose, for example, that the current directory is
%s1#d01>Sales>Jones>reports
Then, for the relative path name > the corresponding full path name is
%s1#d01
Links
A link is an object that directs all references to itself onward to a file, a directory, or another
link. A link is thus a “pointer” to another object in the directory hierarchy. Like other objects,
a link has a path name that identifies it as a unique entity in the system directory hierarchy.
A link can provide an additional name for a file, a directory, or another link. It can also
provide direct access to a file in another user’s directory. You can then read the file in that
directory, as if it were in your own. A link can thus save storage space. If the name of a link
you create is short, the link can also save you from typing a long path name.
You can create a link by entering the link command followed by the path name of the target
object, which is the object the link will point to. You can name the link using the naming
conventions discussed in Chapter 4, “The Command Language.” Alternatively, you can let
VOS give the link the name of the target object by default.
Suppose you want to create a link in your current directory to the file with the path name
%s1#d01>Sales>Jones>this_month. (See the directory hierarchy in Figure 3-2) You can
make a link in your current directory as an additional name for the file this_month. For
example, to make a link named ja to point to the file this_month, enter:
VOS creates the link named ja pointing to the file this_month. It places the link in your
current directory.
VOS interprets the link name as the path name of the object it points to. You can give the link
name instead of the path name in a command line.
When you want the link to have the same name as the object it will point to, press <RETURN>
after entering the target name in the command line instead of entering a link name.
If you move a file (or other object) that is the target of a link, the link will fail when you try
to use it. A link that no longer has a valid target is called a null link.
You can, however, keep the same link name to refer to a moved object by redefining the path
name of the target of that link. To give an existing link the new path name of a moved file,
for example, give the link command as previously explained, but with the new path name.
When you give the same link name as the existing link, VOS asks you whether you want to
delete the existing link. Answer y to the prompt. VOS then deletes the old link and creates a
new one with the correct path name.
Links can point to other links. However, if VOS searches for links in a chain and finds that
ten consecutive objects in the chain are links, VOS stops the search. Similarly, if VOS finds
that two links point to each other, VOS stops the search. In each case, an error message is
displayed.
You can unlink a link from its target object by entering the unlink command. For example:
You can display a list of the links in your current directory by entering the following
command:
For more information about links or the link and unlink commands, see Chapter 4, “The
Command Language,” in this manual, or see the VOS Commands Reference Manual (R098)
or the VOS Reference Manual (R002).
Ports
A port is a logical object in the I/O system that represents a real I/O source or destination,
such as a file or a device. You create and connect, or attach, a port by associating a logical
name with the name of a file or a device.
All ports exist in memory. A user process can have a maximum of 255 ports in use at one
time.
• The default input port sends data from your terminal port to your process.
• The default output port sends data from your process to your terminal port.
• The command input port sends commands from your terminal port to your process.
• The terminal output port is where error messages coming from your process are
written.
The sixth port is attached to an error codes text file used by the system to translate a numeric
error code into a text string that describes the error.
Attaching a Port
Writing a port name into your program lets you change the files or devices your program has
access to without changing the code. To write a port name in your program, include the name
of a port instead of a specific file or device name. Then, from command level, create a port
by entering the attach_port command, associating the port name with the path name of a
file or device. A port is created and named in your process. VOS connects the port to the file
or device specified in your command. When you execute your program, the program has
access to the named file or device by means of the port.
Suppose you want to use the same program with a different file or device. You can detach the
port from the current file or device, using the detach_port command. Then you can enter
the attach_port command again, associating the port name with a different file or device.
The same program can thus process many different files or write data to many different
devices.
A port remains attached until you detach it by entering the detach_port command or until
your process stops.
Example
Suppose that you want to write a program for processing the payroll data contained in two
separate payroll data files. The data files are named east_payroll and west_payroll.
To perform this task, you write a program that refers to an I/O port named any_payroll.
One statement in the program is:
read any_payroll
Before executing the program, you enter the attach_port command to create a port named
any_payroll, connecting it to the data file named east_payroll. The command is:
When the program has been executed, you detach the port from the data file by entering the
detach_port command and the port name, as follows:
Now you enter the attach_port command again, this time connecting the existing port to
the data file named west_payroll. The command is:
When the program has been executed, you can detach the port from the data file and attach it
to another data file, if there are any more to be read. If there are no more data files, you can
either detach the port or leave it. If you do not detach it, it will disappear when your process
stops.
For more information about the attach_port and detach_port commands, see
Chapter 4, “The Command Language,” or the VOS Commands Reference Manual (R098).
For more information about ports, see the VOS Commands User’s Guide (R089), the VOS
Reference Manual (R002), or any of the VOS language manuals.
This chapter describes VOS command names, command formats, and some VOS commands.
Command Names
When you enter a command, VOS treats the first string that contains no spaces, that is, the
first token, as the command name. A command name is a name that identifies either a VOS
command or a program that you or another user supplies.
A VOS command is either internal (built into the operating system) or external, that is, stored
in the system library. The on-line display from the command help shows these two command
types. Entering help is described in Chapter 2, “Using the Stratus System.”
A command can be either a program module or a command macro. These terms are explained
in the sections “Using the Stratus System,” “The Input/Output System,” and “Programming.”
The rules by which VOS interprets a command name are the following:
1. If the first token is the name of an internal command, VOS executes the command.
2. If the first token is not that described in the preceding rule, VOS interprets the token as
the path name of an executable file. If the object name in the path name is a file name
with the suffix .cm or .pm, VOS invokes the command macro or the program module
that the path name identifies.
3. If the first token is not that described in rule 1 or 2, VOS looks in the current directory
for a command macro with a name consisting of the object name and the suffix .cm. If
VOS finds this name, it executes the command macro.
4. If the first token is not that described in rule 1, 2, or 3, VOS looks in the current
directory for a program module with a name consisting of the object name and the
suffix .pm. If VOS finds this name, it executes the program module.
5. If the first token is not that described in rule 1, 2, 3, or 4, VOS looks in the system
library for a command macro with a name consisting of the object name and the suffix
.cm. If VOS finds this name, it executes the command macro.
6. If the first token is not that described in rule 1, 2, 3, 4, or 5, VOS looks in the system
library for a program module with a name consisting of the object name and the suffix
.pm. If VOS finds this name, it executes the program module.
The preceding rules assume that you are using the standard system library paths. You can
change the order in which VOS searches libraries by using the set_library_paths
command.
The command names of standard VOS commands are reserved as command names. You can
invoke your programs or those of other users as if they were commands, however.
Example
make_sales_report
make_sales_report.pm
Example
If there is both a command macro named print and a program module named print in your
current directory, you invoke the commands as follows:
• Enter the command print.cm to invoke the command macro named print.cm
• Enter the command print.pm to invoke the program module named print.pm
There are ways, however, to distinguish more clearly program modules, command macros,
and internal commands that have similar names. You can create abbreviations by which to
invoke your programs without changing their names. See Chapter 7, “Abbreviations.”
Also, you can rename your programs, using the rename command. This command is
described later in this section.
Command Formats
VOS can interpret two forms of every command: a CRT form and a lineal form. The CRT
form is designed for a CRT terminal. The lineal form can be used at any type of terminal and
is required for a printing terminal. The command name and command arguments are the same
for both forms, but you select arguments and enter the command differently.
You signify that you are using the CRT form by pressing the <DISPLAY_FORM> key after
typing the command name. When you use the lineal form of the command, you simply
type the command name.
• Using arguments
When you use the CRT form, VOS displays a form containing the argument names and
fields for that command. When you use the lineal form, you type the argument names
and values following the command name, on the same line.
You enter the CRT form of the command by pressing the <ENTER> key. You enter the
lineal form by pressing either the <RETURN> key or the <ENTER> key.
1. You type the command or an abbreviation you have created for it. Usually you type
only the command name, but you can also give some or all of the command arguments
at this time. If you do give arguments, you must give those that are without labels in the
order required in the lineal form. Other arguments can be given in any order. The values
are then displayed in the appropriate fields when the CRT form appears.
2. You press the <DISPLAY_FORM> key. Even if you have typed all the arguments, the system
proceeds with the CRT form when you press the <DISPLAY_FORM> key.
4. VOS displays a form containing fields for the command arguments, with the cursor in
the field for the first argument. A label describing the argument is displayed in front of
each argument field. The label is separated from the field by a colon (:).
5. You supply values for the arguments and modify default values as necessary. Use the
<RETURN>, <TAB>, <¯>, or <−> key to move from field to field. Use the <BACK_SPACE> or <DEL>
key or the <DELETE><¬> or <DELETE><®> sequence to edit values. Use the <CYCLE> or
<CYCLE_BACK> key to select one of the predefined values for certain arguments.
If you enter an invalid argument in the CRT form of a command and then try to enter the
command, VOS displays an error message. VOS then redisplays the CRT form, showing the
argument values you typed and the cursor positioned to the field containing the error. You can
then correct the argument. To enter the corrected command, press <ENTER>.
The CRT form of a command shows you all the arguments you can use with the command.
Those arguments whose fields appear in inverse video are required. You must enter a value
in each of these fields.
In most cases, default values are displayed when the CRT form appears on the screen.
For an explanation of the rest of the arguments to this command, see the VOS Commands
Reference Manual (R098).
Display Form
------------------------------------ print -------------------------------------
file_names:
-queue: standard
-module: ''
-header:
-footer:
-index:
-title:
-defer_until:
-interpret_tabs:
-copies: 1 -line_numbers: no
-delete: no -raw: no
-page_breaks: yes -use_fortran_controls: no
-edited: no -indentation: 0
-page_size: -top_margin: 3
-bottom_margin: 3 -line_length:
-wrap: no -queue_priority:
-single_sheet: no -notify: no
The cursor is positioned to type characters in the field to the right of the first argument name,
which is file_names. The field is displayed in inverse video. An argument value
file_names is required. You must enter a value by typing it in that field. You can enter as
many values as will fit in the field.
Values you type in can be edited with the <BACK_SPACE> or <DEL> key or the <DELETE><¬> or
<DELETE><®> sequence.
You can move the cursor from field to field by pressing the <RETURN>, <TAB>, <¯>, or <−> key.
The rest of this subsection describes the use of some of the options of the print command.
The argument -header prints the character string header_string at the left margin of the
second line of the top margin on every page of the output. If you want a header string, place
the cursor at the beginning of the field and type a value.
The argument -footer prints the character string footer_string at the left margin of the
second line of the bottom margin on every page of the output. If you want a footer string,
place the cursor at the beginning of the field and type a value.
The argument -title prints the character string title_string at the top of the title page.
If you want a title string for your file or files, place the cursor at the beginning of the field and
type a value.
The argument -defer_until defers printing the file or files until some time after
date_time. The forms for date and time strings are the same as those given for the command
function (date_time) in the VOS Commands User’s Guide (R089). Some valid input time
strings are, for example: 8:00, 10am, 06:00, and 13:00:00. If you want to defer printing
until a later date or time (or both), enter a value for date_time.
The argument -copies prints a specified number of copies. This argument has the default
value 1. If you want more copies of your file or files, place the cursor over the default value
and type another number.
The argument -line_numbers prints a line number next to each line of each file. If you do
not want line numbers, use the default value no. If you do want line numbers, switch to the
predefined value yes by pressing the <CYCLE> key.
The argument -delete deletes the file or files after printing. If you do not want the file or
files to be deleted, use the default value no. If you do want them to be deleted, switch to the
predefined value yes by pressing the <CYCLE> key.
The argument -page_breaks prints your file or files with page breaks. If you want page
breaks, use the default value yes. If you do not want them, switch to the predefined value no
by pressing the <CYCLE> key. VOS then automatically sets the top and bottom margins to 0.
The argument -indentation sets the left margin to the column designated by the number
specified. If you do not want indentation, use the default value 0. If you do want indentation,
place the cursor over the default value and type another number.
The argument -page_size sets the number of lines on a page. After printing page_size
lines, including top and bottom margin lines, VOS instructs the printer to skip to a new page.
If you do not enter a value, VOS uses the page size default value for the print queue. (The
print queue is where your file is held while waiting to be printed, if other files are to be printed
first.) If you do enter a value, VOS uses that page size.
The argument -top_margin sets the number of lines in the top margin of each printed page
to top_margin number of lines. If you use the default value 3, the first line of your file or
files is printed on the first line after the top margin. Any header string goes on the second line
of the top margin. If you want a different top margin, place the cursor over the default value
and type another number. This argument is ignored if you select the no value for the
-page_breaks argument.
The argument -bottom_margin sets the number of lines in the bottom margin of each
printed page to bottom_margin number of lines. If you use the default value 3, the last line
printed on each page goes on the line before before the bottom margin. Any footer string is
placed within the bottom margin on the next-to-last line of the page. If you want a different
bottom margin, place the cursor over the default value and type another number. This
argument is ignored if you select the no value for the -page_breaks argument.
The argument -line_length sets the line length to line_length number of character
positions. The line length includes any indentation. If you do not enter a value, VOS uses the
default value for the print queue. (The print queue is where your file is held while waiting to
be printed, if other files are to be printed first.) If you do enter a value, VOS uses that line
length.
The argument -notify has the print command send a message when your file or files are
finished printing. If you use the default value no, no message is sent. If you switch to the
predefined value yes by pressing the <CYCLE> key, a message is sent.
While working on the CRT form, you can change a value in any field at any time before you
enter the command.
By pressing the <CANCEL> key, you can withdraw the command at any time before you enter it.
See the “Introduction” for an explanation of the general rules of syntax. See the VOS
Commands Reference Manual (R098) for an explanation of the required order for a sequence
of arguments to a command.
You can display a list of arguments for each command. To do this, type the name of the
command and the argument -usage, and press <RETURN>. For the print command, for
example, enter
Sample Commands
The remainder of this section shows some commands and selected arguments in the lineal
form. The models contain general terms that you can replace with literal values. An argument
value that must be a file name, for example, is shown as:
file_name
For a full explanation of these and other VOS commands, see the VOS Commands Reference
Manual (R098).
You might find it helpful to practice entering these commands at a terminal while you read
about them in this section.
You can define abbreviations for command names. For information, see Chapter 7,
“Abbreviations,” later in this manual.
To see the names of the files, type the command and press <RETURN>.
list <RETURN>
To see the names of the subdirectories instead, add the argument -dirs.
To see a full display of the names of files, subdirectories, and links, use the argument -all.
After each screen display, press <RETURN> to see the next screen.
You can tell VOS to display from the specified files only the lines that contain a particular
string. Do this by adding the argument -match followed by the string you want VOS to find.
To display a line number next to each line in each file, use the argument -line_numbers.
If there are several files to be printed, you can list them following the command name, with
a space between consecutive file names. Then press <RETURN>.
If you would like VOS to print multiple copies of each file and to defer printing until later,
add the arguments -copies and -defer_until with appropriate values.
To rename a file, type the command name, the old name of the file, and the the new name of
the file. The names must be separated by a space. Then press <RETURN>. The arguments
old_name and new_name must be typed in this order:
To rename a directory, add the arguments -no_files and -dirs after the old name and new
name of the directory.
To show an empty buffer on the screen, type the command name and press <RETURN>.
edit <RETURN>
To give a path name to the buffer, type a new file name after the command name.
To show a copy of a file that is in your current directory, type the file name after the command
name.
To show an empty buffer on the screen, type the command name and press <RETURN>.
emacs <RETURN>
To give a path name to the buffer, type a new file name after the command name.
To tell VOS to display a copy of a file that is in your current directory, type the file name after
the command name.
Type the command name and a value for the argument source_file. If you use the
destination argument, it must follow the source_file argument and be a different path
name. If you omit destination, VOS uses your current directory. Then press <RETURN>.
Type the command name and a value for the argument source_file. If you use the
destination argument, it must follow the source_file argument. If you omit
destination, VOS uses your current directory. Then press <RETURN>.
Type the command name and the file name and press <RETURN>.
You enter the command by typing the command name and pressing <RETURN>.
display_current_dir <RETURN>
To change to your home directory, you enter the command from the current directory by
typing the command name and pressing <RETURN>.
change_current_dir <RETURN>
To change to any other directory, type the command name followed by the path name of the
directory you want to change to. Then press <RETURN>.
Type the command name followed by the name of the new directory. Then press <RETURN>.
Type the command name followed by the name of the directory to be deleted. Then press
<RETURN>.
See also the descriptions of the commands copy_dir and move_dir in the VOS Commands
Reference Manual (R098).
You enter this command by typing the command name and pressing <RETURN>.
list_users <RETURN>
If you use the -interval argument, the system updates the display periodically. If you do
not add a value, the system updates the display every ten seconds. If you add a value for n,
the system updates the display every n seconds.
You enter this command by typing the command name and pressing <RETURN>.
display_terminal_parameters <RETURN>
You enter this command by typing the command name and pressing <RETURN>.
list_library_paths <RETURN>
You can tell VOS to display a list of directories that define a particular library for your current
process. Do this by adding a value for the argument library_name. Possible values are
include, object, and command.
Type the command name and a value for the arguments library_name and
library_path_name. Then press <RETURN>. The possible values for library_name are
include, object, and command. If you omit this argument, the library name is include.
Type the command name and a value for the arguments library_name and
library_path_name. Then press <RETURN>. The possible values for library_name are
include, object, and command. If you omit this argument, the library name is include.
Type the command name and a value for the arguments target_name and link_name.
Then press <RETURN>. The value for target_name is the path name of the file, directory, or
link that you are creating the link to. VOS puts the link in your current directory.
If you omit the link_name argument, VOS gives the link the name of the target_name
object.
Type the command name and a value for the argument link_name. Then press <RETURN>. By
giving a path name as link_name you can specify the name and location of the link to be
deleted. If the link is in your current directory, specify only the name of the link as
link_name.
Type the command name followed by a value for the arguments port_name (the name of the
new port) and path_name (the path name of the file or I/O device the port is to be attached
to). Then press <RETURN>.
Type the command name followed by a value for the argument port_name (the name of the
port that is to be detached). Then press <RETURN>.
Note: See also the description of the list_port_attachments command given in the VOS
Commands Reference Manual (R098).
This section describes the text editing facility of the VOS Word Processor. In this manual,
this text editing facility will be referred to as both the VOS Word Processor and “the editor.”
The VOS Word Processor is a product within the Stratus Continuous Processing System that
helps you prepare text and documents. The text you type from a keyboard appears on the
terminal screen. Once the text is typed, you can save it as a document in permanent storage.
At any time, you can call the document back to the screen and edit (change) it. You can print
the document at any time, making as many copies as you need.
You perform tasks on the VOS Word Processor by typing editing instructions called requests.
Some of the requests that are available are displayed on a Request Menu. Others are printed
on the template above the keyboard, and still others appear on the special keys of the
keyboard.
To enter editing requests, you must first be working in the editor. Requests cannot be entered
at command level.
For information about the formatting and dictionary facilities of the VOS Word Processor, see
How to Use the VOS Word Processor (R022) or the VOS Word Processing User’s
Guide (R006).
The keys that have special uses in entering requests are shown in Table 5-1.
1
Table 5-1. Special Keys for Editing (Stratus Model V101 Terminal) (Page 1 of 2)
Key Function
<ALPHA_LOCK> Shifts the keyboard to upper-case letters without affecting the
numeral and symbol keys.
<−><¯><®><¬> Each key used alone moves the cursor one position in the direction
marked on the key. Combined with <GO_TO>, each key moves the
cursor to the limit of the buffer on the screen, in the direction marked
on the key.
<BACK_SPACE> Deletes the character to the left of the cursor and moves the cursor
one position to the left. Characters to the right of the deleted
character move one position to the left.
<BACK_TAB> Inserts spaces between the current cursor location and the next
column position established on the previous line; moves the cursor to
that column.
<BREAK> Pressed simultaneously with <CTRL>, cancels a request while it is
being executed.
<CTRL> Combines with some function keys to perform the requests named in
the top row of the template. Combines with the <BREAK> key to cancel
a request while it is being executed.
<DEL> Deletes the character at the cursor location without moving the
cursor. Characters to the right of the deleted character move one
position to the left.
<GO_TO> Combines with an arrow key (<−><¯><®> or <¬>) or with a function key
to move the cursor within the document.
<LINE_FEED> Inserts an underline character. Combined with <Shift>, breaks the line
at the cursor position. All characters from the cursor position to the
end of the line move to a new line, but the cursor does not move.
<RETURN> Enters typed text, requests, or commands into the buffer. Creates a
new line at the cursor location. Enters a response to a prompt.
<Shift> Shifts the keyboard to upper-case letters and to the symbols shown
on the upper half of the numeral and symbol key faces. Combines
with some function keys to perform the requests named in the second
row of the template.
<SPACE_BAR> Inserts a space and moves the cursor one position to the right.
<STATUS> Replaces the contents of the twenty-fifth line of the screen with
information about the system’s performance. Combined with <Shift>,
replaces the contents of the twenty-fifth line of the screen with
information about the editor’s performance.
Table 5-1. Special Keys for Editing (Stratus Model V101 Terminal) (Page 2 of 2)
Key Function
<TAB> Inserts spaces between the cursor and the next tab stop, and positions
the cursor at the next tab stop.
• For the requests in the top row, press and hold the <CTRL> key, and then press the
function key.
• For the requests in the middle row, press and hold the <Shift> key, and then press the
function key.
• For the requests in the bottom row, press only the function key.
Note: When combining <Shift> or <CTRL> with a function key, press and hold the <Shift> or <CTRL>
key, and then press the function key.
The editing requests that you perform with function keys are referred to in this manual by the
names on the template.
Display Form
A En/disable request menu display R Read file
B Change buffer S Verify spelling
C Change buffer and read T Set tab stops
D Define variable U En/disable shorthand display
E En/disable format line display V Insert variable
F Change format W Write
G Global replace X Generate index listing
H Change header/footer Y Generate table of contents
I Index item Z Set bell column
J Use line in table of contents 1 Display status
K Hide line 2 Reserve picture
L Insert literal 3 Designate floating text
M En/disable ruler mode 4 Remove revision marks
N En/disable line number mode 5 Set variable from buffer
O En/disable overlay mode 6 En/disable format element display
P Set variable 7 Execute command and wait
Q Quit 8 Execute command and continue
You select a request from the Request Menu by typing in either upper or lower case the letter
or number listed at the left of the request.
At any time, you can cancel the Request Menu or a request from it by pressing the <CANCEL>
key.
The keys that have special uses in entering requests are shown in Table 5-2.
2
Table 5-2. Special Keys for Editing (Stratus Model V102 Terminal)
Key Function
<ALPHA_LOCK> Shifts the keyboard to upper-case letters without affecting the numeral
and symbol keys.
<−><¯><®><¬> Each key used alone moves the cursor one position in the direction
marked on the key. Combined with <GO_TO>, each key moves the cursor to
the limit of the buffer on the screen, in the direction marked on the key.
<BACK_SPACE> Deletes the character to the left of the cursor and moves the cursor one
position to the left. Characters to the right of the deleted character move
one position to the left.
<BACK_TAB> Inserts spaces between the current cursor location and the next column
position established on the previous line; moves the cursor to that
column. Combines with <Shift> to move the cursor to the tab stop at the left
of the cursor.
<BREAK> Pressed simultaneously with <CTRL>, cancels a request while it is being
executed.
<CTRL> Combines with the <BREAK> key to cancel a request while it is being
executed.
<DEL> Deletes the character at the cursor location without moving the cursor.
Characters to the right of the deleted character move one position to the
left.
<GO_TO> Combines with an arrow key (<−><¯><®> or <¬>) or with a function key to
move the cursor within the document.
<LINE_FEED> Breaks the line at the cursor position. All characters from the cursor
position to the end of the line move to a new line, but the cursor does not
move.
<RETURN> Enters typed text, requests, or commands into the buffer. Creates a new
line at the cursor location. Enters a response to a prompt.
<Shift> Shifts the keyboard to upper-case letters and to the symbols shown on the
upper half of the numeral and symbol key faces. Combines with a
function key to perform a request named on the face of the key or in the
template.
<SPACE_BAR> Inserts a space and moves the cursor one position to the right.
<TAB> Inserts spaces between the cursor and the next tab stop and positions the
cursor at the next tab stop. Combines with <Shift> to move the cursor to the
next tab stop to the right of the cursor.
<~> Inserts an underline character.
The numeric key pad also has three keys marked with symbols used in typing numbers. The
symbols are the hyphen, the comma, and the period.
In addition, there are two keys that have special uses, as described in Table 5-3.
3
Key Function
<CE> Breaks the line at the cursor position. All characters from the cursor position
to the end of the line move to a new line, but the cursor does not. Combined
with <Shift>, cancels a request that has been entered but has not been
completed.
<TAB> Inserts spaces between the cursor and the next tab stop, and positions the
cursor at the next tab stop.
The keys marked <CE> (“Clear Entry”) and <TAB> duplicate the actions of keys on the main
keyboard.
The function keys are used alone or with the <Shift> key.
• For the requests named in the shaded rows of the template, hold down the <Shift> key
while pressing the function key.
• For the requests named in the unshaded rows of the template, simply press the function
key.
Note: When combining <Shift> with a function key, press and hold the <Shift> key, and then press
the function key.
Examples
The editing requests that you perform with function keys are referred to in this manual by the
names on the template.
(For documentation of the edit command, see Chapter 4, “The Command Language,” or the
VOS Commands Reference Manual (R098).)
To begin an editing session by specifying a document name, type the edit command
followed by the name of the document. Then press <RETURN>.
At the bottom of the screen, the editor displays the default path name of the document. The
default path name is the full path name of the document. (For information on directories and
path names, see Chapter 3, “The Input/Output System.”)
Example
%s1#d01>Sales>Smith>document_name
When you eventually save the document, it will be stored under the default path name, unless
you specify another document name.
After you enter the edit command, VOS makes available a buffer for you to work in. A
buffer is in temporary storage. When you leave the editor at the end of the editing session, the
text in the buffer is discarded.
If the document name you enter specifies a document that does not yet exist, the buffer will
be empty.
If the document name you enter specifies an existing document, the editor places a copy of
this document in the buffer.
If you begin an editing session by entering the edit command and not specifying a document
name, the buffer is empty, and there is no default path name. You can insert a copy of a saved
document into the empty buffer using the Read file request. In this case, the name of the
inserted document will become the current default path name. (For information about the
Read file request, found on the Request Menu, see the subsection “Editing.”)
When the cursor appears in the upper left corner of the screen, the editor is ready for you to
enter or edit text.
<MENU> W
If the buffer was empty at the beginning of the current session, the text will be saved as a new
document.
If you were editing a copy of a previously saved document, the edited version will be saved
under that document name. The previous version will be saved separately, automatically, as
a back-up document.
The text in the buffer will be saved under the new document name, and the previous version
will continue to be saved under the original document name.
If, however, the name you enter as a new document name matches the name of an existing
file, the editor issues this message:
To replace the existing document with the new document, type y for yes, and press <RETURN>.
If you do not want to replace the existing document, type n, and press <RETURN>. Then give the
Write request again, and enter a different document name for the text in the buffer.
<MENU> Q
If you attempt to quit without first saving the text, this message appears:
The Quit request tells the editor to discard the text in the buffer. You are then at command
level.
Document Names
A document name is an unbroken series of no more than 32 characters. These characters are
listed under “Naming Conventions” in Chapter 3, “The Input/Output System.”
The choice of upper or lower case is significant. A document named test, for example, is
different from a document named Test.
The editor then clears the screen, and displays a list of requests. At the top of the screen, a
message is displayed telling you how to proceed.
Example
<HELP>
<DELETE><WORD>
When you press <DELETE>, the editor clears the screen and displays information about the
<DELETE> request. Then, when you press <WORD>, the editor displays information about the
<DELETE><WORD> request.
In a Specific Direction
An arrow key moves the cursor one position in the direction indicated by the arrow.
To go to the beginning of the text displayed on the screen, the request is:
<GO TO><−>
To go to the end of the last line displayed on the screen, the request is:
<GO TO><¯>
To go to the beginning of the line that the cursor is on, the request is:
<GO TO><¬>
To go to the end of the line that the cursor is on, the request is:
<GO TO><®>
In two circumstances, however, this request moves the cursor to the left. If the cursor is to the
right of the line-separating character, the cursor moves over that character. A line-separating
character is a nonprinting character that ends a line of displayed text and begins a new line.
Also, if there are no characters on the current line, the cursor moves to to beginning of that
line.
• Numerals
The request that moves the cursor forward over a whole word is <WORD><®>.
If the cursor is in the last word of a line, it moves to the end of the line. If the cursor is at the
end of the line, it moves to the beginning of the next line.
The request that moves the cursor backward over a whole word is <WORD><¬>.
If the cursor is contained in a word, it moves over the rest of that word. If the cursor is at the
beginning or to the left of the beginning of a word, it moves over the entire word to its left. If
the cursor is at the beginning of a line, it moves to the end of the preceding line.
To a New Line
When you give the <RETURN> request, the editor creates a new line at the cursor position, and
the cursor is moved to the first column of the new line.
To Another Half-Screen
If you press the <−> key when the cursor is in the first line of displayed text, the preceding ten
lines of text move into view. Similarly, if you press the <¯> key when the cursor is in the last
line of displayed text, the next ten lines of text move into view. The cursor rests in the middle
of the screen.
Note: On some terminals other than the Stratus Model V101 and Model V102 Terminals, the
requests for changing to the preceding and next screens are entered with function keys. These
keys are appropriately labelled on the template.
To go to the preceding screen, press <Shift><−>.To go to the next screen, press <Shift><¯>.
Line-by-line movement is vertical scrolling. The requests are <SCROLL><−> and <SCROLL><¯>.
<SCROLL><®>
The text moves right to display another column of text (if one exists) to the left of the current
screen display.
<SCROLL><¬>
The text moves left to display another column of text (if one exists) to the right of the current
screen display.
You can scroll more than a line or column at a time by using the <REPEAT> request, explained
in the subsection “Editing.”
Searching
Searching is the editor’s ability to find a word or phrase that you specify. This word or phrase
is called a search string. It can be of any length and can contain spaces. When the editor
locates the search string, it places the cursor over the first character.
Search Conventions
The editor searches for a string that exactly matches the search string you specify. The editor
considers spaces to be characters when matching the search string.
If a string in the text is a match for the search but is broken by a line-separating character, the
editor will not find the string. For example, if the search string is This string, the editor
will not find it in the following context:
Canceling a Search
To cancel a search request before it has been entered, press the <CANCEL> key. To cancel a
search that is already in progress, press and hold the <CTRL> key and then press the <BREAK> key.
<SEARCH><¯>
Forward search: string
<RETURN>
The editor searches forward from the cursor location for the string given in response to the
prompt.
<SEARCH><−>
Reverse search: string
<RETURN>
The editor searches backward from the cursor location for the string given in response to the
prompt.
Repeating Searches
The following examples show two ways that the editor provides for repeating a search.
Single Repetitions
The <REPEAT_LAST> request repeats the request that immediately precedes it. If the first request
was a search request, the repeated search begins one character to the right or left of the cursor,
depending on the direction of the search. The same occurrence of the string is thus not found
a second time.
Search Request
(Direction) search: string
<RETURN>
<REPEAT_LAST>
If you want to view the first occurrence of the search string, you must delay the <REPEAT_LAST>
request until the first occurrence is displayed.
Global Search-and-Replace
Repetition of a search from the cursor position at the beginning of the text to the end of the
text is called a global search.
To search for and replace each occurrence of the search string with another string, use the
Global replace request, choice G from the Request Menu.
<GO TO><LINE>
Line number: <−>
<MENU> G
Original string: string
<RETURN>
New string: string
<RETURN>
You can also use the <QUERY> request with the Global replace request. The <QUERY> request
tells the editor to prompt you at each occurrence of the search string in a global
search-and-replace.
When you give the <QUERY> request, the editor displays the message
<MENU> G
Original string: string
<RETURN>
<QUERY>
New string: string
<RETURN>
With this sequence, the editor displays and highlights each occurrence of the search string,
together with the message
Editing
This subsection discusses some of the most commonly used editing operations.
Typing in Characters
The simplest way of entering text into the editor is by typing in characters. As you type a
character, it appears at the cursor location, and the cursor moves one position to the right.
To end a line, press the <RETURN> key. The editor inserts a line-separating character and moves
the cursor to the first character position on the next line. Any text inserted to the right of the
line-separating character moves to the new line with the cursor.
You can remove a line-separating character by giving the <DEL> or <BACK_SPACE> request.
Line Length
You can type lines as long as 300 characters. When the cursor is off-screen to the right, the
editor displays a message indicating the cursor location.
Description Characters
Upper-case letters ABCDEFGHIJKLMNOPQRSTUVWXYZ
Lower-case letters abcdefghijklmnopqrstuvwxyz
Numerals 0123456789
32 special symbols ! @ # $ % ^ & * ( ) _ + ~ | - = ‘ [ ] : “ ; ’ < > ? }, . / {
Space
(The paragraph marker character is used with the VOS Word Processor formatting facility,
documented in How to Use the VOS Word Processor (R022) and in the VOS Word Processing
User’s Guide (R006).)
Deleting Characters
Both the <BACK_SPACE> and the <DEL> keys delete characters one at a time.
Key Action
<BACK_SPACE> Deletes the character to the left of the cursor.
<DEL> Deletes the character at the cursor’s current position.
Note: Do not confuse <DEL> with the <DELETE> key, which is a function key used to delete text
in words, lines, and blocks. (The <DELETE> key is described later in this subsection.)
You can use <BACK_SPACE> or <DEL> to delete a line-separating character. You can position the
cursor at the beginning of the line following the line-separating character to be deleted and
press the <BACK_SPACE> key. If both the cursor and the line-separating character that you want
to delete are on the same line, find the line-separating character by pressing <GO TO><®>, and
then press the <DEL> key.
Deleting a line-separating character causes the two lines that it separates to merge.
The Mark
The mark sets a location within a text that the editor “remembers,” but the mark itself is not
displayed. You use the mark and the cursor is to set boundaries around a block of text. This
is called delimiting the text. There are three major reasons for delimiting text. They are:
A document in the buffer can contain only one mark. When you begin an editing session, the
mark is set at the first character position in the buffer. During the session, however, you can
reset the mark any number of times, to any location in the text.
To set the mark, first move the cursor to the location where you want the mark to be. Then
give the request <MARK>.
Whenever you set the mark and then move the cursor, the text between the mark and the
cursor is highlighted (displayed in inverse video).
When you insert a document or a block of saved text into the buffer (operations explained in
subsections that follow), the editor sets the mark to the end of the inserted text. This text is
not highlighted, however.
Highlighting
Highlighting is the display of text in inverse video. In this form of display, the dark and light
of the background and lettering are switched. You can highlight any amount of text, from a
single character to an entire document.
To highlight text, give the <MARK> request at the cursor location, and then move the cursor
forward or backward. As the cursor moves away from the mark, the text between them is
highlighted.
If you move the cursor back through the text towards the mark, the highlighting is removed
from the text that is no longer between the cursor location and the mark.
To cancel the highlighting for an entire block of text, give the request <CANCEL>.
You may need to give the <CANCEL> request more than once to cancel highlighting. For an
outline of the editor’s priorities in canceling procedures, see the discussion under the heading
“The <CANCEL> Request,” in the subsection “Editing.”
The screen display for highlighted text within a line is always bounded by an extra space on
the right and on the left. These spaces do not appear when the text is printed.
The editor places any text that is deleted with the <DELETE> key or saved with the <SAVE> key
on the saved-text stack. Text that is deleted with the <DEL> or <BACK_SPACE> key is not placed
on the stack.
When a block of text is added to the stack, that block is placed on top. The rest of the contents
of the stack are pushed down. When the stack contains eight blocks of text, the next addition
pushes the lowest block off the stack. That block is discarded.
Text is retrieved from the top of the stack. The block of text that was most recently placed
there is the first block that can be retrieved. To retrieve text from the stack, give the request
<INSERT_SAVED>.
The editor then inserts at the cursor position a copy of the block of text that is on top of the
stack.
The editor sets the mark at the end of the inserted text, but does not highlight it.
The <INSERT_SAVED> request does not remove text from the stack. To remove (discard) text
explicitly from the stack, give the <DISCARD> request. Each time you press the <DISCARD> key,
the block at the top of the stack is removed.
To erase text both from the location of its last insertion and from the saved-text stack, give
the <DISCARD> request immediately after you have given the <INSERT_SAVED> request.
To erase text from the stack but not from the location of its last insertion, perform an operation
(such as moving the cursor) after you have given the <INSERT_SAVED> request. Then press
<DISCARD>.
To view all the contents from the current session on the saved-text stack, you can give the
Display status request. This is choice 1 from the Request Menu. The keystrokes are:
<MENU> 1.
To cancel the display of the saved-text stack and return to your previous screen, press
<CANCEL>.
Deleting Text
This subsection explains how to delete text with the <DELETE> key in combination with one or
more other keys. All text deleted with <DELETE>, including spaces or a single character, is
placed on the saved-text stack.
If you use the <DELETE> request when text is highlighted, it deletes that text.
Deleting Words
For a definition of word, see the subsection “Moving the Cursor.”
To delete a word, press the <DELETE> key and then the <WORD> key. The request is:
<DELETE><WORD>
• If the cursor is located at the beginning of a word, the editor deletes to the right, up to
the first nonalphanumeric character following an alphanumeric character, or up to the
next beginning of a word, whichever comes first.
• If the cursor is located anywhere other than the beginning of a word, the editor deletes
to the left, through the nearest beginning of a word.
Examples
Deleting Lines
To delete a line, press the <DELETE> key and then the <®> or <¬> key. Pressing <DELETE><®> deletes
all the characters on the current line from the cursor to the end of the line. Pressing <DELETE><¬>
deletes all the characters on the current line to the left of the cursor position.
Position the cursor to either the beginning or the end of the block.
<MARK>
Move the cursor to the other end of the block.
<DELETE>
Moving Text
You can move text within a document by deleting the text, moving the cursor to a new
location, and then inserting the text, using the <INSERT_SAVED> key.
You can insert the deleted text in more than one location. A block of text can be inserted any
number of times, since <INSERT_SAVED> does not remove the block from the top of the
saved-text stack.
When a block of saved text is inserted, the editor sets the mark to the end of the text.
Copying Text
You can copy a block of text any number of times into other sections of your document. To
do this, use highlighting, the <SAVE> key, and the <INSERT_SAVED> key.
Position the cursor to either the beginning or the end of the block.
<MARK>
Move the cursor to the other end of the block.
<SAVE>
Move the cursor to the position at which you wish to insert the block.
<INSERT_SAVED>
You can repeat the last two steps of this sequence any number of times. Each time, the text
will be copied at the cursor location.
Inserting a Document
You insert a document into the buffer with the Read file request. This is choice R from the
Request Menu. The sequence is:
<MENU> R
Input path name: path_name
<RETURN>
A copy of the document that you name in response to the prompt is inserted at the cursor
location. The editor sets the mark at the end of the document. If you have inserted the wrong
text, you can delete it immediately by pressing the <DELETE> key.
If you begin an editing session with an edit command and no document name, you are
beginning with an empty buffer. If you then use the sequence <MENU> R to “read” a document
into the empty buffer, the name that you give in response to the Input path name: prompt
becomes the default name for the buffer for this session. (Refer to the subsection “Beginning
and Ending an Editing Session” for a discussion of default names.)
Tabulation
When you enter the editor, the tab stops are set at every fifth column. Margins are considered
tab stops, except for the right margin at column 300. All text in the editor has left-margin tab
stops.
To move the cursor to a tab stop, press the <TAB> key. The editor inserts five spaces between
the cursor position and that tab stop. The <TAB> key is always used by itself.
To change the tab settings, see the explanation of the Set tab stops request or the
En/disable ruler mode request in How to Use the VOS Word Processor (R022) or in the
VOS Word Processing User’s Guide (R006).
Repeating Requests
The editor provides two ways of repeating a request. They are <REPEAT_LAST> and <REPEAT>.
These requests can be used to repeat most requests.
Example
To search for the string xyz and then repeat the search, use the sequence:
<SEARCH><¯>
Forward search: xyz
<RETURN>
<REPEAT_LAST>
If you want the first occurrence of the search string displayed for viewing, you must wait for
the display of the first occurrence before pressing <REPEAT_LAST>.
<REPEAT>
Number of times: number
<RETURN>
Give the request to be repeated.
If you respond to the prompt simply by pressing <RETURN>, the editor repeats the request until
an error occurs or until there is no more text for the repeated request to operate on. The
sequence is:
<REPEAT>
Number of times: <RETURN>
Give the request to be repeated.
Example
<REPEAT>
Number of times: 10
<RETURN>
<SCROLL><¬>
Single Letters
You can change a single letter at the cursor position to upper or lower case as follows.
Words
You can change all the letters in a word to either upper or lower case. Also, you can change
a few consecutive letters in a word to upper or lower case. In addition, you can change the
first letter in a word to upper case.
These requests operate by the same rules as the <DELETE><WORD> request, described in a
previous subsection. These rules are:
• If the cursor is located at the first character of a word, the request affects the entire
word.
• If the cursor is located anywhere other than at the first character of a word, the request
affects the characters to the left of the cursor through the nearest first character of a
word.
<WORD><CHANGE CASE><−>
<WORD><CHANGE CASE><¯>
<WORD><CHANGE CASE><¬>
Example
affected words
<WORD><CHANGE CASE><¬>
<WORD><¬>
<¬>
<WORD><CHANGE CASE><−>
The requests change letters from lower to upper case in the following way:
AFFECTED Words
• If you have given part of a multikey request, the editor cancels the request.
• If the editor is waiting for a response to a prompt, it erases the prompt and cancels the
request that caused the prompt.
• If you are editing the tab definition line, the editor cancels that process and discards any
changes you have made to the tab settings.
• If you are defining a shorthand definition, the editor cancels it. (Shorthand definitions
are explained in the manuals How to Use the VOS Word Processor (R022) and the VOS
Word Processing User’s Guide (R006).)
Clarification Aids
This subsection describes aids for working at your terminal.
<MENU> N
The first time that you give the request during an editing session, line number mode is turned
on. The second time that you give the request, line number mode is turned off.
Under certain circumstances, parts of the normal editor display capabilities can be
temporarily lost. This could occur, for example, if the terminal lost its power supply while
you were working in the editor. A first remedy for such a situation is entering the request
<REDISPLAY> twice. If your terminal is still not performing in the expected way, you can seek
assistance from your system administrator or a repair person.
On this line, the editor at times displays status messages related to certain requests you give,
and the system at times displays system messages.
Pressing the <STATUS> key replaces whatever is on the status line with a system status display.
This display consists of the name of the user logged in at this terminal, the time in a 24-hour
format, and data about your process.
Holding the <Shift> key and pressing the <STATUS> key replaces whatever is on the status line
with the editor’s status. If there is currently no editor status display, the <Shift><STATUS>
sequence displays an empty line.
Multiple Buffers
When you work in the editor, your text is in a section of temporary storage called a buffer.
The display of the buffer on the screen is called a window. Text stays in a buffer for the
duration of an editing session. When you end a session, the editor either saves the text as a
document or discards it. (See the subsection “Beginning and Ending an Editing Session.”)
During a session, you can edit in any number of buffers. A buffer must be displayed on the
screen for you to edit its contents. You can change the window display as often as you want.
When a buffer is not displayed, its contents still exist in the editor.
The buffer that is displayed when you give the edit command without a document name is
called the default buffer for that editing session. The default buffer has no buffer name.
Every buffer except the default buffer has a name. A buffer name can be any unbroken
sequence of up to 32 printing ASCII characters.
Changing Buffers
At any time, you can change the buffer that is displayed in the current window. The request
that performs this operation is Change buffer, choice B from the Request Menu. When you
give this request, the editor prompts you for the name of the buffer that you are calling into
the current window. The sequence is:
<MENU> B
Buffer name: name
<RETURN>
There are three ways that you can respond to the Buffer name: prompt. They are:
1. Giving the name of a buffer that does not exist displays an empty buffer.
2. Giving the name of a buffer you have already created during this editing session
displays the contents of that buffer.
3. Pressing <RETURN> without giving a buffer name displays the contents of the
default buffer.
When you press <RETURN>, the window displays a part of the specified buffer. The buffer name,
if there is one, appears below the solid line. If the buffer is associated with a document, the
path name of the document appears to the right of the buffer name.
The editor remembers the cursor and mark positions for any buffer that is no longer displayed.
To save the contents of a buffer, you must first display the buffer in the current window.
Therefore, you must use the Change buffer request to display each buffer whose contents
you want to save.
When you give the Quit request (<MENU> Q) to leave the editor, if there is a buffer whose
contents have not been saved as a document, the editor issues a message asking if you really
want to quit. If you do want to quit -- that is, if you want to discard the buffer contents that
have not been saved -- you can type y for yes.
You can use the Display status request, choice 1 from the Request Menu, to display the
Status Information Buffer, which lists the buffers created during this session. If the contents
of any buffer have not been saved, an asterisk is displayed next to the buffer name.
For more information on multiple buffers, and for information on multiple windows, see the
manual How to Use the VOS Word Processor (R022) or the VOS Word Processing User’s
Guide (R006).
• <INTERRUPT>
Entering any of these requests causes the editor to create a subprocess for executing the VOS
command or commands you enter during the current editing session.
To give the <INTERRUPT> request, press the <CTRL> key and the function key <F0> on the Stratus
Model V101 Terminal. Press <INTERRUPT> on the Stratus Model V102 Terminal.
VOS responds with the message ready and the time. You are then in a subprocess and can
enter any command, including edit, if you wish.
If you enter edit, you must end the editing session when you are through. Give the Write
request if you want to save the document, and then the Quit request. VOS responds with the
message ready and the time. You can then enter another command, if you wish.
When the last command you give in the subprocess has been executed and VOS displays the
message ready and the time, you can enter the logout command. The editor then returns
you to the last screen that was displayed in the main process.
If you are editing in a subprocess and wish to enter a command from within that session, you
can give the <INTERRUPT> request again. The editor suspends the editing session in the
subprocess and creates a second-level subprocess.
To log out of any subprocess, you must be at command level in that subprocess. Logging out
returns you to the previous process.
The Execute command and wait request is choice 7 from the Request Menu. The
sequence is:
<MENU> 7
The editor displays the Command: prompt. Type the command (or multiple commands
separated by semicolons) that VOS is to execute and press <RETURN>. You then wait while
VOS executes the commands.
When VOS has executed the commands, the editor automatically changes the display to the
buffer containing the results of the executed commands. The name of the buffer containing
the command results is C#N. The number N is incremented each time you use an Executed
command and wait request or an Execute command and continue request during the
editing session.
You can then view the results of the command VOS executed, copy part of the results of the
command’s execution into the buffer in which you were previously editing, or save the
results.
To return to the document you were working on, give the Change buffer request.
Typically, you use this request when the execution of a command might take a few minutes,
or longer, or when you do not need to see the results of the command’s execution. For
example, you can use the request to tell VOS to print the document you have saved in the
current buffer.
The Execute command and continue request is choice 8 from the Request Menu. The
sequence is:
<MENU> 8
The editor responds by displaying the Command: prompt. Type the command or commands
(separated by semicolons) that you want VOS to execute, and press <RETURN>.
When VOS finishes the process, the editor displays a message on the Status Line identifying
the buffer where the results have been placed; for example:
Whenever you are ready, you can give the Change buffer request and move to the
designated buffer.
Document Accessibility
VOS rules of document accessibility allow multiple readers or one writer. A reader is defined
as a user who edits, displays, copies, or prints a document. A writer is defined as a user who
has saved the contents of a buffer by writing it to a document in permanent storage, using the
<MENU> W sequence.
The coordination of access to documents is called document locking. When you are reading
a document, the document is said to be locked for reading. During this time, other users
(processes) can read the document while you are reading it. After you have written the
contents of your buffer to a document, the document is said to be locked for writing. No one
else can use this document until you end your editing session. In this way, the editor ensures
that a document remains consistent.
Sometimes a second user can read a copy of the original document into a second buffer before
you save your copy, however. Although the editor usually issues a warning to the second user,
the editor does not prevent the user from editing the text. Both you and the second user will
then have incompatible versions of the same document in your buffers. Neither of you will
be able to write the contents of your buffer to the document because each of you has the
document locked for reading.
To prevent such a situation from occuring, write the contents of your buffer to a document
early in your editing session. You thereby lock the document for writing. If you find that you
and another user have the same document locked for reading, you can resolve the situation.
First, find out who the second user is by entering the who_locked command followed by the
document name. Then, you can each write the contents of your buffer to a document name
different from the other user’s and reconcile the differences between the two versions
manually.
A loophole in document access coordination occurs when you use <MENU> 7, which is
Execute command and wait, or <MENU> 8, which is Execute command and continue.
At such times, the editor unlocks the document you had locked for writing and relocks it for
reading. The document is then available to the VOS command you entered and to any action
(such as printing) that VOS might take in response to the command. The document is also
available to other readers. Two users could thus have different versions of the same document
in their buffers and both have the document locked for reading.
You can resolve this situation by each user writing the buffer contents to to a different
document name and reconciling the differences manually.
You cannot prevent this situation from occurring while the command you entered after the
<MENU>7 or <MENU>8 sequence is executing. You can, however, prevent it from occurring
afterward. Do this by writing the contents of your buffer to the document soon after the
command has finished executing. If you find that someone else has already begun to use your
document, follow the procedure for reconciling the differences manually.
For more information about editing requests of the VOS Word Processor, see the manual How
to Use the VOS Word Processor (R022) or the VOS Word Processing User’s Guide (R006).
VOS Emacs is a text editing program that you use to edit files in the VOS directory hierarchy.
It runs as a subsystem of VOS and has its own set of directives.
Requests
The directives you give in Emacs are called requests. When you give a request, you are asking
Emacs to do something related to your text. Each request has a name. Some examples of
Emacs request names are backward_word, end_of_line, and search.
Note that when the name of a request has more than one word, the words are connected with
underlines.
Emacs understands requests you enter at your keyboard as specific keystroke combinations.
This section describes many of the keystroke combinations for giving Emacs requests.
For complete information about Emacs, see the VOS Emacs User’s Guide (R093).
When you press <CTRL>, you must hold it down while pressing another key. The <CTRL> key in
combination with another key represents a single character to Emacs.
When you press the <ESC> key, you release it before pressing another key. The <ESC> key in
combination with another key represents two characters to Emacs.
Table 6-1 shows examples of how keystroke sequences are represented in this section. In the
table, a hyphen (-) indicates that you release one key before pressing another in a sequence.
Therefore, do not type hyphens when they appear in examples in this section, unless the
accompanying text tells you to.
Note that you do not press the <RETURN> key after giving an Emacs request. Emacs interprets
a request as soon as you enter the specific keystroke sequence.
SYMBOLS ACTION
^ Press the <CTRL> key.
<ESC> Press the <ESC> key.
X Press the X key.
^X While holding down the <CTRL> key, press the X key.
^X-C While holding down the <CTRL> key, press the X key. Release both
keys. Then press the C key.
^X-^W While holding down the <CTRL> key, press the X key. Release only the
X key, and then press the W key.
<ESC>-N Press the <ESC> key, release it, and then press the N key.
<ESC>-^R Press the <ESC> key, release it, and then hold down the <CTRL> key
while pressing the R key.
<ESC>-@ Press the <ESC> key and release it. Then hold down the <Shift> key while
pressing the key marked with the commercial at sign (@).
<ESC>-<TAB> Press the <ESC> key, release it, and then press the <TAB> key.
The examples in this subsection describe where to position the point when you give a request.
Emacs session
The uninterrupted period of time between when you start using Emacs for text editing
and when you stop. There is no limit to the duration of an Emacs session.
buffer
A temporary storage area that holds text for the duration of an Emacs session.
Normally, a buffer contains the contents of a file.
window
The area on the CRT display that shows the text contained in a buffer. The size of a
window depends on what type of terminal you are using.
current
Describes the location of the cursor. When the term current is used to describe a buffer,
a window, a word, or a line, it refers to the buffer, window, word, or line in which the
cursor is located.
character
The smallest unit of text on the CRT display, in a buffer, or in a file. Characters may be
letters, digits, punctuation marks, symbols, spaces or newline characters. Most
characters appear on the CRT display when you type them on your keyboard.
space
An invisible character you enter by pressing the <SPACE_BAR> on the keyboard. A single
space occupies one character position on the CRT display and in a buffer.
newline character
An invisible character you enter by pressing the <RETURN> key on the keyboard. It
separates one line of text from another. Each line of text in a buffer, including the last
line, ends with a newline character.
blank
An area in a buffer or on the CRT display that is not occupied by any characters.
word
In Emacs, a word consists of one or more of these characters:
• Upper-case letters A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
• Lower-case letters a b c d e f g h i j k l m
n o p q r s t u v w x y z
• Digits 0 1 2 3 4 5 6 7 8 9
• Dollar sign $
• Underline _
• Commercial at sign @
screen
The amount of text displayed in a single window on the CRT display.
scroll
To give an Emacs request that displays another screen of text in a buffer when the total
amount of text does not fit into a single window.
file
A collection of related data or words treated by the computer as a unit, such as a text
file. You store in a file the text you type into a buffer with Emacs.
file name
A file name is an unbroken series of no more than 32 characters. The characters must
be chosen from among the ASCII characters available for naming objects in the Stratus
I/O system. These characters are listed under “Naming Conventions” in Chapter 3,
“The Input/Output System.”
write
To store in a file for later retrieval part or all of the text you type in a buffer.
read
To retrieve the text stored in a file by copying it into a buffer for viewing or editing.
Text read into a buffer is a duplicate of the text stored in the file.
prompt
An Emacs message asking you for information before Emacs carries out a request.
default
A value Emacs uses if you do not specify a value when a choice among values exists.
Default values are generally the values you use most often.
null response
An answer you can give in response to some Emacs prompts that causes Emacs to use
a default value. You enter the null response by pressing the <RETURN> key.
argument
A numerical option you can give with an Emacs request. With most requests, an
argument causes Emacs to execute that request a specified number of times. With some
requests, however, an argument causes Emacs to execute a variation or an extension of
the request, as described in the explanation of the request in this manual. There are also
some requests for which giving an argument has no effect.
Calling Emacs
Once you are logged in to VOS and are at command level, there are several ways to call
Emacs.
emacs
emacs file_name
If file_name is the name of an existing file, the command reads a copy of that file into a
buffer and gives the buffer a default path name. The default path name specifies the location
in the directory hierarchy to which the contents of the buffer will be written if you do not
specify a different name when you write the contents to a file. The default path name in this
case specifies the same location from which the file was read into the buffer.
If file_name is the name of a file that does not exist, an empty buffer appears, and you
receive the message Object not found. This empty buffer has a default path name. If you
type text into the buffer and then write the file without giving a different path name, the text
is stored in a new file that has the name you specified as file_name when you called Emacs.
Calling Emacs without a file name, entering ^X-^F, and then specifying a file name is
therefore the same as calling Emacs with a new or an existing file name.
If the file name you specify exists in the directory hierarchy, Emacs reads that file into the
buffer.
Entering Text
When you type text into a buffer, the first character you enter causes Emacs to display the
abbreviation mod on the identification line. This indicates that the buffer is now modified.
To correct mistakes as you are typing, use the <BACK_SPACE> key to delete a character to the
left of the point. The <BACK_SPACE> key executes the delete_char_backward request.
If you give the delete_char_backward request at the beginning of a line, the newline
character at the end of the previous line is deleted and the current line merges with the
previous line.
If you type more characters than can fit on one line in a window, the extra characters appear
on the next line and are preceded by a plus sign (+).
Before you exceed the maximum line length, use the <RETURN> key to insert a newline
character and move the cursor to the next line. The <RETURN> key represents the
carriage_return request. It adds lines to the buffer and creates more room for entering
text.
When you have filled the window and your cursor is at the end the last line of the first screen,
pressing the <RETURN> key moves the next screen into view.
If the cursor is already at the end of a line, the cursor moves to the beginning of the next line
so that the point is to the left of the first visible character on that line.
If the line the cursor moves to is off-screen, Emacs scrolls a new half screen of text into view.
If you give the delete_char_forward request at the end of a line, Emacs deletes the
newline character, and the next line merges with the current line.
You insert characters between other characters in a buffer by positioning the point of the
cursor to the location where you want the inserted text to begin and then typing the text.
Inserting a Line
To insert a new line between two lines of text in a buffer, position the cursor to the end of the
first line of text. Then press <RETURN>.
When the cursor is in the middle of a line of text, pressing the <RETURN> key breaks the line at
the point of the cursor and the cursor moves to the beginning of the next line.
Using Arguments
The primary purpose for giving an argument is to specify how many times you want to
execute a request. Requests that operate differently with arguments are described individually
in this manual.
You specify an argument by pressing the <ESC> key and then typing a number. Emacs assumes
that the first non-digit keystroke you enter after typing a number represents the request to be
executed. If the first keystroke after the argument is neither the <ESC> key nor the <CTRL> key,
Emacs interprets that one keystroke itself as the request to be executed.
Example
<ESC>-25
Before pressing any other key, press the <A> key. Emacs responds by inserting the character a
in the current buffer 25 times.
aaaaaaaaaaaaaaaaaaaaaaaaa
If you press the <ESC> key by mistake, give the cancel request (^C) to cancel the keystroke
sequence.
Example
Enter <ESC>-R.
If you type write_file, and then press the <RETURN> key, Emacs responds by executing the
request as if you had entered ^X-^W.
You can also give numeric arguments with a request using <ESC>-R.
Example
The subsection “Getting Help” later in this section describes how to get help about Emacs
requests and keystrokes.
The term file name is used to mean any full or relative path name that specifies an object (in
this case a file) in the VOS directory hierarchy. For information about path names, see
Chapter 3, “The Input/Output System.”
Example
Emacs then asks you for the name of a file in which you want to save the text.
Output pathname:
The path name enables Emacs to locate the file in the directory hierarchy.
To store the text in a file in your current directory, type a file name that conforms to the
file-naming rules in the subsection “Concepts and Terms,” such as test_file.
If there is no file with the name test_file, Emacs creates a file by that name to which it
writes your text.
If a file named test_file already exists, Emacs erases the existing file by writing the new
file over it.
If your buffer already has a default path name (such as when you call Emacs with a file name),
you can write the text to the file specified in that path name by entering a null response to the
Output pathname: prompt. Pressing <RETURN> without typing a name is the null response.
Quitting Emacs
After you give the write_file request (^X-^W) as described in the preceding subsection,
you can leave Emacs and return to command level by entering the quit request, <ESC>-Q.
If you have not saved the contents of the buffer, Emacs issues the prompt:
If you do not want to save the contents of the buffer, type y for “yes.” Any other response
returns the cursor to the position it was in before you gave the quit request, and you can
continue the session with all of your changes intact.
Summary of Requests
Table 6-2 summarizes the requests described in this subsection, “Creating, Editing, and
Saving Files.”
2
If the point is within a word when you enter the request, it moves to the right of the last
character in that word.
If the point is not within a word when you enter the forward_word request, it moves to the
right of the last character in the next word.
If the point is within a word when you enter the request, it moves to the left of the first
character in that word.
If the point is not within a word when you enter the backward_word request, it moves to the
left of the first character in the previous word.
When the cursor is at the beginning of a line, Emacs ignores a beginning_of_line request.
The end_of_line request (^E) moves the point to the left of the newline character at the end
of a line of text.
The end_of_screen request (<ESC>-E) moves the cursor to the first character position on the
last line of a screen of text.
When the last line of the screen is also the last line of the buffer and part of the window shows
a blank area, the cursor moves to the line below the last line of text.
If you give the next_screen request with an argument, Emacs scrolls forward in the buffer
the specified number of screens.
The prev_screen request (<ESC>-P) scrolls the preceding screen of text into view.
If you give the prev_screen request with an argument, Emacs scrolls backward in the
buffer the specified number of screens.
When you give an argument with the move_line request, Emacs scrolls the current line to
the line number in the current window that you specify as an argument.
Summary of Requests
Table 6-3 summarizes the requests described in this subsection, “Moving within a Buffer.”
3
Table 6-3. Summary of Requests for Cursor Movement and Scrolling (Page 1 of 2)
Table 6-3. Summary of Requests for Cursor Movement and Scrolling (Page 2 of 2)
Managing Files
This subsection describes more ways to use file names with Emacs, more ways to write text
to a file, and how to read files into a buffer. Also, this subsection describes how to set and use
the mark.
Before you can write an area of text to a file, you must mark off the selected area, known as
a region, from other text in a buffer. The mark delimits the region of text between the mark
and the point. You set the mark with the set_mark request (^@).
Only one mark can exist in a buffer. There are two ways the location of the mark is set. You
can set it explicitly with the set_mark request (^@). When you insert a region of text the
mark is automatically set at the end of the inserted region.
Note that the cancel request does not cancel the mark. You can move the mark by giving the
set_mark request at a new location, but the mark disappears only when you end your Emacs
session.
The subsections “Deleting and Retrieving Text” and “Moving and Copying Text,” later in this
section, describe other uses for the mark.
To mark off a region from the other text in a buffer, position the point to the left of the first
character in the region. Give the set_mark (^@) request to set the mark at the current location
of the point.
Now move the cursor so the point is to the right of the last character of the region.
Type the name of the file to which you want to write the region and then press the <RETURN>
key.
The read_file request (^X-^R) inserts text into a buffer without changing any text already
present in a buffer. However, if you give the find_file request (^X-^F) and specify a file
name that matches the name of the current buffer (by giving a null response to the File
name: prompt), Emacs reads in a new copy of the file in the state it was in the last time it was
written, and discards any text already in that buffer.
To discard changes you have made to the file and start over with a new copy, answer by typing
y for “yes.”
Summary of Requests
Table 6-4 summarizes the requests described in this subsection, “Managing Files.”
4
Text Editing
This subsection describes more ways to edit text with Emacs.
You give the tab request with the <TAB> key. In Emacs, tab stops are preset every five spaces.
Searching
An Emacs search request causes Emacs to locate a character or character string you specify
(if it exists in the buffer).
A string is a series of characters treated as a unit. The string Emacs looks for during a search
is called the search string. It can be of any length and can include spaces. Characters in a
search string, however, must be on the same line in a buffer.
You must specify the string exactly as it exists in the buffer. For example, if you type Them
in response to the Search: prompt, Emacs finds only those occurrences of the search string
that have an upper-case T. If the file does not contain Them, Emacs sends the message Search
failed.
There are several Emacs search methods, which are described in the next three subsections.
Searching Forward
The search request (<ESC>-S) causes Emacs to search forward in a buffer for a search string
you specify.
Emacs remembers the most recent search string you specified. When you give the next
search request, Emacs issues the prompt:
Search (string):
The string in parentheses is the last search string you specified; it is, therefore, the default
search string. To search again for string, enter a null response to the Search (string):
prompt by pressing the <RETURN> key.
To search for a string other than the default search string, type a new string in response to the
Search (string): prompt. The new string then becomes the default for the next search.
An argument with the search request specifies which occurrence of the search string Emacs
will find. For example, if you enter <ESC>-3-<ESC>-S search_string, Emacs searches
forward in the buffer for the third occurrence of search_string.
Searching Backward
The reverse_search request (^R) searches backward in a buffer for a search string you
specify.
As you give repeated reverse_search requests, you can use the default search string or
specify a different search string. The default search string for a search request remains the
same for the next reverse_search request.
An argument with the reverse_search request specifies which occurrence of the search
string Emacs will find. For example, if you enter <ESC>-3-^R search_string, Emacs
searches backward in the buffer for the third occurrence of search_string.
Replace:
Type the string you want to search for, and then press the <RETURN> key.
Type the new (replacement) string, and then press the <RETURN> key.
Emacs searches forward in the buffer until it finds the next occurrence of the string. Emacs
then issues the prompt:
• Press the <SPACE_BAR> to change the current replace string to the by string and move the
cursor to the next occurrence of the replace string.
• Press the <RETURN> key (indicated by CR for “carriage return” in the prompt) to leave the
current replace string intact and move the cursor to the next occurrence of the replace
string.
• Type an exclamation mark (!) to change the current and all other occurrences of the
replace string to the by string and return the cursor to the position it was in when you
gave the global_replace request.
• Give the cancel request (^C) to terminate the search and replace operation and leave
the cursor in its current position.
Giving an argument with the global_replace request causes Emacs to replace the
specified number of occurrences of replace_string. For example, if you enter
<ESC>-3-<ESC>-^R replace_string by_string, only three occurrences of
replace_string are changed to by_string. In this case, Emacs does not display a prompt
at each occurrence of the replace_string it locates.
A block is a quantity of text, stored in the kill ring as a unit. A block can be any size. The kill
ring can hold up to 10 blocks of text. Therefore, after the eleventh delete request that stores
text on the kill ring, the oldest block is discarded from the bottom of the stack.
If you give consecutive delete requests that store text on the kill ring (with the exception of
the wipe request, described later in this subsection), the deleted text is merged together on
the kill ring as a single block.
If you delete one character at a time with the <BACK_SPACE> key, or the <DEL> key, the deleted
text is not saved in the kill ring.
The kill ring and its contents are discarded when you quit Emacs.
Emacs automatically sets the mark after the last character inserted into the buffer when you
yank a block of text from the kill ring.
To yank the word from the kill ring, give the yank request (^Y).
If you give the delete_word_forward with an argument, it deletes the specified number
of words forward.
When you give consecutive delete_word_forward requests, the deleted words are stored
as a block of text on the kill ring. Therefore, you can yank them back into the buffer as a unit.
To yank back the word from the kill ring, give the yank request (^Y).
If you give the kill_right request with an argument, it deletes the specified number of
lines (counted by newline characters), from the point of the cursor forward. Text deleted in
this way is stored as one block on the kill ring.
If you give the kill_left request with an argument, it deletes the specified number of lines
(counted by newline characters), from the point of the cursor backward. Text deleted in this
way is stored as one block on the kill ring.
Text deleted with a wipe request is always stored as a separate block on the kill ring. Even if
you immediately give another request that also deletes and stores text on the kill ring, that text
is stored separately.
Moving Text
To move a region of text, you must first delete it so that it is saved in the kill ring as a block.
Then you can yank it back into the buffer where you want it.
When editing text, always remember that the mark exists somewhere in the buffer if you have
yanked any text from the kill ring, or have read text from another file into the buffer. If you
give a wipe request (^W), you may delete text you did not want to delete. However, if this
occurs, you can immediately retrieve the text with a yank request.
Copying Text
To copy a region of text, you must first delete it so that it is saved as a block in the kill ring,
and then yank it back into the buffer in the same position from which you deleted it. Since
text yanked from the kill ring is a copy of the block on the top of the stack, you can insert it
back into the buffer any number of times, wherever you want it. The block on the top of the
kill ring stack remains there until you add more text to the kill ring with another delete
request, or until you alter the sequence of blocks on the stack (described later in this section).
For more information about the wipe_and_yank_previous request, see the VOS Emacs
User’s Guide (R093).
Use this request when you want to retrieve a block of text from the kill ring that is not the one
most recently deleted and to discard any more recently stored blocks of text.
The capitalize_word request (<ESC>-C) changes the first letter in the current word to upper
case, and all the rest to lower case.
The upper_case_word request (<ESC>-U) changes all letters in the current word to upper
case.
The lower_case_word request (<ESC>-L) changes all letters in the current word to lower
case.
• To the right of the last character in a word, even if there are intervening word-separating
characters.
If you give any of these requests for words connected with underlines, each word is changed
separately to the specified case. For example:
If you give any one of these requests with an argument, it changes the case of the specified
number of words. For example, with an argument of 4, the request changes the case of the
current word and the next three words.
Summary of Requests
Table 6-5 summarizes the requests described in this subsection, “Text Editing.”
5
Therefore, when you move the cursor from buffer to buffer, the state of each buffer remains
constant until you move back to it and modify it.
Default Responses
Any request for which you can enter a default response to a prompt keeps that same default
value when you move from one buffer to another. For example, the default search string for
a search request that you give in one buffer remains the same if you give the request in
another buffer, unless you specify a different string.
• Call Emacs with more than one file name to begin a session.
You can also use the go_to_buffer request (described later in this section under “Moving
the Cursor from Buffer to Buffer”) to create a new buffer during an Emacs session. This
request, however, does not provide a default path name for the buffer.
Remember that, in this manual, the term file name is used to mean any full path name, relative
path name, or star name that specifies a file in the VOS directory hierarchy. See Chapter 3,
“The Input/Output System,” for information about paths and directories.
To create more than one buffer, specify more than one file name after the emacs command
name on the command line. Separate each name from the preceding one by a space. Emacs
creates a buffer for every existing file you specify and reads in a copy of each file to the
appropriate buffer.
You can specify any number of file names (including star names) on the command line when
you call Emacs. However, if you specify the name of a file that does not currently exist in the
directory hierarchy, Emacs stops creating buffers and reading text from existing files into
those buffers after it comes to the name of the nonexistent file on the command line.
When the Emacs editing environment appears, the buffer displayed in the current window is
either empty (if you specified the name of a nonexistent file), or it is the buffer whose name
was first on the command line. In either case, the buffer displayed has a default path name,
as does any buffer created when you call Emacs with a file name.
Emacs then creates a buffer with the name of the file you specified and a default path name
indicating the file’s location in the directory hierarchy.
If you specify a file that already exists, and that file name does not match the name of any
buffer in the current session, Emacs reads a copy of that file into the buffer.
If you specify a file that does not exist, the buffer is empty.
If you specify a star name, Emacs creates a buffer for each file that matches the star name,
and then issues a message telling you how many files were located.
In all of the previous three cases, the first buffer Emacs creates as a result of the find_file
request is displayed in the current window. The identification line changes to show the buffer
name and default path name of the current buffer.
If you specify a file name that matches the name of a buffer in the current session that already
contains text, Emacs provides a warning message:
If you respond by typing y for “yes” Emacs overwrites the buffer_name buffer with a new
copy of the file you specified in the state it was in the last time it was written (which does not
include any changes you have made in the current session). Any other response moves the
cursor to the buffer_name buffer without changing it.
When you give the go_to_buffer request, Emacs asks for the name of a buffer by issuing
the Buffer: prompt. Respond by typing a buffer name or by giving the null response.
The default value for the Buffer: prompt is the name of the buffer that the cursor was
previously in. If the cursor has not moved from the first buffer since the start of a session, or
if there is only one buffer in the session, the default value is the name of the current buffer.
The default value is displayed next to the prompt in the same manner as a default search
string. For example:
Buffer (test_file):
If you give the name of a buffer that exists in the current session, it is displayed in the window
and the cursor appears in that buffer. If no buffer in your current session has the name you
specify, Emacs creates an empty buffer with the name you specify, but with no default path
name.
Remember that when you work with multiple buffers, the identification line always shows the
name and the default path name (if any) of the current buffer.
The Emacs help request creates an internal buffer called the help buffer that lists Emacs
request names and their keystrokes.
When you enter the help request (<ESC>-H), you are prompted for a subject.
A null response to the Subject: prompt causes Emacs to create the help buffer
containing a list of all Emacs keystroke sequences and their corresponding request names.
The requests with no keystrokes listed next to their names must be executed with the
execute_request directive (<ESC>-R).
To obtain in the help buffer a list of request names and keystrokes for a specified subject,
first give the help request (<ESC>-H). Then, in response to the Subject: prompt, type part of
a request name relating to that subject. For example, to get help about requests relating to the
kill ring, enter Subject: kill.
To leave the help buffer and return either to the buffer the cursor was in when you gave
the help request or to a different buffer, use the go_to_buffer request (^X-B) described in
“Moving the Cursor from Buffer to Buffer,” earlier in this section.
To find out what keystroke sequence executes a specified request, give the help request
(<ESC>-H), and answer the Subject: prompt by typing the request name exactly.
For example, suppose you intend to delete a line from the point to the end of the line, and you
enter ^L by mistake. The line you meant to delete moves to the top of the window. If you do
not remember what request ^L executes and want to be sure it did not delete any text, enter
<ESC>-?-^L.
To verify the status of each buffer, first give a list_buffers request (^X-^B). With the
cursor in the resulting buffer list buffer, do the following for each modified buffer whose
contents you want to save:
• Give the go_to_buffer request (^X-B) and enter a null response to the Buffer:
prompt.
• Once the cursor is in the selected buffer, write the buffer’s contents to a file, and then
use the list_buffers request to update and return to the buffer list buffer.
When you have written to files all the text you want to save, then quit Emacs (<ESC>-Q). If you
try to quit an Emacs session when one or more buffers are modified and not written, you
receive a prompt similar to one of these:
If you do not intend to save the remaining changes, answer y for “yes” to return to VOS
command level. Any other response places the cursor back into the current buffer, and you
can continue the session.
Summary of Requests
Table 6-6 summarizes the requests described in this subsection, “Working with Multiple
Buffers.”
6
Editing Modes
One of the ways you can tailor the editing environment is by manipulating the settings of
editing modes.
An editing mode affects how text in a buffer appears on your CRT display or how Emacs
operates in response to your input. A mode setting can be on or off.
There are two kinds of editing modes: global modes and buffer-specific modes. An editing
mode is global if its setting applies to all buffers in the current session. If a setting applies
only to the current buffer, the mode is buffer-specific.
Some editing modes you can set in Emacs are uppercase mode, overlay mode, and carriage
return mode. For complete information about these and other editing modes, see the VOS
Emacs User’s Guide (R093).
You are now at command level and can execute any VOS command.
When you are finished using the subprocess, log out with the logout command, as described
in the subsection “Concepts and Terms.” The CRT display is then rewritten and you are
returned to your Emacs environment.
When you give the execute_command request, Emacs issues the Command: prompt. Type
a VOS command and press the <RETURN> key. VOS then starts a subprocess to execute the
command. When the command is finished, VOS ends the subprocess and the current window
displays an internal buffer called default output. The default output buffer shows
the results of the command.
To return to the buffer you were in when you gave the execute_command request, give the
go_to_buffer request (^X-B), and enter a null response to the Buffer: prompt.
Emacs then rewrites the screen so that the buffer you are editing no longer displays the
message. All other text in the buffer remains unchanged.
Summary of Requests
Table 6-7 summarizes the requests described in this subsection, “Interfacing with VOS.”
For more information about Emacs, see the VOS Emacs User’s Guide (R093).
The VOS abbreviations facility helps you create abbreviations that represent components of
a command line. Typically, an abbreviation is a short form of a command name. It can also
represent a command argument, a command function, a file name, a suffix, other components
of a command line, combinations of components, or even an entire command line.
Abbreviations can also be used in contexts other than command level, such as subsystem
requests. In this manual, however, explanations will be limited to command level.
Using an abbreviation can save you from typing long sequences of characters. You can create
abbreviations to suit your particular work on the computer.
An abbreviation is defined as a string that you use on the command line instead of one or
more tokens. VOS replaces the string on the command line by the token or tokens the
abbreviation represents. A token is defined as a string that contains no spaces. A token is
separated from another token on a command line by a space.
You enter an abbreviation and the token or tokens it represents in a text file called an
abbreviations file. The abbreviation and the token or tokens serve as a directive to VOS,
telling it to replace the abbreviation on the command line with the token or tokens before
executing the command.
You make changes to your abbreviations file by using a text editor (either the VOS Word
Processor or Emacs). After you save the text and leave the editor, you enter the
use_abbreviations command at command level. This command compiles the
abbreviations file into an abbreviations table. VOS uses this table to convert an abbreviation
on the command line into the token or tokens it represents before executing the command
line.
There are four types of abbreviations directives: first, subsequent, all, and symbol. The first
three types are the most frequently used, and are discussed in this subsection.
First Directives
A first directive tells VOS to replace the first token in a command line with the token or
tokens it represents.
For example, to create the abbreviation d to represent the command display, you enter the
following directive in the abbreviations file:
first d by display
This directive tells VOS to replace the abbreviation d, when it is the first token in a command
line, by the command display.
After you save the text file, leave the editor, and enter the use_abbreviations command,
you can use the abbreviation you created. Type, for example:
d data_file
Then press <RETURN>. Before VOS executes the command, it checks the abbreviations table
for first directives. When it finds the abbreviation d and the token it represents, VOS replaces
the abbreviation on the command line with the token. VOS then reads the command line as:
display data_file
Subsequent Directives
A subsequent directive tells VOS to look for an abbreviation that occurs on the command line
after the first token and replace it with the token or tokens it represents.
Suppose that you create the abbreviation data to represent the file name my_data_file.
This directive tells VOS to replace the abbreviation data, when it is subsequent to the first
token on the command line, by my_data_file.
After you save the abbreviations file, leave the editor, and enter the command
use_abbreviations, you can use the abbreviation in a command line. Type, for example:
display data
Press <RETURN>. Before VOS executes the command, it checks the abbreviations table for first
directives and then for subsequent directives. When it finds the abbreviation data and the
token it represents, VOS replaces the abbreviation on the command line with the token. VOS
then reads the command line as:
display my_data_file
All Directives
An all directive tells VOS to replace an abbreviation that occurs anywhere on the command
line with the token or tokens it represents. An all directive is frequently used for command
functions.
Suppose that you create the abbreviation cd for the command function (current_dir).
all cd by (current_dir)
This directive tells VOS to replace the abbreviation cd, wherever it occurs on the command
line, by (current_dir).
After you save the text file, leave the editor, and enter the use_abbreviations file, you
can use the abbreviation in a command line. Type, for example:
display_line cd
Then press <RETURN>. Before VOS executes the command, it checks the abbreviations table
for first directives, for subsequent directives, and then for all directives. When it finds the
abbreviation cd and the token it represents, VOS replaces the abbreviation on the command
line with the token. VOS then reads the command line as:
display_line (current_dir)
Example
The following list of abbreviations and the tokens they represent are shown here as a sample
abbreviations file:
all cd by (current_dir)
all CM by current_module
first ap by attach_port
first ccd by change_current_dir
first copy by copy_file
first dd by delete_dir
first dl by delete_file
first dp by detach_port
first go by continue
first lk by link
first lo by logout
first l by list
first lsad by list -all
first lu by list_users
first q by quit
first ul by unlink
subsequent -l by -line_numbers
subsequent -m* by -module *
subsequent -priv by -privileged
For more information about abbreviations, see the VOS Commands User’s Guide (R089) or
the VOS Reference Manual (R002).
This section describes the sequence of steps you take to create, compile, bind, and execute a
program.
The file in which you enter the text of a program is called a source module. The name you
give the source module includes a suffix indicating the programming language in which you
wrote the text. The source module is stored in the directory hierarchy. Table 8-1 lists the
suffixes for source module names.
1
Language Suffix
VOS PL/I .pl1
VOS COBOL .cobol
VOS Pascal .pascal
VOS FORTRAN .fortran
VOS C .c
VOS BASIC .basic
The VOS language manuals discuss the rules for writing source programs to be compiled and
run on VOS.
Suppose that you enter the command edit and write the following VOS BASIC program:
To write this program to a file, use the <MENU> W key sequence. The name that you enter in
response to the prompt Output path name: must contain the suffix .basic. You could
name the file, for example, print_numbers.basic. To quit the editor, use the <MENU> Q key
sequence.
The list command lists the contents of the current directory. If your current directory was
empty before you wrote this program, entering the list command produces the following
display:
Files: 1, Blocks: 1
w 1 print_numbers.basic
For information about the arguments for the pl1, cobol, pascal, fortran, c, and basic
commands, see the VOS Commands Reference Manual (R098) or any of the following VOS
language manuals:
When you execute the command for compilation, the compiler for the command language
translates the source module into an object module. The compiler gives the object module the
same name as the source module but changes the suffix to .obj. The compiler puts the object
module into your current directory.
To compile the VOS BASIC program written and named in the previous example, enter the
command basic and the name of the program. If you want a compilation listing, enter also
the -list argument.
If you then give the list command, your screen will display the following list of files:
Files: 3, Blocks: 3
w 1 print_numbers.basic
w 1 print_numbers.list
w 1 print_numbers.obj
If your program contains any errors, the file name print_numbers.error will also be
displayed.
An object module produced by one compiler can call an object module produced by another
compiler. The calling sequence, at the machine language level, is the same for all languages.
To run, a program needs all the routines that it calls. The binder combines the object module
you are binding and these separately compiled object modules into a program module. The
program module is the executable form of the program.
To invoke the binder, you enter the bind command with the name of your object module. You
can include or omit the suffix .obj.
The binder locates the object modules in a system object library or in other directories
specified by the user’s object library paths. The binder then combines the modules into the
program module and resolves the previously unresolved references by supplying the
locations of these modules relative to the beginning of the program module.
The binder resolves references to external data. Only references to VOS service subroutines
(and to certain data on the process kept by VOS) are not resolved in the program module.
These are resolved while the program is loading.
To name the program module, the binder uses the name of the object module given to it in the
bind command, with the suffix changed from .obj to .pm. It puts the program module in
your current directory.
If you then enter the list command, you will see the following listing:
Files: 4, Blocks: 11
w 1 print_numbers.basic
w 1 print_numbers.list
w 1 print_numbers.obj
w 8 print_numbers.pm
When you enter a command to execute a program, the command processor automatically
calls the loader to load the program module and to begin its execution. The loader sets up the
data structures VOS needs to execute the program.
To execute the VOS BASIC program module print_numbers.pm, you can enter the
command as follows:
print_numbers.pm <RETURN>
print_numbers <RETURN>
1 2 3 4 5
When the program finishes executing, control returns to the command processor. Your
process is then at command level.
Error Handling
An error detected during compilation causes an error message to be displayed on your screen.
VOS creates an error file containing all error messages for a source program. The error file
is named with the name of the source program, but the suffix is changed to .error.
• If the source program contains an error handler, that error handler takes control.
• If the source program does not contain an error handler, the system error handler takes
control, reports the error condition, and puts your process at break level. At break level,
you are prompted to enter one of the following six instructions: stop, continue,
debug, keep, login, or re-enter. See Chapter 2, “Using the Stratus System,” for an
explanation of these instructions. If the executing program does not support the use of
re-enter, choosing re-enter will produce an error message, and you will be
prompted again. Generally, a user-written program does not support the use of
re-enter.
Debugging
The VOS debugging facility is described for each language in the VOS language manual for
that language. The debug command is described in the VOS Commands Reference
Manual (R098).
The batch processor is a VOS facility that creates an independent, noninteractive process to
execute a command for you. This process is separate from your interactive process.
You submit a batch job by typing the batch command, a space, and the command you want
the separate process to execute. Pressing <RETURN> enters the batch command.
For example, a batch command for compiling a VOS PL/I source module named
make_report.pl1 in your current directory is:
The command that follows the batch command constitutes the batch job. The text following
batch on the command line must be enclosed in apostrophes if it contains one or more
spaces.
A batch job can be any command that you could enter in an interactive session, such as a VOS
internal command, a command macro, or a program module. A typical batch job is a
command macro containing several other commands and program calls.
VOS puts the command for a batch job in a batch queue and executes that command when it
reaches the head of the queue. The system administrator sets up the batch queue and gives it
a priority that determines when the jobs in the queue are executed. A user can submit a batch
job to any one of several queues, each having a different priority. The jobs in the queues run
over the same period of time that other processes in the system run.
See the VOS Commands Reference Manual (R098) for a complete description of the batch
command.
By using the -module module_name argument, you can start the noninteractive process
anywhere in the system. The work can be done on a module other than the one on which you
are logged in. The default, however, is your current module.
Example
If the text following the start_process command on the command line contains one or
more spaces, that text must be enclosed in apostrophes.
For a complete description of the start_process command, see the VOS Commands
Reference Manual (R098).
abbreviation
A character string in a command that VOS replaces before executing the command.
Each user defines his or her own abbreviations by editing an abbreviations file located
in the user’s home directory. The user then gives the command use_abbreviations,
which compiles the abbreviations file into an abbreviations table. VOS uses the table
to replace the abbreviations with their long forms.
abbreviations file
A text file containing abbreviation directives.
abbreviations table
A table created from an abbreviations file by the use_abbreviations command.
VOS refers to a user’s abbreviations table to determine the replacement for an
abbreviation.
access
To read from or write to a file or device. See access right.
access control
The mechanism by which VOS determines the access rights of users to files and
directories.
access right
A designation that determines the operations a user is permitted to perform on a file or
directory. The types of access rights to a file are null, execute, read, and write. The types
of access rights to a directory are null, status, and modify.
ACL
See access control list.
alias
An alternate (usually shorter) form of a person name that can be used with the login
command.
argument
A character string that specifies how a command, request, subroutine, or function is to
be executed.
In Emacs, an argument precedes a request and always consists of the ESC character
followed by a numerical value. What effect, if any, an argument has on a request
depends on the request. It may execute the request the specified number of times,
execute a variation of the request, or have no effect. This manual tells you if a request
produces different results when given with an argument. Otherwise, it is assumed that
an argument repeats a request the specified number of times or has no effect.
attach
To associate a port with a file or device, creating the port, if necessary.
back-up
In Emacs and in the VOS Word Processor, back-up refers to the on-line saving of an
unaltered original copy of a file while you are making and saving editorial changes to
that file. Using the -backup argument of the emacs command or of the edit
command causes VOS to create a back-up copy of an existing file the first time during
a session that you write the contents of a buffer to that file.
batch process
A noninteractive process that executes a command or command macro. When you
request a batch process, VOS puts the batch request into a specified queue and starts a
batch process to execute the command whenever resources become available. The
batch process runs independently of the process that issued the batch request.
bind
To combine a set of one or more independently compiled object modules into a
program module. Binding compacts the code and resolves symbolic references to
external programs and variables that are shared by object modules in the set and in the
object library (see the definition of library).
binder
A program that combines a set of independently compiled object modules into a
program module. The binder is called with the bind command.
blank
In Emacs and in the VOS Word Processor, an area in a buffer or on the CRT display
that is not occupied by any characters.
Glossary-2
Glossary
block
Part of a file or directory in secondary storage, usually on a disk or magnetic tape. A
disk block holds 4096 bytes. It is the smallest addressable unit in disk secondary
storage and is the unit of transfer of data between main storage and secondary storage.
File and directory blocks are read into the buffer pool before being accessed by the
system.
In Emacs, a quantity of text, stored in the kill ring as a unit. A block can be any size
(one or more characters) and can include visible characters, spaces, and newline
characters.
In the VOS Word Processor, a quantity of text, stored on the saved-text stack as a unit.
A block can be any size (one or more characters) and can include visible characters,
spaces, and line-separating characters.
break
To send a signal that interrupts a program being executed and places the process
executing the program at break level.
buffer
In Emacs and in the VOS Word Processor, a temporary storage area that holds text for
the duration of an Emacs or editing session. Normally, a buffer contains the contents of
a file. (In the VOS Word Processor, a file is called a document). The size of a buffer is
determined by the amount of text it contains. There is no limit to the number of buffers
you can use during an Emacs or editing session.
byte
2. The unit of storage that holds one character. An unsigned byte variable can contain
integer values in the range 0 to 255; a signed byte variable can contain integer values
in the range -128 to 127.
character
A member of the ASCII character set.
character string
An ordered set of characters. The first character occupies position 1 in the character
string. This position is the extremity at the left of the string. The last character occupies
the N-th position, where N is the length of the string or number of characters in the
string.
command
A program invoked from command level.
command function
A function that can be invoked when a process is at command level. An example of a
VOS command function is (time), which VOS replaces with the current time. A
command function must always be enclosed in parentheses.
command level
The state at which commands can be issued to the command processor.
command line
A set of one or more commands, separated by semicolons. Pressing one of the
following keys terminates a command line: <RETURN>, <ENTER>, <DISPLAY_FORM>.
command macro
A text file that is a user-written program, invoked in the same way that you invoke a
command. A command macro is composed of calls to VOS commands, calls to user
programs and commands, and command macro statements. The command processor
reads and executes lines from the macro file until one of the following occurs: it reaches
the end of the file, it reaches the macro statement &return, or some program
terminates in such a way that the file is abandoned.
The name of a command macro must end with the suffix .cm.
command name
The name of a program or command macro that can be called as a command.
command processor
The part of VOS that accepts and executes commands. The command processor
replaces abbreviations and evaluates command functions in a command before loading
the program specified in the command.
compiler
A program that translates a source module (source code) into an object module.
configuration table
One of the table files that VOS uses to identify the elements of a system. For example,
the file devices.table contains information about each device present in the system,
and the file disks.table contains information about each of the disks present in a
system.
current directory
A directory currently associated with your process. VOS uses your current directory as
the default directory when you do not specifically name the directory containing an
object that you want VOS to find. For example, if you supply a relative path name in a
command, VOS uses the current directory as the reference point from which to locate
the object in the directory hierarchy.
Glossary-4
Glossary
When you log in, your current directory is set to your home directory. You can change
the directory that is your current directory with the change_current_dir command.
current module
The module associated with a process; the module on which the process is executing.
You cannot change the current module of a process.
current position
The location in a file at which the next record operation will be performed.
In Emacs and in the VOS Word Processor, describes the location of the cursor. When
the term current is used to describe a buffer, a window, a word, or a line, it refers to the
buffer, window, word, or line in which the cursor is located.
current system
The Stratus system associated with a process; the system containing the process’s
current module.
default value
The value that VOS uses if a specific value is not supplied.
detach
To disassociate a port from a file or device.
device
Any piece of hardware that can be referenced and used by the system or users of the
system and that is defined in the device configuration table. Terminals, printers, tape
drives, and communications lines are devices.
device name
The name of a device. Device names are specified by the system administrator in the
device configuration table. The path name of a device has two components: (1) the
name of the system, prefixed by a percent sign, and (2) the name of the device, prefixed
by a number sign. For example: % s1# sales_printer.
At command level, you can abbreviate a device name by omitting the system
component.
Note that module names and disk names have the same form as device names.
directory
A catalogue of files, subdirectories, and links.
directory hierarchy
The structure of the set of directories subordinate to a disk.
disk directory
The top directory on a disk. In a path name, the disk directory name is prefixed with a
number sign (#).
disk name
The name of a disk. Disk names are specified by the system administrator in the disks
configuration table. (See configuration table.) The path name of a disk has two
components: (1) the name of the system, prefixed by a percent sign, and (2) the name
of the disk, prefixed by a number sign. For example: % s1# d01.
Note that module names and device names have the same form as disk names.
display
To show on the screen of a CRT terminal.
document
In the VOS Word Processor, a text editing file.
editing session
In the VOS Word Processor, the uninterrupted period of time between when you start
using the text editing program and when you stop. There is no limit to the duration of
an editing session. See Emacs session.
editor
A program to create and modify text files. Stratus supports two screen editors designed
for CRT terminals. The screen editors are invoked by the emacs and edit commands.
Emacs session
In Emacs, the uninterrupted period of time between when you start using Emacs for text
editing and when you stop. There is no limit to the duration of an Emacs session.
error code
A status code that is returned by a VOS service subroutine to indicate that an error has
occurred in the execution of the subroutine.
error message
A character string that is associated with an error code.
ESC character
The ASCII character with rank 27 (in hexadecimal, 1bx). The ESC character begins all
ESC sequences that VOS uses to control devices. You should not make the ESC
character your escape character.
Glossary-6
Glossary
In Emacs, the ESC character begins many character sequences that execute requests.
You issue the ESC character by pressing the <ESC> key.
ESC sequence
A character sequence beginning with the ASCII character ESC that VOS uses to
control a device.
In Emacs, a character sequence beginning with the ASCII character ESC that executes
a request.
executable program
The object created from a program module by the loader. The modifiable part of the
executable program does not reside in the file hierarchy, but rather in temporary paging
storage that is shared by many processes. Parts of an executable program can be
swapped in and out of main storage.
external programs
Programs that can be shared by more than one program.
external variables
Variables that can be shared by more than one program.
file
A set of records or bytes stored on disk or tape as a unit. A disk file has a path name
that identifies it as a unique entity in the system’s directory hierarchy. Attributes of a
disk file, such as its size and when it was created, are maintained in the directory
containing the file.
file system
The part of VOS that manages files in the directory hierarchy.
fixed file
A file with a fixed organization. In a fixed file, the records all have the same size. Each
record is stored in a disk or tape region holding a number of bytes that is the same for
all the records in the file. Compare with relative file, sequential file, and stream file.
For a device, a name that is composed of the name of the system and the name of the
device.
A full path name refers to only one object; an object has exactly one full path name.
(However, many links can refer to the same object.)
function
A procedure that takes zero or more input arguments and returns a single value.
group
A set of users whose directories are contained in the same group directory.
group directory
A set of user directories, collected together for the purposes of allocating system
resources and simplifying access control. A group directory is a directory immediately
subordinate to a disk. It has the same name as a group and contains the user directories
of the members of the group.
home directory
A directory that is your current directory when you log in and that VOS uses as the
default directory in which to place certain files.
A directory can be specified in your registration table entry as your home directory. If
the entry does not specify a home directory, your default home directory is a
subdirectory of the group directory that you logged into, and is named with your person
name.
include file
A file that the compiler includes in the source module used by the compilation process.
The name of the include file must be specified in a language-specific directive within
the source module.
interactive process
A process started with the login command. A user working with an interactive
process is engaged in a dialogue with VOS, issuing commands and receiving
responses, normally from a CRT terminal.
internal buffer
In Emacs, a buffer that Emacs creates and formats to provide temporary storage for
informational output. Although you do not explicitly create internal buffers, you can
edit or write their contents to files in the same way as buffers you create for editing text.
They do not have path names by default, however.
keep module
A file that allows you to debug at a later time a program that was executing when the
break signal was given or a fault occurred. If the program was running in an interactive
process, VOS produces the keep module only if you choose the keep option. If the
program was running in a batch process, VOS automatically produces the keep module.
The name of a keep module is the name of the program with the suffix .kp replacing
the suffix .pm.
Glossary-8
Glossary
kill ring
In Emacs, a temporary storage area, or buffer, that saves deleted text in an ordered list
when you use certain delete requests. The kill ring can hold up to 10 blocks of text. The
kill ring and the text it contains are discarded when you quit Emacs.
library
One or more directories in which VOS looks for objects of a particular type. There are
three kinds of library defined by VOS:
One of each of these libraries is available in the >system directory of each module for
all processes running on the module. In addition, you can define your own libraries.
line-separating character
In the VOS Word Processor, a nonprinting character that ends a line of displayed text
and begins a new line. You insert the character in a document by pressing <RETURN>.
link
An object contained in a directory that directs all references to itself onward to a file, a
directory, or another link. Like many other objects, a link has a path name that identifies
it as a unique entity in the system directory hierarchy.
loader
The part of the command processor that converts a program module (created by the
binder) into an executable program. The loader relocates many pointers in the static
region, allocates and initializes the heap and stack, resolves external references to
kernel entry points, and manages the sharing of shared programs and data.
mark
In Emacs, a location that delimits a region of text between itself and the point. You set
the location of the mark with the set_mark request (^@).
In the VOS Word Processor, a location that delimits a region of text between itself and
the cursor. You set the location of the mark with the <MARK> request.
message
In Emacs and in the VOS Word Processor, a line of text that the editing program
displays to provide you with information.
module
A single Stratus computer. A module is the smallest hardware unit of a system capable
of executing a user’s process.
module name
The name of a module. Module names are specified by the system administrator in the
modules configuration table. (See configuration table.) The path name of a module
has two components: (1) the name of the system, prefixed by a percent sign, and (2) the
name of the module, prefixed by a number sign. For example: % s1# m5.
Note that device names and disk names have the same form as module names.
network
A communications facility that connects two or more points. The Stratus network
structure can consist of both local networks and long-haul networks.
newline character
In Emacs, a nonprinting character that you insert in a file by pressing the <RETURN> key.
null response
In Emacs, an answer you can give in response to some Emacs prompts that causes
Emacs to use a default value. You give the null response by pressing the <RETURN> key.
object
Any data structure or device in the system that you can refer to by name or some other
identifier. For example, all of the following are objects: directories, files, links, and
ports.
object module
A file produced by a compiler. An object module consists of nonexecutable machine
instructions and usually contains symbolic references to external variables and
programs. To execute the program, an object module must be bound by the binder and
loaded by the loader.
object name
A character string identifying an object. The maximum length of an object name is
32 characters. Examples of objects that have object names are files, directories, and
links.
organization
The way records in a file are stored on a disk. The four organizations are sequential,
relative, fixed, and stream.
Glossary-10
Glossary
password
A sequence of characters that a user can be required to supply when logging in. The
characters in a password do not appear on the screen when they are typed in response
to a prompt for a password.
path
An attribute of an object. The object’s path is the sequence of objects (system, disk,
directory) that are superior to the object in the directory hierarchy.
path name
A unique name that identifies a device or locates an object in the directory hierarchy.
See full path name and relative path name.
person
An individual who is registered to use a system. A person is specified by a person name.
person name
The name that identifies a person to the system. When logging in, you must supply
either the person name or the alias by which the system can identify you.
port
A data structure, identified by a name, that you attach to a file or device for the purpose
of accessing the file or device. When an executing program refers to a file or device,
VOS uses the port having the same name.
port attachment
The creation of a port for the purpose of accessing a file or device.
port name
The name of a port.
position
The location of a record in a file.
privilege
An attribute of a user allowing him or her to use certain system administrator
commands or subroutines. You can be privileged or not depending on your registration
table entry and on how you logged in. Most users must specify the -privileged
argument to the login command in order to be privileged. However, the system
administrator can set your registration table entry so that you are not permitted to give
the -privileged argument. Your registration table entry can also be set so that you
are automatically logged in as privileged unless you give the -no_privileged
argument to login.
privileged process
A process created by a user who has logged in as privileged.
process
The sequence of states of the hardware and software during the execution of a user’s
programs. When you log in, VOS creates a process for you to control the execution of
your programs. Your process can create other processes at your request. A process is
always in one of three states: running, waiting, or ready.
processing module
See module.
program module
A file produced by the binder from object modules. A program module consists of
executable machine instructions that the loader can convert to an executable program.
prompt
In Emacs and in the VOS Word Processor, a message to the terminal user requesting
further information before processing can continue.
query
In the VOS Word Processor, a line of text that VOS displays to prompt you for
information. You ask VOS to query you by giving the <QUERY> request when you give
the Global replace request.
queue
A mechanism to record jobs that are waiting to be processed. Jobs can be given
priorities within a queue.
read
In Emacs and in the VOS Word Processor, to retrieve the text stored in a file by copying
it into a buffer for viewing or editing. Text read into a buffer is a duplicate of the text
stored in the file; the contents of the file remain unchanged while you are making
changes to the copy.
reader
In the VOS Word Processor, a user who edits, displays, copies, or prints a file
(document).
record
In all files except stream files, a record is an ordered set of bytes. A record is the
smallest unit of data that VOS file I/O routines can access when performing operations,
such as reading or writing, on files or devices.
Glossary-12
Glossary
registration table
The file registration_file.table, which identifies the users who are registered
to use a system and the system resources available to each user.
region
In Emacs, an area of text in a buffer between the mark and the point.
In the VOS Word Processor, an area of text in a buffer between the mark and the cursor.
relative file
A file with a relative organization. In a relative file, the records can have varying sizes.
Each record is stored in a disk or tape region holding a number of bytes that is the same
for all the records in the file. Compare with fixed file, sequential file, and stream file.
request
In Emacs and in the VOS Word Processor, an instruction that you give to the text
editing program. The instruction must be given during an Emacs or editing session. See
Emacs session, editing session.
Saved-Text Stack
In the VOS Word Processor, a temporary storage area, or buffer, that saves deleted text
in an ordered list when you use the <DELETE> or <SAVE> request. The Saved-Text Stack
can hold up to 8 blocks of text. The stack and the text it contains are discarded when
you quit the editor.
screen
In Emacs and in the VOS Word Processor, the amount of text displayed in a window
on the CRT display.
scroll
In Emacs and in the VOSWord Processor, to display another screen of text in a buffer
when the total amount of text does not fit into a single window. You can scroll
backward and forward through a buffer, either a full screen or partial screen at a time.
sequential file
A file with a sequential organization. In a sequential file, the records can have varying
sizes and each record is stored in a disk or tape region holding approximately the same
number of bytes as in the record. Thus the record storage regions in a sequential file
vary from record to record. Compare with fixed file, relative file, and stream file.
source module
A text file that can be compiled by a VOS compiler to produce an object module. A
source module is a program written in a computer language.
space
An invisible character you enter by pressing the <SPACE_BAR> on the keyboard. A single
space occupies one character position on the CRT display and in a buffer.
star name
A name containing one or more asterisks. A star name matches an object name if, when
the asterisks in the star name are replaced with definite character strings, the result is
the object name.
StrataLINK
The Stratus local-network facility, used to connect modules within a system.
StrataNET
The Stratus long-distance network facility, used to connect systems.
stream file
A file with a sequential organization. In a stream file, the records can have varying sizes
and each record is stored in a disk or tape region holding approximately the same
number of bytes as in the record. Thus the record storage regions in a stream file vary
from record to record. In these ways, stream files are similar to sequential files.
However, stream files differ from sequential files in the following ways:
1. While a sequential file must be accessed on a record basis, a stream file can be
accessed on either a record or byte basis. For example, to read from a sequential
file you must use s$seq_read, which reads the next record from the file. To
read from a stream file, you can use either s$seq_read to read the next record,
or s$read_raw to read a specified number of bytes from the file, ignoring the
file’s record structure.
2. Sequential files are stored on disk with the record size at the beginning and end
of each record. Stream files do not have any record size information stored with
them; each newline character in the file (or line-separating character in the VOS
Word Processor document) is interpreted as the end of a record.
It is possible to have a stream file with only one record (with a maximum size of about
32,000 bytes). When stream files are used to store text, each record contains one line
of text.
Glossary-14
Glossary
string
See character string.
subprocess
An additional user process begun while the former process is suspended but not
terminated. The new subprocess “inherits” several attributes from the former process,
such as priority and access privileges, and the current directory. Each successive
process that you start is a subprocess of the preceding process. Therefore, you must log
out of each new subprocess to return to your original process.
subsystem
A VOS facility that enters a command loop in which you can give directives or requests
that have functions unique to the subsystem. The most common subsystems are
analyze-system, system-operator, and the debugger.
suffix
A character string that begins with a period and is added to an object name to indicate
the type of the object.
system
Either a single module that is not connected to other modules, or a group of up to 32
modules located at the same site (the same building or neighboring buildings) and
connected in a local network by means of StrataLINK.
target of a link
The immediate target of a link is the file, directory, or link specified by the link’s path
name. The ultimate target of a link is the file or directory that is the target of the last
link in a chain.
text file
A sequential or stream file containing only ASCII characters.
user
An individual who is registered to use a system. A user is specified by a user name,
which is made up of a person name and a group name.
user directory
A subdirectory of a group directory having the person name of a user in the group.
Normally a user directory is someone’s home directory.
user name
An identifier composed of a person name and a group name.
VOS
The virtual operating system of the Stratus computer.
window
In Emacs and in the VOS Word Processor, the area on the CRT display that shows text
contained in a buffer. There can be multiple windows on the CRT display at the same
time.
word
Two bytes of data aligned on a two-byte boundary. An unsigned word variable can be
assigned integer values in the range 0 to 65535; a signed word variable can be assigned
integer values in the range -32768 to 32767.
In Emacs and in the VOS Word Processor, a word is a character string that consists
solely of letters, numerals, and the characters @, $, and _.
write
In Emacs and in the VOS Word Processor, to store in a file for later retrieval part or all
of the text you type in a buffer. Since a buffer is a temporary storage area, it is discarded
when you end the editing session. The only way to change the contents of a text editing
file is to write over it or delete it.
writer
In the VOS Word Processor, a user who has saved the contents of a buffer by writing it
to a document in permanent storage, using the Write request.
Glossary-16
Index Index-
Index-2
Index
creating, 3-8 interaction with vos, 1-1, 2-1, 2-5, 3-8, 4-3
error, 3-3 interactive process, 1-1, 9-2
file names, 6-4, 6-8, 6-21 internal buffers
listing, 3-3 default output, 6-25
object, 3-3, 3-4 help buffer, 6-23
source, 3-3, 3-4 internal commands, 2-8, 2-15, 4-1, 9-1
storing, 3-4 interrupt request, 2-13, 5-25
find file request, 6-5, 6-10, 6-13 interrupted program, 2-16
warning message, 6-22 inverse video, 2-11, 2-12, 4-3, 5-16
first directives, 7-2 invisible self inserting characters, 6-4
fortran command, 8-2
forward char request, 6-6, 6-10 K
forward word request, 6-10, 6-12
keep command, 2-16, 8-5
full path names, 3-13, 6-8, 6-21
keyboards, 2-1, 2-2
funct key, 2-6
function keys, 2-2, 2-7, 5-3, 5-6
function keys, 2-2, 2-7, 5-3, 5-6
keys, 2-5
main keyboard, 2-2, 5-1, 5-4
G numeric key pad, 2-2, 2-6, 5-3, 5-6
getting help, 5-9 special keys, 2-5, 2-7, 5-2, 5-5
about a keystroke sequence, 6-23 template, 2-2
about a specified subject, 6-23 keystroke sequences, 6-1
about all requests and keystrokes, 6-23 keystroke symbols, 6-1
global editing modes, 6-24 kill left request, 6-17
global replace request, 6-15 kill right request, 6-17
with an argument, 6-16 kill ring, 6-16, 6-20
globala replace request, 5-13 discarding text from, 6-18
go to buffer request, 6-22, 6-23, 6-24, 6-25 manipulating sequence of blocks, 6-18
goto downarrow request, 5-10 retrieving text from, 6-16, 6-18
goto leftarrow request, 5-10 kill ring stack, 6-18
goto rightarrow request, 5-10
goto uparrow request, 5-10 L
group names, 2-9
last in first out sequence, 6-16
altering, 6-18
H leftarrow key, 5-10
help buffer, 6-23 libraries, 2-13, 4-1, 4-2
help command, 2-8, 2-15, 4-1 system, 8-3
help request, 5-9, 6-22, 6-24 system object, 8-3
highlighting, 5-16 line
canceling, 5-16 deleting backward, 6-17
home directory, 2-12, 2-13 deleting forward, 6-17
scrolling to top of screen, 6-11
I line length, 5-14
line numbers, 5-22
identification line, 6-5
line separating character, 5-10, 5-12, 5-14, 5-15
current buffer name, 6-22
lineal form of commands, 2-7, 2-10, 2-13, 4-2,
default path name, 6-22
4-6
mod message, 6-5
link command, 3-15, 4-11
input output devices, 3-10, 3-15
links
names, 3-13
names, 3-14
insert default request, 2-6
null, 3-15
insert saved discard request, 5-17
list buffers request, 6-23
insert saved request, 2-6, 2-7, 5-16, 5-18, 5-19
list command, 2-15, 3-10, 4-2, 4-6, 8-2
inserting documents, 5-19
list library paths command, 4-10
Index-4
Index
P Q
pascal command, 8-2 query request, 5-13
passwords, 2-9, 2-10, 2-12 quit request, 6-8, 6-10, 6-13
changing, 2-12 warning message, 6-23
path names, 3-12 quita request, 5-8, 5-9, 5-24, 5-25
default, 5-7, 5-8, 5-19, 6-5 quitting emacs, 6-8
devices, 3-10 quitting the editor, 5-8
full, 3-12, 3-13, 6-8, 6-21
links, 3-14 R
relative, 3-8, 3-13, 6-8, 6-21
read, 6-4
paths, 3-9
read file request, 5-7, 5-19, 6-12, 6-13, 6-14
person names, 2-9, 2-10, 2-12
reader, 5-27
alias, 2-9
reading a document into a buffer, 5-7
pl1 command, 2-15, 8-2
reading a file into a buffer, 6-13
point, 6-2
ready message, 2-10
location of, 6-2, 6-12, 6-20
records, 3-4, 3-5
ports, 2-13, 3-15
redisplay request, 5-23
power switch, 2-1
redisplaya request, 6-25, 6-26
prelogin commands, 2-8
reenter command, 2-16, 8-5
prev line request, 6-6, 6-10
region, 6-13
prev screen request, 6-11, 6-12
marking, 6-12
print command, 4-3, 4-7
regional request, 5-20
arguments, 4-3
registration file, 2-9, 2-12
print key, 2-6
group name, 2-9
priority for logging in, 2-12
password, 2-9
privilege for logging in, 2-12
person name, 2-9
process, 2-12
relative path names, 3-8, 3-13, 6-8, 6-21
batch, 9-1
rename command, 4-2, 4-7
interactive, 1-1, 3-15, 9-1, 9-2
repeat last request, 5-12, 5-20
main, 5-25
repeat request, 5-11, 5-20
noninteractive, 1-1, 9-1, 9-2
request level, 5-7
second level subprocess, 5-25
request menu, 5-3, 5-7
started, 9-2
request menu requests
subprocess, 5-25
menu 1, 5-17, 5-24
program modules, 2-15, 3-3, 4-1, 8-3, 9-1
menu 7, 5-25, 5-27
executing, 4-2, 8-4
menu 8, 5-26, 5-27
invoking, 4-2
menu b, 5-24
loading, 4-2, 8-4
menu g, 5-13
suffix, 8-2, 8-4
menu n, 5-22
programming languages, 8-1
menu q, 5-25, 8-2
programs
menu r, 5-19
abbreviations for names, 4-2
menu w, 5-8, 5-24, 5-25, 5-27, 8-2
command macros, 2-15
requests, 5-1, 6-1
executing, 8-1, 8-3
return request
invoking, 4-2
in the vos word processor, 5-3, 5-6, 5-11,
program modules, 2-15
5-24
in vos, 2-10, 2-11, 2-13, 2-16, 4-3, 4-6
Index-6
Index
Index-8