(FILECREATED "17-Sep-86 16:13:29" ("compiled on " {ERIS}LIBRARY>GIVE-AND-TAKE.;11) "16-Sep-86 11:57:30" in "Xerox Lisp 16-Sep-86 ..." dated "16-Sep-86 12:29:41") (FILECREATED "17-Sep-86 16:12:46" {ERIS}LIBRARY>GIVE-AND-TAKE.;11 17460 changes to: ( FUNCTIONS TAKE-FILE) previous date: " 8-Sep-86 16:41:16" {ERIS}LIBRARY>GIVE-AND-TAKE.;10) (RPAQQ GIVE-AND-TAKECOMS ((FNS GIVE TAKE STEAL GIVE-OR-TAKE-FIND ADD-DEFAULT-REGISTRY) (FUNCTIONS GIVE-FILE TAKE-FILE TAKEN?) (INITVARS (*GIVE-AND-TAKE-DIRECTORIES* (QUOTE ({ERIS}SOURCES> {ERIS}LIBRARY>)))) (GLOBALVARS *GIVE-AND-TAKE-DIRECTORIES*) (LISPXMACROS GIVE? TAKEN?) (PROP FILETYPE GIVE-AND-TAKE) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA STEAL TAKE GIVE) (NLAML) (LAMA))))) GIVE D1 (P 2 FILE P 0 SCORE I 0 FILES) (i@ IµH£Iºh„IºI¹J ´°é¸°æ(37Q GIVE-FILE 7 NLAMBDA.ARGS) NIL () TAKE D1 (P 2 FILE P 0 SCORE I 0 FILES) (i@ IµH£Iºh„IºI¹J ´°é¸°æ(37Q TAKE-FILE 7 NLAMBDA.ARGS) NIL () STEAL D1 (P 2 FILE P 0 SCORE I 0 FILES) )i@ IµH£Iºh„IºI¹Ji ´°è¸°å(40Q TAKE-FILE 7 NLAMBDA.ARGS) NIL () GIVE-OR-TAKE-FIND D1 (P 0 NAME I 0 FILENAME) @i` Hµ io@ h(26Q FORMAT 7 FINDFILE) (4 *GIVE-AND-TAKE-DIRECTORIES*) ( 22Q "~A does not exist and so cannot be taken or given.~%%") ADD-DEFAULT-REGISTRY D1 (I 0 NAME F 0 DEFAULTREGISTRY) o@ ¡P¡@@oP (25Q CONCAT 7 STRPOS) NIL ( 21Q "." 3 ".") GIVE-FILEA0001 D1 (NAME ERRORSET F 0 NAME) !gggkgP gho h(34Q OPENSTREAM 21Q PACKFILENAME.STRING) (24Q INPUT 14Q BODY 10Q VERSION 5 STATUS 2 EXTENSION) ( 31Q (DON'TCACHE)) GIVE-FILE D1 (L (0 FILENAME) P 0 NAME) _@ !H¡ho Yd «¿ioH h Z ²I ioH iioHJI I h(133Q CLOSEF 127Q FORMAT 123Q CL:READ 106Q FORMAT 75Q DELFILE 72Q CLOSEF 64Q STRING-EQUAL 61Q ADD-DEFAULT-REGISTRY 56Q USERNAME 52Q ADD-DEFAULT-REGISTRY 47Q CL:READ 42Q FORMAT 27Q STREAMP 21Q GIVE-FILEA0001 3 GIVE-OR-TAKE-FIND) NIL ( 115Q "Sorry, but you can't give what you haven't taken.~%%~A was taken by ~A on ~A.~%%" 102Q "~A is now unlocked.~%%" 36Q "Sorry, but you can't give what you haven't taken.~%%~A has not been taken by anyone, including you.~%%" 16Q (GIVE-FILEA0001)) TAKE-FILEA0001A0002 D1 (L (1 GROSS-LIST-HACK 0 NAME)) GA³@io@ Ad³d ²¿AA ¹HIA •A ¿A´A h(102Q DELFILE 66Q CLOSEF? 60Q STREAMP 45Q FULLNAME 31Q STREAMP 16Q FORMAT) NIL ( 12Q "Interrupted during processing of ~A. Take aborted.~%%") TAKE-FILEA0001A0003 D1 (NAME ERRORSET F 0 GROSS-LIST-HACK) gkgP gho h(27Q OPENSTREAM 14Q PACKFILENAME.STRING) (17Q INPUT 6 BODY 2 VERSION) ( 24Q (DON'TCACHE)) TAKE-FILEA0001A0004 D1 (NAME ERRORSET L (0 NIL) F 2 GROSS-LIST-HACK F 3 NAME) R R ioSHI h(30Q FORMAT 11Q CL:READ 4 CL:READ) NIL ( 21Q "Sorry, but ~A was already taken by ~A on ~A.~%%") TAKE-FILEA0001 D1 (NAME ERRORSET P 1 NAME P 0 GROSS-LIST-HACK F 16Q FILENAME F 17Q RESETVARSLST F 20Q STEAL F 21Q RESETY) ThdihÑ W Y£h±SOURCES> {ERIS}LIBRARY>))) (ADDTOVAR LISPXMACROS (GIVE? (TAKEN? :GIVE? T)) (TAKEN? (APPLY (FUNCTION TAKEN?) LISPXLINE))) (PUTPROPS GIVE-AND-TAKE FILETYPE COMPILE-FILE) (PUTPROPS GIVE-AND-TAKE COPYRIGHT ("Xerox Corporation" 1986)) NIL