~a num str
assign variable string 'num' with the string 'str'.
'str' can also be any single special character sequence.
~ap to from
appends a string variable, 'from', to the end of another 'to'.
~p to fm s* l*
picks out a sub-string of a variable string 'fm' and
places it in variable string 'to'. The sub-string starts
at position 's' (0 is the first position). The sub-
string will be 'l' characters long, maximum.
~t num index
truncates (chops off) variable string number 'num' at
position 'index' (0 is the first position). Also, 'index'
can be a Text Control Sequence integer variable ("~i1").
~c n1 n2 [lab]
compares two variable strings (n1 & n2). This
sets query status to 'y' if equal, 'n' if not, for use
with the "~y" and "~n" control lines. If the optional
label 'lab' is given and the two strings are equal,
then goto the label 'lab'. The named label can be
anywhere in the script file.
~j n1 n2 l* [b]
compares first 'l' characters of two variable strings
(n1 & n2). This sets query status to 'y' if equal,
'n' if not, for use with the "~y" and "~n" control
lines. If the optional label 'b' is given and the
two strings are equal, then goto the label 'b'. The
named label can be anywhere in the script file.
~z var index
gets the length of variable string 'var' and places the
length in index counter number 'index'.
~i#=[val*]
assign i# the value 'val' (or 1, if no 'val'). The '#'
is i0-i9. The 'val' is either a constant or a "~i#".
~i#+[val*]
add the value 'val' (or 1, if no 'val') to i#. The '#'
is i0-i9. The 'val' is either a constant or a "~i#".
~i#-[val*]
subtract the value 'val' (or 1, if no 'val') from i#. The
'#' is i0-i9. The 'val' is either a constant or a "~i#".
~i#?[val*][lab]
compare the value 'val' (or 1, if no 'val') to the value
of i#. The '#' is i0-i9. This command sets the query
status for use with the "~y" and "~n" control lines.
If the optional label 'lab' is given and the query status
is 'y', then goto the label 'lab'. The named label can
be anywhere in the script file.
** NOTE: in any of the "~i" commands, the 'val' can be
the "~p" Text Control Sequence.
~h n1 n2 i [lb]
searches string n1 for the substring n2. This
sets query status to 'y' if found, 'n' if not, for use
with the "~y" and "~n" control lines. The index
variable 'i' is set to offset into n1 that n2 was
found, or 0 if not found. If the optional
label 'lb' is given and the substring is found,
then goto the label 'lb'. The named label can be
anywhere in the script file.
~^ num [l|u]i
converts variable string 'num' to 'l'ower or 'u'pper case.
* Parameters marked with an astrick (*) can be either a literal number
an index counter (~i0 - ~i9), or an variable string (~0 - ~9)