Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vc(C) — OpenDesktop 1.0.0y

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(C)



     VC(C)                                      UNIX System V



     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 the colon.

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


     Diagnostics
          0 - normal
          1 - any error


     (printed 8/24/89)                                  VC(C)

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