diff --git a/sources/EXTERNALFORMAT b/sources/EXTERNALFORMAT
index 452ec1e9..149e9688 100644
--- a/sources/EXTERNALFORMAT
+++ b/sources/EXTERNALFORMAT
@@ -1,13 +1,10 @@
-(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
+(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT UTF-8)
 
-(FILECREATED " 9-Feb-2026 15:54:22" {WMEDLEY}<sources>EXTERNALFORMAT.;120 47422  
+(FILECREATED "20-Feb-2026 09:18:35" {WMEDLEY}<sources>EXTERNALFORMAT.;123 51558  
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (VARS EXTERNALFORMATCOMS)
-                  (FNS \CREATE.THROUGH16.EXTERNALFORMAT \CREATE.THROUGH.EXTERNALFORMAT)
-
-      :PREVIOUS-DATE " 6-Feb-2026 23:21:32" {WMEDLEY}<sources>EXTERNALFORMAT.;116)
+      :PREVIOUS-DATE "19-Feb-2026 13:32:00" {WMEDLEY}<sources>EXTERNALFORMAT.;122)
 
 
 (PRETTYCOMPRINT EXTERNALFORMATCOMS)
@@ -23,9 +20,6 @@
               (EXPORT (GLOBALVARS *EXTERNALFORMATS* *DEFAULT-EXTERNALFORMAT*))
               (INITVARS (*EXTERNALFORMATS* NIL)
                      (*DEFAULT-EXTERNALFORMAT* :MCCS))
-              (COMS (FNS SYSTEM-EXTERNALFORMAT MTOSYSSTRING SYSTOMSTRING)
-                    (EXPORT (GLOBALVARS *SYSTEM-EXTERNALFORMAT*))
-                    (INITVARS (*SYSTEM-EXTERNALFORMAT* :UTF-8)))
               (DECLARE%: DONTEVAL@LOAD DOCOPY (P (DEFPRINT 'EXTERNALFORMAT (FUNCTION 
                                                                              \EXTERNALFORMAT.DEFPRINT
                                                                                   ]
@@ -41,6 +35,13 @@
         [COMS                                                (* ; "NULL device, from FILEIO")
               (FNS \NULLDEVICE \NULL.OPENFILE)
               (DECLARE%: DONTEVAL@LOAD DOCOPY (P (\NULLDEVICE]
+        [COMS                                                (* ; "ISO8859/1")
+              (FNS ISO1TOMCODE MTOISO1CODE \CREATE.ISO1.FORMAT \DUMMY-UTF8-FORMAT)
+              (FNS ISO1TOMSTRING MTOISO1STRING)
+              (VARS ISO1TOMCCS)
+              (GLOBALVARS ISO1TOMCCS)
+              (DECLARE%: DONTEVAL@LOAD DOCOPY (P (\CREATE.ISO1.FORMAT)
+                                                 (\DUMMY-UTF8-FORMAT]
         (COMS 
               (* ;; "Also from FILEIO.")
 
@@ -243,18 +244,18 @@
                   (NIL)
                   (SHOULDNT)))
     (\INSTALL.EXTERNALFORMAT (CREATE EXTERNALFORMAT
-                                    NAME _ NAME
-                                    INCCODEFN _ INCCODEFN
-                                    PEEKCCODEFN _ PEEKCCODEFN
-                                    BACKCCODEFN _ BACKCCODEFN
-                                    OUTCHARFN _ OUTCHARFN
-                                    FORMATBYTESTREAMFN _ FORMATBYTESTREAMFN
-                                    EOLVALID _ EOL
-                                    EOL _ (OR EOL LF.EOLC)
-                                    UNSTABLE _ UNSTABLE
-                                    MCCSTOFORMATBYTESFN _ MCCSTOFORMATBYTESFN
-                                    FORMATBYTESTOMCCSFN _ FORMATBYTESTOMCCSFN
-                                    FORMATCHARSETFN _ (OR FORMATCHARSETFN (FUNCTION NILL])
+                                    NAME ← NAME
+                                    INCCODEFN ← INCCODEFN
+                                    PEEKCCODEFN ← PEEKCCODEFN
+                                    BACKCCODEFN ← BACKCCODEFN
+                                    OUTCHARFN ← OUTCHARFN
+                                    FORMATBYTESTREAMFN ← FORMATBYTESTREAMFN
+                                    EOLVALID ← EOL
+                                    EOL ← (OR EOL LF.EOLC)
+                                    UNSTABLE ← UNSTABLE
+                                    MCCSTOFORMATBYTESFN ← MCCSTOFORMATBYTESFN
+                                    FORMATBYTESTOMCCSFN ← FORMATBYTESTOMCCSFN
+                                    FORMATCHARSETFN ← (OR FORMATCHARSETFN (FUNCTION NILL])
 
 (\EXTERNALFORMAT.DEFPRINT
   [LAMBDA (EXTERNALFORMAT STREAM)                            (* ; "Edited  2-Jul-2022 11:40 by rmk")
@@ -268,7 +269,7 @@
 (DEFINEQ
 
 (\INSTALL.EXTERNALFORMAT
-  [LAMBDA (EXTFORMAT/NAME EXTERNALFORMAT)               (* ; "Edited  5-Aug-2021 14:22 by rmk:")
+  [LAMBDA (EXTFORMAT/NAME EXTERNALFORMAT)                   (* ; "Edited  5-Aug-2021 14:22 by rmk:")
 
 (* ;;; "Register an instance of the datatype EXTERNALFORMAT.")
 
@@ -277,25 +278,23 @@
     (LET (NAME)
          (IF EXTERNALFORMAT
              THEN 
+                  (* ;; "Backwards compatibility")
 
-                   (* ;; "Backwards compatibility")
-
-                   (SETQ NAME (MKATOM EXTFORMAT/NAME))
-                   (IF (EQ NAME (FETCH (EXTERNALFORMAT NAME) OF EXTERNALFORMAT))
-                     ELSEIF (FETCH (EXTERNALFORMAT NAME) OF EXTERNALFORMAT)
-                       THEN (ERROR "Mismatch of specified name and name of the external format")
-                     ELSE (REPLACE (EXTERNALFORMAT NAME) OF EXTERNALFORMAT WITH
-                                                                                       NAME))
+                  (SETQ NAME (MKATOM EXTFORMAT/NAME))
+                  (IF (EQ NAME (FETCH (EXTERNALFORMAT NAME) OF EXTERNALFORMAT))
+                    ELSEIF (FETCH (EXTERNALFORMAT NAME) OF EXTERNALFORMAT)
+                      THEN (ERROR "Mismatch of specified name and name of the external format")
+                    ELSE (REPLACE (EXTERNALFORMAT NAME) OF EXTERNALFORMAT WITH NAME))
            ELSE (SETQ EXTERNALFORMAT EXTFORMAT/NAME)
-                 (SETQ NAME (FETCH (EXTERNALFORMAT NAME) OF EXTERNALFORMAT)))
+                (SETQ NAME (FETCH (EXTERNALFORMAT NAME) OF EXTERNALFORMAT)))
          (IF (type? EXTERNALFORMAT EXTERNALFORMAT)
              THEN (\REMOVE.EXTERNALFORMAT NAME)
-                   (push *EXTERNALFORMATS* EXTERNALFORMAT)
+                  (push *EXTERNALFORMATS* EXTERNALFORMAT)
            ELSE (ERROR "INVALID EXTERNALFORMAT " EXTERNALFORMAT))
          EXTERNALFORMAT])
 
 (\REMOVE.EXTERNALFORMAT
-  [LAMBDA (NAME/EXTFORMAT)                              (* ; "Edited  5-May-2021 15:42 by rmk:")
+  [LAMBDA (NAME/EXTFORMAT)                                  (* ; "Edited  5-May-2021 15:42 by rmk:")
 
 (* ;;; "Deregisters external format EXTERNALFORMAT .")
 
@@ -303,9 +302,8 @@
                              THEN (FETCH (EXTERNALFORMAT NAME) OF NAME/EXTFORMAT)
                            ELSE (MKATOM NAME/EXTFORMAT)))
     (SETQ *EXTERNALFORMATS* (DREMOVE (FIND EF IN *EXTERNALFORMATS*
-                                        SUCHTHAT (EQ NAME/EXTFORMAT (FETCH (EXTERNALFORMAT
-                                                                                    NAME)
-                                                                           OF EF)))
+                                        SUCHTHAT (EQ NAME/EXTFORMAT (FETCH (EXTERNALFORMAT NAME)
+                                                                       OF EF)))
                                    *EXTERNALFORMATS*])
 
 (FIND-FORMAT
@@ -330,41 +328,6 @@
 (RPAQ? *EXTERNALFORMATS* NIL)
 
 (RPAQ? *DEFAULT-EXTERNALFORMAT* :MCCS)
-(DEFINEQ
-
-(SYSTEM-EXTERNALFORMAT
-  [LAMBDA NIL                                                (* ; "Edited  6-Feb-2026 11:29 by rmk")
-                                                             (* ; "Edited 31-Jan-2026 18:51 by rmk")
-                                                             (* ; "Edited 10-Oct-2022 11:55 by lmm")
-                                                             (* ; "Edited  7-Jul-2022 10:41 by rmk")
-
-    (* ;; "Returns the name, sets the global.  For now, UTF-8 or through, could be something else.")
-
-    (fetch (EXTERNALFORMAT NAME) of (SETQ *SYSTEM-EXTERNALFORMAT*
-                                     (FIND-FORMAT (FOR X IN '("LC�CTYPE" "LC�ALL" "LANG")
-                                                     WHEN (STRPOS ".UTF-8" (UNIX-GETENV X))
-                                                     DO (RETURN :UTF-8) FINALLY (RETURN :THROUGH])
-
-(MTOSYSSTRING
-  [LAMBDA (MSTRING)                                          (* ; "Edited  6-Feb-2026 00:20 by rmk")
-    (MCCSTOFORMATBYTES *SYSTEM-EXTERNALFORMAT* (MKSTRING MSTRING])
-
-(SYSTOMSTRING
-  [LAMBDA (SYSTRING)                                         (* ; "Edited  5-Feb-2026 23:36 by rmk")
-
-    (* ;; "SYSSTRING is presumably shared with Unix, guarantee a copy on the way out")
-
-    (CONCAT (FORMATBYTESTOMCCS *SYSTEM-EXTERNALFORMAT* SYSTRING])
-)
-(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: DOEVAL@COMPILE DONTCOPY
-
-(GLOBALVARS *SYSTEM-EXTERNALFORMAT*)
-)
-
-(* "END EXPORTED DEFINITIONS")
-
-
-(RPAQ? *SYSTEM-EXTERNALFORMAT* :UTF-8)
 (DECLARE%: DONTEVAL@LOAD DOCOPY 
 
 (DEFPRINT 'EXTERNALFORMAT (FUNCTION \EXTERNALFORMAT.DEFPRINT))
@@ -730,41 +693,41 @@
     (* ;; "Defines the NULL device, an infinite source or sink")
 
     (\DEFINEDEVICE 'NULL (create FDEV
-                                DEVICENAME _ 'NULL
-                                RANDOMACCESSP _ T
-                                NODIRECTORIES _ T
-                                CLOSEFILE _ (FUNCTION NILL)
-                                DELETEFILE _ (FUNCTION NILL)
-                                OPENFILE _ (FUNCTION \NULL.OPENFILE)
-                                REOPENFILE _ (FUNCTION \NULL.OPENFILE)
-                                BIN _ (FUNCTION \EOF.ACTION)
-                                BOUT _ (FUNCTION NILL)
-                                PEEKBIN _ [FUNCTION (LAMBDA (STREAM NOERRORFLG)
+                                DEVICENAME ← 'NULL
+                                RANDOMACCESSP ← T
+                                NODIRECTORIES ← T
+                                CLOSEFILE ← (FUNCTION NILL)
+                                DELETEFILE ← (FUNCTION NILL)
+                                OPENFILE ← (FUNCTION \NULL.OPENFILE)
+                                REOPENFILE ← (FUNCTION \NULL.OPENFILE)
+                                BIN ← (FUNCTION \EOF.ACTION)
+                                BOUT ← (FUNCTION NILL)
+                                PEEKBIN ← [FUNCTION (LAMBDA (STREAM NOERRORFLG)
                                                       (AND (NULL NOERRORFLG)
                                                            (BIN STREAM]
-                                READP _ (FUNCTION NILL)
-                                BACKFILEPTR _ (FUNCTION NILL)
-                                EOFP _ (FUNCTION TRUE)
-                                RENAMEFILE _ (FUNCTION NILL)
-                                GETFILENAME _ (FUNCTION NILL)
-                                EVENTFN _ (FUNCTION NILL)
-                                BLOCKIN _ (FUNCTION \EOF.ACTION)
-                                BLOCKOUT _ (FUNCTION NILL)
-                                GENERATEFILES _ (FUNCTION \NULLFILEGENERATOR)
-                                GETFILEPTR _ (FUNCTION ZERO)
-                                GETEOFPTR _ (FUNCTION ZERO)
-                                SETFILEPTR _ (FUNCTION NILL)
-                                GETFILEINFO _ (FUNCTION NILL)
-                                SETFILEINFO _ (FUNCTION NILL)
-                                SETEOFPTR _ (FUNCTION NILL])
+                                READP ← (FUNCTION NILL)
+                                BACKFILEPTR ← (FUNCTION NILL)
+                                EOFP ← (FUNCTION TRUE)
+                                RENAMEFILE ← (FUNCTION NILL)
+                                GETFILENAME ← (FUNCTION NILL)
+                                EVENTFN ← (FUNCTION NILL)
+                                BLOCKIN ← (FUNCTION \EOF.ACTION)
+                                BLOCKOUT ← (FUNCTION NILL)
+                                GENERATEFILES ← (FUNCTION \NULLFILEGENERATOR)
+                                GETFILEPTR ← (FUNCTION ZERO)
+                                GETEOFPTR ← (FUNCTION ZERO)
+                                SETFILEPTR ← (FUNCTION NILL)
+                                GETFILEINFO ← (FUNCTION NILL)
+                                SETFILEINFO ← (FUNCTION NILL)
+                                SETEOFPTR ← (FUNCTION NILL])
 
 (\NULL.OPENFILE
   [LAMBDA (NAME ACCESS RECOG PARAMETERS DEVICE OLDSTREAM)    (* bvm%: "30-Jan-85 22:05")
     (OR OLDSTREAM (create STREAM
-                         USERCLOSEABLE _ T
-                         ACCESS _ ACCESS
-                         FULLFILENAME _ NIL
-                         DEVICE _ DEVICE])
+                         USERCLOSEABLE ← T
+                         ACCESS ← ACCESS
+                         FULLFILENAME ← NIL
+                         DEVICE ← DEVICE])
 )
 (DECLARE%: DONTEVAL@LOAD DOCOPY 
 
@@ -773,6 +736,166 @@
 
 
 
+(* ; "ISO8859/1")
+
+(DEFINEQ
+
+(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")
+
+    (* ;; "ISO codes are 8bit, MCODES maybe not. Caller shouldn't pass a fat code.")
+
+    (OR [CAR (find PAIR in ISO1TOMCCS suchthat (EQ ICODE (CADR PAIR]
+        ICODE])
+
+(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])
+
+(\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 ")
+    (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])
+
+(\DUMMY-UTF8-FORMAT
+  [LAMBDA NIL                                                (* ; "Edited  5-Feb-2026 15:58 by rmk")
+                                                             (* ; "Edited  1-Feb-2026 13:16 by rmk")
+
+    (* ;; "Works only for 7-bit codes, during the loadup")
+
+    (\INSTALL.EXTERNALFORMAT (create EXTERNALFORMAT using (FIND-FORMAT :ISO8859/1)
+                                                          NAME ← :UTF-8])
+)
+(DEFINEQ
+
+(ISO1TOMSTRING
+  [LAMBDA (ISTRING DESTRUCTIVE)                              (* ; "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  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])
+)
+
+(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)
+
+(\DUMMY-UTF8-FORMAT)
+)
+
+
+
 (* ;; "Also from FILEIO.")
 
 (DEFINEQ
@@ -883,15 +1006,16 @@
 (\CREATE.THROUGH16.EXTERNALFORMAT)
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (7446 15343 (\EXTERNALFORMAT 7456 . 12055) (MAKE-EXTERNALFORMAT 12057 . 14870) (
-\EXTERNALFORMAT.DEFPRINT 14872 . 15341)) (15344 18385 (\INSTALL.EXTERNALFORMAT 15354 . 16803) (
-\REMOVE.EXTERNALFORMAT 16805 . 17636) (FIND-FORMAT 17638 . 18383)) (18628 20078 (SYSTEM-EXTERNALFORMAT
- 18638 . 19586) (MTOSYSSTRING 19588 . 19785) (SYSTOMSTRING 19787 . 20076)) (20442 34717 (\OUTCHAR 
-20452 . 21669) (\INCCODE 21671 . 22824) (\BACKCCODE 22826 . 24505) (\BACKCCODE.EOLC 24507 . 26697) (
-\PEEKCCODE 26699 . 27024) (\PEEKCCODE.EOLC 27026 . 27405) (\INCCODE.EOLC 27407 . 29206) (
-\FORMATBYTESTREAM 29208 . 31652) (\CHECKEOLC.CRLF 31654 . 34715)) (34718 38634 (MCCSTOFORMATBYTES 
-34728 . 37127) (FORMATBYTESTOMCCS 37129 . 38632)) (40045 42281 (\NULLDEVICE 40055 . 41957) (
-\NULL.OPENFILE 41959 . 42279)) (42371 47286 (\CREATE.THROUGH.EXTERNALFORMAT 42381 . 44050) (
-\CREATE.THROUGH16.EXTERNALFORMAT 44052 . 46243) (\THROUGHIN 46245 . 46669) (\THROUGHBACKCCODE 46671 . 
-46942) (\THROUGHOUTCHARFN 46944 . 47284)))))
+  (FILEMAP (NIL (7548 15469 (\EXTERNALFORMAT 7558 . 12157) (MAKE-EXTERNALFORMAT 12159 . 14996) (
+\EXTERNALFORMAT.DEFPRINT 14998 . 15467)) (15470 18335 (\INSTALL.EXTERNALFORMAT 15480 . 16837) (
+\REMOVE.EXTERNALFORMAT 16839 . 17586) (FIND-FORMAT 17588 . 18333)) (18753 33028 (\OUTCHAR 18763 . 
+19980) (\INCCODE 19982 . 21135) (\BACKCCODE 21137 . 22816) (\BACKCCODE.EOLC 22818 . 25008) (\PEEKCCODE
+ 25010 . 25335) (\PEEKCCODE.EOLC 25337 . 25716) (\INCCODE.EOLC 25718 . 27517) (\FORMATBYTESTREAM 27519
+ . 29963) (\CHECKEOLC.CRLF 29965 . 33026)) (33029 36945 (MCCSTOFORMATBYTES 33039 . 35438) (
+FORMATBYTESTOMCCS 35440 . 36943)) (38356 40650 (\NULLDEVICE 38366 . 40318) (\NULL.OPENFILE 40320 . 
+40648)) (40731 43542 (ISO1TOMCODE 40741 . 41490) (MTOISO1CODE 41492 . 41782) (\CREATE.ISO1.FORMAT 
+41784 . 43057) (\DUMMY-UTF8-FORMAT 43059 . 43540)) (43543 45078 (ISO1TOMSTRING 43553 . 44371) (
+MTOISO1STRING 44373 . 45076)) (46507 51422 (\CREATE.THROUGH.EXTERNALFORMAT 46517 . 48186) (
+\CREATE.THROUGH16.EXTERNALFORMAT 48188 . 50379) (\THROUGHIN 50381 . 50805) (\THROUGHBACKCCODE 50807 . 
+51078) (\THROUGHOUTCHARFN 51080 . 51420)))))
 STOP
diff --git a/sources/EXTERNALFORMAT.LCOM b/sources/EXTERNALFORMAT.LCOM
index 8a026d97..46992929 100644
Binary files a/sources/EXTERNALFORMAT.LCOM and b/sources/EXTERNALFORMAT.LCOM differ
diff --git a/sources/MCCS b/sources/MCCS
index 79e40bbf..685f3338 100644
--- a/sources/MCCS
+++ b/sources/MCCS
@@ -1,12 +1,10 @@
-(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
+(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT UTF-8)
 
-(FILECREATED " 5-Feb-2026 15:58:32" {WMEDLEY}<sources>MCCS.;163 65441  
+(FILECREATED "20-Feb-2026 09:21:16" {WMEDLEY}<sources>MCCS.;167 61063  
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \DUMMY-UTF8-FORMAT \CREATE.XCCS.EXTERNALFORMAT)
-
-      :PREVIOUS-DATE " 5-Feb-2026 12:26:39" {WMEDLEY}<sources>MCCS.;161)
+      :PREVIOUS-DATE "19-Feb-2026 13:32:23" {WMEDLEY}<sources>MCCS.;165)
 
 
 (PRETTYCOMPRINT MCCSCOMS)
@@ -57,14 +55,10 @@
              "Mappings into MCCS: needed for hardcopy and Tedit coercion, e.g. \TEDIT.MCCS.TRANSLATE")
 
                     (FNS GACHATOMCODE SYMBOLTOMCODE SIGMATOMCODE ATOMCODE MATHTOMCODE HIPPOTOMCODE 
-                         CYRILLICTOMCODE PALATINOTOMCODE)))
-        (COMS                                                (* ; "ISO8859/1")
-              (FNS ISO1TOMCODE MTOISO1CODE \CREATE.ISO1.FORMAT \DUMMY-UTF8-FORMAT)
-              (FNS ISO1TOMSTRING MTOISO1STRING)
-              (VARS ISO1TOMCCS)
-              (GLOBALVARS ISO1TOMCCS)
-              (DECLARE%: DONTEVAL@LOAD DOCOPY (P (\CREATE.ISO1.FORMAT)
-                                                 (\DUMMY-UTF8-FORMAT])
+                         CYRILLICTOMCODE PALATINOTOMCODE))
+              (COMS (FNS SYSTEM-EXTERNALFORMAT MTOSYSSTRING SYSTOMSTRING)
+                    (EXPORT (GLOBALVARS *SYSTEM-EXTERNALFORMAT*))
+                    (INITVARS (*SYSTEM-EXTERNALFORMAT* :UTF-8])
 
 
 
@@ -427,7 +421,7 @@
 
     (* ;; "Converts Unicodes to MCCS codes in XSTRING.")
 
-    (for I XCODE (MSTRING _ (CL:IF DESTRUCTIVE
+    (for I XCODE (MSTRING ← (CL:IF DESTRUCTIVE
                                 XSTRING
                                 (CONCAT XSTRING))) from 1 while (SETQ XCODE (NTHCHARCODE XSTRING I))
        do (RPLCHARCODE MSTRING I (XTOMCODE XCODE)) finally (RETURN MSTRING])
@@ -438,7 +432,7 @@
 
     (* ;; "Converts XCCS to MCCS codes in XSTRING.")
 
-    (for I MCODE (XSTRING _ (CL:IF DESTRUCTIVE
+    (for I MCODE (XSTRING ← (CL:IF DESTRUCTIVE
                                 MSTRING
                                 (CONCAT MSTRING))) from 1 while (SETQ MCODE (NTHCHARCODE MSTRING I))
        do (RPLCHARCODE XSTRING I (MTOXCODE MCODE)) finally (RETURN XSTRING])
@@ -500,12 +494,12 @@
        (
         (* ;; "From bravo doc")
 
-        (^N "356,055" MINUS)
-        (^V "357,44" ENDASH)
-        (^S EMDASH)
-        (^O EMQUAD)
-        (^X "356,055" MINUS)
-        (^Y FIGURESPACE ENQUAD)
+        (↑N "356,055" MINUS)
+        (↑V "357,44" ENDASH)
+        (↑S EMDASH)
+        (↑O EMQUAD)
+        (↑X "356,055" MINUS)
+        (↑Y FIGURESPACE ENQUAD)
         
         (* ;; "Fom current Helvetica/Timesroman fonts")
 
@@ -1388,7 +1382,7 @@
                                     [APPEND (XCCSUNDEFINEDPAIRS)
                                            '(((Uparrow TERMINAL)
                                               Circumflex)
-                                             (^X Lowline])
+                                             (↑X Lowline])
                              (ALTOTEXT (APPEND (XCCSUNDEFINEDPAIRS)
                                               ALTOTEXT2MCCS))
                              (XCCS$ '((Uparrow Circumflex)
@@ -1463,7 +1457,7 @@
 
     (* ;; "Gacha did not have a code for circumflex, so there is nothing to map")
 
-    (CL:IF (EQ GCODE (CHARCODE ^X))
+    (CL:IF (EQ GCODE (CHARCODE ↑X))
         (CHARCODE Lowline)
         GCODE)])
 
@@ -1541,178 +1535,52 @@
                         MCODE)))
         PCODE])
 )
-
-
-
-(* ; "ISO8859/1")
-
 (DEFINEQ
 
-(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")
+(SYSTEM-EXTERNALFORMAT
+  [LAMBDA NIL                                                (* ; "Edited  6-Feb-2026 11:29 by rmk")
+                                                             (* ; "Edited 31-Jan-2026 18:51 by rmk")
+                                                             (* ; "Edited 10-Oct-2022 11:55 by lmm")
+                                                             (* ; "Edited  7-Jul-2022 10:41 by rmk")
 
-    (* ;; "ISO codes are 8bit, MCODES maybe not. Caller shouldn't pass a fat code.")
+    (* ;; "Returns the name, sets the global.  For now, UTF-8 or through, could be something else.")
 
-    (OR [CAR (find PAIR in ISO1TOMCCS suchthat (EQ ICODE (CADR PAIR]
-        ICODE])
+    (fetch (EXTERNALFORMAT NAME) of (SETQ *SYSTEM-EXTERNALFORMAT*
+                                     (FIND-FORMAT (FOR X IN '("LC_CTYPE" "LC_ALL" "LANG")
+                                                     WHEN (STRPOS ".UTF-8" (UNIX-GETENV X))
+                                                     DO (RETURN :UTF-8) FINALLY (RETURN :THROUGH])
 
-(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])
+(MTOSYSSTRING
+  [LAMBDA (MSTRING)                                          (* ; "Edited  6-Feb-2026 00:20 by rmk")
+    (MCCSTOFORMATBYTES *SYSTEM-EXTERNALFORMAT* (MKSTRING MSTRING])
 
-(\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 ")
-    (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])
+(SYSTOMSTRING
+  [LAMBDA (SYSTRING)                                         (* ; "Edited  5-Feb-2026 23:36 by rmk")
 
-(\DUMMY-UTF8-FORMAT
-  [LAMBDA NIL                                                (* ; "Edited  5-Feb-2026 15:58 by rmk")
-                                                             (* ; "Edited  1-Feb-2026 13:16 by rmk")
+    (* ;; "SYSSTRING is presumably shared with Unix, guarantee a copy on the way out")
 
-    (* ;; "Works only for 7-bit codes, during the loadup")
-
-    (\INSTALL.EXTERNALFORMAT (create EXTERNALFORMAT using (FIND-FORMAT :ISO8859/1)
-                                                          NAME _ :UTF-8])
+    (CONCAT (FORMATBYTESTOMCCS *SYSTEM-EXTERNALFORMAT* SYSTRING])
 )
-(DEFINEQ
+(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: DOEVAL@COMPILE DONTCOPY
 
-(ISO1TOMSTRING
-  [LAMBDA (ISTRING DESTRUCTIVE)                              (* ; "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  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])
+(GLOBALVARS *SYSTEM-EXTERNALFORMAT*)
 )
 
-(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
+(* "END EXPORTED DEFINITIONS")
 
-(GLOBALVARS ISO1TOMCCS)
-)
-(DECLARE%: DONTEVAL@LOAD DOCOPY 
 
-(\CREATE.ISO1.FORMAT)
-
-(\DUMMY-UTF8-FORMAT)
-)
+(RPAQ? *SYSTEM-EXTERNALFORMAT* :UTF-8)
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (3345 14916 (\MCCSINCCODE 3355 . 6443) (\MCCSPEEKCCODE 6445 . 9332) (\MCCSOUTCHAR 9334
- . 11433) (\MCCSBACKCCODE 11435 . 12979) (\MCCSFORMATBYTESTREAM 12981 . 13711) (\MCCSCHARSETFN 13713
- . 14914)) (14917 17368 (\CREATE.MCCS.EXTERNALFORMAT 14927 . 15797) (\CREATE.XCCS.EXTERNALFORMAT 15799
- . 17366)) (17369 18346 (\MCCS.24BITENCODING.ERROR 17379 . 18344)) (19722 22360 (MTOXCODE 19732 . 
-20529) (XTOMCODE 20531 . 21188) (XTOMSTRING 21190 . 21775) (MTOXSTRING 21777 . 22358)) (22361 24021 (
-MTOX$CODE 22371 . 23103) (X$TOMCODE 23105 . 24019)) (24022 24662 (KANJICHARSETP 24032 . 24288) (
-CHINESECHARSETP 24290 . 24660)) (45230 47719 (MCCSCODEMAPARRAY 45240 . 47717)) (48335 54816 (MCCSMAPFN
- 48345 . 49712) (MCCSMAPPAIRS 49714 . 53822) (XCCS.CS0.UNDEFINED 53824 . 54453) (XCCSUNDEFINEDPAIRS 
-54455 . 54814)) (54921 59673 (GACHATOMCODE 54931 . 55443) (SYMBOLTOMCODE 55445 . 56093) (SIGMATOMCODE 
-56095 . 56741) (ATOMCODE 56743 . 57275) (MATHTOMCODE 57277 . 57933) (HIPPOTOMCODE 57935 . 58472) (
-CYRILLICTOMCODE 58474 . 58908) (PALATINOTOMCODE 58910 . 59671)) (59700 62493 (ISO1TOMCODE 59710 . 
-60459) (MTOISO1CODE 60461 . 60751) (\CREATE.ISO1.FORMAT 60753 . 62018) (\DUMMY-UTF8-FORMAT 62020 . 
-62491)) (62494 64025 (ISO1TOMSTRING 62504 . 63320) (MTOISO1STRING 63322 . 64023)))))
+  (FILEMAP (NIL (3065 14636 (\MCCSINCCODE 3075 . 6163) (\MCCSPEEKCCODE 6165 . 9052) (\MCCSOUTCHAR 9054
+ . 11153) (\MCCSBACKCCODE 11155 . 12699) (\MCCSFORMATBYTESTREAM 12701 . 13431) (\MCCSCHARSETFN 13433
+ . 14634)) (14637 17088 (\CREATE.MCCS.EXTERNALFORMAT 14647 . 15517) (\CREATE.XCCS.EXTERNALFORMAT 15519
+ . 17086)) (17089 18066 (\MCCS.24BITENCODING.ERROR 17099 . 18064)) (19442 22084 (MTOXCODE 19452 . 
+20249) (XTOMCODE 20251 . 20908) (XTOMSTRING 20910 . 21497) (MTOXSTRING 21499 . 22082)) (22085 23745 (
+MTOX$CODE 22095 . 22827) (X$TOMCODE 22829 . 23743)) (23746 24386 (KANJICHARSETP 23756 . 24012) (
+CHINESECHARSETP 24014 . 24384)) (44966 47455 (MCCSCODEMAPARRAY 44976 . 47453)) (48071 54554 (MCCSMAPFN
+ 48081 . 49448) (MCCSMAPPAIRS 49450 . 53560) (XCCS.CS0.UNDEFINED 53562 . 54191) (XCCSUNDEFINEDPAIRS 
+54193 . 54552)) (54659 59413 (GACHATOMCODE 54669 . 55183) (SYMBOLTOMCODE 55185 . 55833) (SIGMATOMCODE 
+55835 . 56481) (ATOMCODE 56483 . 57015) (MATHTOMCODE 57017 . 57673) (HIPPOTOMCODE 57675 . 58212) (
+CYRILLICTOMCODE 58214 . 58648) (PALATINOTOMCODE 58650 . 59411)) (59414 60852 (SYSTEM-EXTERNALFORMAT 
+59424 . 60368) (MTOSYSSTRING 60370 . 60563) (SYSTOMSTRING 60565 . 60850)))))
 STOP
diff --git a/sources/MCCS.LCOM b/sources/MCCS.LCOM
index 71998d13..66eb5da4 100644
Binary files a/sources/MCCS.LCOM and b/sources/MCCS.LCOM differ
