diff --git a/sources/FILEIO b/sources/FILEIO
index cdb7ff6b..36a3a138 100644
--- a/sources/FILEIO
+++ b/sources/FILEIO
@@ -1,12 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 8-Dec-2023 15:17:12" {WMEDLEY}<sources>FILEIO.;124 163555 
+(FILECREATED "15-Jul-2024 21:25:14" {WMEDLEY}<sources>FILEIO.;129 164231 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \GENERIC.CHARSET CHARSET ACCESS-CHARSET)
+      :CHANGES-TO (FNS \DO.PARAMS.AT.OPEN)
 
-      :PREVIOUS-DATE " 7-Dec-2023 23:54:02" {WMEDLEY}<sources>FILEIO.;121)
+      :PREVIOUS-DATE " 8-Dec-2023 15:17:12" {WMEDLEY}<sources>FILEIO.;124)
 
 
 (PRETTYCOMPRINT FILEIOCOMS)
@@ -1446,7 +1446,8 @@
                 (GO RETRY])
 
 (\DO.PARAMS.AT.OPEN
-  [LAMBDA (STREAM ACCESS PARAMETERS)                         (* ; "Edited 25-Aug-2023 08:43 by rmk")
+  [LAMBDA (STREAM ACCESS PARAMETERS)                         (* ; "Edited 15-Jul-2024 21:25 by rmk")
+                                                             (* ; "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")
@@ -1454,6 +1455,8 @@
                                                             (* ; "Edited 29-Jun-2021 17:07 by rmk:")
                                                              (* ; "Edited  5-Oct-92 13:45 by jds")
 
+    (* ;; "RMK: July 2024:  Default EOL to ANY on input streams, allow EXTERNAL FORMAT to be a (FORMAT EOL) list so CL:OPEN can get the EOL")
+
     (* ;; "Does generic parameters when a file/stream is open.  Called by \OPENFILE and OPENSTREAM")
 
     (* ;; "RMK: August 2023:  Added PUTSTREAMPROP as last resort.")
@@ -1465,22 +1468,34 @@
 
     (DECLARE (USEDFREE STREAM-AFTER-OPEN-FNS))
     (\EXTERNALFORMAT STREAM :DEFAULT)
-    (for X ATTR VAL in PARAMETERS do (COND
-                                        [(LISTP X)
-                                         (SETQ ATTR (CAR X))
-                                         (SETQ VAL (CAR (LISTP (CDR X]
-                                        (T (SETQ ATTR X)
-                                           (SETQ VAL T)))
-                                     (SELECTQ ATTR
-                                         (BUFFERS (SETFILEINFO STREAM 'BUFFERS VAL))
-                                         (ENDOFSTREAMOP (SETFILEINFO STREAM 'ENDOFSTREAMOP VAL))
-                                         (CHARSET (CHARSET STREAM VAL))
-                                         ((FORMAT EXTERNALFORMAT :EXTERNAL-FORMAT) 
-                                              (\EXTERNALFORMAT STREAM VAL))
-                                         (CONVHANKAKU (CONVHANKAKU STREAM VAL))
-                                         ((EOL EOLCONVENTION EOLC) 
-                                              (SETFILEINFO STREAM 'EOL VAL))
-                                         (PUTSTREAMPROP STREAM ATTR VAL)))
+    [for X ATTR VAL EOLFLAG in PARAMETERS
+       do (COND
+             [(LISTP X)
+              (SETQ ATTR (CAR X))
+              (SETQ VAL (CAR (LISTP (CDR X]
+             (T (SETQ ATTR X)
+                (SETQ VAL T)))
+          (SELECTQ ATTR
+              (BUFFERS (SETFILEINFO STREAM 'BUFFERS VAL))
+              (ENDOFSTREAMOP (SETFILEINFO STREAM 'ENDOFSTREAMOP VAL))
+              (CHARSET (CHARSET STREAM VAL))
+              ((FORMAT EXTERNALFORMAT :EXTERNAL-FORMAT) 
+                   (SETQ EOLFLAG T)
+                   (if (LISTP VAL)
+                       then (\EXTERNALFORMAT STREAM (CAR VAL)) 
+                                                             (* ; "VAL could be (:UTF-8 CR)")
+                            (CL:IF (CADR VAL)
+                                (SETFILEINFO STREAM 'EOL (CADR VAL)))
+                     else (\EXTERNALFORMAT STREAM VAL)))
+              (CONVHANKAKU (CONVHANKAKU STREAM VAL))
+              ((EOL EOLCONVENTION EOLC) 
+                   (SETQ EOLFLAG T)
+                   (SETFILEINFO STREAM 'EOL VAL))
+              (PUTSTREAMPROP STREAM ATTR VAL)) finally (CL:UNLESS (OR EOLFLAG (\IOMODEP STREAM
+                                                                                     'OUTPUT T))
+                                                             (* ; 
+                                         "Default to ANY if not set explicitly or by external format")
+                                                           (SETFILEINFO STREAM 'EOL 'ANY))]
     (FOR FN IN STREAM-AFTER-OPEN-FNS DO (APPLY* FN STREAM ACCESS PARAMETERS])
 
 (\RENAMEFILE
@@ -3115,39 +3130,39 @@ update the map")
 (ADDTOVAR LAMA \IS.NOT.RANDACCESSP \ILLEGAL.DEVICEOP STREAMPROP)
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (27732 31848 (STREAMPROP 27742 . 28176) (GETSTREAMPROP 28178 . 28927) (PUTSTREAMPROP 
-28929 . 31696) (STREAMP 31698 . 31846)) (31891 35270 (\DEFPRINT.BY.NAME 31901 . 33053) (
-\STREAM.DEFPRINT 33055 . 34963) (\FDEV.DEFPRINT 34965 . 35268)) (35528 40569 (\GETACCESS 35538 . 35992
-) (\SETACCESS 35994 . 40567)) (60795 66764 (\DEFINEDEVICE 60805 . 63121) (\GETDEVICEFROMNAME 63123 . 
-63596) (\GETDEVICEFROMHOSTNAME 63598 . 64642) (\REMOVEDEVICE 64644 . 65767) (\REMOVEDEVICE.NAMES 65769
- . 66762)) (66804 92336 (\CLOSEFILE 66814 . 67639) (\DELETEFILE 67641 . 67935) (\DEVICEEVENT 67937 . 
-69707) (\GENERATEFILES 69709 . 70656) (\GENERATENEXTFILE 70658 . 71309) (\GENERATEFILEINFO 71311 . 
-71772) (\GETFILENAME 71774 . 72163) (\GENERIC.OUTFILEP 72165 . 72635) (\OPENFILE 72637 . 75215) (
-\DO.PARAMS.AT.OPEN 75217 . 77746) (\RENAMEFILE 77748 . 78172) (\REVALIDATEFILE 78174 . 80776) (
-\PAGED.REVALIDATEFILELST 80778 . 82336) (\PAGED.REVALIDATEFILES 82338 . 84057) (\PAGED.REVALIDATEFILE 
-84059 . 86342) (\BUFFERED.REVALIDATEFILE 86344 . 88630) (\BUFFERED.REVALIDATEFILELST 88632 . 89816) (
-\PRINT-REVALIDATION-RESULT 89818 . 90660) (\TRUNCATEFILE 90662 . 91053) (\FILE-CONFLICT 91055 . 92334)
-) (92372 97035 (\GENERATENOFILES 92382 . 94478) (\NULLFILEGENERATOR 94480 . 94724) (\NOFILESNEXTFILEFN
- 94726 . 96717) (\NOFILESINFOFN 96719 . 97033)) (97154 99062 (\FILE.NOT.OPEN 97164 . 97677) (
-\FILE.WONT.OPEN 97679 . 98007) (\ILLEGAL.DEVICEOP 98009 . 98291) (\IS.NOT.RANDACCESSP 98293 . 98739) (
-\STREAM.NOT.OPEN 98741 . 99060)) (99197 101495 (\FDEVINSTANCE 99207 . 101493)) (102697 110071 (CNDIR 
-102707 . 104012) (DIRECTORYNAME 104014 . 108197) (DIRECTORYNAMEP 108199 . 108815) (HOSTNAMEP 108817 . 
-109624) (\ADD.CONNECTED.DIR 109626 . 110069)) (110116 138395 (\BACKFILEPTR 110126 . 110314) (
-\BACKPEEKBIN 110316 . 110677) (\BACKBIN 110679 . 111030) (BIN 111032 . 111249) (\BIN 111251 . 111528) 
-(\BINS 111530 . 111816) (BOUT 111818 . 112180) (\BOUT 112182 . 112497) (\BOUTS 112499 . 112810) (
-COPYBYTES 112812 . 116144) (COPYCHARS 116146 . 119812) (COPYFILE 119814 . 120878) (\COPYOPENFILE 
-120880 . 124079) (\INFER.FILE.TYPE 124081 . 125035) (EOFP 125037 . 125334) (FORCEOUTPUT 125336 . 
-125583) (\FLUSH.OPEN.STREAMS 125585 . 125941) (CHARSET 125943 . 127302) (ACCESS-CHARSET 127304 . 
-127832) (GETEOFPTR 127834 . 128084) (GETFILEINFO 128086 . 131279) (\TYPE.FROM.FILETYPE 131281 . 131751
-) (\FILETYPE.FROM.TYPE 131753 . 131932) (GETFILEPTR 131934 . 132186) (SETFILEINFO 132188 . 136294) (
-SETFILEPTR 136296 . 138015) (BOUT16 138017 . 138202) (BIN16 138204 . 138393)) (138498 145152 (
-\GENERIC.BINS 138508 . 138788) (\GENERIC.BOUTS 138790 . 139055) (\GENERIC.RENAMEFILE 139057 . 140888) 
-(\GENERIC.OPENP 140890 . 142205) (\GENERIC.READP 142207 . 143359) (\GENERIC.CHARSET 143361 . 145150)) 
-(145153 145492 (\MAP-OPEN-STREAMS 145163 . 145490)) (147347 149427 (\EOF.ACTION 147357 . 147608) (
-\EOSERROR 147610 . 147803) (\GETEOFPTR 147805 . 147987) (\INCFILEPTR 147989 . 148339) (\PEEKBIN 148341
- . 148532) (\SETCLOSEDFILELENGTH 148534 . 148868) (\SETEOFPTR 148870 . 149058) (\SETFILEPTR 149060 . 
-149425)) (149428 149970 (\FIXPOUT 149438 . 149738) (\FIXPIN 149740 . 149968)) (149971 150537 (\BOUTEOL
- 149981 . 150535)) (153433 163297 (\BUFFERED.BIN 153443 . 154295) (\BUFFERED.PEEKBIN 154297 . 155079) 
-(\BUFFERED.BOUT 155081 . 155941) (\BUFFERED.BINS 155943 . 159628) (\BUFFERED.BOUTS 159630 . 161431) (
-\BUFFERED.COPYBYTES 161433 . 163295)))))
+  (FILEMAP (NIL (27711 31827 (STREAMPROP 27721 . 28155) (GETSTREAMPROP 28157 . 28906) (PUTSTREAMPROP 
+28908 . 31675) (STREAMP 31677 . 31825)) (31870 35249 (\DEFPRINT.BY.NAME 31880 . 33032) (
+\STREAM.DEFPRINT 33034 . 34942) (\FDEV.DEFPRINT 34944 . 35247)) (35507 40548 (\GETACCESS 35517 . 35971
+) (\SETACCESS 35973 . 40546)) (60774 66743 (\DEFINEDEVICE 60784 . 63100) (\GETDEVICEFROMNAME 63102 . 
+63575) (\GETDEVICEFROMHOSTNAME 63577 . 64621) (\REMOVEDEVICE 64623 . 65746) (\REMOVEDEVICE.NAMES 65748
+ . 66741)) (66783 93012 (\CLOSEFILE 66793 . 67618) (\DELETEFILE 67620 . 67914) (\DEVICEEVENT 67916 . 
+69686) (\GENERATEFILES 69688 . 70635) (\GENERATENEXTFILE 70637 . 71288) (\GENERATEFILEINFO 71290 . 
+71751) (\GETFILENAME 71753 . 72142) (\GENERIC.OUTFILEP 72144 . 72614) (\OPENFILE 72616 . 75194) (
+\DO.PARAMS.AT.OPEN 75196 . 78422) (\RENAMEFILE 78424 . 78848) (\REVALIDATEFILE 78850 . 81452) (
+\PAGED.REVALIDATEFILELST 81454 . 83012) (\PAGED.REVALIDATEFILES 83014 . 84733) (\PAGED.REVALIDATEFILE 
+84735 . 87018) (\BUFFERED.REVALIDATEFILE 87020 . 89306) (\BUFFERED.REVALIDATEFILELST 89308 . 90492) (
+\PRINT-REVALIDATION-RESULT 90494 . 91336) (\TRUNCATEFILE 91338 . 91729) (\FILE-CONFLICT 91731 . 93010)
+) (93048 97711 (\GENERATENOFILES 93058 . 95154) (\NULLFILEGENERATOR 95156 . 95400) (\NOFILESNEXTFILEFN
+ 95402 . 97393) (\NOFILESINFOFN 97395 . 97709)) (97830 99738 (\FILE.NOT.OPEN 97840 . 98353) (
+\FILE.WONT.OPEN 98355 . 98683) (\ILLEGAL.DEVICEOP 98685 . 98967) (\IS.NOT.RANDACCESSP 98969 . 99415) (
+\STREAM.NOT.OPEN 99417 . 99736)) (99873 102171 (\FDEVINSTANCE 99883 . 102169)) (103373 110747 (CNDIR 
+103383 . 104688) (DIRECTORYNAME 104690 . 108873) (DIRECTORYNAMEP 108875 . 109491) (HOSTNAMEP 109493 . 
+110300) (\ADD.CONNECTED.DIR 110302 . 110745)) (110792 139071 (\BACKFILEPTR 110802 . 110990) (
+\BACKPEEKBIN 110992 . 111353) (\BACKBIN 111355 . 111706) (BIN 111708 . 111925) (\BIN 111927 . 112204) 
+(\BINS 112206 . 112492) (BOUT 112494 . 112856) (\BOUT 112858 . 113173) (\BOUTS 113175 . 113486) (
+COPYBYTES 113488 . 116820) (COPYCHARS 116822 . 120488) (COPYFILE 120490 . 121554) (\COPYOPENFILE 
+121556 . 124755) (\INFER.FILE.TYPE 124757 . 125711) (EOFP 125713 . 126010) (FORCEOUTPUT 126012 . 
+126259) (\FLUSH.OPEN.STREAMS 126261 . 126617) (CHARSET 126619 . 127978) (ACCESS-CHARSET 127980 . 
+128508) (GETEOFPTR 128510 . 128760) (GETFILEINFO 128762 . 131955) (\TYPE.FROM.FILETYPE 131957 . 132427
+) (\FILETYPE.FROM.TYPE 132429 . 132608) (GETFILEPTR 132610 . 132862) (SETFILEINFO 132864 . 136970) (
+SETFILEPTR 136972 . 138691) (BOUT16 138693 . 138878) (BIN16 138880 . 139069)) (139174 145828 (
+\GENERIC.BINS 139184 . 139464) (\GENERIC.BOUTS 139466 . 139731) (\GENERIC.RENAMEFILE 139733 . 141564) 
+(\GENERIC.OPENP 141566 . 142881) (\GENERIC.READP 142883 . 144035) (\GENERIC.CHARSET 144037 . 145826)) 
+(145829 146168 (\MAP-OPEN-STREAMS 145839 . 146166)) (148023 150103 (\EOF.ACTION 148033 . 148284) (
+\EOSERROR 148286 . 148479) (\GETEOFPTR 148481 . 148663) (\INCFILEPTR 148665 . 149015) (\PEEKBIN 149017
+ . 149208) (\SETCLOSEDFILELENGTH 149210 . 149544) (\SETEOFPTR 149546 . 149734) (\SETFILEPTR 149736 . 
+150101)) (150104 150646 (\FIXPOUT 150114 . 150414) (\FIXPIN 150416 . 150644)) (150647 151213 (\BOUTEOL
+ 150657 . 151211)) (154109 163973 (\BUFFERED.BIN 154119 . 154971) (\BUFFERED.PEEKBIN 154973 . 155755) 
+(\BUFFERED.BOUT 155757 . 156617) (\BUFFERED.BINS 156619 . 160304) (\BUFFERED.BOUTS 160306 . 162107) (
+\BUFFERED.COPYBYTES 162109 . 163971)))))
 STOP
diff --git a/sources/FILEIO.LCOM b/sources/FILEIO.LCOM
index 64e52f7a..2335eb04 100644
Binary files a/sources/FILEIO.LCOM and b/sources/FILEIO.LCOM differ
