Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vc(1) — A/UX 0.7

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] [-c char] [-s] [-t] [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, (unless the -t keyletter is used, in
          which case, all characters up to and including the first TAB
          are ignored , and what follows begins the control statement
          (see below)).  The default control character is colon (:).
          This can be changed 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.



     Page 1                                        (last mod. 1/16/87)





     vc(1)                                                       vc(1)



                     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



     Page 2                                        (last mod. 1/16/87)





     vc(1)                                                       vc(1)



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

             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.

     EXAMPLE
          If you have a file named note containing:

               :dcl NAME,PLACE
                    :NAME:,
                    Just a note to remind you that we have a meeting
                    scheduled Monday morning at :PLACE:.




     Page 3                                        (last mod. 1/16/87)





     vc(1)                                                       vc(1)



          the command

               vc -a NAME=Joe PLACE=University < note

          will produce

               Joe,
               Just a note to remind you that we have a meeting
               scheduled Monday morning at the University.

     FILES
          /usr/bin/vc

     SEE ALSO
          ed(1), help(1).

     DIAGNOSTICS
          Use help(1) for explanations.

     EXIT CODES
          0 - normal
          1 - any error

































     Page 4                                        (last mod. 1/16/87)



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