(FILECREATED " 8-Sep-86 16:42:02" ("compiled on " {ERIS}LIBRARY>GIVE-AND-TAKE.;10) "29-Aug-86 22:21:56" "COMPILE-FILEd" in "Xerox Lisp 29-Aug-86 ..." dated "29-Aug-86 22:55:03") (FILECREATED " 8-Sep-86 16:41:16" {ERIS}LIBRARY>GIVE-AND-TAKE.;10 17320 changes to: ( FUNCTIONS TAKE-FILE) previous date: " 8-Sep-86 16:11:51" {ERIS}LIBRARY>GIVE-AND-TAKE.;9) (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 15Q FILENAME F 16Q RESETVARSLST F 17Q STEAL F 20Q RESETY) H hdihÁ W Y£h±0ggghgI ºgIHhhhWc¿H½Jgho ¼ML¿H_ ¾ON¿Hg k ²[ _¿_¿HoOO ¿H ¿ioIOO ¿I ÁÉg'_¿IO «ioIO ¿i°xH ¿H ¿H_¿o _¿OO¿H ¦io°DW²*ioIHg ¿H ¿H ¿W °o hðH ¿´ io ¿h»Hi¿Kc i(467Q FORMAT 454Q CLOSEF 445Q TAKE-FILEA0001A0004 434Q TAKE-FILE 426Q DELFILE 423Q FULLNAME 415Q CLOSEF 407Q FORMAT 404Q GETFILEINFO 352Q STREAMP 333Q TAKE-FILEA0001A0003 317Q DELFILE 310Q CLOSEF 277Q FORMAT 263Q STRING-EQUAL 240Q ROOTFILENAME 233Q FORMAT 214Q CLOSEF 206Q FORMAT 163Q DATE 160Q ADD-DEFAULT-REGISTRY 155Q USERNAME 150Q %%= 144Q FILENAMEFIELD 124Q FULLNAME 110Q OPENSTREAM 46Q PACKFILENAME.STRING 16Q GIVE-OR-TAKE-FIND) (401Q AUTHOR 247Q FILEDATES 141Q VERSION 100Q OUTPUT 52Q TAKE-FILEA0001A0002 41Q BODY 35Q VERSION 32Q STATUS 27Q EXTENSION) ( 464Q "Bad situation: Only an illegal status file exists.~%%Try again in a moment or try to fix the problem.~%%" 442Q (TAKE-FILEA0001A0004) 373Q "Stealing ~A from ~A.~%%" 360Q "Bad situation: Illegal versions of the status file exist.~&Try again in a moment or try to fix the problem.~%%" 330Q (TAKE-FILEA0001A0003) 271Q "Warning: File ~A is different from loaded file ~A~%%" 222Q "~A is now locked by ~A at ~A.~%%" 177Q "~S ~S~%%" 105Q (DON'TCACHE)) TAKE-FILE D1 (P 1 RESETY P 0 LISPXHIST I 1 STEAL I 0 FILENAME F 3 LISPXHIST F 4 RESETVARSLST) "S!Tog ‘h‚gZ J“I(35Q ERROR! 30Q RESETRESTORE 16Q TAKE-FILEA0001) (24Q ERROR 13Q INTERNAL) ( 10Q (TAKE-FILEA0001)) TAKEN?A0001 D1 (NAME ERRORSET L (0 NIL) F 4 DIR F 5 AUTHOR F 6 RESETY F 7 GIVE?) ËgTgogo oo 1H Y¥hc iHg ºUžUJkhih` ²ÝK³i ¿oi ¿Ti ¿i ¿i»Ig i ¿lhi ¿Hg i ¿l(hi ¿Ji ¿W¦i ¿°‡hdohi gð¢±ÿtghghgI  ¿±ÿ](305Q GIVE-FILE 302Q PACKFILENAME.STRING 252Q ASKUSER 233Q TERPRI 223Q PRIN1 215Q TAB 205Q PRIN1 201Q \GENERATEFILEINFO 171Q TAB 161Q PRIN1 155Q FILENAMEFIELD 143Q TERPRI 136Q PRIN1 130Q PRIN1 117Q TERPRI 106Q STRPOS 66Q \GENERATEFILEINFO 47Q \GENERATENEXTFILE 40Q \GENERATEFILES 25Q PACKFILENAME.STRING) (275Q BODY 271Q VERSION 265Q EXTENSION 255Q Y 176Q CREATIONDATE 152Q NAME 102Q UPPERCASEARRAY 63Q AUTHOR 15Q EXTENSION 6 NAME 2 DIRECTORY) ( 244Q " Give? " 124Q " " 35Q (RESETLST) 31Q (AUTHOR CREATIONDATE) 21Q "STATUS" 12Q "*") TAKEN? D1 (L (0 -args-) P 11Q RESETY P 10Q LISPXHIST P 7 DIR P 6 GIVE? P 3 AUTHOR F 13Q LISPXHIST F 14Q RESETVARSLST) × eHkJdIó²7¿h1Hk½¼MdLó²:¿h¾KµG»oK ²VKkoK kÙ °Dagð•JkØa°ÃJlÔZ°µagð•MkØa°ÀMlÔ]°²o ³Ko ¨Ko ‘h»oi ¿Kµoi ¿i `°.dW! Wog ‘h‚g_ ¿O“¿µÓh(314Q ERROR! 305Q RESETRESTORE 272Q TAKEN?A0001 237Q TERPRI 232Q PRIN1 216Q PRIN1 203Q STRING-EQUAL 172Q STRING-EQUAL 160Q STRING-EQUAL 101Q SUBSTRING 74Q STRPOS 60Q STRPOS 47Q USERNAME) (300Q ERROR 267Q INTERNAL 242Q *GIVE-AND-TAKE-DIRECTORIES* 132Q :GIVE? 107Q :BY) ( 264Q (TAKEN?A0001) 226Q "any" 212Q "Looking for files taken by " 200Q "*" 167Q "ALL" 155Q "ANY" 70Q "." 54Q ".") (RPAQ? *GIVE-AND-TAKE-DIRECTORIES* (QUOTE ({ERIS}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)) STOP