The DEL (delete) function removes the specified macro name
from the macro library directory and compresses the directory so there
are no unused entries. The macro definition still occupies space in the
library, but since no directory entry exists, it cannot be accessed or
retrieved. If you attempt to delete a macro for which two macro
definitions exist in the macro library, only the first one encountered
is deleted. For example:
maclib del mymac get put wait dtfdi
deletes macro names GET, PUT, WAIT, and DTFDI from the directory of the
macro library named MYMAC MACLIB. Assume that MYMAC exists as in the ADD
function example. After the above command, MYMAC MACLIB contains the
following members: PDUMP WAIT REGEQU DIMOD COMP Function: Execution of a MACLIB command with the DEL or REP functions--can leave unused space within a macro library. The COMP (compress) function removes any macros that do not have directory
entries. This function uses a temporary file named MACLIB CMSUT1. For
example, the command:
maclib comp mymac
compresses the library MYMAC MACLIB. The MAP function creates a list containing the name cf
each macro in the directory, the size of the macro, and its position
within the macro library. If you want to display a list of the members
of a MACLIB at the terminal, enter the command:
maclib map mymac (term The default option, DISK, creates a file on your A-disk which has a
filetype of MAP and a filename equal to the filename of the MACLIB. If
you specify the PRINT option, then a copy of the map file is spooled to
your virtual printer as well as being written onto disk.
The following CMS commands supply a MEMBER option, which allows you to
reference individual members of a MACLIB: PRINT (to print a member) PUNCH (to punch a member) TYPE (to display a member) FILEDEF (to establish a file definition for a member) You can use the CMS editor to create the
then use the MACLIB command to place them in a
in a library, you can erase the original files. MACRO and COpy files and
library. Once they are
To extract a member from a macro library, you can use either the PUNCH or the MOVEFILE command. If you use the PUNCH command you can
spool your virtual card punch to your own virtual reader:
cp spool punch to *
168 IBM VM/370 eMS User's Guide
Pg. of GC20-1819-2 Rev March 30, 1979 by Supp. SD23-9024-1 for 5748-118 Then punch the member:
punch testmac maclib (member get nOheader and read it back onto disk:
readcard get macro
In the above example, the member was punched with the NCHEADER option of
the PUNCH command, so that a name could be assigned on the READCARD command line. If a header had been created for the file, it would have
indicated the filename and filetype as GET MEMBER. If you use the MOVEFILE command, you must issue a file definition fer
the input member name and the output macro or copy file before entering
the MOVEFILE command:
filedef inmove disk testcopy maclib (member enter
filedef outmove disk enter copy a
movefile
This example copies the member ENTER from the macro library TESTCOPY MACLIB A into a CMS file named ENTER COPY. When you use the PUNCH or MOVEFILE commands to extract members from CMS MACLIBs, each member is followed by a // record, which is a MACLIB delimiter. You can edit the
delete the // record.
file and use the DELETE subcommand
If you wish to move the complete MACLIB to another file, use the COPYFILE command.
The macro libraries that are on the system disk contain CMS, DOS, and OS assembler language macros. The MACLIBs are: CMSLIB MACLIB, which contains the CMS macros. I DMSB20 MACLIB contains the CMS macros for VM/370 Basic System Extensions (Program No. 5748-118). DOSMACRO MACLIB, which contains DOS/VS macros that CMS/DOS routines
use. OSMACRO MACLIB, OSMACR01 MACLIB, and TSOMAC MACLIB, which are used by OS programmers. DOS Assembler Language Macros Supported
Figure 16 lists the DOS/VSE assembler language macros supported by CMS/DOS. You can assemble source programs that contain these macres
under CMS/DOS, provided that you have the macros available in either
your own or a shared eMS macro library. The macros whose functions are
described in the "Function" column with the term "no-op" are supported
for assembly only; when you execute programs that contain these macros,
the DOS/VSE functions are not performed. To accomFlish the macro
function you must execute the program in a DOS/VSE virtual machine. Section 9. Developing DOS programs Under CMS 169
Previous Page Next Page