Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vc(1) — DG/UX R4.11

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(1)

help(1)



vc(1)                             SDK R4.11                            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.  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(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.  You can include an uninterpreted
       control character 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, 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]
            Declares keywords.  All keywords must be declared.


       :asg keyword=value
            Assigns 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
            Skips 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 only for 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 occur only 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
               &
               |
            Use parentheses to alter the order of precedence.
            Separate values from operators or parentheses by at least one
            blank or tab.

       ::text
            Replaces keywords 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
            Turns on or off keyword replacement on all lines.


       :ctl char
            Changes 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 help(1) for explanations.

EXIT CODES
       0--Normal
       1--Any error

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


Licensed material--property of copyright holder(s)

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