LINEDIT Macro Use the DISP operand to specify the output disposition of the edited
line. The format of the DISP operand is: DISP= DISP=TYPE NONE PRINT SIO CPCOMM ERRMSG specifies that the message is to be displayed on the terminal.
This is the default disposition. DISP=NONE specifies that no output occurs. This option is useful with the BUFFA operand. DISP=SIJ specifies that the message is to be displayea, at the terminal,
using SIO instead of TYPLIN, which is normally used. This option
is used by CMS routines in cases where free storage pointers may be
destroyed. Since lines are not stacked in the console buffer, no CONWAIT function is performed. DISP=PRINT specifies that the line is to be printed on the virtual printer.
The first character of the line is interpreted as a carriage
control character and as such does not appear on the printed
output. (See the discussion of the PRINTL macro for a list of
valid ASA control characters., DISP=CPCOMM specifies that the line is to be passed to CP to be executed as a CP command. For example:
LINEDIT TEXT='QUERY USERS',DOT=NO,DISP=CPCOMM results in the CP command line being passed to CP and executed. On return, register 15 contains the return code from the CP command
that was executed. DISP=ERRMSG specifies that the line is to be checked to see if it qualifies for
error message editing. If it does, it is displayed as an error
message rather than as a regular line.
The standard format of VM/370 error messages is:
xxxmmmnnns
where xxxmmm is the name of the module issuing the message, nnn is
the message number, and s is the severity code. You can code
whatever you want for the first nine characters of the code when
you write error messages for your programs, but the tenth character
must specify one of the following VM/370 message types: INformation Warning Frror
section 6. CMS Macro Instructions 327
LINEDIT Macro Then, the line is displayed in accordance with the CP EMSG setting.
If EMSG is set to ON, then the entire message is displayed; if EMSG is set to TEXT, then only the message portion is displayed; if EMSG is set to CODE, then only the lO-character code is displayed. Use the BUFF! operand to specify the address of a buffer into which the
edited message is to be written. The message is copied into the
indicated buffer, as well as being used as specified in the DISP operand. The format of the BUFFA operand is: BUFF!={addreSS} (reg) When the text is copied into the buffer, the length of the message
text is inserted into the first byte of the buffer, and the remainder of
the text is inserted in subsequent bytes.
If you use register notation to indicate the buffer address, the code
generated will not be reentrant. To suppress the MNJTE that informs you
that code is not reentrant, use the RENT=NO operand. Use the MF operand to specify the macro format when you want to code
list and execute forms when you write reentrant programs. The format of
the MF operand is: } MF= L (E,faddr \l ( l (reg) f
MF=I (Standard form)
generates an inline operand list for the macro instruction,
and calls the routine that displays the message. This is the
default. It qenerates reentrant code, except under the following
circumstances: • When you specify more than one SUbstitution list • When you use register notation with the TEXTA or BUFF! operands
MF=L (List form)
generates a parameter list to be filled in when the execute form of
the macro is used.
The size of the area reserved
substitutions to be made, which you
operand. For example:
LINEDIT MF=L,MAXSUBS=5 depends upon the
can specify with
number of
the KAXSUBS reserves space for
substitution lists.
macro instructions.
a parameter list
This same list may
that may hold up to five
be used by several LINEDIT
328 IBM VM/37Q eMS Command and Macro Reference
Previous Page Next Page