Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vc(1) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(1)

help(1)



     VC(1)                                                       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 encountered 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 character, 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
          surrounded by control characters is encountered on a version
          control statement.  The -a keyletter (see below) forces
          replacement of keywords 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



     Page 1                                        (last mod. 8/20/87)





     VC(1)                                                       VC(1)



                      to and including the tab are discarded.

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

          -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 control
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
Page 2 (last mod. 8/20/87)


     VC(1)                                                       VC(1)



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

     SEE ALSO
          ed(1), help(1) in the User's Reference Manual.

     DIAGNOSTICS
          Use help(1) for explanations.

     EXIT CODES
          0 - normal
          1 - any error

     ORIGIN
          AT&T V.3





     Page 3                                        (last mod. 8/20/87)



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