(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) (filecreated "30-Mar-87 14:01:46" ("compiled on " {eris}internal>library>give-and-take.\;8) "25-Mar-87 12:30:51" "COMPILE-FILEd" |in| "Xerox Lisp 25-Mar-87 ..." |dated| "25-Mar-87 12:58:17") (filecreated " 5-Dec-86 05:44:27" {eris}internal>library>give-and-take.\;8 16094 |changes| |to:| (variables *give-and-take-directories*) (functions give-file take-file) |previous| |date:| "21-Nov-86 17:41:52" {eris}internal>library>give-and-take.\;7) (rpaqq give-and-takecoms ((commands "give?" "taken?" "give" "take" "steal") (functions give-or-take-find add-default-registry send-steal-message give-file take-file taken?) (variables *give-and-take-directories*) (prop filetype give-and-take))) |exec-give?| :d4 (l (1 $$macro-env 0 $$macro-form)) gi (6 taken?) (2 :give?) () (set-documentation "give?" (quote commands) nil) (puthash "give?" (quote (nil |exec-give?| :eval)) *exec-command-table*) |exec-taken?| :d4 (l (1 $$macro-env 0 $$macro-form)) ,@!g jHdnJkZhl4 JI(35 \\lisperror 10 cl:symbol-function) (7 taken?) () (set-documentation "taken?" (quote commands) nil) (puthash "taken?" (quote ((&rest args) |exec-taken?| :eval)) *exec-command-table*) |exec-give| :d4 (l (1 $$macro-env 0 $$macro-form)) @Hi hHX(14 give-file) nil () (set-documentation "give" (quote commands) nil) (puthash "give" (quote ((&rest files) |exec-give| :eval)) *exec-command-table*) |exec-take| :d4 (l (1 $$macro-env 0 $$macro-form)) @Hi hHX(14 take-file) nil () (set-documentation "take" (quote commands) nil) (puthash "take" (quote ((&rest files) |exec-take| :eval)) *exec-command-table*) |exec-steal| :d4 (l (1 $$macro-env 0 $$macro-form)) @Hii hHX(15 take-file) nil () (set-documentation "steal" (quote commands) nil) (puthash "steal" (quote ((&rest files) |exec-steal| :eval)) *exec-command-table*) give-or-take-find :d4 (l (0 filename)) @i` io@ h(18 cl:format 7 findfile) (4 *give-and-take-directories*) ( 14 "~A does not exist and so cannot be taken or given.~%") add-default-registry :d4 (l (0 name) f 0 defaultregistry) o@ P@@oP (21 concat 7 strpos) nil ( 17 "." 3 ".") send-steal-message :d4 (l (2 file 1 author 0 thief)) hoA@B  (17 lafite.sendmessage 14 mkstring 11 cl:format) nil ( 4 "Subject: File stolen To: ~A ~A just stole the file ~A from you. The STEAL command") give-filea0001 :d4 (p 1 si::*catch-return-from* p 0 si::*dummy-for-catch* f 2 name f 3 si::nlsetq-value) +i@gggkgR gho hcg(33 openstream 22 packfilename.string) (40 :normal 25 input 17 body 13 version 10 status 7 extension) ( 30 (don\'tcache)) give-file :d4 (l (0 filename) p 6 *condition-handler-bindings* p 5 si::*nlsetqflag* p 4 *proceed-cases* p 3 si::nlsetq-value p 0 name f 7 *proceed-cases* f 8 *condition-handler-bindings*) y@ !Hh`WioWL gKYd ioH h Z I ioH iioHJI I h(117 closef 113 cl:format 109 cl:read 96 cl:format 87 delfile 84 closef 78 cl::simple-string-equal 75 add-default-registry 72 username 68 add-default-registry 65 cl:read 60 cl:format 49 streamp 34 give-filea0001 3 give-or-take-find) (38 :normal 16 si::nlsetq-proceed-case) ( 103 "Sorry, but you can't give what you haven't taken.~%~A was taken by ~A on ~A.~%" 92 "~A is now unlocked.~%" 56 "Sorry, but you can't give what you haven't taken.~%~A has not been taken by anyone, including you.~%" 24 (cl:error . si::nlsetqhandler)) (set-documentation (quote give-file) (quote cl:function) "Find the file named and look for a STATUS file associated with it. If found and this user wrote it, then remove it, thus unlocking the file." ) take-filea0001a0002 :d4 (l (1 gross-list-hack 0 name)) GA@io@ Add AA HIA A AA h(66 delfile 54 closef? 48 streamp 37 fullname 25 streamp 14 cl:format) nil ( 10 "Interrupted during processing of ~A. Take aborted.~%") take-filea0001a0003 :d4 (p 1 si::*catch-return-from* p 0 si::*dummy-for-catch* f 2 gross-list-hack f 3 si::nlsetq-value) &i@gkgR gho hcg(28 openstream 17 packfilename.string) (35 :normal 20 input 11 body 7 version) ( 25 (don\'tcache)) take-filea0001a0004 :d4 (p 1 si::*catch-return-from* p 0 si::*dummy-for-catch* f 4 gross-list-hack f 5 name f 6 si::nlsetq-value) ;i@"T T Z ioUK ioUJK hc g(49 cl:format 36 cl:format 25 cl::simple-string-equal 22 add-default-registry 19 username 14 cl:read 9 cl:read) (56 :normal) ( 42 "Sorry, but ~A was already taken by ~A on ~A.~%" 31 "You've already had ~A taken, since ~A.") take-filea0001 :d4 (name si::*unwind-protect* p 17 *condition-handler-bindings* p 16 si::*nlsetqflag* p 15 *proceed-cases* p 14 si::nlsetq-value p 1 name p 0 gross-list-hack i 0 si::*cleanup-forms* f 18 filename f 19 si::*resetforms* f 20 *proceed-cases* f 21 *condition-handler-bindings* f 22 steal) hdih W$ YhggghgI ZgIHhhdW&c&HJgho MLH_ ONHg kg __HoOO H ioIOO I _g'!IOg'_ ioIO iH H H_`W(ioW*O gO_OOH ioW,XioIHg gghdi hgHg hgIhh H H W$h 9`W(ioW*O gOhH io hHiK(422 cl:format 411 closef 394 take-filea0001a0004 367 take-file 360 delfile 357 fullname 351 closef 345 add.process 327 getfileinfo 313 username 300 cl:format 297 getfileinfo 270 streamp 245 take-filea0001a0003 215 delfile 208 closef 198 cl:format 186 cl::simple-string-equal 156 rootfilename 151 cl:format 136 closef 130 cl:format 111 date 108 add-default-registry 105 username 98 filenamefield 82 fullname 70 openstream 36 packfilename.string 14 give-or-take-find) (398 :normal 375 si::nlsetq-proceed-case 333 quote 324 author 319 quote 307 quote 304 send-steal-message 294 author 249 :normal 226 si::nlsetq-proceed-case 178 filedates 165 file 95 version 62 output 40 take-filea0001a0002 31 body 27 version 24 status 21 extension) ( 419 "Bad situation: Only an illegal status file exists.~%Try again in a moment or try to fix the problem.~%" 383 (cl:error . si::nlsetqhandler) 288 "Stealing ~A (and sending ~A a message about it).~%" 276 "Bad situation: Illegal versions of the status file exist.~&Try again in a moment or try to fix the problem.~%" 234 (cl:error . si::nlsetqhandler) 192 "Warning: File ~A is different from loaded file ~A~%" 142 "~A is now locked by ~A at ~A.~%" 123 "~S ~S~%" 67 (don\'tcache)) take-file :d4 (p 1 si::*resetforms* p 0 lispxhist i 1 steal i 0 filename f 2 lispxhist) Rg  (19 cl:values-list 15 si::resetunwind 12 \\mvlist 9 take-filea0001) (6 si::resetunwind) () taken?a0001 :d4 (name si::*unwind-protect* i 0 si::*cleanup-forms* f 4 dir f 5 author f 6 give?) gTgogo oo 1H YhHg UUJkhih` Ki oi Ti i iIg i lhi Hg i l(hi Ji Vi hdohi gyghghgI  b(192 give-file 189 packfilename.string 165 askuser 150 terpri 143 prin1 137 tab 129 prin1 125 \\generatefileinfo 117 tab 109 prin1 105 filenamefield 95 terpri 90 prin1 84 prin1 75 terpri 66 strpos 50 \\generatefileinfo 39 \\generatenextfile 32 \\generatefiles 21 packfilename.string) (184 body 180 version 176 extension 168 y 122 creationdate 102 name 62 uppercasearray 47 author 13 extension 6 name 2 directory) ( 159 " Give? " 80 " " 29 (resetlst) 25 (author creationdate) 17 "STATUS" 10 "*") taken? :d4 (l (0 |-args-|) p 9 si::*resetforms* p 8 lispxhist p 7 dir p 6 give? p 3 author f 10 lispxhist) eHkJdI7h1HkMdL:hKGoK VKkoK k DagJkaJlZagMkaMl]o Ko Ko hoi Koi i `dW g  h(190 cl:values-list 186 si::resetunwind 183 \\mvlist 180 taken?a0001 159 terpri 154 prin1 142 prin1 131 cl::simple-string-equal 122 cl::simple-string-equal 112 cl::simple-string-equal 65 substring 60 strpos 48 strpos 39 username) (177 si::resetunwind 162 *give-and-take-directories* 90 :give? 71 :by) ( 150 "any" 138 "Looking for files taken by " 128 "*" 119 "ALL" 109 "ANY" 56 "." 44 ".") (cl:proclaim (quote (global *give-and-take-directories*))) (or (boundp (quote *give-and-take-directories*)) (setq *give-and-take-directories* (quote ( "{ERIS}SOURCES>" "{ERIS}LIBRARY>" "{ERIS}INTERNAL>LIBRARY>" "{ERIS}LISPCORE>" "{ERIS}CML>TEST>")))) (putprops give-and-take filetype cl:compile-file) (putprops give-and-take copyright ("Xerox Corporation" 1986)) nil