(FILECREATED " 8-Sep-86 16:12:34" ("compiled on " {ERIS}LIBRARY>GIVE-AND-TAKE.;9) "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:11:51" {ERIS}LIBRARY>GIVE-AND-TAKE.;9 17359 changes to: ( FUNCTIONS TAKE-FILE) previous date: " 5-Aug-86 12:17:01" {ERIS}LIBRARY>GIVE-AND-TAKE.;8) (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 14Q FILENAME F 15Q RESETVARSLST F 16Q INSTALLEDVERSIONS F 17Q RESETY F 20Q STEAL) N hdih± W Y£h±6ggghgI ºgIHhhhWc¿H½Jgho ¼ML¿H_ ¾ON¿Hg k ²a _¿_¿HoOO ¿H ¿ioIOO ¿I ÁÉg'W´I W óio ¿¿¿i°xH ¿H ¿H_¿o _¿OO¿H ¦io°DW ²*ioIHg ¿H ¿H ¿W °o hðH ¿´ io ¿h»Hi¿Kci(475Q FORMAT 462Q CLOSEF 453Q TAKE-FILEA0001A0004 442Q TAKE-FILE 434Q DELFILE 431Q FULLNAME 423Q CLOSEF 415Q FORMAT 412Q GETFILEINFO 360Q STREAMP 341Q TAKE-FILEA0001A0003 325Q DELFILE 316Q CLOSEF 303Q FORMAT 272Q IDATE 263Q IDATE 260Q FILEDATE 240Q ROOTNAME 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) (407Q AUTHOR 247Q FILEDATES 141Q VERSION 100Q OUTPUT 52Q TAKE-FILEA0001A0002 41Q BODY 35Q VERSION 32Q STATUS 27Q EXTENSION) ( 472Q "Bad situation: Only an illegal status file exists.~%%Try again in a moment or try to fix the problem.~%%" 450Q (TAKE-FILEA0001A0004) 401Q "Stealing ~A from ~A.~%%" 366Q "Bad situation: Illegal versions of the status file exist.~&Try again in a moment or try to fix the problem.~%%" 336Q (TAKE-FILEA0001A0003) 300Q "Warning: File contains newer version than the one you have loaded.~%%" 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