Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vc(CP) — System V/386 Software Development System 3.2.2b

Media Vault

Software Library

Restoration Projects

Artifacts Sought

     Name
          vc - version control

     Syntax
          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 fewer alphanumerics; the first
          must be alphabetic.  A value is any ASCII string that can be
          created with ed(C); 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 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

               The > and < operate only on unsigned integer values
               (for example, : 012 > 12 is false).  All other
               operators take strings as arguments (for example, : 012
               != 12 is true).  The precedence of the operators (from



     Page 2                                          (printed 6/18/89)






     VC(CP)                    UNIX System V                    VC(CP)



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

     Exit Codes
          0 - normal
          1 - any error
















     Page 3                                          (printed 6/18/89)



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