XEROX EXECFNS 2 4 1 EXECFNS 1 4 By: Jeffrey S. Shulman (Shulman@Rutgers.arpa) The purpose of this package is to emulate TOPS-20 logical names. the full DEF macro is: DEF logical-name: [Definition] Where logical-name is any logical name you wish and the optional field definition is the definition. If logical-name: is already defined then definition will replace the old definition. If definition is not present then logical-name: will be removed from the definition list. All current logical definitions are kept in a list format on the global variable *LOGICAL.DEFINITIONS*. The lispxmacro DEF? can be used to see what logical definitions are currently defined. The format of DEF? is: DEF? [logical-name:] [Lispxmacro] where logical-name: is either a logical name or a '*' (leaving logical-name: absent is the same as '*'). You will be told what logical-name: is defined as or given a list of all the currently defined logical names is you give * (or nothing). The lispxmacros TY, CONN and KD (defined below) have been (re)defined to expand logical names to their full file definition. In addition the functions INFILE, OUTFILE, INFILEP, OUTFILEP and COPYFILE (see further comments on COPYFILE below) have also been modified/advised to expand logical names. The function that implements DEF is: (DEFINE.LOGICAL.DEVICE logical-name definition) [Function] DEF? is implemented by: (SHOW.LOGICAL.DEFINITIONS logical-name) [Function] The function (LOGICAL? filename) [Function] returns the full file name of filename with any logical names expanded. The lispxmacro KD and function KDELETE implement the TOPS-20 KDELETE command. They both take as arguments a file name (with wildcards) and will delete all but the most recent version of the matching files. The function DEFAULTFILE will fill in possible missing file name and extension in its first argument from its second. The function COPYFILE has been implemented to use this function to default to TOFILE name. Both FROMFILE and TOFILE will expand logical names. The function COPYFILE has been modified to preserve the file type between file transfers. When transferring from file server to Dolphin, it uses the GETFILEINFO function to get the file type. When transferring from the Dolphin, it accepts an optional third argument being either TEXT or BINARY to specify the file type. It defaults to TEXT if not given.(LIST ((PAGE NIL (FOLIOINFO (ARABIC) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))(È(ŠŠ8(È (ŠŠ8DÈÈ PAGEHEADING RUNNINGHEADMODERN MODERN MODERNMODERN LOGO HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN /X'|n*ò)%E +_ÎÑ• m6zº