The EXECFNS Package Written by Jeffrey S. Shulman Last update: 7-Apr-83 10:31 The purpose of this package is to emulate TOPS-20 logical names. I.E. instead of typing {RED} you can use the DEF lispxmacro to define FOO: as {RED}. 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 de removed from the definition list. All current logical definitions are kept in alist 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:] 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) DEF? is implemented by: (SHOW.LOGICAL.DEFINITIONS logical-name) The function (LOGICAL? filename) returns the full file name of filename with any logical names fully expanded. For example if D: were defined as {RED} then (LOGICAL? 'D:EXECFNS.DCOM) would return {RED}EXECFNS.DCOM. ------------------------------------------------------------------------------------ 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. I. E. (COPYFILE '{RED}FOO.BAR '{DSK}) will copy the file FOO.BAR from directory on fileserver RED and put it on {DSK} with the same name. Both FROMFILE and TOFILE will expand logical names. The function COPYFILE has been modified to preserve the file type between file tranfers. When tranfering from file server to Dolphin it uses the GETFILEINFO function to get the file type. When tranfering 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. sGACHA GACHA =GACHA GACHA  GACHA GACHA  GACHAGACHA GACHA GACHA GACHA GACHA5GACHA GACHAGACHA GACHA GACHA GACHAGACHA GACHA&GACHA GACHAGACHA GACHA#GACHA GACHA SGACHA GACHA GACHA GACHA GACHA GACHA GACHA GACHA,GACHA GACHA4GACHA GACHAxGACHA GACHA GACHA GACHA yGACHA "GACHA GACHA GACHA GACHA GACHA `GACHA GACHA GACHA GACHA GACHA GACHA GACHA GACHA !GACHA GACHA GACHA GACHA =GACHA TGACHA GACHA GACHA GACHA GACHA GACHA GACHA lGACHA GACHA RGACHA GACHA SGACHA GACHA |GACHA GACHA uGACHA GACHA GACHA GACHA +GACHA GACHA GACHA %Sz7