Você está na página 1de 152

R001-01

Introduction to VOS

Stratus Computer, Inc.


Notice

The information contained in this document is subject to change without notice.

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.

Apple and Macintosh are registered trademarks of Apple Computer, Inc.


IBM PC is a registered trademark of International Business Machines Corporation.
Sun is a registered trademark of Sun Microsystems, Inc.
Hewlett-Packard is a trademark of Hewlett-Packard Company.
UNIX is a registered trademark of X/Open Company, Ltd., in the U.S.A. and other countries.
HP-UX is a trademark of Hewlett-Packard Company.
Manual Name: Introduction to VOS

Part Number: R001


Revision Number: 01
VOS Release Number: 5.0
Printing Date: April 1986

Stratus Computer, Inc.


55 Fairbanks Blvd.
Marlboro, Massachusetts 01752

© 1986 by Stratus Computer, Inc. All rights reserved.


Preface

The Purpose of This Manual


This manual provides a new user of VOS with introductory information about VOS services.
It also provides the instructional information necessary to use the services described.

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:

• An overview has been added to the manual.

• 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.

• The paragraph on abbreviations has been expanded to become Chapter 7.


• The new conventions for using periods in names and using special names for
directories have been added to the conventions for naming objects, in Chapter 3.

• In Chapter 3, the term “disk directory” replaces “pack master directory.”

• Ports and links are discussed in new text in Chapter 3.

• 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.

Introduction to VOS (R001) iii


Preface

• 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.

• A glossary of terms has been added.

Manual Organization
This manual has nine sections and a glossary.

Chapter 1 provides an overview of the Stratus computer system.

Chapter 2 orients the user to working at a terminal in interactive processes.

Chapter 3 describes the input/output system.

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 7 explains how to create and use abbreviations.

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:

The ready prompt indicates that you are at command level.

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:

Your current directory is the directory you are working in.

Boldface is used to emphasize words within the text. For example:

iv Preface
Preface

Giving multiple values is not the same as giving a star name.

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)

A Note on the Contents of Stratus Manuals


Stratus manuals document all the subroutines and commands of the user interface. Any other
commands and subroutines contained in VOS are intended solely for use by Stratus personnel
and are subject to change without warning.

How to Comment on This Manual


You can comment on this manual by using the command comment_on_manual, described
in the VOS System Administrator’s Guide (R012). Type comment_on_manual, press
<RETURN>, and then complete the form that appears on your screen. You must fill in this
manual’s part number, R001. When you have completed the form, press <ENTER>. Your
comments are sent to Stratus over the Remote Service Network. Note that VOS includes your
name with your comments.

Stratus welcomes any corrections and suggestions for improving this manual.

Introduction to VOS (R001) v


Preface

vi Preface
Contents

1. Overview of the Stratus Continuous Processing System. . . . . . . . . . . . . . . . . 1-1


Interactive Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1

2. Using the Stratus System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1


Using a Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
The Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
The Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
The Main Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
The Numeric Key Pad . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
The Function Keys . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Retrieving Input Saved in Buffers . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Getting Help from the System before Logging in . . . . . . . . . . . . . . . . . . . 2-8
Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Logging in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
The Lineal Form of the Command . . . . . . . . . . . . . . . . . . . . . 2-10
The CRT Form of the Command . . . . . . . . . . . . . . . . . . . . . . 2-11
Logging out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
Processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13
Creating a Subprocess from Command Level . . . . . . . . . . . . . . . . . 2-13
Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Command Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Getting Help from the System after Logging in . . . . . . . . . . . . . . . . . . . 2-15
Suspending Execution of a Command . . . . . . . . . . . . . . . . . . . . . . 2-16
Using the <CANCEL> Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16

3. The Input/Output System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1


Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Suffixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Star Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Special Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Access to Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
File Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Disk Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
System Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7

Introduction to VOS (R001) vii


Contents

Group Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7


User Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Home Directory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Current Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Access to Directories . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
I/O Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Path Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Files or Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
I/O Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Relative Path Names . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Ports Attached by Default . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Attaching a Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16

4. The Command Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1


Command Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
Command Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
The CRT Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
The print Command . . . . . . . . . . . . . . . . . . . . . . . . 4-3
The Lineal Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Sample Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
The list Command . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
The display Command . . . . . . . . . . . . . . . . . . . . . . . 4-7
The print Command . . . . . . . . . . . . . . . . . . . . . . . . 4-7
The rename Command . . . . . . . . . . . . . . . . . . . . . . . . 4-7
The edit Command . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
The emacs Command . . . . . . . . . . . . . . . . . . . . . . . . 4-8
The copy_file Command . . . . . . . . . . . . . . . . . . . . . . 4-8
The move_file Command . . . . . . . . . . . . . . . . . . . . . . 4-8
The delete_file Command . . . . . . . . . . . . . . . . . . . . . 4-9
The display_current_dir Command . . . . . . . . . . . . . . . . 4-9
The change_current_dir Command. . . . . . . . . . . . . . . . . 4-9
The create_dir Command . . . . . . . . . . . . . . . . . . . . . 4-9
The delete_dir Command . . . . . . . . . . . . . . . . . . . . . 4-9
The list_users Command . . . . . . . . . . . . . . . . . . . . 4-10
The display_terminal_parameters Command . . . . . . . . . . 4-10
The list_library_paths Command. . . . . . . . . . . . . . . . 4-10
The add_library_path Command . . . . . . . . . . . . . . . . . 4-10
The delete_library_path Command . . . . . . . . . . . . . . . 4-11
The link Command . . . . . . . . . . . . . . . . . . . . . . . . 4-11
The unlink Command . . . . . . . . . . . . . . . . . . . . . . . 4-11
The attach_port Command . . . . . . . . . . . . . . . . . . . . 4-11
The detach_port Command . . . . . . . . . . . . . . . . . . . . 4-11

viii Contents
Contents

5. The VOS Word Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1


The Stratus Model V101 Terminal . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
The Main Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
The Numeric Key Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
The Function Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
The Request Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
The Stratus Model V102 Terminal . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
The Main Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
The Numeric Key Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
The Function Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
The Request Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Beginning and Ending an Editing Session . . . . . . . . . . . . . . . . . . . . . . 5-7
Beginning an Editing Session . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Saving Your Document. . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Using the Default Path Name . . . . . . . . . . . . . . . . . . . . . . 5-8
Specifying a New Name . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Specifying a Name for the First Time. . . . . . . . . . . . . . . . . . . 5-8
Continuing to Edit in the Buffer . . . . . . . . . . . . . . . . . . . . . 5-8
Ending an Editing Session . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Ending a Session by Mistake . . . . . . . . . . . . . . . . . . . . . . 5-9
Document Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Getting Information about Editor Requests . . . . . . . . . . . . . . . . . . . 5-9
Moving the Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
In a Specific Direction . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Forward or Backward over a Word . . . . . . . . . . . . . . . . . . . . . 5-10
To a New Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
To Another Half-Screen . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
To Another Full Screen. . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
To Another Line or Column, by Scrolling . . . . . . . . . . . . . . . . . . 5-11
Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Search Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Canceling a Search . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Forward or Backward Search . . . . . . . . . . . . . . . . . . . . . . . 5-12
Repeating Searches . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Single Repetitions . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Global Search-and-Replace. . . . . . . . . . . . . . . . . . . . . . 5-13
Editing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Typing in Characters. . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Line Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Inserting Characters in a Line . . . . . . . . . . . . . . . . . . . . . 5-14
Characters You Can Use . . . . . . . . . . . . . . . . . . . . . . . 5-14
Deleting Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Handling Blocks of Text . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
The Mark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Highlighting . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
The Saved-Text Stack . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Deleting Text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Deleting Words . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Deleting Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Deleting Blocks of Text . . . . . . . . . . . . . . . . . . . . . . . 5-18

Introduction to VOS (R001) ix


Contents

Moving Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18


Copying Text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Inserting a Document . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Tabulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Saving a Region of Text . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Repeating Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
The <REPEAT_LAST> Request . . . . . . . . . . . . . . . . . . . . . . 5-20
The <REPEAT> Request . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Changing Letters to Upper Case or Lower Case . . . . . . . . . . . . . . . . 5-21
Single Letters . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21
Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21
The <CANCEL> Request . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Clarification Aids . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Displaying Line Numbers . . . . . . . . . . . . . . . . . . . . . . 5-22
Redisplaying the Screen . . . . . . . . . . . . . . . . . . . . . . . 5-23
The Status Line . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Multiple Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Changing Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24
Inserting Text into a Buffer . . . . . . . . . . . . . . . . . . . . . . . . 5-24
Saving the Contents of a Buffer . . . . . . . . . . . . . . . . . . . . . . 5-24
Entering VOS Commands from the Editor. . . . . . . . . . . . . . . . . . . . . 5-25
The <INTERRUPT> Request . . . . . . . . . . . . . . . . . . . . . . . . . 5-25
The Execute command and wait Request . . . . . . . . . . . . . . . 5-25
The Execute command and continue Request . . . . . . . . . . . . . 5-26
Document Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27

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

Moving within a Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10


Moving Forward over Words . . . . . . . . . . . . . . . . . . . . . . . 6-10
Moving Backward over Words . . . . . . . . . . . . . . . . . . . . . . . 6-10
Moving to the Beginning or End of a Line . . . . . . . . . . . . . . . . . . 6-10
Moving to the Beginning or End of a Screen . . . . . . . . . . . . . . . . . 6-10
Scrolling One Full Screen . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Positioning the Current Line in a Window . . . . . . . . . . . . . . . . . . 6-11
Moving to the Beginning and End of a Buffer . . . . . . . . . . . . . . . . . 6-11
Summary of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Managing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Delimiting a Region of Text — the Mark. . . . . . . . . . . . . . . . . . . 6-12
Writing a Region of Text . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Reading Another File into a Buffer . . . . . . . . . . . . . . . . . . . . . 6-13
Discarding Changes without Quitting . . . . . . . . . . . . . . . . . . . . 6-13
Summary of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Text Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Entering Text at Tab Locations. . . . . . . . . . . . . . . . . . . . . . . 6-14
Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Searching Forward . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Searching Backward . . . . . . . . . . . . . . . . . . . . . . . . 6-15
Searching and Replacing. . . . . . . . . . . . . . . . . . . . . . . 6-15
Deleting and Retrieving Text . . . . . . . . . . . . . . . . . . . . . . . 6-16
The Kill Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
Yanking Text from the Kill Ring . . . . . . . . . . . . . . . . . . . 6-16
Deleting Words Forward. . . . . . . . . . . . . . . . . . . . . . . 6-16
Deleting Words Backward . . . . . . . . . . . . . . . . . . . . . . 6-17
Deleting Whole or Partial Lines Forward . . . . . . . . . . . . . . . . 6-17
Deleting Whole or Partial Lines Backward . . . . . . . . . . . . . . . 6-17
Deleting Regions of Text . . . . . . . . . . . . . . . . . . . . . . 6-17
Moving Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
Copying Text. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
Manipulating the Kill Ring . . . . . . . . . . . . . . . . . . . . . . . . 6-18
Altering Last-in-first-out Sequence. . . . . . . . . . . . . . . . . . . 6-18
Deleting the Last Block of Text . . . . . . . . . . . . . . . . . . . . 6-18
Changing the Case of a Word . . . . . . . . . . . . . . . . . . . . . . . 6-18
Summary of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
Working with Multiple Buffers . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
The Point and Mark . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
The Kill Ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
Default Responses. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20
Creating Multiple Buffers . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
Calling Emacs with Multiple File Names . . . . . . . . . . . . . . . . 6-21
Adding a Buffer during an Emacs Session . . . . . . . . . . . . . . . . 6-21
Moving the Cursor from Buffer to Buffer . . . . . . . . . . . . . . . . . . 6-22
Getting Help about Requests. . . . . . . . . . . . . . . . . . . . . . . . 6-22
Getting Help about a Keystroke Sequence . . . . . . . . . . . . . . . . . . 6-23
Ending a Session with Multiple Buffers . . . . . . . . . . . . . . . . . . . 6-23
Summary of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
Tailoring Your Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
Editing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24

Introduction to VOS (R001) xi


Contents

Interfacing with VOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25


Starting a Subprocess during an Emacs Session . . . . . . . . . . . . . . . . 6-25
Executing a VOS Command . . . . . . . . . . . . . . . . . . . . . . . . 6-25
Clearing Messages from the Status Line . . . . . . . . . . . . . . . . . . . 6-25
Clearing Messages Appearing within Your CRT Display . . . . . . . . . . . . 6-25
Summary of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . 6-25

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

9. Noninteractive Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1


The batch Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1
The start_process Command . . . . . . . . . . . . . . . . . . . . . . . . 9-2

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

Introduction to VOS (R001) xiii


Figures

Figure 2-1. The Stratus Model V101 Terminal . . . . . . . . . . . . . . . . . . . . . 2-3


Figure 2-2. The Stratus Model V102 Terminal . . . . . . . . . . . . . . . . . . . . . 2-4
Figure 2-3. The CRT Form of the login Command . . . . . . . . . . . . . . . . . . . 2-11
Figure 3-1. Part of a Directory Hierarch . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Figure 3-2. A Directory Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Figure 3-3. A Stratus System Comprising Three Module . . . . . . . . . . . . . . . . . 3-11
Figure 4-1. The CRT Form of the print Command . . . . . . . . . . . . . . . . . . . 4-4

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.

Introduction to VOS (R001) 1-1


Interactive Processing

1-2 Chapter 1: Overview of the Stratus Continuous Processing System


Chapter 2:
Using the Stratus System 2-

This section discusses:

• Using a terminal

• Getting help from the system


• Logging in and logging out

• Entering a command or a command function

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.

Introduction to VOS (R001) 2-1


Using a Terminal

The Keyboard
The keyboards of both Stratus terminals are similar, except for the location and purpose of
several keys. Both terminals have:

• a main keyboard, on the left


• a numeric key pad, on the right
• function keys and a detachable template, at the top

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.

2-2 Chapter 2: Using the Stratus System


1

CASE- REPEAT OVER- INSERT/ CTRL


CNTRL ESI EMI EGI PATTERN LESS LAST STRIKE QUERY OVERLAY
DEFINE CYCLE NO
SEN- UNDER- INSERT SHORT-
SHIFT BLANKS PAGE MARKED REGIONAL HELP DISCARD NAME PAUSE REDISPLAY SHIFT
TENCE SCORE DEFAULT HAND BACK

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

F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18


|
! @ # $ % ^ & ( ) – + ~ | BACK
ESC * SPACE 7 8 9
1 2 3 4 5 6 7 8 9 0 - = \
`
] LINE FEED
TAB STATUS 4 5 6
Q W E R T Y U I O P [ —
ALPHA :
CNTRL " RETURN BREAK 1 2 3
LOCK A S D F G H J K L ; '
BACK ? } ,
SHIFT SHIFT DEL 0 .
TAB Z X C V B N M <, >.
{
/

Figure 2-1. The Stratus Model V101 Terminal


PRINT FUNCT GO TO ENTER

tx001

Introduction to VOS (R001)


Using a Terminal

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

Figure 2-2. The Stratus Model V102 Terminal


F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 SET UP
NO STATUS
SCROLL
F19 F20 F21 F22
RESET
LOC
! @ # $ % ^ & ( _ + ~ |
ESC * ) BACK
ESC
1 2 3 4 5 6 7 8 9 0 - = ` \ SPACE
BackTab Y -
TAB
Q W E R T U I O P ] LINE _ 7 8 9
Tab [ FEED

Chapter 2: Using the Stratus System


T
A
B ,
ALPHA A S D F G H J K L : " RETURN
BREAK
4 5 6
CTRL LOCK
; '
BACK
SHIFT
Z X C V B N M < > ? SHIFT
} CE
1 2 3
TAB , . / { DEL
E
N
T
E
R
GO TO
PRINT FUNCT 0
Using a Terminal

2-4
Using a Terminal

The Main Keyboard


The main keyboard of each terminal contains keys with letters, numerals, symbols, words, or
arrows shown on the faces of the keys. As on a typewriter, pressing a key with a letter,
numeral, or symbol produces that character on the screen.

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.

• whether you are entering commands or working in a text editor.

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.

In the sequence <WORD> <CHANGE_CASE> <¯>, with the cursor located


anywhere in the word, changes all the letters in the word from upper to
lower case.
<GO_TO> Combines with the <®> key to move the cursor to the end of the line, or
with the <¬> key to move the cursor to the beginning of the line.

Introduction to VOS (R001) 2-5


Using a Terminal

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>.

Moves the cursor to the next argument in a CRT form, including


arguments in the right-hand column.
<®> Moves the cursor one position to the right.

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.

Combines with some function keys to perform a request named on the


face of a key or on the template.
<SPACE_BAR> Inserts a space and moves the cursor one position to the right.
<TAB> Inserts to the left of the cursor the number of spaces necessary to move
the cursor to the next tab stop.

Moves the cursor to the next argument in a CRT form, including


arguments in the right-hand column.
<−> Moves the cursor, one line at a time, from the bottom to the top of a CRT
form within a column of arguments.

In the sequence <WORD> <CHANGE_CASE> <−>, with the cursor located


anywhere in the word, changes all the letters from lower to upper case.

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.

The Numeric Key Pad


The keys on the right of the main keyboard produce the numerals shown on the faces of the
keys. They are duplicates of the keys on the main keyboard, for convenience.

2-6 Chapter 2: Using the Stratus System


Using a Terminal

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.

The Function Keys


The function keys are those at the top of the main keyboard and the numeric key pad.

• 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

Table 2-2. Function Keys for Entering Commands (Page 1 of 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.

Introduction to VOS (R001) 2-7


Retrieving Input Saved in Buffers

Table 2-2. Function Keys for Entering Commands (Page 2 of 2)

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> <¯>.

Retrieving Input Saved in Buffers


You can avoid retyping input by using the <INSERT_SAVED> and <INSERT_DEFAULT> function keys
(see Figure 2-2 ).

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>.

Getting Help from the System before Logging in


All prelogin commands are available for your use before you log in on the system. To see a
list of these commands, enter the command

help <RETURN>

On the Stratus computer, all commands are typed in lower case.

VOS displays a list of prelogin commands. For example:

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>

VOS displays the date and time on the same line:

86-12-19 20:38:22 EST

2-8 Chapter 2: Using the Stratus System


Registration

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:

System/32, VOS Release 5, Module %s1#m2


Please login 13:53:52

The first line of the login message identifies:

• the computer

• the release, or version, of software that you are using

• the module, or computer unit, that your terminal is connected to

The module is identified by the system name, preceded by the percent sign (%), and the
module name, preceded by the pound sign (#).

Introduction to VOS (R001) 2-9


Logging in

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.

The third line contains the cursor.

The Lineal Form of the Command


The short way to log in is with the lineal form of the command. Type the command login
and your person name and press <RETURN>. For example:

login Smith <RETURN>

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:

Smith.Sales logged in on %s1#m2 at 86-09-26 13:55:36 EST.


ready 13:30:35

The first line of the message shows

• your user name

• the system name


• the name of the module to which you have logged in

• the date and time of logging in

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.

The CRT Form of the Command


To add options, or arguments, to the command you want to execute, you can first view the
arguments displayed in the CRT form and then provide or select values for them.

To display the CRT form of the login command, type:

login <DISPLAY_FORM>

VOS displays the form shown in Figure 2-3.

2-10 Chapter 2: Using the Stratus System


Logging in

Display Form
------------------------------------ login -------------------------------------
user_name:
-privileged: as registered
-password:
-change_password: no
-priority:
-home_dir:
-module: ''
-subsystem:

Figure 2-3. The CRT Form of the login Command

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.

Introduction to VOS (R001) 2-11


Logging out

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:

Smith.Sales logged out.

You must log in again to work at the computer.

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

2-12 Chapter 2: Using the Stratus System


Command Lines

• a catalog, called a home directory

• 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).

Creating a Subprocess from Command Level


To create a subprocess from the ready prompt, enter the command

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>

VOS then returns you to your previous process (or subprocess).

To create a subprocess from a CRT form, press

<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.

Consecutive commands in a command line must be separated from one another by a


semicolon.

To enter a command line, press either the <RETURN> key or the <ENTER> key.

VOS executes multiple commands on a command line in sequence.

Introduction to VOS (R001) 2-13


Command Functions

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.

Some examples of command functions are:

(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.

display_line Hello. <RETURN>

The output is:

Hello.

2-14 Chapter 2: Using the Stratus System


Getting Help from the System after Logging in

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:

display_line Hello. This is (user_name). The date is (date).


<RETURN>

The output is:

Hello. This is Smith.Sales. The date is 86-09-26 EST.

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.

Getting Help from the System after Logging in


At any time after you log in you can tell VOS to display all the commands and command
functions in the system. Do this by issuing the help command from command level. In the
lineal form, enter:

help <RETURN>

VOS displays a list of internal commands, external commands, and command functions. All
entries are listed alphabetically within categories.

To see the next screen of items, press <RETURN>.

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).

Introduction to VOS (R001) 2-15


Suspending Execution of a Command

Suspending Execution of a Command


You can suspend the activity of your program or command macro, in most cases, by holding
the <CTRL> key and pressing <BREAK>. VOS then interrupts your program or command macro,
displays the question Request?, and lists the six instructions that it can act on at this point.
The instructions are: stop, debug, keep, login, re-enter, and continue. Your process
is now said to be at break level. VOS waits for you to enter one of the six instructions. Typing
any one of them and pressing <RETURN> causes the following corresponding action:

• 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.

• login starts a subprocess, as explained in the preceding subsection.

• 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:

• When your process is in the CRT form of a command

• When your process is in a text editor

• When your process is at command level


• When the set_terminal_parameters command has been used to set your terminal
so that it ignores <CTRL><BREAK>

Using the <CANCEL> Key


You can cancel the display of output to your terminal from a command you have entered such
as display, list, or help. To do this, press

<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.

2-16 Chapter 2: Using the Stratus System


Chapter 3:
The Input/Output System 3-

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

• input/output devices (terminals, printers, disk drives, and tape drives)

• 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:

• the 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

• the 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

• the digits

0 1 2 3 4 5 6 7 8 9

• the characters

" $ + , - . / : _

Introduction to VOS (R001) 3-1


Naming Conventions

• the “national use” characters

@ [ ] ^ ‘ { | } ~

The ASCII characters that are not allowed in names are:

• the nonprinting, control characters

• the SPACE character

• the DEL character

• the remaining 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).

• For an object file, VOS adds .obj as the suffix.

• For a listing file, VOS adds .list as the suffix.

• For an error file, VOS adds .error as the suffix.

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

3-2 Chapter 3: The Input/Output System


Naming Conventions

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.

• The suffix .pm identifies a program module.

• The suffix .cm identifies a command macro.

An example of a program module name is reports.pm. An example of a command macro


name is start_up.cm.

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.

Introduction to VOS (R001) 3-3


Files

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

Suppose also that Jones wants to change his current directory to


%s1#d01>Sales>Jones>reports, which is the containing directory of his current
directory. Jones can use any of the following commands, which are equivalent.

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.

3-4 Chapter 3: The Input/Output System


Files

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

Table 3-1. File Access Codes

Abbreviation Code Meaning


w write You can change the contents
of the file.
r read You can look at (display,
copy, or print)
the contents of the file, but
you cannot
change the contents.
e execute You can execute the program
comprising the
file, but you cannot display or
change the contents
of the file.
n null You have no access to the file.

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.

Introduction to VOS (R001) 3-5


Directories

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.

• An object can be catalogued in only one directory.

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.

3-6 Chapter 3: The Input/Output System


Directories

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

abbreviations memos current old

tx043

Figure 3-1. Part of a Directory Hierarch

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.

Introduction to VOS (R001) 3-7


Directories

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.

3-8 Chapter 3: The Input/Output System


Directories

s1

d01

Marketing Sales Accounting

Smith Jones Clark

Files Subdirectories

abbreviations start_up.cm reports customers

Files Subdirectories

this_week this_month weekly_old monthly_old

Files

week.86-02-11 week.86-02-18 week.86-02-25 week.86-03-03

tx044

Figure 3-2. A Directory Hierarchy

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.

Introduction to VOS (R001) 3-9


I/O Devices

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

Table 3-2. Directory Access Codes

Abbreviation Code Meaning


m modify You can change the contents of the directory.
s status You can examine the contents of the directory, but
you cannot change the contents.
n null You have no access to the directory.

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.

3-10 Chapter 3: The Input/Output System


I/O Devices

Figure 3-3. A Stratus System Comprising Three Module

Introduction to VOS (R001) 3-11


Path Names

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:

• An object name can contain at most 32 characters.

• A full path name can contain at most 256 characters.


• A directory hierarchy can contain at most 10 levels.

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.

3-12 Chapter 3: The Input/Output System


Path Names

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

Relative Path Names


A full path name refers to an object uniquely and completely, and can be used from anywhere
in the system. A full path name starts with the name of the system, such as %s1.

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

Introduction to VOS (R001) 3-13


Links

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:

link %s1#d01>Sales>Jones>this_month ja <RETURN>

3-14 Chapter 3: The Input/Output System


Ports

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.

An object can be pointed to by more than one link.

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:

unlink ja this_month <RETURN>

VOS then deletes the link.

You can display a list of the links in your current directory by entering the following
command:

list -links <RETURN>

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.

Introduction to VOS (R001) 3-15


Ports

Ports Attached by Default


When you log in, six ports are by default a part of your interactive process. Five of these ports
are an integral part of it and therefore cannot be manipulated by a user. They are:

• 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 terminal port directly performs actions on your terminal.

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.

3-16 Chapter 3: The Input/Output System


Ports

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:

attach_port any_payroll east_payroll <RETURN>

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:

detach_port any_payroll <RETURN>

Now you enter the attach_port command again, this time connecting the existing port to
the data file named west_payroll. The command is:

attach_port any_payroll west_payroll <RETURN>

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.

Introduction to VOS (R001) 3-17


Ports

3-18 Chapter 3: The Input/Output System


Chapter 4:
The Command Language 4-

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.

Introduction to VOS (R001) 4-1


Command Formats

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

If there is a program module named make_sales_report.pm in your current directory, you


can enter either of the following commands to load and execute the program:

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

Entering the command print invokes the VOS command print.

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.

• Typing the command name

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.

4-2 Chapter 4: The Command Language


Command Formats

• Entering the command

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.

The CRT Form


Entering the CRT form of a command begins an interactive dialogue between you and the
system. The steps in this dialogue are:

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.

3. VOS replaces abbreviations in the command. (For information, see Chapter 7,


“Abbreviations,” later in this manual.)

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.

6. You press the <ENTER> key to enter the command.

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.

The print Command


This subsection shows how to enter or modify values for some of the arguments to the print
command in the CRT form. It also shows how to enter the command.

For an explanation of the rest of the arguments to this command, see the VOS Commands
Reference Manual (R098).

The print command is used to print one or more files.

Introduction to VOS (R001) 4-3


Command Formats

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

Figure 4-1. The CRT Form of the print Command

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

4-4 Chapter 4: The Command Language


Command Formats

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.

Introduction to VOS (R001) 4-5


Command Formats

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.

You enter the command by pressing the <ENTER> key.

The Lineal Form


The lineal form of a command consists of the command name and a sequence of command
arguments.

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

print -usage <RETURN>

VOS displays the command, followed by a list of the arguments.

A few commands, such as display_current_dir, do not have arguments.

You enter the lineal form of a command by pressing <RETURN> or <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.

The list Command


The list command lists on your terminal screen the names of the files, subdirectories, and
links in your current directory.

4-6 Chapter 4: The Command Language


Command Formats

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.

list -dirs <RETURN>

To see a full display of the names of files, subdirectories, and links, use the argument -all.

list -all <RETURN>

The display Command


The display command shows the contents of one or more files. Type the command and the
name of the file or files you want to display and press <RETURN>.

display file_names <RETURN>

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.

display file_names -match string <RETURN>

To display a line number next to each line in each file, use the argument -line_numbers.

display file_names -line_numbers <RETURN>

The print Command


The print command, as explained in the preceding subsection, prints one or more files.

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>.

print file_name1 file_name2 file_name3 <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.

print file_name1 file_name2 file_name3 -defer_until time -copies n


<RETURN>

The rename Command


The rename command renames a file, directory, or link.

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:

rename old_name new_name <RETURN>

Introduction to VOS (R001) 4-7


Command Formats

To rename a directory, add the arguments -no_files and -dirs after the old name and new
name of the directory.

rename old_name new_name -no_files -dirs <RETURN>

The edit Command


The edit command invokes the VOS Word Processor.

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.

edit file_name <RETURN>

To show a copy of a file that is in your current directory, type the file name after the command
name.

edit file_name <RETURN>

The emacs Command


The emacs command invokes the Emacs text editor.

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.

emacs file_name <RETURN>

To tell VOS to display a copy of a file that is in your current directory, type the file name after
the command name.

emacs file_name <RETURN>

The copy_file Command


The copy_file command makes a copy of a file.

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>.

You must type the arguments in the following order:

copy_file source_file destination <RETURN>

The move_file Command


The move_file command moves a file from one directory into another directory.

4-8 Chapter 4: The Command Language


Command Formats

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>.

You must type the arguments in the following order:

move_file source_file destination <RETURN>

The delete_file Command


The delete_file command deletes a file from a directory.

Type the command name and the file name and press <RETURN>.

delete_file file_name <RETURN>

The display_current_dir Command


The display_current_dir command displays the name of your current directory.

You enter the command by typing the command name and pressing <RETURN>.

display_current_dir <RETURN>

The change_current_dir Command


The change_current_dir command changes your directory from the current one to the
one you name.

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>.

change_current_dir directory_name <RETURN>

The create_dir Command


The create_dir command makes a new directory as a subdirectory of the current directory.

Type the command name followed by the name of the new directory. Then press <RETURN>.

create_dir directory_name <RETURN>

The delete_dir Command


The delete_dir command deletes a directory and all its contents, including all its
subdirectories.

Type the command name followed by the name of the directory to be deleted. Then press
<RETURN>.

delete_dir directory_name <RETURN>

Introduction to VOS (R001) 4-9


Command Formats

See also the descriptions of the commands copy_dir and move_dir in the VOS Commands
Reference Manual (R098).

The list_users Command


The list_users command displays information about the processes of a set of users. The
display shows, for example, who is logged in. Unless you specify a set of users by means of
one or more arguments, the command defines the set as all users on the current module.

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.

list_users -interval n <RETURN>

The display_terminal_parameters Command


The display_terminal_parameters command displays the current parameters for your
terminal, such as line length and type of cursor.

You enter this command by typing the command name and pressing <RETURN>.

display_terminal_parameters <RETURN>

The list_library_paths Command


The list_library_paths command displays a list of directories that define all the
libraries for your current process.

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.

list_library_paths library_name <RETURN>

The add_library_path Command


The add_library_path command adds a path name to the list of directories that define a
library that you specify.

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.

add_library_path library_name library_path_name <RETURN>

4-10 Chapter 4: The Command Language


Command Formats

The delete_library_path Command


The delete_library_path command removes a path name from the list of directories that
define a library that you specify.

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.

delete_library_path library_name library_path_name <RETURN>

The link Command


The link command creates a link with a path name for a file, directory, or another link.

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.

link target_name link_name <RETURN>

If you omit the link_name argument, VOS gives the link the name of the target_name
object.

The unlink Command


The unlink command deletes a link.

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.

unlink link_name <RETURN>

The attach_port Command


The attach_port command creates and names a port in your process. VOS attaches the
port to a file or an I/O device. A program can then refer to the file or device through the port.
By attaching and detaching ports, you can change the files or devices a program will use
without having to rewrite a reference within the program itself.

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>.

attach_port port_name path_name <RETURN>

The detach_port Command


The detach_port command detaches a port from a file or an I/O device.

Introduction to VOS (R001) 4-11


Command Formats

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>.

detach_port port_name <RETURN>

Note: See also the description of the list_port_attachments command given in the VOS
Commands Reference Manual (R098).

4-12 Chapter 4: The Command Language


Chapter 5:
The VOS Word Processor 5-

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 Stratus Model V101 Terminal


The Stratus Model V101 Terminal is described in Chapter 2, “Using the Stratus System.” See
Figure 2-1 for an illustration of the keyboard.

The Main Keyboard


The main keyboard keys for letters, numerals and symbols are used for entering requests in
the same way that they are used for entering commands. See Chapter 2, “Using the Stratus
System” for information.

Introduction to VOS (R001) 5-1


The Stratus Model V101 Terminal

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.

5-2 Chapter 5: The VOS Word Processor


The Stratus Model V101 Terminal

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.

The Numeric Key Pad


The keys on the right of the main keyboard produce the numerals shown on the face of the
keys. They are duplicates of keys on the main keyboard. The duplicates are for convenience.

The Function Keys


The function keys are the nineteen keys labeled <F0> through <F18> on the top row of the
keyboard. These keys activate the word processing functions named on the template above
them.

• 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.

The Request Menu


The Request Menu is a list of requests that appears on the screen when you press the <MENU>
key. The requests and the letter or number you type to select them are as follows:

Introduction to VOS (R001) 5-3


The Stratus Model V102 Terminal

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 Stratus Model V102 Terminal


The Stratus Model V102 Terminal is described in Chapter 2, “Using the Stratus System.” See
Figure 2-2 for an illustration of the keyboard.

The Main Keyboard


The main keyboard keys for letters, numerals and symbols are used for entering requests in
the same way that they are used for entering commands. See Chapter 2, “Using the Stratus
System” for information.

5-4 Chapter 5: The VOS Word Processor


The Stratus Model V102 Terminal

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.

Introduction to VOS (R001) 5-5


The Stratus Model V102 Terminal

The Numeric Key Pad


Eleven keys on the right of the main keyboard produce numerals, shown on the face of the
keys. The keys marked 0 through 9 are duplicates of keys on the main keyboard. The
duplicates are for convenience. There is also a key marked 00, which produces two zeros.

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

Table 5-3. Numeric Key Pad Keys with Special Uses

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


The function keys are the twenty-three keys labeled <F0> through <F22> located on the top row
of the main keyboard and the top two rows of the numeric key pad. These keys activate the
word processing functions shown on the template above them.

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

For the <HELP> request, press <Shift><F8>.


For the <UPDATE_STATUS> request, press <STATUS>.
For the <CANCEL> request, press <F20>.

The editing requests that you perform with function keys are referred to in this manual by the
names on the template.

5-6 Chapter 5: The VOS Word Processor


Beginning and Ending an Editing Session

The Request Menu


See the explanation of the Request Menu given in the subsection “The Stratus Model V101
Terminal.”

Beginning and Ending an Editing Session


This subsection discusses beginning and ending an editing session, document names, and
getting on-line help.

Beginning an Editing Session


To use the VOS Word Processor, you must first log in. Then, you begin an editing session by
entering the edit command, either with or without a document name.

(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>.

edit document_name <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.

Introduction to VOS (R001) 5-7


Beginning and Ending an Editing Session

Saving Your Document


To save in permanent storage a copy of the text in the buffer, enter the Write request, choice
W from the Request Menu.

<MENU> W

The editor responds with the Output path name: prompt.

Using the Default Path Name


If the buffer has a default path name, you can save the text under that name by pressing the
<RETURN> key.

Output path name: <RETURN>

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.

Specifying a New Name


You can instead save the edited version as a new document by typing:

Output path name: new_document_name <RETURN>

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:

This file already exists.


Overwrite it?

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.

Specifying a Name for the First Time


If the buffer has no default path name, you must enter one in response to the Output path
name: prompt.

Continuing to Edit in the Buffer


After saving the text as a document, you can continue to edit the text in the buffer.

Ending an Editing Session


To end a session you must enter the Quit request. This is choice Q from the Request Menu.

<MENU> Q

5-8 Chapter 5: The VOS Word Processor


Beginning and Ending an Editing Session

If you attempt to quit without first saving the text, this message appears:

A buffer has been modified and not written.


Quit anyway?

Type y for yes or n for no.

The Quit request tells the editor to discard the text in the buffer. You are then at command
level.

Ending a Session by Mistake


If you leave the editor by mistake, without first saving the contents of the buffer, you can
recover the contents using a keystrokes document. This technique is described in the VOS
Word Processing User’s Guide (R006).

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.

A document name cannot begin with a hyphen.

Getting Information about Editor Requests


With the <HELP> request, you can view a list of all the requests or you can get detailed
information about any request.

To give the <HELP> request, press the <HELP> key.

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

To get information about the request <DELETE><WORD>, the sequence is:

<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.

Introduction to VOS (R001) 5-9


Moving the Cursor

Moving the Cursor


This subsection discusses ways to move the cursor within a document.

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.

Forward or Backward over a Word


You can move the cursor forward or backward over a word by pressing the <WORD> key and
then the <®> or <¬> key.

In word processing, a word consists of any combination of:

• Upper-case and lower-case letters

• Numerals

• Three special symbols: @ _ $

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.

5-10 Chapter 5: The VOS Word Processor


Searching

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.

To Another Full Screen


You can display a new screen of text by pressing the <Shift> key together with the <−> or <¯> key.

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><¯>.

To Another Line or Column, by Scrolling


Scrolling is moving the text in the screen either line-by-line or column-by-column. Scrolling
is performed when you press the <SCROLL> key and then an arrow key. Whenever you scroll
text, the cursor moves with the text.

Line-by-line movement is vertical scrolling. The requests are <SCROLL><−> and <SCROLL><¯>.

Column-by-column movement is horizontal scrolling. There are two requests.

<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.

In the explanations of searches in this subsection, (Direction) search: represents the


prompts Forward search:, Reverse search:, Left search:, and Right search:.

Introduction to VOS (R001) 5-11


Searching

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:

Line-separating characters separate lines. This


string is broken by a line-separating character.

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.

Forward or Backward Search


To search either forward or backward in your text, press the <SEARCH> key and then either the
<¯> or <−> key. The editor responds to the sequence with a prompt. You respond to the prompt
with the search string, and then press the <RETURN> key. The sequences are:

<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.

For an explanation of repeating requests, see the subsection “Editing.”

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.

5-12 Chapter 5: The VOS Word Processor


Searching

The sequence is:

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.

The sequence for a global search-and-replace is:

<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

You will be queried for each occurrence.

A representation of the sequence is:

<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

Replace this occurrence?

Type y for yes or n for no and press <RETURN>.

Introduction to VOS (R001) 5-13


Editing

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.

Inserting Characters in a Line


You can insert characters within a line of text. To do this, you position the cursor at the point
where the insertion should begin. Then type the characters.

Characters You Can Use


The VOS Word Processor handles all printing characters in the American Standard Code for
Information Interchange (ASCII) character set and three nonprinting characters.

The ASCII printing characters are:

Description Characters
Upper-case letters ABCDEFGHIJKLMNOPQRSTUVWXYZ
Lower-case letters abcdefghijklmnopqrstuvwxyz
Numerals 0123456789
32 special symbols ! @ # $ % ^ & * ( ) _ + ~ | - = ‘ [ ] : “ ; ’ < > ? }, . / {
Space

The nonprinting characters are:

Line separating character


Tab
Paragraph marker

(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).)

5-14 Chapter 5: The VOS Word Processor


Editing

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.

Handling Blocks of Text


A block of text is text that you handle as a unit. The text can be of any amount, from a single
character to an entire document.

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:

• to delete the text

• to move the text to another location


• to copy the text to another location

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.

Introduction to VOS (R001) 5-15


Editing

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.”

Even when highlighting is canceled, the mark remains set.

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 Saved-Text Stack


The saved-text stack is an area in temporary storage that can hold eight blocks of text. The
stack allows you to move and copy text.

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.

5-16 Chapter 5: The VOS Word Processor


Editing

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>

The editor deletes a word according to these rules:

• 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.

Introduction to VOS (R001) 5-17


Editing

Examples

Before <DELETE><WORD> <DELETE><WORD>

To the right To the

To the right. To the .

Anywhere else ? Anywhere else

To the . To the ...

To the left To the ft

To the left, sometimes To the sometimes

Anywhere else? Anywhere ?

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.

Deleting Blocks of Text


To delete a block of text, the sequence is:

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.

5-18 Chapter 5: The VOS Word Processor


Editing

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.

The sequence is:

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).

Introduction to VOS (R001) 5-19


Editing

Saving a Region of Text


Use the <REGIONAL> request to save a portion of text as a separate document. The sequence is:

Position the cursor to one end of the text to be saved.


<MARK>
Move the cursor to the other end of the text to be saved.
<REGIONAL>
<MENU> W
Output path name: new_document_name
<RETURN>

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.

The <REPEAT_LAST> Request


You give the request <REPEAT_LAST> after the editor has executed a request. <REPEAT_LAST>
reenters the request last entered.

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>.

The <REPEAT> Request


The <REPEAT> request precedes the request that you want repeated. It prompts for the number
of repetitions that you want. The sequence is:

<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.

5-20 Chapter 5: The VOS Word Processor


Editing

Example

To scroll to the left 10 columns, the sequence is:

<REPEAT>
Number of times: 10
<RETURN>
<SCROLL><¬>

Changing Letters to Upper Case or Lower Case


The <CHANGE_CASE> key combines with an <−> or <¯> key to change letters to upper case or lower
case. You can perform these operations on a letter or a word.

Single Letters
You can change a single letter at the cursor position to upper or lower case as follows.

• To change a letter to upper case, press <CHANGE CASE><¯>.

• To change a letter to lower case, press <CHANGE CASE><−>.

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.

The requests are:

<WORD><CHANGE CASE><−>

Each affected lower-case letter is changed to upper case.

<WORD><CHANGE CASE><¯>

Each affected upper-case letter is changed to lower case.

<WORD><CHANGE CASE><¬>

The first character of the affected word is changed to upper case.

Introduction to VOS (R001) 5-21


Editing

Example

Position the cursor to the right of two lower-case words, such as

affected words

Then use the sequence

<WORD><CHANGE CASE><¬>
<WORD><¬>
<¬>
<WORD><CHANGE CASE><−>

The requests change letters from lower to upper case in the following way:

AFFECTED Words

The <CANCEL> Request


The <CANCEL> request allows you to cancel a procedure that you do not want to finish. <CANCEL>
operates upon one request at a time, according to a priority. Knowing this order, you can
control what you are canceling. You may need to give the <CANCEL> request more than once to
arrive at the level of cancellation that you want.

The priority when you press the <CANCEL> key is:

• If you have given part of a multikey request, the editor cancels the request.

• If highlighting is in effect, the editor cancels the highlighting.

• 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 the screen is displaying status information as a result of the Display status


request, the editor cancels the display.

• 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.

Displaying Line Numbers


Line number mode displays line numbers in your text. This display is controlled by the
En/disable line number mode request, choice N from the Request Menu. The sequence
is:

<MENU> N

5-22 Chapter 5: The VOS Word Processor


Multiple Buffers

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.

Redisplaying the Screen


Text on your screen may be overwritten by a message your system administrator issues. The
<REDISPLAY> request erases such a message and displays the screen as it was before the text was
overwritten.

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.

The Status Line


The last line of the screen is called the status line.

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.

An empty buffer is a buffer that contains no text.

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.

Introduction to VOS (R001) 5-23


Multiple Buffers

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.

Inserting Text into a Buffer


You can insert text into a buffer by typing in text, inserting documents, or inserting text from
the saved-text stack. Text can be deleted or saved in one buffer, and then inserted into another
buffer.

Saving the Contents of a Buffer


If you want to save the text that is in a buffer, you must do so before you leave the editor. The
subsection “Beginning and Ending an Editing Session” describes the sequences for saving
text in storage.

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.

5-24 Chapter 5: The VOS Word Processor


Entering VOS Commands from the Editor

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).

Entering VOS Commands from the Editor


This subsection describes three requests. They are:

• <INTERRUPT>

• Execute command and wait

• Execute command and continue

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.

The <INTERRUPT> Request


When you give the <INTERRUPT> request, the editor suspends the current editing session and
creates a subprocess for executing any command you enter, including edit. When you are
through working in the subprocess, you log out. The editor then returns you to the main
process, which is the original 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


When you enter the Execute command and wait request, the editor suspends the current
editing session and creates a subprocess for executing the VOS command or commands you
enter.

Introduction to VOS (R001) 5-25


Entering VOS Commands from the Editor

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.

The Execute command and continue Request


When you give the Execute command and continue request, the editor creates a
subprocess for executing the command or commands that you enter. While VOS executes the
commands, you can continue to edit in the current buffer or in another buffer. The editor
places the results of the executed commands in a separate buffer and displays the buffer name
on your screen.

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:

Smith: Command finished; output is available in buffer C#2.

Whenever you are ready, you can give the Change buffer request and move to the
designated buffer.

5-26 Chapter 5: The VOS Word Processor


Document Accessibility

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).

Introduction to VOS (R001) 5-27


Document Accessibility

5-28 Chapter 5: The VOS Word Processor


Chapter 6:
Emacs 6-

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.

Concepts and Terms


The following basic concepts and terms are used in this section to describe Emacs.

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).

The <CTRL> and <ESC> Keys


To give an Emacs request, you often begin by pressing either the <CTRL> or <ESC> key. Pressing
the <CTRL> or <ESC> key in combination with other keys results in the keys having a different
meaning to Emacs. These key combinations are called keystroke sequences.

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.

Introduction to VOS (R001) 6-1


Concepts and Terms

Table 6-1. Keystroke Representations in this Section

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 Point of the Cursor


When the cursor appears to be on a character, it is actually “pointing” between that character
and the one to the left. The left edge of the cursor, which is between two adjacent characters,
is called the point. Every Emacs request is executed either before or after the point. The cursor
always indicates the current position of the point.

The examples in this subsection describe where to position the point when you give a request.

Terms You Should Know


There are other terms you should understand before getting started with Emacs. They are:

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.

6-2 Chapter 6: Emacs


Concepts and Terms

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 @

Characters that separate words are:

• Invisible characters Space


Newline character

• Visible characters ! # % ^ & * ( ) - + = ‘ ~ | [ ] ; :


’ " , < . > / ? { }

Introduction to VOS (R001) 6-3


Concepts and Terms

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.”

A hyphen (-) must not begin a name.

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.

6-4 Chapter 6: Emacs


Creating, Editing, and Saving Files

Creating, Editing, and Saving Files


This subsection contains all the basic information you need to edit a file using Emacs.

Calling Emacs
Once you are logged in to VOS and are at command level, there are several ways to call
Emacs.

Entering Only the Command


If you call Emacs without giving a file name, the empty buffer that appears on the screen does
not have a path name. The command is:

emacs

Entering the Command with a File Name


You can specify the name of a file when you give the emacs command. For example:

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.

Entering the Command and Then the find_file Request


You can also call Emacs without a file name and then give the find_file request (X-^F)
so that the current buffer has a default path name. The find_file request prompts you for
a file name, creates a buffer with a default path name for the file you specify, and displays
that buffer in the current window.

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.

Introduction to VOS (R001) 6-5


Creating, Editing, and Saving Files

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.

Moving the Cursor One Position


This subsection describes requests that move the cursor within a buffer one character position
left or right, and one line up or down. These requests do not insert or delete characters.

Moving Left and Right


The backward_char request (^B) moves the cursor one character position to the left. The
forward_char request (^F) moves the cursor one character position to the right.

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.

Moving Up and Down


The prev_line request (^P) moves the cursor to the same column position in the line above
the current line. The next_line request (^N) moves the cursor to the same column position
in the line below the current line. If you move the cursor up or down and there is no character
in the same column on the line above or below the current cursor position, the cursor moves
to the last character on that line.

If the line the cursor moves to is off-screen, Emacs scrolls a new half screen of text into view.

Deleting and Inserting Characters


You can use either the <BACK_SPACE> key or the <DEL> key to delete characters. The
<BACK_SPACE> key executes the delete_char_backward request. It deletes a character to
the left of the cursor’s point. The <DEL> key executes the delete_char_forward request. It
deletes a character to the right of the cursor’s point.

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.

6-6 Chapter 6: Emacs


Creating, Editing, and Saving Files

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

Give a numerical argument of 25.

<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

Canceling an Incomplete Request


The cancel request (^C) withdraws an incomplete request. For example, rather than answer
a prompt, you can cancel the request with the cancel request (^C).

If you press the <ESC> key by mistake, give the cancel request (^C) to cancel the keystroke
sequence.

An Alternate Way to Enter Requests


Suppose you remember the name of the request but not the specific keystroke sequence. The
execute_request directive (<ESC>-R) lets you type the name of a request instead of giving
the keystroke sequence. Also, some infrequently used requests do not have keystrokes, so you
must use <ESC>-R to execute them.

Example

Enter <ESC>-R.

Emacs issues the prompt Request:.

If you type write_file, and then press the <RETURN> key, Emacs responds by executing the
request as if you had entered ^X-^W.

Introduction to VOS (R001) 6-7


Creating, Editing, and Saving Files

You can also give numeric arguments with a request using <ESC>-R.

Example

To give an argument of 50 with the forward_char request (^F) using the


execute_request directive, first enter <ESC>-R.

In response to the Request: prompt, type forward_char 50.

This executes the request as if you entered <ESC>-50-^F.

The subsection “Getting Help” later in this section describes how to get help about Emacs
requests and keystrokes.

Saving Text in a File


This subsection describes how to save your text in a file, using the write_file request
(^X-^W).

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

To save in a file the text you added to a buffer, enter ^X-^W.

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.

Then press the <RETURN> key.

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.

6-8 Chapter 6: Emacs


Creating, Editing, and Saving Files

If you have not saved the contents of the buffer, Emacs issues the prompt:

Buffer buffer_name is modified. Quit anyway?

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

Table 6-2. Summary of Basic Editing Requests

Request Name Keystrokes Description


find_file ^X-^F Creates a buffer, inserts a copy of an
existing file, and gives the buffer the default
path name of the file.
delete_char_backward <BACK_SPACE> Deletes one character to the left of the point.
carriage_return <RETURN> Inserts a newline character into a buffer, or
moves the cursor to the next line.
backward_char ^B Moves the cursor one character position to
the left.
forward_char ^F Moves the cursor one character position to
the right.
prev_line ^P Moves the cursor to the same column in the
line above the current line.
next_line ^N Moves the cursor to the same column in the
line below the current line.
delete_char_forward <DEL> Deletes one character to the right of the
point.
cancel ^C Cancels an incomplete request.
write_file ^X-^W Saves text in a file.
quit <ESC>-Q Exits Emacs.
execute_request <ESC>-R Executes any Emacs request.

Introduction to VOS (R001) 6-9


Moving within a Buffer

Moving within a Buffer


This subsection describes more Emacs requests that move the cursor around within the buffer
and requests that move new sections of text into view in the current window.

Moving Forward over Words


The forward_word request (<ESC>-F) moves the cursor so that the point is to the right of the
last character in a word.

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.

Moving Backward over Words


The backward_word request (<ESC>-B) moves the cursor so that the point is to the left of the
first character in a 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.

Moving to the Beginning or End of a Line


The beginning_of_line request (^A) moves the point to the left of the first character in a
line of text.

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.

Moving to the Beginning or End of a Screen


The beginning_of_screen request (<ESC>-A) moves the cursor to the first character
position on the first line in a screen 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.

Scrolling One Full Screen


The next_screen request (<ESC>-N) scrolls the next full screen of text into view.

6-10 Chapter 6: Emacs


Moving within a Buffer

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.

Positioning the Current Line in a Window


The move_line request (^L) scrolls the current line to the first line of the window.

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.

Moving to the Beginning and End of a Buffer


The beginning_of_buffer and end_of_buffer requests enable you to bypass text to
display only the beginning or end of a buffer.

To move to the beginning of a buffer, enter <ESC>-<.

To move to the end of a buffer, enter <ESC>->.

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)

Request Name Keystrokes Description


forward_word <ESC>-F Moves the cursor forward one word.
backward_word <ESC>-B Moves the cursor backward one word.
beginning_of_line ^A Moves the cursor to the first character position
in the current line.
end_of_line ^E Moves the cursor to the last character position in
the current line.
beginning_of_screen <ESC>-A Moves the cursor to the first character position
on the first line in the current screen of text.
end_of_screen <ESC>-E Moves the cursor to the first character position
on the last line in the current screen of text.
previous_screen <ESC>-P Scrolls up one full screen.
next_screen <ESC>-N Scrolls down one full screen.

Introduction to VOS (R001) 6-11


Managing Files

Table 6-3. Summary of Requests for Cursor Movement and Scrolling (Page 2 of 2)

Request Name Keystrokes Description


move_line ^L With an argument, scrolls a line of text to a
specified line number in the current window.
Without an argument, scrolls a line of text to the
top of the current window.
beginning_of_buffer <ESC>-< Moves the cursor to the first character position
on the first line of the current buffer.
end_of_buffer <ESC>-> Moves the cursor to the first character position
on the last line of the current buffer.

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.

Delimiting a Region of Text — the Mark


Suppose you write a paragraph or program as part of one file and then want to save it so that
you can include it in other files.

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.

Emacs sends the message Mark set.

Now move the cursor so the point is to the right of the last character of the region.

6-12 Chapter 6: Emacs


Managing Files

Writing a Region of Text


The write_region request (^X-W) writes a marked off region of text in a buffer to a file.
After you have delimited the selected region with the mark and the point, give the
write_region request, ^X-W.

Emacs issues the prompt Output pathname:.

Type the name of the file to which you want to write the region and then press the <RETURN>
key.

Reading Another File into a Buffer


The read_file request (^X-^R) inserts a copy of an existing file into the current buffer
without changing either the existing text in the current buffer or its default path name (if any).
The read_file request inserts the new text at the point of the cursor and sets the mark in
the current buffer at the end of the inserted text.

Discarding Changes without Quitting


You can also get a “fresh start” without ending your Emacs session. You do this by reading a
new copy of the same file you are editing into the current buffer. To use this technique, you
must be editing text in a buffer that has a default path name.

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.

Emacs sends the following message:

Buffer test_file is not empty. Re-use it?

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

Table 6-4. Summary of Requests for Managing Files

Request Name Keystrokes Description


set_mark ^@ Sets a mark in a buffer to delimit a region of text
between the point and the mark.
write_region ^X-W Writes a region of text in a buffer to a file.
read_file ^X-^R Inserts a copy of an existing file into the current buffer
without changing the buffer’s identification line or
over- writing the buffer’s contents.

Introduction to VOS (R001) 6-13


Text Editing

Text Editing
This subsection describes more ways to edit text with Emacs.

Entering Text at Tab Locations


The tab features enable you to avoid pressing the <SPACE_BAR> multiple times when you want
to indent text or insert multiple spaces between sections of text. The tab request inserts
enough spaces at the cursor to move it forward to the next tab stop. Any text on the same line
after the cursor also moves to the right.

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.

6-14 Chapter 6: Emacs


Text Editing

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.

Searching and Replacing


The global_replace request (<ESC>-^R) searches forward in a buffer for every occurrence
of a string. You can replace all, some, or none of the occurrences. The string Emacs searches
for is called the replace string, and the string that replaces it is called the by string.

Give the global_replace request <ESC>-^R.

Emacs issues a prompt for the replace string.

Replace:

Type the string you want to search for, and then press the <RETURN> key.

Emacs then issues a prompt for the by string.

Replace 'replace_string' by:

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:

SPACE to replace, CR to skip, ! for rest.

You have four options.

• 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.

Introduction to VOS (R001) 6-15


Text Editing

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.

Deleting and Retrieving Text


This subsection describes how to delete and retrieve any amount of text during an Emacs
session.

The Kill Ring


The kill ring is a temporary storage area, or buffer, that saves deleted text in an ordered
sequence when you use the delete requests described in this subsection or the
fill_paragraph request, described later in this section. The ordered sequence of deleted
text is called the stack. Except for those cases described later in this subsection under
“Manipulating the Kill Ring,” the top of the stack is the most recently deleted text.

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.

Yanking Text from the Kill Ring


You can retrieve text from the kill ring by “yanking” it back into a buffer in the current
session. The yank request (^Y) retrieves a block of text from the top of the kill ring stack and
inserts it to the right of the point. The block on top of the kill ring stack is the last text you
deleted and is, therefore, the first block yanked.

Emacs automatically sets the mark after the last character inserted into the buffer when you
yank a block of text from the kill ring.

Deleting Words Forward


The delete_word_forward request (<ESC>-D) deletes all characters, including
word-separating characters, between the point and the first word-separating character after
the word being deleted. When the cursor is not within a word, <ESC>-D deletes the next word.
When the cursor is within a word, <ESC>-D deletes the current word, but not the
word-separating characters on either side of the word.

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.

6-16 Chapter 6: Emacs


Text Editing

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.

Deleting Words Backward


The delete_word_backward request (<ESC>-^H, or <ESC>-<BACK_SPACE>) deletes all
characters, including word-separating characters, between the point and the first
word-separating character before the word being deleted. When the cursor is not within a
word, the delete_word_backward request deletes the preceding word. When the cursor is
within a word, the delete_word_backward request deletes the current word.

To yank back the word from the kill ring, give the yank request (^Y).

Deleting Whole or Partial Lines Forward


The kill_right request (^K) deletes all characters between the point and the end of the
current line, but the newline character remains. When the point is at the end of a line, the
kill_right request deletes the newline character on the current line, and the next line
merges with the current line. If you use the <DEL> key instead to delete the newline character,
the newline character does not get added to the kill ring.

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.

Deleting Whole or Partial Lines Backward


The kill_left request (^]) deletes all characters between the point and the beginning of
the current line. When the point is at the beginning of a line, the kill_left request deletes
the newline character on the previous line and merges the current line with the previous line.
If you use the <BACK_SPACE> key instead to delete the newline character, it does not get added
to 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.

Deleting Regions of Text


The wipe request (^W) deletes a region of text between the mark and the point and stores it
as a block on the kill ring. The region can be any size, from one character to the total contents
of a buffer. See the subsection “Delimiting a Region of Text --- the Mark,” earlier in this
section, for a description of how to set the mark.

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

Introduction to VOS (R001) 6-17


Text Editing

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).

Manipulating the Kill Ring


This subsection describes how you can retrieve text stored in the kill ring even if it was not
the last text deleted.

Altering Last-in-first-out Sequence


The wipe_and_yank_previous request (<ESC>-^Y) retrieves from the kill ring text that was
deleted prior to the last text you deleted.

For more information about the wipe_and_yank_previous request, see the VOS Emacs
User’s Guide (R093).

Deleting the Last Block of Text


The delete_last_kill request (<ESC>-^K) removes and discards the most recently stored
block of text in the kill ring.

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.

Changing the Case of a Word


Each request described in this subsection changes a word to the specified case regardless of
what case it is in when you give the request. For the definition of “word” in Emacs, see the
subsection “Concepts and Terms,” earlier in this section.

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.

A word is current if the point is in one of the following positions:

• To the right of the last character in a word, even if there are intervening word-separating
characters.

• To the immediate left of the first character in a word.

6-18 Chapter 6: Emacs


Text Editing

If you give any of these requests for words connected with underlines, each word is changed
separately to the specified case. For example:

Before <ESC>-L: United_States_of_America

After <ESC>-L: united_states_of_america

After <ESC>-C: United_States_Of_America

After <ESC>-U: UNITED_STATES_OF_AMERICA

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

Table 6-5. Summary of Requests for Editing Text (Page 1 of 2)

Request Name Keystrokes Description


tab <TAB> Inserts spaces to the left of the point so that
the cursor moves to the next tab location.
search <ESC>-S Prompts for and then locates the next
occurrence of a search string forward in the
buffer.
reverse_search ^R Prompts for and then locates the next
occurrence of a search string backward in the
buffer.
global_replace <ESC>-^R Prompts for and then searches for a ‘replace’
string. If search succeeds, prompts whether to
replace the string with a ‘by’ string.
yank ^Y Retrieves the most recent block of text from
the kill ring and inserts it into the buffer.
delete_word_forward <ESC>-D Deletes one word forward and stores it on the
kill ring.
delete_word_backward <ESC>-^H Deletes one word backward and stores it on
<ESC>-<BACK_SPACE> the kill ring.
kill_right ^K Deletes text from the point to the end of the
line and stores it on the kill ring.
kill_left ^] Deletes text from the point to the beginning
of the line and stores it on the kill ring.

Introduction to VOS (R001) 6-19


Working with Multiple Buffers

Table 6-5. Summary of Requests for Editing Text (Page 2 of 2)

Request Name Keystrokes Description


wipe ^W Deletes a region of text marked off by the
point and the mark and stores it on the kill
ring.
delete_last_kill <ESC>-^K Removes the most recent of text from the kill
ring and discards it.
capitalize_word <ESC>-C Changes the current word so that only the
initial letter is upper case and the rest are
lower case.
upper_case_word <ESC>-U Changes the current word so that all letters
are upper case.
lower_case_word <ESC>-L Changes the current word so that all letters
are lower case.

Working with Multiple Buffers


This subsection describes how to work with and manipulate several buffers at once during an
Emacs session. There is no limit to the number of buffers you can use.

The Point and Mark


Although the cursor is visible in only one buffer at a time, Emacs “remembers” the state of
each buffer, which includes

• where the point is when you leave the buffer.

• the location of the mark in that buffer.

• which screen of text is displayed in the window.


• whether or not the buffer is modified.

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.

The Kill Ring


The kill ring is common to all buffers for the duration of an Emacs session. When you delete
text from one buffer with a request that stores text on the kill ring and then do the same in
another buffer, both blocks of text are stored in the same kill ring in the order in which they
were deleted.

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

6-20 Chapter 6: Emacs


Working with Multiple Buffers

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.

Creating Multiple Buffers


To create multiple buffers for an Emacs session, you can use either of these two methods:

• Call Emacs with more than one file name to begin a session.

• Use the find_file request (^X-^F) during 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.

Calling Emacs with Multiple File Names


You can call Emacs with more than one file name when you want to work with multiple
buffers in a single session.

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.

Adding a Buffer during an Emacs Session


To add a buffer with a default path name during your current session, give the find_file
request (^X-^F). Emacs asks for the name of a file by issuing the File name: prompt.
Respond to the prompt by typing a file name, and then press the <RETURN> key.

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.

Introduction to VOS (R001) 6-21


Working with Multiple Buffers

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:

Buffer buffer_name is not empty. Re-use it?

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.

Moving the Cursor from Buffer to Buffer


The go_to_buffer request (^X-B) moves the cursor into another buffer and displays that
buffer in the current window. This request locates only buffers that exist in the current session
and not files in a directory.

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):

You specify the default value by pressing the <RETURN> key.

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.

Getting Help about Requests


To obtain information about Emacs requests, use the help request (<ESC>-H).

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.

6-22 Chapter 6: Emacs


Working with Multiple Buffers

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.

Getting Help about a Keystroke Sequence


To determine what request a specified keystroke sequence executes, give the
explain_keystroke request (<ESC>-?) and immediately enter the keystroke sequence in
question.

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.

Emacs displays a message in the information area that reads ^L = move_line.

Ending a Session with Multiple Buffers


To end an Emacs session with multiple buffers and save all the changes you have made, you
must write the contents of each modified buffer to a file separately. One write_file or
save_file request does not save the contents of multiple buffers.

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:

• Move the cursor so it is on the same line as the buffer’s name.

• 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:

Introduction to VOS (R001) 6-23


Tailoring Your Output

• Buffer 'test_file' is modified. Quit anyway?

• 2 buffers are modified and not written. Quit anyway?

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

Table 6-6. Summary of Requests for Using Multiple Buffers

Request Name Keystrokes Description


go_to_buffer ^X-B Prompts for the name of a buffer, displays that
buffer in the current window, and moves the
cursor to that buffer.
help <ESC>-H Creates an internal buffer and inserts a list of
Emacs keystroke sequences and request names.
explain_keystroke <ESC>-? Displays on the message line the request name
for the keystroke that follows.

Tailoring Your Output


You can tailor the Emacs editing environment by enabling or disabling certain output
characteristics. Each of these characteristics has a default setting in effect unless you
explicitly change it. The results described so far in this section assume that the default settings
are in effect.

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).

6-24 Chapter 6: Emacs


Interfacing with VOS

Interfacing with VOS


This subsection describes the Emacs interface with VOS. It describes requests you can use
during an Emacs session that either give you access to VOS or that enable you to manipulate
aspects of your editing environment pertaining to VOS.

Starting a Subprocess during an Emacs Session


It is often useful to be able to perform a task with VOS (for example, to start a batch job)
without quitting your current Emacs session. The login_process request (^X-L) suspends
your current Emacs session without terminating it and starts a subprocess.

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.

Executing a VOS Command


The execute_command request (^X-C) executes a VOS command during an Emacs session.

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.

Clearing Messages from the Status Line


The third line of the information area is the status line. This line is reserved for messages
originating from VOS or from other users.

To clear the status line, use the clear_status_line request (^X-S).

Clearing Messages Appearing within Your CRT Display


When a message appears on a line within your CRT display that interferes with the image of
text in the buffer you are editing, you can clear the message with the redisplay request
(^V).

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.”

Introduction to VOS (R001) 6-25


Interfacing with VOS

Table 6-7. Summary of Requests for Interfacing with VOS

Request Name Keystroke Description


login_process ^X-L Suspends an Emacs session and starts a subprocess in
VOS.
execute_command ^X-C During an Emacs session, executes a VOS command
that you specify in response to the Command: prompt
and displays the output in the default output
buffer.
clear_status_line ^X-S Clears messages from the status line of the CRT
display during an Emacs session.
redisplay ^V Clears a garbled Emacs screen display.

For more information about Emacs, see the VOS Emacs User’s Guide (R093).

6-26 Chapter 6: Emacs


Chapter 7:
Abbreviations 7-

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.

Introduction to VOS (R001) 7-1


First Directives

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.

In the abbreviations file, you can enter the following directive:

subsequent data by 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

7-2 Chapter 7: Abbreviations


All Directives

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).

In the abbreviations file, you can enter the following directive:

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

Introduction to VOS (R001) 7-3


All Directives

For more information about abbreviations, see the VOS Commands User’s Guide (R089) or
the VOS Reference Manual (R002).

7-4 Chapter 7: Abbreviations


Chapter 8:
Programming 8-

This section describes the sequence of steps you take to create, compile, bind, and execute a
program.

Creating a Source Module


The sequence begins when you write a program in VOS PL/I, VOS COBOL, VOS Pascal,
VOS FORTRAN, VOS C, or VOS BASIC. You can use either the VOS Word Processor or
Emacs to enter the program text.

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

Table 8-1. Programming Language Suffixes

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:

rem a program that prints


rem the integers 1 to 5
for i = 1 to 5
print i;
next i
end

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

Introduction to VOS (R001) 8-1


Compiling a Source Module

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

Compiling a Source Module


The commands that compile source modules are: pl1, cobol, pascal, fortran, c, and
basic. To compile a source module, you enter the command for the programming language
of the source module and the name of the source module. Entering the suffix of the source
module name is optional.

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:

• VOS PL/I Language Manual (R009)


• VOS COBOL Language Manual (R010)
• VOS Pascal Language Manual (R014)
• VOS FORTRAN Language Manual (R013)
• VOS C Language Manual (R040)
• VOS BASIC Language Manual (R011)

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.

basic print_numbers -list <RETURN>

8-2 Chapter 8: Programming


Binding an Object Module

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.

See Chapter 3, “The Input/Output System,” for a discussion of naming conventions.

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.

Binding an Object Module


The object module usually has unresolved references to external routines and data. A program
can call any of several kinds of external routines. Separately compiled object modules for
these routines are in a system library or in another directory. The routine can be a VOS service
subroutine or a program written previously by you or another user in the same or in another
language.

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.

To bind the object module print_numbers.obj, enter the command

bind print_numbers <RETURN>

Introduction to VOS (R001) 8-3


Executing a Program Module

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

Executing a Program Module


You execute a program module by entering its name as a command, in the same way that you
execute a system command. Entering the suffix .pm is optional, except when the name of the
program module conflicts with the name of an internal system command, in which case the
suffix is required. (For more information about suffixes, see the naming conventions in
Chapter 3, “The Input/Output System.”)

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>

You can also enter the command in this way:

print_numbers <RETURN>

The result displayed on your screen is:

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.

An error detected at execution is handled in one of two ways:

• 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

8-4 Chapter 8: Programming


Debugging

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).

Introduction to VOS (R001) 8-5


Debugging

8-6 Chapter 8: Programming


Chapter 9:
Noninteractive Processing 9-

The batch Command


When you enter a command, VOS waits for that command to finish executing before it
returns you to command level. Therefore, when a command requires a long time to run, it is
convenient to execute it in a process that is separate from your interactive process. You will
then not need to wait for the command to finish executing before you can work in your
interactive process again.

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:

batch 'pl1 make_report.pl1' <RETURN>

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.

Introduction to VOS (R001) 9-1


The start_process Command

The start_process Command


With the start_process command, you can create a noninteractive process that is separate
from your interactive process. The noninteractive process can execute commands for you as
you continue to work in your interactive process.

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

A start_process command to compile the VOS PL/I source file make_report.pl1 in


your current directory is:

start_process 'pl1 make_report.pl1'

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).

9-2 Chapter 9: Noninteractive Processing


Glossary Glossary-

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 control list (ACL)


A list that VOS uses to determine the access rights of users to a particular file or
directory. An ACL is a list of entries, with each entry showing an access code and a user
name.

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.

Introduction to VOS (R001) Glossary-1


Glossary

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.

ASCII (American Standard Code for Information Interchange)


The binary code used for characters in text files and in communications.

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

1. Eight bits of data.

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.

Introduction to VOS (R001) Glossary-3


Glossary

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 configuration table


The file devices.table, which contains information about each device present in a
system. See configuration table.

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.

Introduction to VOS (R001) Glossary-5


Glossary

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.

full path name


For a file, directory, or link, a name that is composed of the name of the system, the
name of the disk, the names of the directories that contain the object, and finally the
name of the file, directory, or link.

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.)

Introduction to VOS (R001) Glossary-7


Glossary

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:

• include libraries, in which the compilers search for include files


• object libraries, in which the binder searches for object modules
• command libraries, in which the command processor searches for commands.

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.

locked for reading


In the VOS Word Processor, accessibility of a document to multiple readers. See
reader.

locked for writing


In the VOS Word Processor, accessibility of a document to one writer. See writer.

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.

Introduction to VOS (R001) Glossary-9


Glossary

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.

A person name is one of the two parts of a user name.

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.

A port is created when it is attached and destroyed when it is detached.

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.

Introduction to VOS (R001) Glossary-11


Glossary

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.

In a text file, a line of text is managed as a record.

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.

registration table entry


A group of records in a registration table. Each group identifies one user by person
name, alias, and password, and provides other information, such as the groups the user
is registered in and whether he or she can log in as privileged.

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.

relative path name


A name that identifies a device or an object in the directory hierarchy without
specifying its full path name.

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

Introduction to VOS (R001) Glossary-13


Glossary

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.

Compare with fixed file, relative file, and sequential file.

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.

Introduction to VOS (R001) Glossary-15


Glossary

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-

A beginning of screen request, 6-10, 6-12


bind command, 8-3
abbreviations
binder, 8-3
directives, 7-1
binding an object module, 8-3
file, 7-1, 7-4
blank areas, 6-3
table, 7-1
blocks of text, 5-15, 6-16
access
deleting, 5-16, 5-18
to directories, 2-9, 3-4, 3-10, 3-14
discarding, 5-16
to documents, 5-27
inserting, 5-16, 5-19
to files, 2-9, 3-4, 3-5, 3-14
moving, 5-18
to links, 3-14
saving, 5-16
access codes, 3-5, 3-10
break level, 2-16, 8-5
access control list acl, 3-5
buffer list buffer, 6-23
access rights, 3-5
buffer specific editing modes, 6-24
add library path command, 4-10
buffers, 5-7, 5-23, 6-2
alias, 2-9, 2-12
adding during a session, 6-21
all directives, 7-3
buffer names, 5-23
arguments, 2-10, 4-2, 4-3, 4-4
changing, 5-24
fields, 2-11, 4-2
command results, 5-26
login command, 2-11
current, 5-26
required, 2-11, 4-4
default path names, 6-5
use of, 6-7
discarding the contents of, 5-24
values, 2-11, 4-6
empty, 5-19, 5-23, 6-5
with emacs requests, 6-4
for command results, 5-26
ascii characters, 3-1, 5-14, 5-23
for saving text, 2-7
attach port command, 3-16, 4-11
inserting text into, 5-24
modified, 6-5
B multiple, 5-23, 5-26, 6-20
back space request, 5-14 names, 5-26
in emacs, 6-5, 6-6, 6-16 saving the contents of, 5-24
in the vos word processor, 5-15, 5-16 status information, 5-24
in vos, 2-10, 4-3
back tab request, 5-6 C
back up documents, 5-8
c command, 8-2
backward char request, 6-6, 6-10
calling emacs, 6-5
backward word request, 6-10, 6-12
with multiple file names, 6-21
basic command, 8-2
cancel request
batch command, 9-1
in the vos word processor, 5-4, 5-12, 5-16,
batch job, 9-1
5-22
batch processing, 9-1
in vos, 2-16, 4-6
batch queue, 1-1, 9-1
cancel request in emacs, 6-7, 6-10, 6-12
beginning of buffer request, 6-11, 6-12
capitalize word request, 6-18
beginning of line request, 6-10, 6-12
carriage return request, 6-6, 6-10

Introduction to VOS (R001) Index-1


Index

cataloguing objects, 3-6 copying a region of text


ce key, 2-7, 5-6 within a buffer, 6-18
change buffer request, 5-24, 5-26 copying text, 5-19
change current dir command, 4-9 correcting typing errors, 2-10
changecase downarrow request, 5-21 create dir command, 4-9
changecase uparrow request, 5-21 creating documents, 5-7
changing a password, 2-9, 2-12 crt form of commands, 2-7, 2-9, 2-10, 2-13, 4-2
characters, 6-3, 6-4 ctrl break request, 2-16, 5-12
ascii, 5-14, 5-23 ctrl fzero request, 2-13, 5-25
deleting, 6-6 ctrl key, 5-3, 6-1, 6-7
inserting, 6-6 current, 6-3
inserting in a line, 5-14 buffer, 6-5, 6-22
line separating, 5-10, 5-12, 5-14, 5-15 emacs session, 6-21, 6-22
newline, 6-3, 6-6 window, 6-5, 6-21, 6-22
nonprinting, 3-2, 5-14 cursor, 2-1, 2-10, 6-2
printing, 3-1, 5-14 cursor movement, 5-10
space, 6-3 from buffer to buffer, 6-22
typing, 2-1 from screen to screen, 6-10
clear status line request, 6-25, 6-26 to beginning of buffer, 6-11
cobol command, 2-15, 8-2 to end of buffer, 6-11
command arguments, 2-10, 4-2, 4-3 vertical, 6-6
required, 4-3 cycle back request, 4-3
usage, 4-6 cycle request, 4-3
command forms
crt, 2-7, 2-9, 2-10, 2-13, 4-2, 4-3 D
lineal, 2-7, 2-9, 2-10, 2-13, 4-2, 4-3, 4-6
date, 2-10
command functions, 2-14
date command function, 2-14
command level, 2-5, 2-10, 2-13, 2-16, 5-1, 8-4
debug command, 2-15, 2-16, 8-5
returning to, 6-8, 6-24
debugging, 8-5
command lines, 2-13, 2-14, 3-15
debugging aid, 2-16
components of, 7-1
default, 5-7, 6-4
command macros, 2-15, 3-3, 4-1, 9-1
buffer, 5-23
invoking, 4-2
output buffer, 6-25
command names, 4-1, 4-2, 4-3
path names, 5-7, 5-8, 5-19, 6-5, 6-13, 6-22
abbreviations for, 4-2, 4-3
search string, 6-14, 6-15, 6-21
how vos interprets, 4-1
tab stops, 5-19
reserved, 4-2
values, 2-11, 6-4
short form, 7-1
default response, 6-4, 6-21
commands, 2-5, 5-25, 5-26
editing the value, 6-22
command macros, 4-1, 4-2
del request, 5-14
entering, 2-7, 2-8, 2-12
in emacs, 6-6, 6-16
external, 2-8, 2-15, 4-1
in the vos word processor, 5-15, 5-16
in command lines, 2-13
in vos, 2-10, 3-2, 4-3
internal, 2-8, 2-15, 4-1, 4-2
delete char backward request, 6-5, 6-10
invoking, 4-2
delete char forward request, 6-6, 6-10
list of, 2-15
delete dir command, 4-9
multiple, 2-13
delete file command, 4-9
prelogin, 2-8
delete last kill request, 6-18
program modules, 4-1, 4-2
delete leftarrow request, 4-3, 5-18
compilation listings, 8-2
delete library path command, 4-11
compilers, 8-2
delete request, 5-16
continue command, 2-16, 8-5
in the vos word processor, 5-15
copy file command, 2-15, 4-8
delete rightarrow request, 4-3, 5-18

Index-2
Index

delete word backward request, 6-17 E


delete word forward request, 6-17
edit command, 2-15, 4-8, 5-7, 5-19, 5-25, 8-1
delete word request, 5-9, 5-17
editing environment
deleting
tailoring, 6-24
a line backward, 6-17
editing modes
a line forward, 6-17
buffer specific, 6-24
a region of text, 6-17
global, 6-24
a word backward, 6-17
editing sessions
a word forward, 6-17
beginning, 5-7
one character backward, 6-5, 6-6
current session, 5-25
one character forward, 6-6
ending, 5-8
deleting text, 5-18
original session, 5-25
delimiting text, 5-15
editors, 3-4, 5-1
detach port command, 3-16, 4-11
emacs, 4-8
devices, 3-10, 3-15
basic concepts, 6-1
path names, 3-13
basic terms, 6-2
directories, 3-14, 5-7
interface with vos, 6-1, 6-25
access to, 3-10
emacs command, 6-5
creating, 3-6
emacs sessions, 6-2
current directory, 3-6, 3-8, 3-13, 3-14, 8-3
ending, 6-8
disk, 3-7, 3-13, 3-14
starting over without quitting, 6-13
group, 3-7
en disable line number mode request, 5-22
home, 3-6, 3-8
end of buffer request, 6-11, 6-12
managing, 3-6
end of line request, 6-10, 6-12
path names, 3-12
end of screen request, 6-10, 6-12
subdirectories, 3-6
enter request, 2-7, 2-12, 2-13, 4-3, 4-6, 5-6
system directory, 3-7, 3-13
entering commands, 2-5, 2-7, 2-8, 2-12
user, 3-8
entering text, 2-5, 5-14, 5-19
discard request, 5-16
at tab locations, 6-14
disk, 2-15, 3-6, 3-7
correcting mistakes, 6-6
display command, 2-15, 4-7
error files, 3-3, 8-3, 8-4
display current dir command, 4-6, 4-9
suffix, 8-3
display current module command
error handling, 8-4
as prelogin command, 2-8
esc key, 2-6, 6-1, 6-7
display date time command
execute command and continue request, 5-26,
as prelogin command, 2-8
5-27
display form request, 2-10, 4-2
execute command and wait request, 5-25, 5-27
display line command, 2-14
execute command request, 6-25, 6-26
as prelogin command, 2-8
execute request directive, 6-7, 6-10
display status request, 5-17, 5-22, 5-24
executing a program module, 8-4
display terminal parameters command, 4-10
explain keystroke request, 6-23, 6-24
document accessibility, 5-27
external commands, 2-8, 2-15, 4-1
document locking, 5-27
documents
creating, 5-7 F
inserting, 5-19 fields, 2-11, 4-2
naming, 5-7, 5-8, 5-9 file organization
renaming, 5-8 fixed, 3-5
replacing, 5-8 relative, 3-5
saving, 5-8, 5-9, 5-24, 5-25, 5-27 sequential, 3-5
saving a region of, 5-20 stream, 3-5
downarrow key, 2-11, 4-3, 5-10, 5-11 file system, 2-15
files, 3-4, 3-5, 3-14, 3-15, 6-4
access to, 3-4

Introduction to VOS (R001) Index-3


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

list module command N


as prelogin command, 2-8
names
list system command
buffer, 5-23, 5-26
as prelogin command, 2-8
characters for, 3-1
list users command, 4-10
command, 4-1, 4-2, 4-3
listing files, 3-3
directory, 3-3, 3-12
listings
disk directory, 3-12
compilation, 8-2
document, 5-8
loader, 8-4
error file, 8-3
loc esc esc key, 2-6
file, 3-4, 3-12, 6-4, 6-8
locked
full path names, 3-13
for reading, 5-27
input output device, 3-13
for writing, 5-27
links, 3-14
log in message, 2-9
object, 3-1, 3-12, 3-13
logged in message, 2-10, 2-12
object module, 8-2
logged out message, 2-12
path names, 3-12
logging in, 2-9, 2-16, 5-7, 6-5, 8-5
program module, 8-3
to a subprocess, 2-13, 6-25
relative path names, 3-13
logging out, 2-12
rules for making, 3-1
from a subprocess, 2-13, 5-25, 6-25
source module, 8-1
login command, 2-9, 2-10, 2-13, 2-16, 8-5
special, 3-3
arguments, 2-11, 2-12
star, 3-3
as prelogin command, 2-8
suffixes, 3-2
login process request, 6-25, 6-26
system directory, 3-12
logout command, 2-12, 2-13, 5-25, 6-25
networks
lower case, 5-21
local area, 1-1
lower case word request, 6-18
long distance, 1-1
new line, 5-11
M new screen, 5-11
main keyboard, 2-2 newline character, 6-3, 6-6
special keys, 2-5 next line request, 6-6, 6-10
mark, 5-15, 6-12 next screen request, 6-10, 6-12
location of, 6-12, 6-16, 6-18, 6-20 noninteractive process, 1-1, 9-2
setting, 6-12, 6-17 null response, 6-4
mark request, 5-16, 5-20 to buffer prompt, 6-22
mod message, 6-5 to file name prompt, 6-13
module names, 2-9, 2-10 to search prompt, 6-14
modules, 2-12 to subject prompt, 6-23
move file command, 4-8 numeric key pad, 2-2, 2-6, 5-3, 5-6
move line request, 6-11, 6-12, 6-23 special keys, 2-7
moving a region of text
within a buffer, 6-17 O
multiple buffers
object modules, 3-3, 3-4, 8-2
creating, 6-21
binding, 8-3
default responses, 6-21
suffix, 8-2, 8-3
ending a session with, 6-23
objects, 3-1, 3-13
the kill ring, 6-20
cataloguing, 3-6
the point and mark, 6-20
links, 3-14
locating, 3-1
logical, 3-15
naming, 3-1
path names, 3-12

Introduction to VOS (R001) Index-5


Index

ports, 3-15 renaming, 4-2


target, 3-14 with similar names, 4-2
output characteristics prompt line
setting, 6-24 editing default value, 6-22
output path name prompt, 5-8, 6-13 prompts, 5-8, 6-4

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

reverse search request, 6-15 source modules, 3-3, 3-4


with an argument, 6-15 compiling, 8-2
rightarrow key, 2-6, 5-10 creating, 8-1
routines executing, 8-1
external, 8-3 spacebar, 2-6, 3-2, 5-3, 5-6, 6-3
spaces, 5-3, 5-6, 6-3
S special keys, 2-5, 2-7, 5-2, 5-5
special names, 3-3
save file request, 6-23
star names, 3-3
save request, 5-16, 5-19
to create multiple buffers, 6-21
saved text stack, 5-16, 5-17, 5-18
start process command, 9-2
saving text, 6-23
status information buffer, 5-24
part of a buffer, 6-13
status line, 5-23
screens, 6-4
status request, 2-6, 5-3, 5-23
message line, 2-1
stop command, 2-16, 8-5
size, 2-1, 5-14
storage
scroll downarrow request, 5-11
main, 3-4
scroll leftarrow request, 5-11
of bytes, 3-6
scroll rightarrow request, 5-11
of records, 3-6
scroll uparrow request, 5-11
on disk, 2-15
scrolling, 5-11, 6-4
permanent, 5-7, 5-24, 5-27
a full screen, 6-10
saving space in, 3-14
a line to a specified position, 6-11
secondary, 3-4
a line to top of screen, 6-11
space in memory, 2-12
search downarrow request, 5-12
temporary, 5-7, 5-16, 5-23, 5-24, 6-2
search repeat last request, 5-12
stratalink cable, 1-1, 3-10
search strings, 5-11, 6-14
stratanet lines, 1-1
search uparrow request, 5-12
strings, 3-2, 4-1
searcha request, 6-14, 6-15
by string, 6-15
searches, 5-11
replace string, 6-15
and replacing, 5-13
search, 5-11
backward, 5-12
subprocess, 2-13, 2-16
canceling, 5-12
ending, 5-25, 6-25
conventions for, 5-12
starting, 5-25, 6-25
forward, 5-12
subsequent directives, 7-2
global, 5-13
subsystems, 2-12
queried, 5-13
suffixes, 3-2, 4-2, 8-1, 8-2, 8-4
repeated, 5-12
symbols for keystrokes, 6-1
searching for text
system administrator, 2-9
and replacing, 6-15
system library, 8-3
backward, 6-15
system name, 2-9, 2-10
forward, 6-14
systems
selected values, 2-11
multiple, 1-1
set library paths command, 4-2
single, 1-1
set mark request, 6-12, 6-14
shift ce request, 5-6
shift downarrow request, 5-11 T
shift key, 2-6, 5-3, 5-6 tab request, 2-6, 2-7, 2-11, 4-3, 5-3, 5-6, 5-19
shift leftarrow request, 5-10 tab stops, 5-19, 5-22, 6-14
shift rightarrow request, 5-10 template, 2-2, 5-3, 5-6
shift status request, 5-23 terminals, 2-2, 4-2
shift tab request, 5-6 stratus model v101, 2-1, 2-2, 2-5, 2-7, 2-13,
shift uparrow request, 5-11 5-1
sort command, 2-15 stratus model v102, 2-1, 2-2, 2-5, 2-7, 5-4

Introduction to VOS (R001) Index-7


Index

turning on, 2-9 vos pascal, 8-1


text vos pli, 8-1
a block of, 5-15, 6-16 vos service subroutines, 8-3
a region of, 5-20, 6-12
copying, 5-19 W
copying a region of, 6-18
who locked command, 5-27
deleting, 5-18
windows, 5-23, 5-24, 6-2, 6-5, 6-6
deleting a region of, 6-17
wipe and yank previous request, 6-18
entering, 5-19, 6-6
wipe request, 6-16, 6-17, 6-18
locating a string of, 6-14
word changecase downarrow request, 5-21
marking, 5-15
word changecase leftarrow request, 5-21
marking a region of, 5-20, 6-12
word changecase uparrow request, 2-6, 5-21
moving a region of, 6-17
word leftarrow request, 5-10
repeating searches, 5-12
word rightarrow request, 5-10
retrieving from the kill ring, 6-16
word separating characters
saving, 5-8, 5-20, 6-8, 6-12, 6-23
invisible, 6-4
searching and replacing, 5-13, 6-15
visible, 6-4
searching backward, 5-12, 6-15
words, 5-10, 5-17, 5-21, 6-4
searching forward, 5-12, 6-14
changing case, 6-18
writing a region of, 5-20, 6-13
deleting, 5-17
text editors, 3-4
deleting backward, 6-17
text files, 2-5, 3-4
deleting forward, 6-17
time, 2-10
work space, 1-1
time command function, 2-14
write, 6-4
time sharing, 1-1
write file request, 6-8, 6-10, 6-23
tokens, 4-1, 7-1
write region request, 6-13, 6-14
typing characters, 2-1
write request, 5-8, 5-9, 5-24, 5-25, 5-26, 5-27
writer, 5-27
U writing text
underline request, 5-6 a portion of a buffer, 6-12
unlink command, 3-15, 4-11 an entire buffer, 6-8
uparrow key, 2-6, 2-11, 4-3, 5-10, 5-11 part of a buffer, 6-13
upper case, 5-21 to a new file, 6-8
upper case word request, 6-18
use abbreviations command, 7-1 Y
user name command function, 2-14
yank request, 6-16, 6-17, 6-18
user names, 2-9, 2-10, 2-12
yanking text
from the kill ring, 6-16
V
values, 2-10, 2-12
default, 2-11
for command functions, 2-14
predefined, 4-3
selected, 2-11
visible self inserting characters, 6-3
vos basic, 8-1
vos c, 8-1
vos cobol, 8-1
vos commands
executing during a session, 6-25
vos fortran, 8-1
vos messages
clearing from crt display, 6-25

Index-8

Você também pode gostar