1 01/24/82  Standard subsystem request:  do
 2 
 3 Syntax:  do request_string {args}
 4   or:    do -control_args
 5 
 6 
 7 Syntax as an active request:  [do "request_string" args]
 8 
 9 
10 Function:  expands a request line by substituting the supplied
11 arguments into the line before execution.  As an active request,
12 returns the expanded request_string rather than executing it.
13 
14 
15 Arguments:
16 request_string
17    is a request line in quotes.
18 args
19    are character string arguments that replace parameters in
20    request_string.
21 
22 
23 Control arguments:
24    These control argument set the mode of operation of the do request:
25 -long, -lg
26    the expanded request line is printed before execution.
27 -brief, -bf
28    the expanded request line is not printed before execution. (Default)
29 -nogo
30    the expanded request line is not passed on for execution.
31 -go
32    the expanded request line is passed on for execution.  (Default)
33 -absentee
34    an any_other handler is established which catches all conditions and
35    aborts execution of the request line without aborting the process.
36 -interactive
37    the any_other handler is not established.  (Default)
38 
39 
40 List of parameters:
41    Any sequence beginning with & in the request line is expanded by the
42    do request using the arguments given on the request line.
43 
44 &I  is replaced by argI.  I must be a digit from 1 to 9.
45 &(I)
46    is also replaced by argI.  I can be any value, however.
47 &qI
48    is replaced by argI with any quotes in argI doubled.  I must be a
49    digit from 1 to 9.
50 &q(I)
51    is also replaced by argI with any quotes doubled.  I can be any
52    value.
53 &rI
54    is replaced by argI surrounded by a level quotes with any contained
55    quotes doubled.  I must be a digit from 1 to 9.
56 &r(I)
57    is also replaced by a requoted argI.  I can be any value.
58 
59 
60 &fI
61    is replaced by all the arguments starting with argI.  I must be a
62    digit from 1 to 9.
63 &f(I)
64    is also replaced by all the arguments starting with argI.  I can be
65    any value.
66 &qfI
67    is replaced by all the arguments starting with argI with any quotes
68    doubled.  I must be a digit from 1 to 9.
69 &qf(I)
70    is also replaced by all the arguments starting with argI with quotes
71    doubled.  I can be any value.
72 
73 
74 &rI
75    is replaced by all the arguments starting with argI.  Each argument
76    is placed in a level of quotes with contained quotes doubled.  I
77    must be a digit from 1 to 9.
78 &rf(I)
79    is also replaced by all the arguments starting with argI, requoted.
80    I can be any value.
81 
82 
83 &&  is replaced by an ampersand.
84 &!  is replaced by a 15 character unique string.  The string used  is
85    the same everywhere &! appears in the request line.
86 &n  is replaced by the actual number of arguments supplied.
87 &f&n
88    is replaced by the last argument supplied.