diff --git a/lispusers/ISO8859IO b/lispusers/ISO8859IO
index 809d08d8..da16ac65 100644
--- a/lispusers/ISO8859IO
+++ b/lispusers/ISO8859IO
@@ -1,26 +1,27 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 1-Feb-2026 13:03:18" {WMEDLEY}<lispusers>ISO8859IO.;19 23459  
+(FILECREATED "22-Feb-2026 12:22:12" {WMEDLEY}<lispusers>ISO8859IO.;22 21861  
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \MAKERECODEMAP MAKEISOFORMAT \8859OUTCHARFN \8859INCCODEFN \8859PEEKCCODEFN)
+      :CHANGES-TO (FNS ISO1TOMSTRING MTOISO1STRING)
                   (VARS ISO8859IOCOMS)
 
-      :PREVIOUS-DATE " 8-Aug-2021 13:22:31" {WMEDLEY}<lispusers>ISO8859IO.;11)
+      :PREVIOUS-DATE " 2-Feb-2026 23:20:20" {WMEDLEY}<lispusers>ISO8859IO.;20)
 
 
 (PRETTYCOMPRINT ISO8859IOCOMS)
 
 (RPAQQ ISO8859IOCOMS
        (
-        (* ;; "This package defines EXTERNALFORMATS for files that are encoded in either ISO8859/1, the standard IBM extended ascii, or the usual MAC encoding.")
+        (* ;; "This package defines EXTERNALFORMATS for files that are encoded in ISIO8859/1, the standard IBM extended ascii, or the legacy MAC encoding.")
 
-        (COMS                                                (* ; "ISO8859/1")
-              (FNS \8859OUTCHARFN \8859INCCODEFN \8859PEEKCCODEFN)
-              (GLOBALVARS *MCCSTOISO8859MAP* *ISO8859TOMCCSMAP*)
-              (FNS MAKEISOFORMAT)
-              (P (MAKEISOFORMAT)))
+        [COMS                                                (* ; "ISO8859/1")
+              (FNS ISO1TOMCODE MTOISO1CODE \CREATE.ISO1.FORMAT)
+              (FNS ISO1TOMSTRING MTOISO1STRING)
+              (VARS ISO1TOMCCS)
+              (GLOBALVARS ISO1TOMCCS)
+              (DECLARE%: DONTEVAL@LOAD DOCOPY (P (\CREATE.ISO1.FORMAT]
         (COMS                                                (* ; "IBM-PC Extended Ascii")
               (FNS \IBMOUTCHARFN \IBMINCCODEFN \IBMPEEKCCODEFN)
               (GLOBALVARS *XEROXTOIBMMAP* *IBMTOXEROXMAP*)
@@ -37,7 +38,7 @@
 
 
 (* ;; 
-"This package defines EXTERNALFORMATS for files that are encoded in either ISO8859/1, the standard IBM extended ascii, or the usual MAC encoding."
+"This package defines EXTERNALFORMATS for files that are encoded in ISIO8859/1, the standard IBM extended ascii, or the legacy MAC encoding."
 )
 
 
@@ -47,152 +48,150 @@
 
 (DEFINEQ
 
-(\8859OUTCHARFN
-  [LAMBDA (STREAM CHARCODE)
-    (DECLARE (GLOBALVARS *XEROXTOISO8859MAP*))               (* ; "Edited  1-Feb-2026 10:11 by rmk")
-                                                            (* ; "Edited  8-Aug-2021 13:21 by rmk:")
-                                                             (* ; "Edited  7-Dec-95 14:34 by ")
-                                                             (* ; "Edited  7-Dec-95 14:32 by ")
+(ISO1TOMCODE
+  [LAMBDA (ICODE)                                            (* ; "Edited  5-Feb-2026 12:09 by rmk")
+                                                             (* ; "Edited  2-Feb-2026 23:14 by rmk")
+                                                             (* ; "Edited  7-Sep-2025 22:39 by rmk")
+                                                             (* ; "Edited  3-Sep-2025 10:21 by rmk")
+                                                             (* ; "Edited  7-Aug-2025 09:37 by rmk")
 
-    (* ;; "Converts CHARCODE from internal encoding to ISO8859 before printing.")
+    (* ;; "ISO codes are 8bit, MCODES maybe not. Caller shouldn't pass a fat code.")
 
-    (* ;; "Unconverted codes are left unchanged (no error).")
+    (OR [CAR (find PAIR in ISO1TOMCCS suchthat (EQ ICODE (CADR PAIR]
+        ICODE])
 
-    (* ;; "If any remaining codes are out of charset 0, the streams external format will be used. ")
+(MTOISO1CODE
+  [LAMBDA (MCODE)                                            (* ; "Edited  5-Feb-2026 12:26 by rmk")
+                                                             (* ; "Edited  2-Feb-2026 22:58 by rmk")
+    (OR (CADR (ASSOC MCODE ISO1TOMCCS))
+        MCODE])
 
-    (IF (EQ CHARCODE (CHARCODE EOL))
-        THEN (FREPLACE (STREAM CHARPOSITION) OF STREAM WITH 0)
-             (\BOUTEOL STREAM)
-      ELSE (CHANGE (FFETCH (STREAM CHARPOSITION) OF STREAM)
-                  (IPLUS16 1 DATUM))
-           (\BOUT STREAM (IF (IGREATERP CHARCODE 127)
-                             THEN 
-
-                                 (* ;; "We know that ISO doesn't have floating accents, so only singletons are returned.  We also know that it agrees with MCCS on first 128, except for cirumflex and underscore")
-
-                                  (\RECODECCODE CHARCODE *MCCSTOISO8859MAP*)
-                           ELSE CHARCODE])
-
-(\8859INCCODEFN
-  [LAMBDA (STRM COUNTP)                                      (* ; "Edited  1-Feb-2026 10:10 by rmk")
-                                                            (* ; "Edited  6-Aug-2021 16:10 by rmk:")
-                                                             (* ; "Edited  7-Dec-95 15:24 by ")
-                                                             (* ; "Edited  7-Dec-95 15:19 by ")
-    (DECLARE (USEDFREE *BYTECOUNTER*))
-    (CL:WHEN COUNTP (SETQ *BYTECOUNTER* 1))
-    (\RECODECCODE (\BIN STRM)
-           *ISO8859TOMCCSMAP*])
-
-(\8859PEEKCCODEFN
-  [LAMBDA (STRM NOERROR)                                     (* ; "Edited  1-Feb-2026 10:10 by rmk")
-                                                            (* ; "Edited  5-May-2021 17:44 by rmk:")
-                                                             (* ; "Edited  3-Jan-96 14:21 by ")
-                                                             (* ; "Edited  7-Dec-95 15:51 by ")
-                                                             (* ; "Edited  7-Dec-95 15:19 by ")
-    (\RECODECCODE (\PEEKCCODE STRM NOERROR)
-           *ISO8859TOMCCSMAP*])
-)
-(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(GLOBALVARS *MCCSTOISO8859MAP* *ISO8859TOMCCSMAP*)
-)
-(DEFINEQ
-
-(MAKEISOFORMAT
-  [LAMBDA NIL                                                (* ; "Edited  1-Feb-2026 11:18 by rmk")
+(\CREATE.ISO1.FORMAT
+  [LAMBDA NIL                                                (* ; "Edited  5-Feb-2026 10:42 by rmk")
+                                                             (* ; "Edited  2-Feb-2026 23:37 by rmk")
+                                                             (* ; "Edited  1-Feb-2026 11:18 by rmk")
                                                             (* ; "Edited  5-Aug-2021 22:15 by rmk:")
                                                              (* ; "Edited  9-Mar-99 17:19 by rmk:")
                                                              (* ; "Edited  7-Dec-95 16:24 by ")
                                                              (* ; "Edited  7-Dec-95 16:20 by ")
-    (LET [(MCCSTOISO '(("0,255" "0,136")
-                       ("0,254" "0,137")
-                       ("357,41" "0,240")
-                       ("357,153" "0,246")
-                       ("43,42" "0,250")
-                       ("0,323" "0,251")
-                       ("0,343" "0,252")
-                       ("357,152" "0,254")
-                       ("357,43" "0,255")
-                       ("0,322" "0,256")
-                       ("43,176" "0,257")
-                       ("43,47" "0,264")
-                       ("0,313" "0,270")
-                       ("0,321" "0,271")
-                       ("0,353" "0.272")
-                       ("361,41" "0,300")
-                       ("361,42" "0,301")
-                       ("361,43" "0,302")
-                       ("361,44" "0,303")
-                       ("361,47" "0,304")
-                       ("361,50" "0,305")
-                       ("0,341" "0,306")
-                       ("361,55" "0,307")
-                       ("361,60" "0,310")
-                       ("361,61" "0,311")
-                       ("361,62" "0,312")
-                       ("361,65" "0,313")
-                       ("361,76" "0,314")
-                       ("361,77" "0,315")
-                       ("361,100" "0,316")
-                       ("361,104" "0,317")
-                       ("0,342" "0,320")
-                       ("361,114" "0,321")
-                       ("361,117" "0,322")
-                       ("361,120" "0,323")
-                       ("361,121" "0,324")
-                       ("361,122" "0,325")
-                       ("361,124" "0,326")
-                       ("0,264" "0,327")
-                       ("0,351" "0,330")
-                       ("361,137" "0,331")
-                       ("361,140" "0,332")
-                       ("361,141" "0,333")
-                       ("361,145" "0,334")
-                       ("361,153" "0,335")
-                       ("0,354" "0,336")
-                       ("0,373" "0,337")
-                       ("361,241" "0,340")
-                       ("361,242" "0,341")
-                       ("361,243" "0,342")
-                       ("361,244" "0,343")
-                       ("361,247" "0,344")
-                       ("361,250" "0,345")
-                       ("0,361" "0,346")
-                       ("361,255" "0,347")
-                       ("361,260" "0,350")
-                       ("361,261" "0,351")
-                       ("361,262" "0,352")
-                       ("361,265" "0,353")
-                       ("361,276" "0,354")
-                       ("361,277" "0,355")
-                       ("361,300" "0,356")
-                       ("361,304" "0,357")
-                       ("0,363" "0,360")
-                       ("361,314" "0,361")
-                       ("361,317" "0,362")
-                       ("361,320" "0,363")
-                       ("361,321" "0,364")
-                       ("361,322" "0,365")
-                       ("361,324" "0,366")
-                       ("0,270" "0,367")
-                       ("0,371" "0,370")
-                       ("361,337" "0,371")
-                       ("361,340" "0,372")
-                       ("361,341" "0,373")
-                       ("361,345" "0,374")
-                       ("361,353" "0,375")
-                       ("0,374" "0,376")
-                       ("361,355" "0,377")
-                       ("361,155" "Meta,170"]
-         (SETQ *MCCSTOISO8859MAP* (\MAKERECODEMAP MCCSTOISO))
-         (SETQ *ISO8859TOMCCSMAP* (\MAKERECODEMAP MCCSTOISO T)))
-    (MAKE-EXTERNALFORMAT :ISO8859/1 (FUNCTION \8859INCCODEFN)
-           (FUNCTION \8859PEEKCCODEFN)
-           (FUNCTION \COMMONBACKCCODEFN)
-           (FUNCTION \8859OUTCHARFN])
+    (MAKE-EXTERNALFORMAT :ISO8859/1 [FUNCTION (LAMBDA (STREAM COUNTP)
+                                                (ISO1TOMCODE (\THROUGHIN STREAM COUNTP]
+           [FUNCTION (LAMBDA (STREAM NOERRORFLG)
+                       (ISO1TOMCODE (\PEEKBIN STREAM NOERRORFLG]
+           (FUNCTION \THROUGHBACKCCODE)
+           (FUNCTION NILL)
+           (FUNCTION NILL)
+           NIL NIL (FUNCTION MTOISO1STRING)
+           NIL
+           (FUNCTION NILL)
+           (FUNCTION ISO1TOMSTRING])
+)
+(DEFINEQ
+
+(ISO1TOMSTRING
+  [LAMBDA (ISTRING DESTRUCTIVE)                              (* ; "Edited 22-Feb-2026 12:21 by rmk")
+                                                             (* ; "Edited  5-Feb-2026 11:01 by rmk")
+                                                             (* ; "Edited  2-Feb-2026 23:46 by rmk")
+                                                             (* ; "Edited  2-Sep-2025 12:14 by rmk")
+                                                             (* ; "Edited 29-Apr-2025 13:08 by rmk")
+
+    (* ;; "Converts ISO8859/1 codes to MCCS codes in MSTRING.")
+
+    (for I ICODE (MSTRING _ (CL:IF DESTRUCTIVE
+                                ISTRING
+                                (CONCAT ISTRING))) from 1 while (SETQ ICODE (NTHCHARCODE ISTRING I))
+       do (RPLCHARCODE MSTRING I (ISO1TOMCODE ICODE)) finally (RETURN MSTRING])
+
+(MTOISO1STRING
+  [LAMBDA (MSTRING DESTRUCTIVE)                              (* ; "Edited 22-Feb-2026 12:22 by rmk")
+                                                             (* ; "Edited  2-Feb-2026 23:47 by rmk")
+                                                             (* ; "Edited  2-Sep-2025 12:22 by rmk")
+                                                             (* ; "Edited 29-Apr-2025 13:08 by rmk")
+
+    (* ;; "Converts MCCS to ISO8859/1 codes in MSTRING.")
+
+    (for I MCODE (ISTRING _ (CL:IF DESTRUCTIVE
+                                MSTRING
+                                (CONCAT MSTRING))) from 1 while (SETQ MCODE (NTHCHARCODE MSTRING I))
+       do (RPLCHARCODE ISTRING I (MTOISO1CODE MCODE)) finally (RETURN ISTRING])
 )
 
-(MAKEISOFORMAT)
+(RPAQQ ISO1TOMCCS
+       ((94 8593)
+        (95 8592)
+        (169 8216)
+        (170 8220)
+        (172 95)
+        (173 94)
+        (174 8594)
+        (175 8595)
+        (180 215)
+        (184 247)
+        (185 8217)
+        (186 8221)
+        (193 768)
+        (194 769)
+        (195 770)
+        (196 771)
+        (197 772)
+        (198 774)
+        (199 775)
+        (200 776)
+        (202 778)
+        (203 807)
+        (204 818)
+        (205 779)
+        (206 808)
+        (207 780)
+        (208 8213)
+        (209 185)
+        (210 174)
+        (211 169)
+        (212 8482)
+        (213 9834)
+        (220 8539)
+        (221 8540)
+        (222 8541)
+        (223 8542)
+        (224 8486)
+        (225 198)
+        (226 208)
+        (227 170)
+        (228 294)
+        (229 567)
+        (230 306)
+        (231 319)
+        (232 321)
+        (233 216)
+        (234 338)
+        (235 186)
+        (236 222)
+        (237 358)
+        (238 330)
+        (239 329)
+        (240 312)
+        (241 230)
+        (242 273)
+        (243 240)
+        (244 295)
+        (245 305)
+        (246 307)
+        (247 320)
+        (248 322)
+        (249 248)
+        (250 339)
+        (251 223)
+        (252 254)
+        (253 359)
+        (254 331)))
+(DECLARE%: DOEVAL@COMPILE DONTCOPY
+
+(GLOBALVARS ISO1TOMCCS)
+)
+(DECLARE%: DONTEVAL@LOAD DOCOPY 
+
+(\CREATE.ISO1.FORMAT)
+)
 
 
 
@@ -553,10 +552,10 @@
              CODE])
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (1840 4502 (\8859OUTCHARFN 1850 . 3287) (\8859INCCODEFN 3289 . 3879) (\8859PEEKCCODEFN 
-3881 . 4500)) (4592 8848 (MAKEISOFORMAT 4602 . 8846)) (8908 10826 (\IBMOUTCHARFN 8918 . 9721) (
-\IBMINCCODEFN 9723 . 10204) (\IBMPEEKCCODEFN 10206 . 10824)) (10910 14441 (MAKEIBMFORMAT 10920 . 14439
-)) (14489 16336 (\MACOUTCHARFN 14499 . 15556) (\MACINCCODEFN 15558 . 15922) (\MACPEEKCCODEFN 15924 . 
-16334)) (16420 20973 (MAKEMACFORMAT 16430 . 20971)) (21040 23436 (\COMMONBACKCCODEFN 21050 . 21420) (
-\MAKERECODEMAP 21422 . 22989) (\RECODECCODE 22991 . 23434)))))
+  (FILEMAP (NIL (1834 4154 (ISO1TOMCODE 1844 . 2593) (MTOISO1CODE 2595 . 2885) (\CREATE.ISO1.FORMAT 2887
+ . 4152)) (4155 5904 (ISO1TOMSTRING 4165 . 5090) (MTOISO1STRING 5092 . 5902)) (7310 9228 (
+\IBMOUTCHARFN 7320 . 8123) (\IBMINCCODEFN 8125 . 8606) (\IBMPEEKCCODEFN 8608 . 9226)) (9312 12843 (
+MAKEIBMFORMAT 9322 . 12841)) (12891 14738 (\MACOUTCHARFN 12901 . 13958) (\MACINCCODEFN 13960 . 14324) 
+(\MACPEEKCCODEFN 14326 . 14736)) (14822 19375 (MAKEMACFORMAT 14832 . 19373)) (19442 21838 (
+\COMMONBACKCCODEFN 19452 . 19822) (\MAKERECODEMAP 19824 . 21391) (\RECODECCODE 21393 . 21836)))))
 STOP
diff --git a/lispusers/ISO8859IO.LCOM b/lispusers/ISO8859IO.LCOM
index 30f45446..7db674a3 100644
Binary files a/lispusers/ISO8859IO.LCOM and b/lispusers/ISO8859IO.LCOM differ
