From fa97aa61575f3ba0876b9ad6aadebf2892a0cb15 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Tue, 17 Dec 2024 21:08:20 -0800 Subject: [PATCH] FILEIO: stream records detected EOL, also RENAMEFILE uses COPYBYTES UFS doesn't check file devices identity, doesn't give type-change message. Recompiled for create stream --- sources/FILEIO | 177 ++++++++++++++++++++++++-------------------- sources/FILEIO.LCOM | Bin 45183 -> 45813 bytes sources/UFS | 85 +++++++++++++-------- sources/UFS.LCOM | Bin 36725 -> 36543 bytes 4 files changed, 153 insertions(+), 109 deletions(-) diff --git a/sources/FILEIO b/sources/FILEIO index d3b5f0ed..e507e773 100644 --- a/sources/FILEIO +++ b/sources/FILEIO @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "17-Dec-2024 16:07:42" {MEDLEY}FILEIO.;2 165071 +(FILECREATED "17-Dec-2024 16:36:44" {WMEDLEY}FILEIO.;136 165961 :EDIT-BY rmk :CHANGES-TO (RECORDS STREAM) - :PREVIOUS-DATE "15-Jul-2024 22:29:54" {MEDLEY}FILEIO.;1) + :PREVIOUS-DATE "17-Dec-2024 15:11:51" {WMEDLEY}FILEIO.;135) (PRETTYCOMPRINT FILEIOCOMS) @@ -150,10 +150,9 @@ '(WORD WORD FLAG (BITS 3) POINTER BYTE BYTE WORD WORD WORD FLAG FLAG FLAG FLAG POINTER FLAG FLAG FLAG FLAG POINTER FLAG (BITS 2) - FLAG POINTER POINTER POINTER WORD WORD (BITS 2) - POINTER POINTER POINTER POINTER POINTER WORD WORD WORD WORD POINTER POINTER POINTER - POINTER POINTER POINTER POINTER POINTER POINTER WORD WORD POINTER POINTER POINTER - POINTER POINTER) + FLAG POINTER POINTER POINTER WORD WORD POINTER POINTER POINTER POINTER POINTER WORD + WORD WORD WORD POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER + WORD WORD POINTER POINTER POINTER POINTER POINTER (BITS 2)) '((STREAM 0 (BITS . 15)) (STREAM 1 (BITS . 15)) (STREAM 2 (FLAGBITS . 0)) @@ -182,7 +181,6 @@ (STREAM 16 POINTER) (STREAM 18 (BITS . 15)) (STREAM 19 (BITS . 15)) - (STREAM 16 (BITS . 1)) (STREAM 20 POINTER) (STREAM 22 POINTER) (STREAM 24 POINTER) @@ -207,7 +205,8 @@ (STREAM 56 POINTER) (STREAM 58 POINTER) (STREAM 60 POINTER) - (STREAM 62 POINTER)) + (STREAM 62 POINTER) + (STREAM 62 (BITS . 1))) '64) ) (ADDTOVAR SYSTEMRECLST @@ -240,7 +239,6 @@ (EPAGE POINTER) (EOFFSET WORD) (LINELENGTH WORD) - (DETECTEDEOLCONVENTION BITS 2) (F1 POINTER) (F2 POINTER) (F3 POINTER) @@ -265,7 +263,8 @@ (INCCODEFN POINTER) (PEEKCCODEFN POINTER) (BACKCCODEFN POINTER) - (EXTERNALFORMAT POINTER))) + (EXTERNALFORMAT POINTER) + (DETECTEDEOLCONVENTION BITS 2))) ) (DECLARE%: DONTCOPY (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE @@ -322,7 +321,6 @@ (EOFFSET WORD) (* ; "Page, byte offset of eof") (LINELENGTH WORD) (* ;  "LINELENGTH of stream, or -1 for no line length") - (DETECTEDEOLCONVENTION BITS 2) (* ; "For input files (particularly if read with ANY.EOLD, the byte convention used for the first EOL seen on the file. Value ANY.EOLC means EOL not seen yet") (* ;; "----Following are device-specific fields----") @@ -361,7 +359,9 @@ (INCCODEFN POINTER) (* ; "Set by \EXTERNALFORMAT") (PEEKCCODEFN POINTER) (BACKCCODEFN POINTER) - (EXTERNALFORMAT POINTER)) + (EXTERNALFORMAT POINTER) + (DETECTEDEOLCONVENTION BITS 2) (* ; "For input files (particularly if read with ANY.EOLD, the byte convention used for the first EOL seen on the file. Value ANY.EOLC means EOL not seen yet") + ) (BLOCKRECORD STREAM ((NIL 2 WORD) (UCODEFLAGS1 BITS 1) @@ -414,10 +414,9 @@ '(WORD WORD FLAG (BITS 3) POINTER BYTE BYTE WORD WORD WORD FLAG FLAG FLAG FLAG POINTER FLAG FLAG FLAG FLAG POINTER FLAG (BITS 2) - FLAG POINTER POINTER POINTER WORD WORD (BITS 2) - POINTER POINTER POINTER POINTER POINTER WORD WORD WORD WORD POINTER POINTER POINTER - POINTER POINTER POINTER POINTER POINTER POINTER WORD WORD POINTER POINTER POINTER - POINTER POINTER) + FLAG POINTER POINTER POINTER WORD WORD POINTER POINTER POINTER POINTER POINTER WORD + WORD WORD WORD POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER + WORD WORD POINTER POINTER POINTER POINTER POINTER (BITS 2)) '((STREAM 0 (BITS . 15)) (STREAM 1 (BITS . 15)) (STREAM 2 (FLAGBITS . 0)) @@ -446,7 +445,6 @@ (STREAM 16 POINTER) (STREAM 18 (BITS . 15)) (STREAM 19 (BITS . 15)) - (STREAM 16 (BITS . 1)) (STREAM 20 POINTER) (STREAM 22 POINTER) (STREAM 24 POINTER) @@ -471,7 +469,8 @@ (STREAM 56 POINTER) (STREAM 58 POINTER) (STREAM 60 POINTER) - (STREAM 62 POINTER)) + (STREAM 62 POINTER) + (STREAM 62 (BITS . 1))) '64) (DECLARE%: EVAL@COMPILE @@ -1512,12 +1511,22 @@ (FOR FN IN STREAM-AFTER-OPEN-FNS DO (APPLY* FN STREAM ACCESS PARAMETERS]) (\RENAMEFILE - [LAMBDA (OLDFILE NEWFILE) (* hdj " 7-May-86 12:22") + [LAMBDA (OLDFILE NEWFILE) (* ; "Edited 16-Dec-2024 21:07 by rmk") + (* hdj " 7-May-86 12:22") (SETQ OLDFILE (\ADD.CONNECTED.DIR OLDFILE)) (SETQ NEWFILE (\ADD.CONNECTED.DIR NEWFILE)) - (LET ((OLD-DEVICE (\GETDEVICEFROMNAME OLDFILE T)) - (NEW-DEVICE (\GETDEVICEFROMNAME NEWFILE T))) - (AND OLD-DEVICE (FDEVOP 'RENAMEFILE OLD-DEVICE OLD-DEVICE OLDFILE NEW-DEVICE NEWFILE]) + + (* ;; "\GETDEVICEFROMNAME errors if the devices don't exist") + + (LET ((OLD-DEVICE (TRUEDEVICE (\GETDEVICEFROMNAME OLDFILE NIL T))) + (NEW-DEVICE (TRUEDEVICE (\GETDEVICEFROMNAME NEWFILE NIL T))) + NEWFULLNAME) + (CL:WHEN (SETQ NEWFULLNAME (FDEVOP 'RENAMEFILE OLD-DEVICE OLD-DEVICE (TRUEFILENAME OLDFILE) + NEW-DEVICE + (TRUEFILENAME NEWFILE))) + (CL:IF (PSEUDOHOSTP NEWFILE) + (PSEUDOFILENAME NEWFULLNAME) + NEWFULLNAME))]) (\REVALIDATEFILE [LAMBDA (STREAM) (* bvm%: "30-DEC-81 17:45") @@ -2633,30 +2642,38 @@ update the map") (add OFF 1]) (\GENERIC.RENAMEFILE - [LAMBDA (OLDDEVICE OLDFILE NEWDEVICE NEWFILE) (* ; "Edited 2-Jul-90 16:03 by nm") - (if (NOT (FDEVOP 'OPENP OLDDEVICE (FULLNAME OLDFILE) - NIL OLDDEVICE)) - then (RESETLST - [RESETSAVE [SETQ OLDFILE (OPENSTREAM OLDFILE 'INPUT 'OLD '((SEQUENTIAL T) - DON'TCACHE] - '(AND RESETSTATE (CLOSEF? OLDVALUE] - [COND - ((SETQ NEWFILE (\COPYOPENFILE OLDFILE NEWFILE)) - (if (\DELETEFILE (CLOSEF OLDFILE)) - then NEWFILE - else (CONDITIONS:RESTART-CASE (CL:ERROR - ' - XCL::FS-RENAMEFILE-SOURCE-COULDNT-DELETE - :PATHNAME OLDFILE) - (DELETE-DESTINATION NIL :CONDITION - XCL::FS-RENAMEFILE-SOURCE-COULDNT-DELETE :REPORT - "Delete the destination file too." (DELFILE NEWFILE - ) - NIL) - (DONT-DELETE-DESTINATION NIL :CONDITION - XCL::FS-RENAMEFILE-SOURCE-COULDNT-DELETE :REPORT + [LAMBDA (OLDDEVICE OLDFILE NEWDEVICE NEWFILE) (* ; "Edited 16-Dec-2024 21:52 by rmk") + + (* ;; "Names and devices are true, not pseudo") + (* ; "Edited 2-Jul-90 16:03 by nm") + (CL:UNLESS (FDEVOP 'OPENP OLDDEVICE (FULLNAME OLDFILE) + NIL OLDDEVICE) (* ; "Can't rename an open file") + (RESETLST + [LET (INSTREAM OUTSTREAM) + [RESETSAVE [SETQ INSTREAM (OPENSTREAM OLDFILE 'INPUT 'OLD '((SEQUENTIAL T) + (DON'TCACHE T] + '(PROGN (CLOSEF? OLDVALUE] + [RESETSAVE [SETQ OUTSTREAM (OPENSTREAM NEWFILE 'OUTPUT 'NEW + `((SEQUENTIAL T) + (DON'TCACHE T) + (CREATIONDATE ,(GETFILEINFO OLDFILE + 'CREATIONDATE] + '(AND RESETSTATE (SETQ OLDVALUE (CLOSEF OLDVALUE)) + (DELFILE OLDVALUE] + (COPYBYTES INSTREAM OUTSTREAM) + (CLOSEF OUTSTREAM) + (if (\DELETEFILE (CLOSEF INSTREAM)) + then (FULLNAME OUTSTREAM) + else (CONDITIONS:RESTART-CASE (CL:ERROR 'XCL::FS-RENAMEFILE-SOURCE-COULDNT-DELETE + :PATHNAME OLDFILE) + (DELETE-DESTINATION NIL :CONDITION + XCL::FS-RENAMEFILE-SOURCE-COULDNT-DELETE :REPORT + "Delete the destination file too." (DELFILE NEWFILE) + NIL) + (DONT-DELETE-DESTINATION NIL :CONDITION + XCL::FS-RENAMEFILE-SOURCE-COULDNT-DELETE :REPORT "Don't delete the destination file. Just returns the destination filename." - NEWFILE])]) + NEWFILE]))]) (\GENERIC.OPENP [LAMBDA (FILENAME ACCESS DEVICE) (* hdj " 6-Oct-86 17:07") @@ -3143,39 +3160,39 @@ update the map") (ADDTOVAR LAMA \IS.NOT.RANDACCESSP \ILLEGAL.DEVICEOP STREAMPROP) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (28126 32242 (STREAMPROP 28136 . 28570) (GETSTREAMPROP 28572 . 29321) (PUTSTREAMPROP -29323 . 32090) (STREAMP 32092 . 32240)) (32285 35664 (\DEFPRINT.BY.NAME 32295 . 33447) ( -\STREAM.DEFPRINT 33449 . 35357) (\FDEV.DEFPRINT 35359 . 35662)) (35922 40963 (\GETACCESS 35932 . 36386 -) (\SETACCESS 36388 . 40961)) (61189 67158 (\DEFINEDEVICE 61199 . 63515) (\GETDEVICEFROMNAME 63517 . -63990) (\GETDEVICEFROMHOSTNAME 63992 . 65036) (\REMOVEDEVICE 65038 . 66161) (\REMOVEDEVICE.NAMES 66163 - . 67156)) (67198 93852 (\CLOSEFILE 67208 . 68033) (\DELETEFILE 68035 . 68329) (\DEVICEEVENT 68331 . -70101) (\GENERATEFILES 70103 . 71050) (\GENERATENEXTFILE 71052 . 71703) (\GENERATEFILEINFO 71705 . -72166) (\GETFILENAME 72168 . 72557) (\GENERIC.OUTFILEP 72559 . 73029) (\OPENFILE 73031 . 75609) ( -\DO.PARAMS.AT.OPEN 75611 . 79262) (\RENAMEFILE 79264 . 79688) (\REVALIDATEFILE 79690 . 82292) ( -\PAGED.REVALIDATEFILELST 82294 . 83852) (\PAGED.REVALIDATEFILES 83854 . 85573) (\PAGED.REVALIDATEFILE -85575 . 87858) (\BUFFERED.REVALIDATEFILE 87860 . 90146) (\BUFFERED.REVALIDATEFILELST 90148 . 91332) ( -\PRINT-REVALIDATION-RESULT 91334 . 92176) (\TRUNCATEFILE 92178 . 92569) (\FILE-CONFLICT 92571 . 93850) -) (93888 98551 (\GENERATENOFILES 93898 . 95994) (\NULLFILEGENERATOR 95996 . 96240) (\NOFILESNEXTFILEFN - 96242 . 98233) (\NOFILESINFOFN 98235 . 98549)) (98670 100578 (\FILE.NOT.OPEN 98680 . 99193) ( -\FILE.WONT.OPEN 99195 . 99523) (\ILLEGAL.DEVICEOP 99525 . 99807) (\IS.NOT.RANDACCESSP 99809 . 100255) -(\STREAM.NOT.OPEN 100257 . 100576)) (100713 103011 (\FDEVINSTANCE 100723 . 103009)) (104213 111587 ( -CNDIR 104223 . 105528) (DIRECTORYNAME 105530 . 109713) (DIRECTORYNAMEP 109715 . 110331) (HOSTNAMEP -110333 . 111140) (\ADD.CONNECTED.DIR 111142 . 111585)) (111632 139911 (\BACKFILEPTR 111642 . 111830) ( -\BACKPEEKBIN 111832 . 112193) (\BACKBIN 112195 . 112546) (BIN 112548 . 112765) (\BIN 112767 . 113044) -(\BINS 113046 . 113332) (BOUT 113334 . 113696) (\BOUT 113698 . 114013) (\BOUTS 114015 . 114326) ( -COPYBYTES 114328 . 117660) (COPYCHARS 117662 . 121328) (COPYFILE 121330 . 122394) (\COPYOPENFILE -122396 . 125595) (\INFER.FILE.TYPE 125597 . 126551) (EOFP 126553 . 126850) (FORCEOUTPUT 126852 . -127099) (\FLUSH.OPEN.STREAMS 127101 . 127457) (CHARSET 127459 . 128818) (ACCESS-CHARSET 128820 . -129348) (GETEOFPTR 129350 . 129600) (GETFILEINFO 129602 . 132795) (\TYPE.FROM.FILETYPE 132797 . 133267 -) (\FILETYPE.FROM.TYPE 133269 . 133448) (GETFILEPTR 133450 . 133702) (SETFILEINFO 133704 . 137810) ( -SETFILEPTR 137812 . 139531) (BOUT16 139533 . 139718) (BIN16 139720 . 139909)) (140014 146668 ( -\GENERIC.BINS 140024 . 140304) (\GENERIC.BOUTS 140306 . 140571) (\GENERIC.RENAMEFILE 140573 . 142404) -(\GENERIC.OPENP 142406 . 143721) (\GENERIC.READP 143723 . 144875) (\GENERIC.CHARSET 144877 . 146666)) -(146669 147008 (\MAP-OPEN-STREAMS 146679 . 147006)) (148863 150943 (\EOF.ACTION 148873 . 149124) ( -\EOSERROR 149126 . 149319) (\GETEOFPTR 149321 . 149503) (\INCFILEPTR 149505 . 149855) (\PEEKBIN 149857 - . 150048) (\SETCLOSEDFILELENGTH 150050 . 150384) (\SETEOFPTR 150386 . 150574) (\SETFILEPTR 150576 . -150941)) (150944 151486 (\FIXPOUT 150954 . 151254) (\FIXPIN 151256 . 151484)) (151487 152053 (\BOUTEOL - 151497 . 152051)) (154949 164813 (\BUFFERED.BIN 154959 . 155811) (\BUFFERED.PEEKBIN 155813 . 156595) -(\BUFFERED.BOUT 156597 . 157457) (\BUFFERED.BINS 157459 . 161144) (\BUFFERED.BOUTS 161146 . 162947) ( -\BUFFERED.COPYBYTES 162949 . 164811))))) + (FILEMAP (NIL (28114 32230 (STREAMPROP 28124 . 28558) (GETSTREAMPROP 28560 . 29309) (PUTSTREAMPROP +29311 . 32078) (STREAMP 32080 . 32228)) (32273 35652 (\DEFPRINT.BY.NAME 32283 . 33435) ( +\STREAM.DEFPRINT 33437 . 35345) (\FDEV.DEFPRINT 35347 . 35650)) (35910 40951 (\GETACCESS 35920 . 36374 +) (\SETACCESS 36376 . 40949)) (61177 67146 (\DEFINEDEVICE 61187 . 63503) (\GETDEVICEFROMNAME 63505 . +63978) (\GETDEVICEFROMHOSTNAME 63980 . 65024) (\REMOVEDEVICE 65026 . 66149) (\REMOVEDEVICE.NAMES 66151 + . 67144)) (67186 94325 (\CLOSEFILE 67196 . 68021) (\DELETEFILE 68023 . 68317) (\DEVICEEVENT 68319 . +70089) (\GENERATEFILES 70091 . 71038) (\GENERATENEXTFILE 71040 . 71691) (\GENERATEFILEINFO 71693 . +72154) (\GETFILENAME 72156 . 72545) (\GENERIC.OUTFILEP 72547 . 73017) (\OPENFILE 73019 . 75597) ( +\DO.PARAMS.AT.OPEN 75599 . 79250) (\RENAMEFILE 79252 . 80161) (\REVALIDATEFILE 80163 . 82765) ( +\PAGED.REVALIDATEFILELST 82767 . 84325) (\PAGED.REVALIDATEFILES 84327 . 86046) (\PAGED.REVALIDATEFILE +86048 . 88331) (\BUFFERED.REVALIDATEFILE 88333 . 90619) (\BUFFERED.REVALIDATEFILELST 90621 . 91805) ( +\PRINT-REVALIDATION-RESULT 91807 . 92649) (\TRUNCATEFILE 92651 . 93042) (\FILE-CONFLICT 93044 . 94323) +) (94361 99024 (\GENERATENOFILES 94371 . 96467) (\NULLFILEGENERATOR 96469 . 96713) (\NOFILESNEXTFILEFN + 96715 . 98706) (\NOFILESINFOFN 98708 . 99022)) (99143 101051 (\FILE.NOT.OPEN 99153 . 99666) ( +\FILE.WONT.OPEN 99668 . 99996) (\ILLEGAL.DEVICEOP 99998 . 100280) (\IS.NOT.RANDACCESSP 100282 . 100728 +) (\STREAM.NOT.OPEN 100730 . 101049)) (101186 103484 (\FDEVINSTANCE 101196 . 103482)) (104686 112060 ( +CNDIR 104696 . 106001) (DIRECTORYNAME 106003 . 110186) (DIRECTORYNAMEP 110188 . 110804) (HOSTNAMEP +110806 . 111613) (\ADD.CONNECTED.DIR 111615 . 112058)) (112105 140384 (\BACKFILEPTR 112115 . 112303) ( +\BACKPEEKBIN 112305 . 112666) (\BACKBIN 112668 . 113019) (BIN 113021 . 113238) (\BIN 113240 . 113517) +(\BINS 113519 . 113805) (BOUT 113807 . 114169) (\BOUT 114171 . 114486) (\BOUTS 114488 . 114799) ( +COPYBYTES 114801 . 118133) (COPYCHARS 118135 . 121801) (COPYFILE 121803 . 122867) (\COPYOPENFILE +122869 . 126068) (\INFER.FILE.TYPE 126070 . 127024) (EOFP 127026 . 127323) (FORCEOUTPUT 127325 . +127572) (\FLUSH.OPEN.STREAMS 127574 . 127930) (CHARSET 127932 . 129291) (ACCESS-CHARSET 129293 . +129821) (GETEOFPTR 129823 . 130073) (GETFILEINFO 130075 . 133268) (\TYPE.FROM.FILETYPE 133270 . 133740 +) (\FILETYPE.FROM.TYPE 133742 . 133921) (GETFILEPTR 133923 . 134175) (SETFILEINFO 134177 . 138283) ( +SETFILEPTR 138285 . 140004) (BOUT16 140006 . 140191) (BIN16 140193 . 140382)) (140487 147558 ( +\GENERIC.BINS 140497 . 140777) (\GENERIC.BOUTS 140779 . 141044) (\GENERIC.RENAMEFILE 141046 . 143294) +(\GENERIC.OPENP 143296 . 144611) (\GENERIC.READP 144613 . 145765) (\GENERIC.CHARSET 145767 . 147556)) +(147559 147898 (\MAP-OPEN-STREAMS 147569 . 147896)) (149753 151833 (\EOF.ACTION 149763 . 150014) ( +\EOSERROR 150016 . 150209) (\GETEOFPTR 150211 . 150393) (\INCFILEPTR 150395 . 150745) (\PEEKBIN 150747 + . 150938) (\SETCLOSEDFILELENGTH 150940 . 151274) (\SETEOFPTR 151276 . 151464) (\SETFILEPTR 151466 . +151831)) (151834 152376 (\FIXPOUT 151844 . 152144) (\FIXPIN 152146 . 152374)) (152377 152943 (\BOUTEOL + 152387 . 152941)) (155839 165703 (\BUFFERED.BIN 155849 . 156701) (\BUFFERED.PEEKBIN 156703 . 157485) +(\BUFFERED.BOUT 157487 . 158347) (\BUFFERED.BINS 158349 . 162034) (\BUFFERED.BOUTS 162036 . 163837) ( +\BUFFERED.COPYBYTES 163839 . 165701))))) STOP diff --git a/sources/FILEIO.LCOM b/sources/FILEIO.LCOM index b36bfe98804f19e7b5b16b5771ffd185af375baa..ccd81a7760fd0ccb57c91b045a90d01a24206823 100644 GIT binary patch delta 2718 zcmZuz-EZ8+5f|?qeK4siwf>MVjWQwJ<}R_++a-A<@1YfSx75+1Nao0stW*KwN=mFm z*2%W~5wxiOg2GM~4FVLl)3gtLG8A9XhXjQJ6eyg&_PIb%pnYuhl9vEYJG;D-PeKKO zw==slyF2sy&Fp`_%zgEb+}$_M8njBO21RYPePw%NbA1ikTcE+umfrov#A`&alt9&p zHC10C^BJHle~#WmPK1FsbX(7$eadRl|EOFQWB|JdugR(iKFIigpp zhSA+^1a|{cF`Wwcl^>ny-_xuTQZ-3;VV>wF|AX>Z{$4KS2frES_D2)EoFC_(=2X-b zhl{g*ngA_z8u`z1qqGcht%Jth}^q5erokIo-iqGnDOM_-<@2&~kZ7dP?B z)3eLdp}W8^tQDw5Va-kPrpDpW;15S9c6A5vjD9!=j@6wisYRkw@ak+42sOpL2pA!x zt1BBlom1|OEWJ1C8K4{7njoH%oonltu4o7!r(Yr{&7#6K4z(HnDrL}Wo9*lCYZ~Bz zHFtY^eGA8!6U~n_(9vmhV`uxu4*Ik^{b4HRt);)J#8k>>|Y2G&M!NlhcVn4~dO zEJ&Lzb~umsI3gQF${1I_#sC4oGRM+P@|w|t^hxdhHB{%nE4qr=`Df93M){OanpdC7 zvVF(AaL(2NfsM&V^64OwPB7w_h(^>3>LI3^+WbG}?Zn2(XdzCQ{IDJ^;hN(LvkY|> zu$0vS`31Fx8_tO_6>j@2NiWU(kCko3;?q_+XXu^REwl37zYPrxJl0H*b%(?!76pc|^0J#mF%}uTA!7YpVk(|Coi4z0LI4Ba# zi+ua$$&HJb3x%|>IxJN!iD>zeviwMKQGO--(E$Go&j>0kcdZ+~obqL*YRIqryq{^t z#>aB};my^VrP0E;lAo7z-|2GkSNj*v4Ju>G+FJ)7?6>69<*~O9KFPPR;8E-*SQX@* zsA2H<*7JEv9e(FlAx~@~es>9VK(zm?(NHSdkEkQkh!AWkL6k60Hjm!0j0Gl&mnDJ$ zJBWaDx5rpEASZ;eA9@jHzi$$AMlomAP;e^%iknrRldavYrT!wD@7Qqf>!uf(NXnSOSPccyPOL-bQ71e#Bt)m`8$K>Ukul!|&dHephtS zu0zA_cWCI{GCEbq?flS{lqEVYk{cjDYuHPLw(h1(G>jv%Nd=$)N!eux!2lqku~zsY zGDg6b5-hu4-;Qz>htI$B{U3;@MLh~%Olxkf!5}SxX+bezue3zPz(An}i`)-ay(txt zQN?3(M~zE>#)$m6u=C+NFQ3bM1o*%174T6seBVF46gBJkj`GOSSJj*M=TAR*WkqR2 wG^Hp`K;@6`zj6|aft#eYT2yDy^`P>p2OWfdlkQiUVb7yzkQkjRj=bn4cJ@?%6 zedqrB7kB?p?!p`0f|`>>9uoZ6^y$jPWO*E>r+|mE^kTSsK}@13r}E{olqiTYh(b=1 zazciW!Lgb0sz-UgGIQqX9868mo|u?A4imUTVc4=@y>DM%9}nY4XEDM<_9QZ&j3o-D zW$3P<`9>aiqFy}Q+FUw^?Vx-_i8ZVwfnJPs(fLTBGX|3Ue;4{&q|_CYAF?8+>2uKo^wVfdSi(&@=@-$# z?XlHZX|b_cwY&M3&5;Y?P>AcNf49E4d!_kC$8vExgkS$k^CN7$o?eOl$b=hwVUcf5f!&&Inp>RLBbC4a;DlC6WMoQL_h`OxU(-o^(;Ighkqs z5jZJRH8M)N3dScQy2v zmQS6psV`OUO|^u(?r8Pt(!J`M_$A#{>E~pXzFz6#Wf4YA%Q6Nvt50(WLBev5TBcVr zT-R|y5(Rc;O%jpmle@MrNP-Fh7nn)P)`pBaI>f9DqaG&h6iU7eqMCkiio324BMJ(; z7#BV8k}@!Ayo9%JYgWN=hZr^m)U9(sq{&2t19BLe1RTx27qrhGS1H*-a;d+Q1X;qDQFc2z*nwe8VBxPV@zQ~(;>RFW@ zn0a-lB;h5fk}8voC?O%R*R4+J{h2E}TNBu^0v5I=KtZssE+<>7x6b^^VbMhT;aflT z5ZHsj(+wk!)bC2#j| zM8P3Gfi)kkkub2uexqBCXB0q2AnH!(FoQ_2Bq{-1YQ;gAk&FyEo1xIcDyAV9z+KaQ z^N^7$*gz0NIoBvTE}|5hDjtD;Jr_B`8fy+A$M7sb&chC%`^X@I0rHORr)tN+!ShX9 z3$RKMUAX{z4DTBwWl>cRl$BVVgDh1MGN=y%Azs(wsA|3IJP<)elUe{w6Om5@q;F~1 z4?4F(X!NYJS&)Fw)3&qm49reX_u*rX$4VqTs;-8XK(Kdd1SwiUGG6Y*56!66bQuD9@4_~W@s@WMEaojwc<1yDv z>7AB;@Uy>R9c$n>$;OSpuPkB;F|r+I-d=6YiyoOCS$ba0$briggs>Projects>medley>sources>UFS.;2 78813 +(FILECREATED "16-Dec-2024 21:08:40" {WMEDLEY}UFS.;37 79491 - :EDIT-BY "briggs" + :EDIT-BY rmk - :CHANGES-TO (FNS \UFSCloseFile) + :CHANGES-TO (FNS \UFSRenameFile) - :PREVIOUS-DATE "29-Mar-2022 11:29:33" {DSK}briggs>Projects>medley>sources>UFS.;1) + :PREVIOUS-DATE "10-Dec-2024 14:53:34" {WMEDLEY}UFS.;36) (PRETTYCOMPRINT UFSCOMS) @@ -89,8 +89,6 @@ (HTML . TEXT) (HTM . TEXT) (TEX . TEXT) - (PS . TEXT) - (PDF . TEXT) (DCOM . BINARY) (SKETCH . BINARY) (TEDIT . BINARY) @@ -332,8 +330,39 @@ ) (\UFSRenameFile -(LAMBDA (OLD-DEVICE OLD-NAME NEW-DEVICE NEW-NAME) (* ; "Edited 16-Apr-90 13:46 by nm") (if (NEQ OLD-DEVICE NEW-DEVICE) then (* ;; "Call the generic rename function. ") (LET ((FILE (\GENERIC.RENAMEFILE OLD-DEVICE OLD-NAME NEW-DEVICE NEW-NAME))) (COND ((AND FILE (EQ \MACHINETYPE \MAIKO) FileTypeConfirmFlg) (* ; "print warnig message") (\UFStoOtherRenameMess OLD-DEVICE OLD-NAME NEW-DEVICE NEW-NAME))) FILE) else (* ;; "UNIX file system rename.") (LET ((OLDUNIXNAME (\UFS.RECOGNIZE.FILE OLD-NAME (QUOTE OLD) OLD-DEVICE))) (if (AND OLDUNIXNAME (NOT (\UFS.OPENP OLDUNIXNAME OLD-DEVICE))) then (* ; "Old file is found and not open, so proceed") (LET ((NEWUNIXNAME (\UFS.RECOGNIZE.FILE NEW-NAME (QUOTE NEW) NEW-DEVICE)) (ERRNO (CREATECELL \FIXP))) (COND ((\UFSRenameFile-C (\UFS.REMOVE.HOST.FIELD OLDUNIXNAME OLD-DEVICE) (\UFS.REMOVE.HOST.FIELD NEWUNIXNAME NEW-DEVICE) NEW-DEVICE ERRNO) (\UFS.FULLNAME NEWUNIXNAME NEW-DEVICE)) (T (if (EQL (IPLUS ERRNO 0) 18) then (* ; "CrossDeviceError. Should be PARAMETER!") (\GENERIC.RENAMEFILE OLD-DEVICE OLD-NAME NEW-DEVICE NEW-NAME) else (\UFSError (CONCAT OLDUNIXNAME " or " NEWUNIXNAME) ERRNO) NIL)))))))) -) + [LAMBDA (OLD-DEVICE OLD-NAME NEW-DEVICE NEW-NAME) (* ; "Edited 16-Dec-2024 20:41 by rmk") + (* ; "Edited 16-Apr-90 13:46 by nm") + + (* ;; "The names and devices here are true names and devices.") + + (if (NEQ OLD-DEVICE NEW-DEVICE) + then + (* ;; "Call the generic rename function. ") + + (\GENERIC.RENAMEFILE OLD-DEVICE OLD-NAME NEW-DEVICE NEW-NAME) + else + (* ;; "UNIX file system rename.") + + (LET ((OLDUNIXNAME (\UFS.RECOGNIZE.FILE OLD-NAME 'OLD OLD-DEVICE))) + (if (AND OLDUNIXNAME (NOT (\UFS.OPENP OLDUNIXNAME OLD-DEVICE))) + then (* ; + "Old file is found and not open, so proceed") + (LET ((NEWUNIXNAME (\UFS.RECOGNIZE.FILE NEW-NAME 'NEW NEW-DEVICE)) + (ERRNO (CREATECELL \FIXP))) + (COND + ((\UFSRenameFile-C (\UFS.REMOVE.HOST.FIELD OLDUNIXNAME OLD-DEVICE) + (\UFS.REMOVE.HOST.FIELD NEWUNIXNAME NEW-DEVICE) + NEW-DEVICE ERRNO) + (\UFS.FULLNAME NEWUNIXNAME NEW-DEVICE)) + (T (if (EQL (IPLUS ERRNO 0) + 18) + then (* ; + "CrossDeviceError. Should be PARAMETER!") + (\GENERIC.RENAMEFILE OLD-DEVICE OLD-NAME NEW-DEVICE + NEW-NAME) + else (\UFSError (CONCAT OLDUNIXNAME " or " NEWUNIXNAME) + ERRNO) + NIL]) (\UFSReadPages (LAMBDA (stream streamFirstPage buffers) (* ; "Edited 3-Mar-89 14:49 by bvm") (* ;;; "ARG0 -- stream : {stream} data type.") (* ;;; "ARG1 -- streamFirstPage : the 1st page number of file to read.") (* ;;; "ARG2 -- buffers : {VMEMPAGEP} or list of {VMEMPAGEP}. ") (* ; "Write out the buffers to the backing file.") (for buffer inside buffers as streamPageNumber from streamFirstPage bind (fileID _ (fetch (UFSSTREAM FILEID) of stream)) lastStreamPage offset ERRNO first (\UPDATEOF stream) (SETQ lastStreamPage (PLUS (fetch (STREAM EPAGE) of stream) (if (EQ 0 (fetch (STREAM EOFFSET) of stream)) then -1 else 0))) (SETQ ERRNO (CREATECELL \FIXP)) sum (if (LEQ streamPageNumber lastStreamPage) then (OR (\UFSReadPages-C fileID streamPageNumber buffer ERRNO) (\UFSError stream ERRNO) (CL:ERROR (QUOTE XCL:SIMPLE-DEVICE-ERROR) :MESSAGE stream)) (if (EQ streamPageNumber lastStreamPage) then (SETQ offset (fetch (STREAM EOFFSET) of stream)) (if (EQ offset 0) then (SETQ offset BYTESPERPAGE) else (\CLEARBYTES buffer offset (- BYTESPERPAGE offset))) offset else BYTESPERPAGE) else (\CLEARWORDS buffer WORDSPERPAGE) 0))) @@ -797,8 +826,6 @@ update the map") (SETQ PAGES (RESTOREMAP STREAM))) (DELETED (* ; "the file disap (HTML . TEXT) (HTM . TEXT) (TEX . TEXT) - (PS . TEXT) - (PDF . TEXT) (DCOM . BINARY) (SKETCH . BINARY) (TEDIT . BINARY) @@ -1156,23 +1183,23 @@ update the map") (SETQ PAGES (RESTOREMAP STREAM))) (DELETED (* ; "the file disap (ADDTOVAR LAMA ) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (8909 10462 (\UFSCreateDevice 8919 . 9284) (\UFS.CREATE.DEVICE 9286 . 10142) ( -\UFSOpenDevice 10144 . 10321) (\UFSCloseDevice 10323 . 10460)) (14725 51227 (\UFSOpenFile 14735 . -18029) (\UFS.OPENP 18031 . 18528) (\UFS.RECOGNIZE.FILE 18530 . 19283) (\UFS.DIRECTORY.NAME 19285 . -20028) (\UFSCloseFile 20030 . 21935) (\UFSGetFileName 21937 . 22136) (\UFSDeleteFile 22138 . 22678) ( -\UFSRenameFile 22680 . 23845) (\UFSReadPages 23847 . 24982) (\UFSWritePages 24984 . 26204) ( -\UFSTruncateFile 26206 . 27703) (\UFSDirectoryNameP 27705 . 28759) (\UFSEventFn 28761 . 29423) ( -\UFSGetFileInfo 29425 . 31707) (\UFS.CREATE.PROPS 31709 . 32062) (\UFSSetFileInfo 32064 . 33293) ( -\UFSGenerateFiles 33295 . 40175) (\UFS.NEXTFILEFN 40177 . 47815) (\UFS.FILEINFOFN 47817 . 49266) ( -\UFS.VALID.PROPP 49268 . 49560) (\UFS.REGISTER.GFS 49562 . 49817) (\UFS.UNREGISTER.GFS 49819 . 50402) -(\UFS.ABORT.DIRECTORY 50404 . 50752) (\UFS.ABORT.CL-DIRECTORY 50754 . 51041) (\UFS.CLEANUP.GFS.TABLE -51043 . 51225)) (51262 57946 (\UFSMakeUnixFormatName 51272 . 52293) (\UFSParseNameString 52295 . 52669 -) (\UFSParse-Directory 52671 . 53212) (\UFS.PARSE.BODY 53214 . 53759) (\UFS.ADJUST.HOST 53761 . 53920) - (\UFS.FULLNAME 53922 . 55130) (\UFS.ADD.HOST.FIELD 55132 . 55492) (\UFS.REMOVE.HOST.FIELD 55494 . -57164) (\UFS.HANDLE.RELATIVEDIRECTORY 57166 . 57944)) (58762 59375 (CHDIR 58772 . 59373)) (59447 60433 - (\DEVICEFILE.EOSERROR 59457 . 60431)) (60506 61743 (\UNVISIBLE.PAGED.REVALIDATEFILELST 60516 . 61361) - (\UNVISIBLE.FLUSH.OPEN.STREAMS 61363 . 61741)) (61776 63402 (\UFSError 61786 . 63400)) (63446 65861 ( -\UFSGetFileType 63456 . 64057) (\UFSSetFileType 64059 . 64656) (\UFSeol 64658 . 65859)) (74508 75632 ( -\UFSGetPrintFileType 74518 . 74930) (\UFSGetFileTypeConfirm 74932 . 75380) (\UFSPrintTypeMenu 75382 . -75630)) (75662 78500 (\UFStoOtherCopyMess 75672 . 77350) (\UFStoOtherRenameMess 77352 . 78498))))) + (FILEMAP (NIL (8682 10235 (\UFSCreateDevice 8692 . 9057) (\UFS.CREATE.DEVICE 9059 . 9915) ( +\UFSOpenDevice 9917 . 10094) (\UFSCloseDevice 10096 . 10233)) (14498 51946 (\UFSOpenFile 14508 . 17802 +) (\UFS.OPENP 17804 . 18301) (\UFS.RECOGNIZE.FILE 18303 . 19056) (\UFS.DIRECTORY.NAME 19058 . 19801) ( +\UFSCloseFile 19803 . 21708) (\UFSGetFileName 21710 . 21909) (\UFSDeleteFile 21911 . 22451) ( +\UFSRenameFile 22453 . 24564) (\UFSReadPages 24566 . 25701) (\UFSWritePages 25703 . 26923) ( +\UFSTruncateFile 26925 . 28422) (\UFSDirectoryNameP 28424 . 29478) (\UFSEventFn 29480 . 30142) ( +\UFSGetFileInfo 30144 . 32426) (\UFS.CREATE.PROPS 32428 . 32781) (\UFSSetFileInfo 32783 . 34012) ( +\UFSGenerateFiles 34014 . 40894) (\UFS.NEXTFILEFN 40896 . 48534) (\UFS.FILEINFOFN 48536 . 49985) ( +\UFS.VALID.PROPP 49987 . 50279) (\UFS.REGISTER.GFS 50281 . 50536) (\UFS.UNREGISTER.GFS 50538 . 51121) +(\UFS.ABORT.DIRECTORY 51123 . 51471) (\UFS.ABORT.CL-DIRECTORY 51473 . 51760) (\UFS.CLEANUP.GFS.TABLE +51762 . 51944)) (51981 58665 (\UFSMakeUnixFormatName 51991 . 53012) (\UFSParseNameString 53014 . 53388 +) (\UFSParse-Directory 53390 . 53931) (\UFS.PARSE.BODY 53933 . 54478) (\UFS.ADJUST.HOST 54480 . 54639) + (\UFS.FULLNAME 54641 . 55849) (\UFS.ADD.HOST.FIELD 55851 . 56211) (\UFS.REMOVE.HOST.FIELD 56213 . +57883) (\UFS.HANDLE.RELATIVEDIRECTORY 57885 . 58663)) (59481 60094 (CHDIR 59491 . 60092)) (60166 61152 + (\DEVICEFILE.EOSERROR 60176 . 61150)) (61225 62462 (\UNVISIBLE.PAGED.REVALIDATEFILELST 61235 . 62080) + (\UNVISIBLE.FLUSH.OPEN.STREAMS 62082 . 62460)) (62495 64121 (\UFSError 62505 . 64119)) (64165 66580 ( +\UFSGetFileType 64175 . 64776) (\UFSSetFileType 64778 . 65375) (\UFSeol 65377 . 66578)) (75186 76310 ( +\UFSGetPrintFileType 75196 . 75608) (\UFSGetFileTypeConfirm 75610 . 76058) (\UFSPrintTypeMenu 76060 . +76308)) (76340 79178 (\UFStoOtherCopyMess 76350 . 78028) (\UFStoOtherRenameMess 78030 . 79176))))) STOP diff --git a/sources/UFS.LCOM b/sources/UFS.LCOM index 5e3d3c43ff4460c0fbe09b024336dac4bda62e23..2b49c6f4128a92e16de7365e62ca74bf615c1015 100644 GIT binary patch delta 1091 zcmZ`%O;6Nd5T>Bfte~!_D1MEN8kV@V-|bdoT-tY`TH1BDfG9E1wTF!hOBOU5KQ`{i z6;0kmPa01q-c0tc@!)~P=*9oQRSzcWfjBL=U;;foGw;ki&pe%ioN-T#=J~}s7zEdd#bLYo0dG4&FC4d$F zpCE~bAh8gu1nm*Qz1dQ+P@FH_KWV@ec6zhHOa`Yzai$7vX3TM5{S=PlSh#g#9@#gV zuCa;OK*n~6nImbRSXiX4TS72+-H>sKO+|y2l2Za0#IpTra%d7N)3?DeN7C*v$tQge z1~P6QVxiJpFmq!%2(>1_$mYnn?TzJ=7SbXszs4%ak#+LstZE_}XjTGT%nI%n3jr9G z-dbk*w=?zD!PswxVQFvowXLPDujiRoshejKdSq8nE`iQV5#~a--1H~`O;^E=lxSkA z^{FS$RB@@ikEV=*uBF;g<-woK63`W?os;x76qPm<+67u_4Qk@Q0!`5%GTrvv6=r4a zO%|)|Iy@%BBAN7<=(sEP{VZ*y#yIK&-n6QB`&B^YNI3% zQ?6%^riY1_&4VgnyxO_S#I?TditpU>xT~XM%Y~uuZ!e^W%A7aw2O%_en7AZon_P~B)`lVh-3M~pi7*85{`Zqi4!6zy8*V`B76&85YK z{fMdyhp1cU=;A^@Mlb4@=$WU75G~g)(!#wsz1rBZBQ^*q(jumlr}2lqwAMI6UpG!; z)#pZ%{%P=t2AikoL+f4wWRUi2+1@}dMHZ%C3M>kKS28`0MN&34#=Xd4)KWY@2J_x0UqD=f5|alBL5 zY!|k|Ry*7&bfRzKjj&T_6zkkqLJqQwARMIRHAB)2US?oD$=Lp)1)G?#*l=A)whn=awViz=B7bGxmIo*0&_r?c%Lm6YU0sHHfOb_t*TjibBnWO)3Fxvq z*^`8c6!eMYCjpv%AXVjUfTr+}j>GZ2ab@}7o1|<{;sgy0n-tB48-T{^P_)TaP~|)% z19csbxWp?3W!%CJ$H<)L2b^Ce9;lKyWfO1fn&&$evqb!A9aLT#{XEZnDDKV8%pAJ3 zx<6XEWUg9AXYe_enJNFVcsr5px&6IV{5bhqrhlL5+*IV$P7=pa41%nK<$IPHfFLQb zRw5p$ITlwViPH%)j#q!je?j2Wom#lv+)6J9Yk|N^bpG_o*}R&(3OJDD3SlD4FL};Q z!llWy@yWE^Dk$32AX%c(U||l4==`}8A89&xZ+