Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vc(1) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought



      VC(1)                   GENIX Programmer's Manual                   VC(1)



      NAME
           vc - version control

      SYNOPSIS
           vc [-a] [-t] [-cchar] [-s] [keyword=value ... keyword=value]

      DESCRIPTION
           The vc command copies lines from the standard input to the  standard
           output under control of its arguments and control statements encoun-
           tered in the standard input.  In the process of performing the  copy
           operation,  user  declared  keywords may be replaced by their string
           value when they appear in plain text and/or control statements.

           The copying of lines from the standard input to the standard  output
           is  conditional,  based  on tests (in control statements) of keyword
           values specified in control statements or as vc command arguments.

           A control statement is a single line beginning with a control  char-
           acter,  except  as  modified  by  the -t keyletter (see below).  The
           default control character is colon (:), except as modified by the -c
           keyletter  (see  below).  Input lines beginning with a backslash (\)
           followed by a control character are not control lines and are copied
           to  the standard output with the backslash removed.  Lines beginning
           with a backslash followed by a non-control character are  copied  in
           their entirety.

           A keyword is composed of 9 or less alphanumerics; the first must  be
           alphabetic.   A  value  is any ASCII string that can be created with
           ed(1); a numeric value is an unsigned  string  of  digits.   Keyword
           values may not contain blanks or tabs.

           Replacement of keywords by values is done whenever  a  keyword  sur-
           rounded  by  control  characters is encountered on a version control
           statement.  The -a keyletter (see below) forces replacement of  key-
           words  in all lines of text.  An uninterpreted control character may
           be included in a value by preceding it with \.  If a  literal  \  is
           desired, then it too must be preceded by \.

           Keyletter arguments

                -a             Forces replacement  of  keywords  surrounded  by
                               control  characters with their assigned value in
                               all text lines and not just in vc statements.

                -t             All characters from the beginning of a  line  up
                               to  and  including  the  first tab character are
                               ignored for the purpose of detecting  a  control
                               statement.   If  one is found, all characters up
                               to and including the tab are discarded.

                -cchar         Specifies a control  character  to  be  used  in
                               place of :.



      Printed 9/28/83                Obsolescent                              1





      VC(1)                   GENIX Programmer's Manual                   VC(1)



                -s             Silences warning messages (not error)  that  are
                               normally printed on the diagnostic output.

           Version Control Statements

           :dcl keyword[, ..., keyword]
                Used to declare keywords.  All keywords must be declared.

           :asg keyword=value
                Used to assign values to keywords.  An asg statement  overrides
                the  assignment for the corresponding keyword on the vc command
                line  and  all  previous  asg's  for  that  keyword.   Keywords
                declared, but not assigned values have null values.

           :if condition
.
.
.
:end
Used to skip lines of the standard input. If the condition is
true all lines between the if statement and the matching end
statement are copied to the standard output. If the condition
is false, all intervening lines are discarded, including con-
trol statements. Note that intervening if statements and
matching end statements are recognized solely for the purpose
of maintaining the proper if-end matching.
The syntax of a condition is:
<cond> ::= [ "not" ] <or>
<or> ::= <and> | <and> "|" <or>
<and> ::= <exp> | <exp> "&" <and>
<exp> ::= "(" <or> ")" | <value> <op> <value>
<op> ::= "=" | "!=" | "<" | ">"
<value> ::= <arbitrary ASCII string> | <numeric string>
The available operators and their meanings are:
= equal
!= not equal
& and
| or
> greater than
< less than
( ) used for logical groupings
not may only occur immediately after the if, and
when present, inverts the value of the
entire condition
The > and < operate only on unsigned integer values (e. g.: 012
> 12 is false). All other operators take strings as arguments
(e. g.: 012 != 12 is true). The precedence of the operators
(from highest to lowest) is:
= != > < all of equal precedence
&
Printed 9/28/83 Obsolescent 2


      VC(1)                   GENIX Programmer's Manual                   VC(1)



                   |
                Parentheses may be used to alter the order of precedence.
                Values must be separated from operators or  parentheses  by  at
                least one blank or tab.

           ::text
                Used for keyword replacement on lines that are  copied  to  the
                standard  output.   The  two  leading  control  characters  are
                removed, and keywords surrounded by control characters in  text
                are  replaced  by  their value before the line is copied to the
                output file.  This action is independent of the -a keyletter.

           :on

           :off
                Turn on or off keyword replacement on all lines.

           :ctl char
                Change the control character to char.

           :msg message
                Prints the given message on the diagnostic output.

           :err message
                Prints the given message followed by:
                     ERROR: err statement on line ... (915)
                on the diagnostic output.  Vc halts execution, and  returns  an
                exit code of 1.

      DIAGNOSTICS
           Use sccshelp(1) for explanations.

      EXIT CODES
           0 - normal
           1 - any error




















      Printed 9/28/83                Obsolescent                              3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026