Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vc(1) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(1)



          VC(1)                INTERACTIVE UNIX System                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 pro-
               cess of performing the copy operation, user declared key-
               words 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 state-
               ments) of keyword values specified in control statements or
               as vc command arguments.

               A control statement is a single line beginning with a con-
               trol 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 charac-
               ter 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 fewer 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 uninter-
               preted 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 con-
                        trol 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.


          Rev. C Software Development Set                            Page 1





          VC(1)                INTERACTIVE UNIX System                VC(1)



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

               -s       Silences warning messages (not error) that are nor-
                        mally 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 con-
                    dition 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

                    The > and < operate only on unsigned integer values


          Rev. C Software Development Set                            Page 2





          VC(1)                INTERACTIVE UNIX System                VC(1)



                    (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 pre-
                    cedence.
                    Values must be separated from operators or parentheses
                    by at least one blank or tab.












































          Rev. C Software Development Set                            Page 3





          VC(1)                INTERACTIVE UNIX System                VC(1)



               ::text
                    Used for keyword replacement on lines that are copied
                    to the standard output.  The two leading control char-
                    acters 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) in the INTERACTIVE UNIX System User's/System
               Administrator's Reference Manual.

          EXIT CODES
               0 - normal
               1 - any error
























          Rev. C Software Development Set                            Page 4



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