diff --git a/sources/FILEIO b/sources/FILEIO
index 1c2a8b4d..4082743e 100644
--- a/sources/FILEIO
+++ b/sources/FILEIO
@@ -1,10 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "11-Oct-2022 11:34:00" {DSK}<home>larry>medley>sources>FILEIO.;2 161841 
+(FILECREATED "25-Aug-2023 08:47:31" {WMEDLEY}<sources>FILEIO.;119 162381 
 
-      :CHANGES-TO (FNS \PRINT-REVALIDATION-RESULT)
+      :EDIT-BY rmk
 
-      :PREVIOUS-DATE "10-Oct-2022 15:58:01" {DSK}<home>larry>medley>sources>FILEIO.;1)
+      :CHANGES-TO (FNS \DO.PARAMS.AT.OPEN PUTSTREAMPROP GETSTREAMPROP)
+
+      :PREVIOUS-DATE "11-Oct-2022 11:34:00" {WMEDLEY}<sources>FILEIO.;118)
 
 
 (* ; "
@@ -580,18 +582,21 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
        (T (\ILLEGAL.ARG NIL])
 
 (GETSTREAMPROP
-  [LAMBDA (STREAM PROP)                                      (* ; "Edited  5-Jul-2022 23:57 by rmk")
+  [LAMBDA (STREAM PROP)                                      (* ; "Edited 25-Aug-2023 08:45 by rmk")
+                                                             (* ; "Edited  5-Jul-2022 23:57 by rmk")
                                                             (* ; "Edited 29-Jun-2021 17:06 by rmk:")
                                                              (* rda%: "22-Aug-84 16:17")
     (SELECTQ PROP
         ((FORMAT EXTERNALFORMAT :EXTERNAL-FORMAT) 
              (\EXTERNALFORMAT STREAM))
         (ENDOFSTREAMOP (FETCH (STREAM ENDOFSTREAMOP) OF STREAM))
+        (LINELENGTH (LINELENGTH NIL STREAM))
         (LISTGET (fetch (STREAM OTHERPROPS) of STREAM)
                PROP])
 
 (PUTSTREAMPROP
-  [LAMBDA (STREAM PROP VALUE)                                (* ; "Edited  5-Jul-2022 23:56 by rmk")
+  [LAMBDA (STREAM PROP VALUE)                                (* ; "Edited 25-Aug-2023 08:45 by rmk")
+                                                             (* ; "Edited  5-Jul-2022 23:56 by rmk")
                                                             (* ; "Edited 29-Jun-2021 17:06 by rmk:")
                                                              (* rda%: "22-Aug-84 16:11")
     (SELECTQ PROP
@@ -605,6 +610,7 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
                         (AND VALUE (\EXTERNALFORMAT STREAM VALUE)))])
         (ENDOFSTREAMOP (PROG1 (fetch (STREAM ENDOFSTREAMOP) of STREAM)
                            (replace (STREAM ENDOFSTREAMOP) of STREAM with VALUE)))
+        (LINELENGTH (LINELENGTH VALUE STREAM))
         (PROG ((OLDDATA (fetch OTHERPROPS of STREAM))
                OLDVALUE)
               (RETURN (PROG1 (COND
@@ -1444,7 +1450,8 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
                 (GO RETRY])
 
 (\DO.PARAMS.AT.OPEN
-  [LAMBDA (STREAM ACCESS PARAMETERS)                         (* ; "Edited  6-Jul-2022 00:00 by rmk")
+  [LAMBDA (STREAM ACCESS PARAMETERS)                         (* ; "Edited 25-Aug-2023 08:43 by rmk")
+                                                             (* ; "Edited  6-Jul-2022 00:00 by rmk")
                                                              (* ; "Edited 19-Dec-2021 09:30 by rmk")
                                                              (* ; "Edited 14-Dec-2021 16:10 by rmk")
                                                              (* ; "Edited 13-Dec-2021 15:20 by rmk")
@@ -1453,6 +1460,8 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
 
     (* ;; "Does generic parameters when a file/stream is open.  Called by \OPENFILE and OPENSTREAM")
 
+    (* ;; "RMK: August 2023:  Added PUTSTREAMPROP as last resort.")
+
     (* ;; "RMK  July 2020:  Make sure that \EXTERNALFORMAT is always called, so that it can implement per-device defaults.")
 
     (* ;; 
@@ -1475,7 +1484,7 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
                                          (CONVHANKAKU (CONVHANKAKU STREAM VAL))
                                          ((EOL EOLCONVENTION EOLC) 
                                               (SETFILEINFO STREAM 'EOL VAL))
-                                         NIL))
+                                         (PUTSTREAMPROP STREAM ATTR VAL)))
     (FOR FN IN STREAM-AFTER-OPEN-FNS DO (APPLY* FN STREAM ACCESS PARAMETERS])
 
 (\RENAMEFILE
@@ -3095,39 +3104,39 @@ update the map")
 (PUTPROPS FILEIO COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1988 1989 
 1990 1991 1992 1993 1999 2020 2021 2022))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (27805 31611 (STREAMPROP 27815 . 28249) (GETSTREAMPROP 28251 . 28846) (PUTSTREAMPROP 
-28848 . 31459) (STREAMP 31461 . 31609)) (31654 35033 (\DEFPRINT.BY.NAME 31664 . 32816) (
-\STREAM.DEFPRINT 32818 . 34726) (\FDEV.DEFPRINT 34728 . 35031)) (35291 40332 (\GETACCESS 35301 . 35755
-) (\SETACCESS 35757 . 40330)) (60558 66527 (\DEFINEDEVICE 60568 . 62884) (\GETDEVICEFROMNAME 62886 . 
-63359) (\GETDEVICEFROMHOSTNAME 63361 . 64405) (\REMOVEDEVICE 64407 . 65530) (\REMOVEDEVICE.NAMES 65532
- . 66525)) (66567 91885 (\CLOSEFILE 66577 . 67402) (\DELETEFILE 67404 . 67698) (\DEVICEEVENT 67700 . 
-69470) (\GENERATEFILES 69472 . 70419) (\GENERATENEXTFILE 70421 . 71072) (\GENERATEFILEINFO 71074 . 
-71535) (\GETFILENAME 71537 . 71926) (\GENERIC.OUTFILEP 71928 . 72398) (\OPENFILE 72400 . 74978) (
-\DO.PARAMS.AT.OPEN 74980 . 77295) (\RENAMEFILE 77297 . 77721) (\REVALIDATEFILE 77723 . 80325) (
-\PAGED.REVALIDATEFILELST 80327 . 81885) (\PAGED.REVALIDATEFILES 81887 . 83606) (\PAGED.REVALIDATEFILE 
-83608 . 85891) (\BUFFERED.REVALIDATEFILE 85893 . 88179) (\BUFFERED.REVALIDATEFILELST 88181 . 89365) (
-\PRINT-REVALIDATION-RESULT 89367 . 90209) (\TRUNCATEFILE 90211 . 90602) (\FILE-CONFLICT 90604 . 91883)
-) (91921 96584 (\GENERATENOFILES 91931 . 94027) (\NULLFILEGENERATOR 94029 . 94273) (\NOFILESNEXTFILEFN
- 94275 . 96266) (\NOFILESINFOFN 96268 . 96582)) (96703 98611 (\FILE.NOT.OPEN 96713 . 97226) (
-\FILE.WONT.OPEN 97228 . 97556) (\ILLEGAL.DEVICEOP 97558 . 97840) (\IS.NOT.RANDACCESSP 97842 . 98288) (
-\STREAM.NOT.OPEN 98290 . 98609)) (98746 101044 (\FDEVINSTANCE 98756 . 101042)) (102246 109620 (CNDIR 
-102256 . 103561) (DIRECTORYNAME 103563 . 107746) (DIRECTORYNAMEP 107748 . 108364) (HOSTNAMEP 108366 . 
-109173) (\ADD.CONNECTED.DIR 109175 . 109618)) (109665 137938 (\BACKFILEPTR 109675 . 109863) (
-\BACKPEEKBIN 109865 . 110226) (\BACKBIN 110228 . 110579) (BIN 110581 . 110798) (\BIN 110800 . 111077) 
-(\BINS 111079 . 111365) (BOUT 111367 . 111729) (\BOUT 111731 . 112046) (\BOUTS 112048 . 112359) (
-COPYBYTES 112361 . 115693) (COPYCHARS 115695 . 119361) (COPYFILE 119363 . 120427) (\COPYOPENFILE 
-120429 . 123628) (\INFER.FILE.TYPE 123630 . 124584) (EOFP 124586 . 124883) (FORCEOUTPUT 124885 . 
-125132) (\FLUSH.OPEN.STREAMS 125134 . 125490) (CHARSET 125492 . 127156) (ACCESS-CHARSET 127158 . 
-127375) (GETEOFPTR 127377 . 127627) (GETFILEINFO 127629 . 130822) (\TYPE.FROM.FILETYPE 130824 . 131294
-) (\FILETYPE.FROM.TYPE 131296 . 131475) (GETFILEPTR 131477 . 131729) (SETFILEINFO 131731 . 135837) (
-SETFILEPTR 135839 . 137558) (BOUT16 137560 . 137745) (BIN16 137747 . 137936)) (138041 143357 (
-\GENERIC.BINS 138051 . 138331) (\GENERIC.BOUTS 138333 . 138598) (\GENERIC.RENAMEFILE 138600 . 140431) 
-(\GENERIC.OPENP 140433 . 141748) (\GENERIC.READP 141750 . 142902) (\GENERIC.CHARSET 142904 . 143355)) 
-(143358 143697 (\MAP-OPEN-STREAMS 143368 . 143695)) (145489 147569 (\EOF.ACTION 145499 . 145750) (
-\EOSERROR 145752 . 145945) (\GETEOFPTR 145947 . 146129) (\INCFILEPTR 146131 . 146481) (\PEEKBIN 146483
- . 146674) (\SETCLOSEDFILELENGTH 146676 . 147010) (\SETEOFPTR 147012 . 147200) (\SETFILEPTR 147202 . 
-147567)) (147570 148112 (\FIXPOUT 147580 . 147880) (\FIXPIN 147882 . 148110)) (148113 148679 (\BOUTEOL
- 148123 . 148677)) (151575 161439 (\BUFFERED.BIN 151585 . 152437) (\BUFFERED.PEEKBIN 152439 . 153221) 
-(\BUFFERED.BOUT 153223 . 154083) (\BUFFERED.BINS 154085 . 157770) (\BUFFERED.BOUTS 157772 . 159573) (
-\BUFFERED.COPYBYTES 159575 . 161437)))))
+  (FILEMAP (NIL (27821 31937 (STREAMPROP 27831 . 28265) (GETSTREAMPROP 28267 . 29016) (PUTSTREAMPROP 
+29018 . 31785) (STREAMP 31787 . 31935)) (31980 35359 (\DEFPRINT.BY.NAME 31990 . 33142) (
+\STREAM.DEFPRINT 33144 . 35052) (\FDEV.DEFPRINT 35054 . 35357)) (35617 40658 (\GETACCESS 35627 . 36081
+) (\SETACCESS 36083 . 40656)) (60884 66853 (\DEFINEDEVICE 60894 . 63210) (\GETDEVICEFROMNAME 63212 . 
+63685) (\GETDEVICEFROMHOSTNAME 63687 . 64731) (\REMOVEDEVICE 64733 . 65856) (\REMOVEDEVICE.NAMES 65858
+ . 66851)) (66893 92425 (\CLOSEFILE 66903 . 67728) (\DELETEFILE 67730 . 68024) (\DEVICEEVENT 68026 . 
+69796) (\GENERATEFILES 69798 . 70745) (\GENERATENEXTFILE 70747 . 71398) (\GENERATEFILEINFO 71400 . 
+71861) (\GETFILENAME 71863 . 72252) (\GENERIC.OUTFILEP 72254 . 72724) (\OPENFILE 72726 . 75304) (
+\DO.PARAMS.AT.OPEN 75306 . 77835) (\RENAMEFILE 77837 . 78261) (\REVALIDATEFILE 78263 . 80865) (
+\PAGED.REVALIDATEFILELST 80867 . 82425) (\PAGED.REVALIDATEFILES 82427 . 84146) (\PAGED.REVALIDATEFILE 
+84148 . 86431) (\BUFFERED.REVALIDATEFILE 86433 . 88719) (\BUFFERED.REVALIDATEFILELST 88721 . 89905) (
+\PRINT-REVALIDATION-RESULT 89907 . 90749) (\TRUNCATEFILE 90751 . 91142) (\FILE-CONFLICT 91144 . 92423)
+) (92461 97124 (\GENERATENOFILES 92471 . 94567) (\NULLFILEGENERATOR 94569 . 94813) (\NOFILESNEXTFILEFN
+ 94815 . 96806) (\NOFILESINFOFN 96808 . 97122)) (97243 99151 (\FILE.NOT.OPEN 97253 . 97766) (
+\FILE.WONT.OPEN 97768 . 98096) (\ILLEGAL.DEVICEOP 98098 . 98380) (\IS.NOT.RANDACCESSP 98382 . 98828) (
+\STREAM.NOT.OPEN 98830 . 99149)) (99286 101584 (\FDEVINSTANCE 99296 . 101582)) (102786 110160 (CNDIR 
+102796 . 104101) (DIRECTORYNAME 104103 . 108286) (DIRECTORYNAMEP 108288 . 108904) (HOSTNAMEP 108906 . 
+109713) (\ADD.CONNECTED.DIR 109715 . 110158)) (110205 138478 (\BACKFILEPTR 110215 . 110403) (
+\BACKPEEKBIN 110405 . 110766) (\BACKBIN 110768 . 111119) (BIN 111121 . 111338) (\BIN 111340 . 111617) 
+(\BINS 111619 . 111905) (BOUT 111907 . 112269) (\BOUT 112271 . 112586) (\BOUTS 112588 . 112899) (
+COPYBYTES 112901 . 116233) (COPYCHARS 116235 . 119901) (COPYFILE 119903 . 120967) (\COPYOPENFILE 
+120969 . 124168) (\INFER.FILE.TYPE 124170 . 125124) (EOFP 125126 . 125423) (FORCEOUTPUT 125425 . 
+125672) (\FLUSH.OPEN.STREAMS 125674 . 126030) (CHARSET 126032 . 127696) (ACCESS-CHARSET 127698 . 
+127915) (GETEOFPTR 127917 . 128167) (GETFILEINFO 128169 . 131362) (\TYPE.FROM.FILETYPE 131364 . 131834
+) (\FILETYPE.FROM.TYPE 131836 . 132015) (GETFILEPTR 132017 . 132269) (SETFILEINFO 132271 . 136377) (
+SETFILEPTR 136379 . 138098) (BOUT16 138100 . 138285) (BIN16 138287 . 138476)) (138581 143897 (
+\GENERIC.BINS 138591 . 138871) (\GENERIC.BOUTS 138873 . 139138) (\GENERIC.RENAMEFILE 139140 . 140971) 
+(\GENERIC.OPENP 140973 . 142288) (\GENERIC.READP 142290 . 143442) (\GENERIC.CHARSET 143444 . 143895)) 
+(143898 144237 (\MAP-OPEN-STREAMS 143908 . 144235)) (146029 148109 (\EOF.ACTION 146039 . 146290) (
+\EOSERROR 146292 . 146485) (\GETEOFPTR 146487 . 146669) (\INCFILEPTR 146671 . 147021) (\PEEKBIN 147023
+ . 147214) (\SETCLOSEDFILELENGTH 147216 . 147550) (\SETEOFPTR 147552 . 147740) (\SETFILEPTR 147742 . 
+148107)) (148110 148652 (\FIXPOUT 148120 . 148420) (\FIXPIN 148422 . 148650)) (148653 149219 (\BOUTEOL
+ 148663 . 149217)) (152115 161979 (\BUFFERED.BIN 152125 . 152977) (\BUFFERED.PEEKBIN 152979 . 153761) 
+(\BUFFERED.BOUT 153763 . 154623) (\BUFFERED.BINS 154625 . 158310) (\BUFFERED.BOUTS 158312 . 160113) (
+\BUFFERED.COPYBYTES 160115 . 161977)))))
 STOP
diff --git a/sources/FILEIO.LCOM b/sources/FILEIO.LCOM
index b3f96099..77407339 100644
Binary files a/sources/FILEIO.LCOM and b/sources/FILEIO.LCOM differ
