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}<sources>FILEIO.;2 165071 
+(FILECREATED "17-Dec-2024 16:36:44" {WMEDLEY}<sources>FILEIO.;136 165961 
 
       :EDIT-BY rmk
 
       :CHANGES-TO (RECORDS STREAM)
 
-      :PREVIOUS-DATE "15-Jul-2024 22:29:54" {MEDLEY}<sources>FILEIO.;1)
+      :PREVIOUS-DATE "17-Dec-2024 15:11:51" {WMEDLEY}<sources>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 b36bfe98..ccd81a77 100644
Binary files a/sources/FILEIO.LCOM and b/sources/FILEIO.LCOM differ
diff --git a/sources/UFS b/sources/UFS
index a7455a02..6981d296 100644
--- a/sources/UFS
+++ b/sources/UFS
@@ -1,12 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "16-Sep-2023 09:22:55" {DSK}<Users>briggs>Projects>medley>sources>UFS.;2 78813  
+(FILECREATED "16-Dec-2024 21:08:40" {WMEDLEY}<sources>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}<Users>briggs>Projects>medley>sources>UFS.;1)
+      :PREVIOUS-DATE "10-Dec-2024 14:53:34" {WMEDLEY}<sources>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 5e3d3c43..2b49c6f4 100644
Binary files a/sources/UFS.LCOM and b/sources/UFS.LCOM differ
