diff --git a/library/tedit/TEDIT b/library/tedit/TEDIT
index ae2db6a1..95cb160a 100644
--- a/library/tedit/TEDIT
+++ b/library/tedit/TEDIT
@@ -1,12 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 6-Sep-2025 09:54:48" {WMEDLEY}<library>TEDIT>TEDIT.;837 145260 
+(FILECREATED " 8-Sep-2025 22:10:20" {WMEDLEY}<library>TEDIT>TEDIT.;838 145349 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \TEDIT.REPLACE.SELPIECES TEDIT.INSERT.OBJECT)
+      :CHANGES-TO (FNS TEDIT.NTHCHARCODE)
 
-      :PREVIOUS-DATE " 1-Aug-2025 14:50:15" {WMEDLEY}<library>TEDIT>TEDIT.;835)
+      :PREVIOUS-DATE " 6-Sep-2025 09:54:48" {WMEDLEY}<library>TEDIT>TEDIT.;837)
 
 
 (PRETTYCOMPRINT TEDITCOMS)
@@ -1162,7 +1162,8 @@
          (\TEDIT.RPLCHARCODE TSTREAM N NEWCHARCODE NEWCHARLOOKS DONTDISPLAY])
 
 (TEDIT.NTHCHARCODE
-  [LAMBDA (TSTREAM N)                                        (* ; "Edited 28-Mar-2025 14:10 by rmk")
+  [LAMBDA (TSTREAM N)                                        (* ; "Edited  8-Sep-2025 22:09 by rmk")
+                                                             (* ; "Edited 28-Mar-2025 14:10 by rmk")
                                                              (* ; "Edited  7-Jul-2024 11:09 by rmk")
                                                              (* ; "Edited 29-Apr-2024 13:06 by rmk")
                                                              (* ; "Edited 17-Mar-2024 00:27 by rmk")
@@ -1185,7 +1186,7 @@
                      (* ;; "Out of the selection:  force NIL")
 
                      (SETQ N 0)))
-             (SETQ TSTREAM (TSTREAM TSTREAM))
+             (SETQ TSTREAM (TEXTSTREAM TSTREAM))
       else (SETQ TSTREAM (TEXTSTREAM TSTREAM))
            (CL:WHEN (ILESSP N 0)
                (SETQ N (IPLUS (TEDIT.NCHARS TSTREAM)
@@ -2325,26 +2326,26 @@
 (ADDTOVAR PRINTFILETYPES (TEDIT (TEST \TEDIT.GET.TRAILER)
                                 (EXTENSION (TEDIT))))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (4850 7244 (MAKE-TEDIT-EXPORTS.ALL 4860 . 5406) (UPDATE-TEDIT 5408 . 6337) (EDIT-TEDIT 
-6339 . 7242)) (8674 36732 (TEDIT 8684 . 11298) (TEXTSTREAM 11300 . 13189) (TEXTSTREAMP 13191 . 13575) 
-(COERCETEXTSTREAM 13577 . 17788) (TEDIT.CONCAT 17790 . 21092) (TEDITSTRING 21094 . 22008) (TEDIT-SEE 
-22010 . 22569) (TEDIT.COPY 22571 . 24716) (TEDIT.DELETE 24718 . 26079) (TEDIT.INSERT 26081 . 29455) (
-TEDIT.TERPRI 29457 . 30571) (TEDIT.KILL 30573 . 31555) (TEDIT.QUIT 31557 . 32923) (TEDIT.MOVE 32925 . 
-33813) (TEDIT.STRINGWIDTH 33815 . 34486) (TEDIT.CHARWIDTH 34488 . 36730)) (36733 38674 (TEXTOBJ 36743
- . 37208) (COERCETEXTOBJ 37210 . 38672)) (40074 41724 (TDRIBBLE 40084 . 41722)) (41765 53661 (
-TEDIT.INSERT.OBJECT 41775 . 45482) (TEDIT.EDIT.OBJECT 45484 . 48424) (TEDIT.OBJECT.CHANGED 48426 . 
-51616) (TEDIT.MAP.OBJECTS 51618 . 53189) (\TEDIT.FIRST.OBJPIECE 53191 . 53424) (\TEDIT.NEXT.OBJPIECE 
-53426 . 53659)) (53684 61127 (\TEDIT.CONCAT.PAGEFRAMES 53694 . 58761) (\TEDIT.GET.PAGE.HEADINGS 58763
- . 59792) (\TEDIT.CONCAT.INSTALL.HEADINGS 59794 . 61125)) (61128 64735 (\TEDIT.MOVE.MSG 61138 . 63219)
- (\TEDIT.READONLY 63221 . 64733)) (64736 70511 (TEDIT.NCHARS 64746 . 65119) (TEDIT.RPLCHARCODE 65121
- . 68111) (TEDIT.NTHCHARCODE 68113 . 70040) (TEDIT.NTHCHAR 70042 . 70509)) (70557 127586 (\TEDIT1 
-70567 . 72644) (\TEDIT.INSERT 72646 . 79011) (\TEDIT.MOVE 79013 . 86919) (\TEDIT.COPY 86921 . 91452) (
-\TEDIT.REPLACE.SELPIECES 91454 . 95990) (\TEDIT.INSERT.SELPIECES 95992 . 98989) (\TEDIT.RESTARTFN 
-98991 . 101496) (\TEDIT.CHARDELETE 101498 . 104427) (\TEDIT.COPYPIECE 104429 . 109591) (
-\TEDIT.APPLY.OBJFN 109593 . 112679) (\TEDIT.DELETE 112681 . 117049) (\TEDIT.DIFFUSE.PARALOOKS 117051
- . 119322) (\TEDIT.WORDDELETE 119324 . 120939) (\TEDIT.WORDDELETE.FORWARD 120941 . 122730) (
-\TEDIT.FINISHEDIT? 122732 . 127584)) (127587 128246 (\TEDIT.THELP 127597 . 128244)) (128280 137411 (
-\TEDIT.PARAPIECES 128290 . 130264) (\TEDIT.PARACHNOS 130266 . 131158) (\TEDIT.PARA.FIRST 131160 . 
-134261) (\TEDIT.PARA.LAST 134263 . 137409)) (137412 144507 (\TEDIT.WORD.FIRST 137422 . 141426) (
-\TEDIT.WORD.LAST 141428 . 144505)) (144708 144985 (TEDITSYSTEMDATE 144718 . 144983)))))
+  (FILEMAP (NIL (4823 7217 (MAKE-TEDIT-EXPORTS.ALL 4833 . 5379) (UPDATE-TEDIT 5381 . 6310) (EDIT-TEDIT 
+6312 . 7215)) (8647 36705 (TEDIT 8657 . 11271) (TEXTSTREAM 11273 . 13162) (TEXTSTREAMP 13164 . 13548) 
+(COERCETEXTSTREAM 13550 . 17761) (TEDIT.CONCAT 17763 . 21065) (TEDITSTRING 21067 . 21981) (TEDIT-SEE 
+21983 . 22542) (TEDIT.COPY 22544 . 24689) (TEDIT.DELETE 24691 . 26052) (TEDIT.INSERT 26054 . 29428) (
+TEDIT.TERPRI 29430 . 30544) (TEDIT.KILL 30546 . 31528) (TEDIT.QUIT 31530 . 32896) (TEDIT.MOVE 32898 . 
+33786) (TEDIT.STRINGWIDTH 33788 . 34459) (TEDIT.CHARWIDTH 34461 . 36703)) (36706 38647 (TEXTOBJ 36716
+ . 37181) (COERCETEXTOBJ 37183 . 38645)) (40047 41697 (TDRIBBLE 40057 . 41695)) (41738 53634 (
+TEDIT.INSERT.OBJECT 41748 . 45455) (TEDIT.EDIT.OBJECT 45457 . 48397) (TEDIT.OBJECT.CHANGED 48399 . 
+51589) (TEDIT.MAP.OBJECTS 51591 . 53162) (\TEDIT.FIRST.OBJPIECE 53164 . 53397) (\TEDIT.NEXT.OBJPIECE 
+53399 . 53632)) (53657 61100 (\TEDIT.CONCAT.PAGEFRAMES 53667 . 58734) (\TEDIT.GET.PAGE.HEADINGS 58736
+ . 59765) (\TEDIT.CONCAT.INSTALL.HEADINGS 59767 . 61098)) (61101 64708 (\TEDIT.MOVE.MSG 61111 . 63192)
+ (\TEDIT.READONLY 63194 . 64706)) (64709 70600 (TEDIT.NCHARS 64719 . 65092) (TEDIT.RPLCHARCODE 65094
+ . 68084) (TEDIT.NTHCHARCODE 68086 . 70129) (TEDIT.NTHCHAR 70131 . 70598)) (70646 127675 (\TEDIT1 
+70656 . 72733) (\TEDIT.INSERT 72735 . 79100) (\TEDIT.MOVE 79102 . 87008) (\TEDIT.COPY 87010 . 91541) (
+\TEDIT.REPLACE.SELPIECES 91543 . 96079) (\TEDIT.INSERT.SELPIECES 96081 . 99078) (\TEDIT.RESTARTFN 
+99080 . 101585) (\TEDIT.CHARDELETE 101587 . 104516) (\TEDIT.COPYPIECE 104518 . 109680) (
+\TEDIT.APPLY.OBJFN 109682 . 112768) (\TEDIT.DELETE 112770 . 117138) (\TEDIT.DIFFUSE.PARALOOKS 117140
+ . 119411) (\TEDIT.WORDDELETE 119413 . 121028) (\TEDIT.WORDDELETE.FORWARD 121030 . 122819) (
+\TEDIT.FINISHEDIT? 122821 . 127673)) (127676 128335 (\TEDIT.THELP 127686 . 128333)) (128369 137500 (
+\TEDIT.PARAPIECES 128379 . 130353) (\TEDIT.PARACHNOS 130355 . 131247) (\TEDIT.PARA.FIRST 131249 . 
+134350) (\TEDIT.PARA.LAST 134352 . 137498)) (137501 144596 (\TEDIT.WORD.FIRST 137511 . 141515) (
+\TEDIT.WORD.LAST 141517 . 144594)) (144797 145074 (TEDITSYSTEMDATE 144807 . 145072)))))
 STOP
diff --git a/library/tedit/TEDIT-ABBREV b/library/tedit/TEDIT-ABBREV
index c385e5a6..d56df6b1 100644
--- a/library/tedit/TEDIT-ABBREV
+++ b/library/tedit/TEDIT-ABBREV
@@ -1,12 +1,14 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "11-Aug-2025 14:40:45" {WMEDLEY}<library>tedit>TEDIT-ABBREV.;25 16417  
+(FILECREATED " 5-Sep-2025 18:50:19" 
+{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-ABBREV.;29 17935  
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \TEDIT.ABBREV.PARSE)
+      :CHANGES-TO (VARS TEDIT-ABBREVCOMS)
 
-      :PREVIOUS-DATE " 7-Aug-2025 12:50:55" {WMEDLEY}<library>tedit>TEDIT-ABBREV.;24)
+      :PREVIOUS-DATE " 5-Sep-2025 12:24:55" 
+{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-ABBREV.;28)
 
 
 (PRETTYCOMPRINT TEDIT-ABBREVCOMS)
@@ -14,52 +16,60 @@
 (RPAQQ TEDIT-ABBREVCOMS
        [(FNS \TEDIT.ABBREV.EXPAND \TEDIT.ABBREV.PARSE \TEDIT.EXPAND.DATE \TEDIT.TRY.ABBREV)
         (GLOBALVARS TEDIT.ABBREVS)
-        (INITVARS (TEDIT.ABBREVS '(("b" . "357,146")
-                                   ("n" . "357,44")
-                                   ("m" . "357,45")
-                                   ("T" . "357,57")
-                                   ("d" . "357,60")
-                                   ("D" . "357,61")
-                                   ("s" . "0,247")
-                                   ("'" . "0,271")
-                                   ("`" . "0,251")
-                                   ("%"" . "0,252")
-                                   ("~" . "0,272")
-                                   ("1/4" . "0,274")
-                                   ("1/2" . "0,275")
-                                   ("3/4" . "0,276")
-                                   ("1/3" . "357,375")
-                                   ("2/3" . "357,376")
-                                   ("c" . "0,323")
-                                   ("c/o" . "357,100")
-                                   ("%%" . "357,100")
-                                   ("->" . "0,256")
-                                   ("ra" . "0,256")
-                                   ("|" . "0,257")
-                                   ("da" . "0,257")
-                                   ("^" . "0,255")
-                                   ("ua" . "0,255")
-                                   ("<-" . "0,254")
-                                   ("la" . "0,254")
-                                   ("_" . "0,254")
-                                   ("L" . "0,243")
-                                   ("o" . "0,260")
-                                   ("Y" . "0,245")
-                                   ("+" . "0,261")
-                                   ("x" . "0,264")
-                                   ("/" . "0,270")
-                                   ("=" . "357,121")
-                                   ("p" . "0,266")
-                                   ("r" . "0,322")
-                                   ("t" . "0,324")
-                                   ("tm" . "0,324")
-                                   ("box" . "42,42")
-                                   ("cbox" . "42,61")
-                                   ("-" . "357,43")
-                                   ("=" . "357,42")
-                                   (" " . "357,41")
-                                   ("DATE" . \TEDIT.EXPAND.DATE)
-                                   (">>DATE<<" . \TEDIT.EXPAND.DATE])
+        (INITVARS (TEDIT.ABBREVS '(("b" "357,146" Bullet)
+                                   ("n" "357,44" Endash)
+                                   ("--" "357,44" Endash)
+                                   ("m" EMDASH)
+                                   ("---" EMDASH)
+                                   ("T" THINSPACE)
+                                   ("d" "357,60" Dagger)
+                                   ("D" "357,61" DoubleDagger)
+                                   ("s" "0,247" Section)
+                                   ("'" "0,271" RSQ)
+                                   ("`" "0,251" LSQ)
+                                   ("%"" LEFT-DOUBLEQUOTE)
+                                   ("~" RIGHT-DOUBLEQUOTE)
+                                   ("1/4" "0,274")
+                                   ("1/2" "0,275")
+                                   ("3/4" "0,276")
+                                   ("1/3" "357,375")
+                                   ("2/3" "357,376")
+                                   ("c" "0,323" Copyright)
+                                   ("c/o" "357,100" c/o)
+                                   ("%%" "357,100" c/o)
+                                   ("->" "0,256" Rightarrow)
+                                   ("ra" "0,256" Rightarrow)
+                                   ("|" "0,257" Downarrow)
+                                   ("da" "0,257" Downarrow)
+                                   ("L" "0,243" English-pound)
+                                   ("o" "0,260" Degree)
+                                   ("Y" "0,245" Yen)
+                                   ("+" "0,261" PlusMinus)
+                                   ("x" "0,264" Times)
+                                   ("/" "0,270" Divide)
+                                   ("=" "357,121")
+                                   ("p" "0,266" Paragraph)
+                                   ("r" "0,322" Register)
+                                   ("t" "0,324" Trademark)
+                                   ("tm" "0,324" Trademark)
+                                   ("bbox" "42,43" Blackbox)
+                                   ("wbox" "43,42" Whitebox)
+                                   ("-" SOFT-HYPHEN)
+                                   ("=" NONBREAKING-HYPHEN)
+                                   (" " NONBREAKING-SPACE)
+                                   ("un" "357,127")
+                                   ("int" "357,126")
+                                   ("subset" "357,131")
+                                   ("superset" "357,130")
+                                   ("&" "357,266")
+                                   ("or" "357,267")
+                                   ("not" "357,152")
+                                   ("all" "357,265")
+                                   ("exist" "357,264")
+                                   ("def" "357,162")
+                                   ("compose" "357,147")
+                                   ("DATE" \TEDIT.EXPAND.DATE)
+                                   (">>DATE<<" \TEDIT.EXPAND.DATE])
 (DEFINEQ
 
 (\TEDIT.ABBREV.EXPAND
@@ -224,38 +234,46 @@
                           " " DAY ", " YEAR])
 
 (\TEDIT.TRY.ABBREV
-  [LAMBDA (KEY TSTREAM)                                      (* ; "Edited 20-Mar-2025 21:52 by rmk")
+  [LAMBDA (KEY TSTREAM)                                      (* ; "Edited  5-Sep-2025 12:24 by rmk")
+                                                             (* ; "Edited 20-Mar-2025 21:52 by rmk")
                                                             (* ; "Edited  6-Aug-2020 14:41 by rmk:")
                                                              (* jds "11-Jul-85 12:46")
 
     (* ;; "Decode the expansion. A string may be a character name, otherwise itself.  A litatom is a function to be applied, anything else is evaled. ")
 
-    (LET ((ABBREV (SASSOC KEY TEDIT.ABBREVS)))
+    (LET [(ABBREV (CDR (SASSOC KEY TEDIT.ABBREVS]
+         (CL:WHEN (LISTP ABBREV)                             (* ; "Originally stored in the CDR")
+             (SETQ ABBREV (CAR ABBREV)))
          (if (NULL ABBREV)
              then (CL:WHEN (CHARCODE.DECODE KEY T)
                       (CHARACTER (CHARCODE.DECODE KEY T)))
-           elseif (STRINGP (CDR ABBREV))
+           elseif (STRINGP ABBREV)
              then 
                   (* ;; "Could be a character code")
 
-                  (LET ((CH (CHARCODE.DECODE (CDR ABBREV)
-                                   T)))
+                  (LET ((CH (CHARCODE.DECODE ABBREV T)))
                        (CL:IF CH
                            (CHARACTER CH)
-                           (CDR ABBREV)))
-           elseif (SMALLP (CDR ABBREV))
+                           ABBREV))
+           elseif (SMALLP ABBREV)
              then 
                   (* ;; "Treat a number as a character code.")
 
-                  (CHARACTER (CDR ABBREV))
-           elseif (AND (LITATOM (CDR ABBREV))
-                       (GETD (CDR ABBREV)))
-             then                                            (* ; "It's a function to be called.")
-                  (APPLY* (CDR ABBREV)
-                         TSTREAM
-                         (CAR ABBREV))
-           else                                              (* ; "Anything else is a form to EVAL.")
-                (EVAL (CDR ABBREV])
+                  (CHARACTER ABBREV)
+           elseif (AND (LITATOM ABBREV)
+                       (GETD ABBREV))
+             then                                            (* ; " A function to be applied.")
+                  (APPLY* ABBREV TSTREAM KEY)
+           elseif (LISTP ABBREV)
+             then                                            (* ; "Form in the CADR, now")
+                  (EVAL ABBREV)
+           elseif (AND (SETQ ABBREV (CDR (SASSOC KEY TEDIT.ABBREVS)))
+                       (LITATOM (CAR ABBREV))
+                       (GETD (CAR ABBREV)))
+             then 
+                  (* ;; "Form in the CDR, originally")
+
+                  (EVAL ABBREV])
 )
 (DECLARE%: DOEVAL@COMPILE DONTCOPY
 
@@ -263,53 +281,61 @@
 )
 
 (RPAQ? TEDIT.ABBREVS
-       '(("b" . "357,146")
-         ("n" . "357,44")
-         ("m" . "357,45")
-         ("T" . "357,57")
-         ("d" . "357,60")
-         ("D" . "357,61")
-         ("s" . "0,247")
-         ("'" . "0,271")
-         ("`" . "0,251")
-         ("%"" . "0,252")
-         ("~" . "0,272")
-         ("1/4" . "0,274")
-         ("1/2" . "0,275")
-         ("3/4" . "0,276")
-         ("1/3" . "357,375")
-         ("2/3" . "357,376")
-         ("c" . "0,323")
-         ("c/o" . "357,100")
-         ("%%" . "357,100")
-         ("->" . "0,256")
-         ("ra" . "0,256")
-         ("|" . "0,257")
-         ("da" . "0,257")
-         ("^" . "0,255")
-         ("ua" . "0,255")
-         ("<-" . "0,254")
-         ("la" . "0,254")
-         ("_" . "0,254")
-         ("L" . "0,243")
-         ("o" . "0,260")
-         ("Y" . "0,245")
-         ("+" . "0,261")
-         ("x" . "0,264")
-         ("/" . "0,270")
-         ("=" . "357,121")
-         ("p" . "0,266")
-         ("r" . "0,322")
-         ("t" . "0,324")
-         ("tm" . "0,324")
-         ("box" . "42,42")
-         ("cbox" . "42,61")
-         ("-" . "357,43")
-         ("=" . "357,42")
-         (" " . "357,41")
-         ("DATE" . \TEDIT.EXPAND.DATE)
-         (">>DATE<<" . \TEDIT.EXPAND.DATE)))
+       '(("b" "357,146" Bullet)
+         ("n" "357,44" Endash)
+         ("--" "357,44" Endash)
+         ("m" EMDASH)
+         ("---" EMDASH)
+         ("T" THINSPACE)
+         ("d" "357,60" Dagger)
+         ("D" "357,61" DoubleDagger)
+         ("s" "0,247" Section)
+         ("'" "0,271" RSQ)
+         ("`" "0,251" LSQ)
+         ("%"" LEFT-DOUBLEQUOTE)
+         ("~" RIGHT-DOUBLEQUOTE)
+         ("1/4" "0,274")
+         ("1/2" "0,275")
+         ("3/4" "0,276")
+         ("1/3" "357,375")
+         ("2/3" "357,376")
+         ("c" "0,323" Copyright)
+         ("c/o" "357,100" c/o)
+         ("%%" "357,100" c/o)
+         ("->" "0,256" Rightarrow)
+         ("ra" "0,256" Rightarrow)
+         ("|" "0,257" Downarrow)
+         ("da" "0,257" Downarrow)
+         ("L" "0,243" English-pound)
+         ("o" "0,260" Degree)
+         ("Y" "0,245" Yen)
+         ("+" "0,261" PlusMinus)
+         ("x" "0,264" Times)
+         ("/" "0,270" Divide)
+         ("=" "357,121")
+         ("p" "0,266" Paragraph)
+         ("r" "0,322" Register)
+         ("t" "0,324" Trademark)
+         ("tm" "0,324" Trademark)
+         ("bbox" "42,43" Blackbox)
+         ("wbox" "43,42" Whitebox)
+         ("-" SOFT-HYPHEN)
+         ("=" NONBREAKING-HYPHEN)
+         (" " NONBREAKING-SPACE)
+         ("un" "357,127")
+         ("int" "357,126")
+         ("subset" "357,131")
+         ("superset" "357,130")
+         ("&" "357,266")
+         ("or" "357,267")
+         ("not" "357,152")
+         ("all" "357,265")
+         ("exist" "357,264")
+         ("def" "357,162")
+         ("compose" "357,147")
+         ("DATE" \TEDIT.EXPAND.DATE)
+         (">>DATE<<" \TEDIT.EXPAND.DATE)))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (2933 15073 (\TEDIT.ABBREV.EXPAND 2943 . 5163) (\TEDIT.ABBREV.PARSE 5165 . 12775) (
-\TEDIT.EXPAND.DATE 12777 . 13410) (\TEDIT.TRY.ABBREV 13412 . 15071)))))
+  (FILEMAP (NIL (3630 16182 (\TEDIT.ABBREV.EXPAND 3640 . 5860) (\TEDIT.ABBREV.PARSE 5862 . 13472) (
+\TEDIT.EXPAND.DATE 13474 . 14107) (\TEDIT.TRY.ABBREV 14109 . 16180)))))
 STOP
diff --git a/library/tedit/TEDIT-ABBREV.LCOM b/library/tedit/TEDIT-ABBREV.LCOM
index 233c3325..be684734 100644
Binary files a/library/tedit/TEDIT-ABBREV.LCOM and b/library/tedit/TEDIT-ABBREV.LCOM differ
diff --git a/library/tedit/TEDIT-FILE b/library/tedit/TEDIT-FILE
index 73ba463d..5da0b586 100644
--- a/library/tedit/TEDIT-FILE
+++ b/library/tedit/TEDIT-FILE
@@ -1,16 +1,13 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 1-Aug-2025 14:53:19" 
-{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-FILE.;645 169238 
+(FILECREATED " 9-Sep-2025 21:49:43" {WMEDLEY}<library>tedit>TEDIT-FILE.;653 172778 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \TEDIT.GET.CHARLOOKS \TEDIT.FORMATTEDSTREAMP \TEDIT.GET.OBJECT 
-                       \TEDIT.PUT.PCTB.MERGEABLE \TEDIT.PUT.CHARLOOKS \TEDIT.GET.SINGLE.CHARLOOKS 
-                       \TEDIT.PUT.SINGLE.CHARLOOKS)
+      :CHANGES-TO (FNS \TEDIT.GET.PROPS3 \TEDIT.GET.FORMATTED.FILE \TEDIT.PUT.TRAILER \TEDIT.PUT.PCTB
+                       )
 
-      :PREVIOUS-DATE "29-Jul-2025 09:30:44" 
-{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-FILE.;642)
+      :PREVIOUS-DATE " 9-Sep-2025 00:03:26" {WMEDLEY}<library>tedit>TEDIT-FILE.;651)
 
 
 (PRETTYCOMPRINT TEDIT-FILECOMS)
@@ -25,7 +22,8 @@
                                                 (\PieceDescriptorSAFEOBJECT 6)
                                                 (\PieceDescriptorMETAINFO 7)
                                                 (\PieceDescriptorPROPERTIES 8))
-               (EXPORT (MACROS \SMALLPIN \SMALLPOUT)))
+               (EXPORT (MACROS \SMALLPIN \SMALLPOUT))
+               (RECORDS \TEDIT.FILETRAILER))
         (COMS 
               (* ;; "Public entries ")
 
@@ -39,7 +37,7 @@
   "Until CL:COMPILE-FILE and any others are updated, They should use the public TEDIT.FORMATTEDFILEP")
 
                     (P (MOVD? '\TEDIT.GET.TRAILER '\TEDIT.FORMATTEDP1]
-              (FNS \TEDIT.GET.PIECES3 \TEDIT.GET.IDATE3 \TEDIT.MAKE.STRINGPIECE)
+              (FNS \TEDIT.GET.PIECES3 \TEDIT.GET.PROPS3 \TEDIT.MAKE.STRINGPIECE)
               (FNS \TEDIT.GET.UNFORMATTED.FILE.MCCS \TEDIT.INTERPRET.MCCS.SHIFTS 
                    \TEDIT.CONVERT.XCCSTOMCCS)
                                                              (* ; "XCCS")
@@ -115,6 +113,11 @@
 
 (* "END EXPORTED DEFINITIONS")
 
+
+(DECLARE%: EVAL@COMPILE
+
+(RECORD \TEDIT.FILETRAILER (PIECESTART TRAILERSIZE VERSION PCCOUNT IDATE PROPS))
+)
 )
 
 
@@ -242,7 +245,8 @@
                  (\TEDIT.GET.TRAILER STREAM))))])
 
 (TEDIT.FILEDATE
-  [LAMBDA (FILE INTEGER)                                     (* ; "Edited 26-Mar-2024 21:37 by rmk")
+  [LAMBDA (FILE INTEGER)                                     (* ; "Edited  8-Sep-2025 18:26 by rmk")
+                                                             (* ; "Edited 26-Mar-2024 21:37 by rmk")
                                                              (* ; "Edited 18-Jan-2024 10:26 by rmk")
                                                              (* ; "Edited 13-Jan-2024 10:20 by rmk")
                                                              (* ; "Edited 19-Dec-2023 10:13 by rmk")
@@ -253,7 +257,8 @@
 
     (* ;; "FILE must be random access.  If not, then presumably we first have to fetch the last 5+4+8 bytes to someplace else.")
 
-    (LET [(IDATE (CAR (LAST (TEDIT.FORMATTEDFILEP FILE]
+    (LET [(IDATE (CAR (NTH (TEDIT.FORMATTEDFILEP FILE)
+                           5]
          (CL:WHEN IDATE
              (CL:IF INTEGER
                  IDATE
@@ -702,7 +707,9 @@
              (\TEDIT.INSERTPIECES PIECES NIL TEXTOBJ)))])
 
 (\TEDIT.GET.FORMATTED.FILE
-  [LAMBDA (TEXT TSTREAM START END PROPS)                     (* ; "Edited 28-Mar-2025 14:15 by rmk")
+  [LAMBDA (TEXT TSTREAM START END PROPS)                     (* ; "Edited  9-Sep-2025 21:45 by rmk")
+                                                             (* ; "Edited  7-Sep-2025 12:14 by rmk")
+                                                             (* ; "Edited 28-Mar-2025 14:15 by rmk")
                                                              (* ; "Edited  7-Feb-2025 08:19 by rmk")
                                                              (* ; "Edited 28-Oct-2024 17:48 by rmk")
                                                              (* ; "Edited 21-Oct-2024 00:33 by rmk")
@@ -719,13 +726,14 @@
 
     (* ;; "Returns NIL if TSTREAM is not a formatted file, otherwise the ")
 
-    (LET ((TEXTOBJ (TEXTOBJ! (GETTSTR TSTREAM TEXTOBJ)))
+    (LET ((TEXTOBJ (FTEXTOBJ TSTREAM))
           (TRAILER (\TEDIT.GET.TRAILER TEXT END))
-          PCCOUNT IDATE PC)
+          PCCOUNT IDATE PROPS PC)
          (CL:WHEN TRAILER
              (SETTOBJ TEXTOBJ TXTPAGEFRAMES NIL)
-             (SETQ PCCOUNT (CADDDR TRAILER))
-             (SELECTQ (CADDR TRAILER)
+             (FSETTOBJ TEXTOBJ DOCPROPS (fetch (\TEDIT.FILETRAILER PROPS) of TRAILER))
+             (SETQ PCCOUNT (fetch (\TEDIT.FILETRAILER PCCOUNT) of TRAILER))
+             (SELECTQ (fetch (\TEDIT.FILETRAILER VERSION) of TRAILER)
                  (3                                          (* ; "Version 3")
                     (\TEDIT.INSERTPIECES (\TEDIT.GET.PIECES3 TEXT TSTREAM PCCOUNT START END)
                            NIL TEXTOBJ))
@@ -740,7 +748,9 @@
                  (\TEDIT.THELP "File format version incompatible with this version of TEdit."))
              (CL:WHEN (SETQ PC (\TEDIT.LASTPIECE TEXTOBJ))
                     (FSETPC PC PPARALAST T))
-             (\TEDIT.TRANSLATE.ASCIICHARS TSTREAM NIL)
+             (CL:UNLESS (EQ 'MCCS (FGETMULTI (FGETTOBJ TEXTOBJ DOCPROPS)
+                                         'CHARENCODING))
+                    (\TEDIT.MCCS.TRANSLATE TSTREAM))
              TEXTOBJ)])
 
 (\TEDIT.FORMATTEDSTREAMP
@@ -844,19 +854,20 @@
           (RETURN STR])
 
 (\TEDIT.GET.TRAILER
-  [LAMBDA (STREAM LEN)                                       (* ; "Edited 26-Mar-2024 21:36 by rmk")
+  [LAMBDA (STREAM LEN)                                       (* ; "Edited  9-Sep-2025 00:03 by rmk")
+                                                             (* ; "Edited 26-Mar-2024 21:36 by rmk")
                                                              (* ; "Edited 18-Jan-2024 10:22 by rmk")
                                                              (* ; "Edited 16-Jan-2024 22:39 by rmk")
                                                              (* ; "Edited 15-Jan-2024 17:38 by rmk")
                                                              (* ; "Edited 13-Jan-2024 21:49 by rmk")
 
-    (* ;; "For an open formatted stream, returns a list (VERSION PCCOUNT DESCPTR IDATE) where DESCPTR is the byte position of the first piece.  Returns NIL if it is not a formatted stream. Either way, the file is left at position 0 FWIW ")
+    (* ;; "For an open formatted stream, returns a list (PIECESTART TRAILERSIZE VERSION PCCOUNT IDATE PROPS) where PIECESTART is the byte position of the first piece.  Returns NIL if it is not a formatted stream. Either way, the file is left at position 0 FWIW ")
 
     (* ;; "If STREAM is the format-stream split of a complete Tedit file, then PIECESTART is the position in that larger file that this section was taken from, and 0 in STREAM corresponds to PIECESTART in that file.  TRAILERSIZE")
 
     (SETQ LEN (OR LEN (GETEOFPTR STREAM)))
     (CL:WHEN (IGREATERP LEN 8)
-        (LET (PIECESTART TRAILERSIZE PCCOUNT VERSION IDATE)
+        (LET (PIECESTART TRAILERSIZE PCCOUNT VERSION IDATE PROPS)
              (SETFILEPTR STREAM (IDIFFERENCE LEN 8))         (* ; 
                                                            "Move to start of FILEPTR to descriptions")
              (SETQ PIECESTART (\DWIN STREAM))                (* ; 
@@ -866,15 +877,21 @@
                                   31415))
              (PROG1 (SELECTQ VERSION
                         (3                                   (* ; "Current version")
-                           [SETQ IDATE (OR (\TEDIT.GET.IDATE3 STREAM LEN)
-                                           (GETFILEINFO STREAM 'ICREATIONDATE]
-                           (SETQ TRAILERSIZE (IPLUS 8 (CL:IF IDATE
-                                                          (IPLUS (CONSTANT (NCHARS "DATE:"))
-                                                                 4)
-                                                          0)))
-                           (LIST PIECESTART TRAILERSIZE VERSION PCCOUNT IDATE))
+                           (CL:MULTIPLE-VALUE-SETQ (TRAILERSIZE IDATE PROPS)
+                                  (\TEDIT.GET.PROPS3 STREAM LEN))
+                           (create \TEDIT.FILETRAILER
+                                  PIECESTART _ PIECESTART
+                                  TRAILERSIZE _ TRAILERSIZE
+                                  VERSION _ VERSION
+                                  PCCOUNT _ PCCOUNT
+                                  IDATE _ IDATE
+                                  PROPS _ PROPS))
                         ((2 1 0) 
-                             (LIST PIECESTART 8 VERSION PCCOUNT))
+                             (create \TEDIT.FILETRAILER
+                                    PIECESTART _ PIECESTART
+                                    TRAILERSIZE _ 8
+                                    VERSION _ VERSION
+                                    PCCOUNT _ PCCOUNT))
                         NIL)
                     (SETFILEPTR STREAM 0))))])
 
@@ -1065,32 +1082,62 @@
                                           NIL)
                                       (RETURN PC])
 
-(\TEDIT.GET.IDATE3
-  [LAMBDA (STREAM END)                                       (* ; "Edited  6-Dec-2023 16:55 by rmk")
+(\TEDIT.GET.PROPS3
+  [LAMBDA (STREAM END)                                       (* ; "Edited  9-Sep-2025 21:49 by rmk")
+                                                             (* ; "Edited  6-Dec-2023 16:55 by rmk")
 
-    (* ;; "Returns the integer IDATE for slightly updated version 3 files, otherwise NIL.  4 for the bytes of the IDATE, 8 for the header. Leaves resets to starting position (assumes an error wouldn't matter).")
+    (* ;; "Returns the integer IDATE for slightly updated version 3 files, the directory idate if there is no date in the file.  At exit resets to starting position (assumes an error wouldn't matter).")
 
-    (CL:WHEN (IGREATERP END (IPLUS (CONSTANT (NCHARS "DATE:"))
-                                   4 8))
-        (LET ((FILEPTR (GETFILEPTR STREAM)))
-             (SETFILEPTR STREAM (IDIFFERENCE END (IPLUS (CONSTANT (NCHARS "DATE:"))
-                                                        4 8)))
+    (* ;; "Before the date there may also be a property list, unseen by pre MCCS code. This is headed by PROPS: followed by a pointer to the first byte of the property list, which can be READ.")
+
+    (CL:WHEN (IGREATERP END (CONSTANT (IPLUS (NCHARS "DATE:")
+                                             4 8)))
+        (LET ((ORIGPTR (GETFILEPTR STREAM))
+              [DATEPTR (IDIFFERENCE END (CONSTANT (IPLUS (NCHARS "DATE:")
+                                                         4 8]
+              (TRAILERSIZE 8)
+              IDATE PROPSLEN PROPS)
+             (SETFILEPTR STREAM DATEPTR)
 
              (* ;; 
      "DATE: is the marker for this extension to version 3 (could be removed if version is update).  ")
 
-             (PROG1 (CL:WHEN (AND (EQ (CHARCODE D)
-                                      (BIN STREAM))
-                                  (EQ (CHARCODE A)
-                                      (BIN STREAM))
-                                  (EQ (CHARCODE T)
-                                      (BIN STREAM))
-                                  (EQ (CHARCODE E)
-                                      (BIN STREAM))
-                                  (EQ (CHARCODE %:)
-                                      (BIN STREAM)))
-                           (\DWIN STREAM))
-                    (SETFILEPTR STREAM FILEPTR))))])
+             (CL:WHEN (AND (EQ (CHARCODE D)
+                               (BIN STREAM))
+                           (EQ (CHARCODE A)
+                               (BIN STREAM))
+                           (EQ (CHARCODE T)
+                               (BIN STREAM))
+                           (EQ (CHARCODE E)
+                               (BIN STREAM))
+                           (EQ (CHARCODE %:)
+                               (BIN STREAM)))
+                 (SETQ IDATE (\DWIN STREAM))
+                 (add TRAILERSIZE (CONSTANT (IPLUS (NCHARS "DATE:")
+                                                   4)))
+                 (CL:WHEN [IGREATERP END (IPLUS TRAILERSIZE (CONSTANT (IPLUS (NCHARS "PROPS:")
+                                                                             4]
+                     [SETFILEPTR STREAM (IDIFFERENCE DATEPTR (CONSTANT (IPLUS (NCHARS "PROPS:")
+                                                                              4]
+                     (CL:WHEN (AND (EQ (CHARCODE P)
+                                       (BIN STREAM))
+                                   (EQ (CHARCODE R)
+                                       (BIN STREAM))
+                                   (EQ (CHARCODE O)
+                                       (BIN STREAM))
+                                   (EQ (CHARCODE P)
+                                       (BIN STREAM))
+                                   (EQ (CHARCODE S)
+                                       (BIN STREAM))
+                                   (EQ (CHARCODE %:)
+                                       (BIN STREAM)))
+                         (SETQ PROPSLEN (\DWIN STREAM))
+                         (SETFILEPTR STREAM (IDIFFERENCE DATEPTR PROPSLEN))
+                         (SETQ PROPS (CAR (READ STREAM *TEDIT-FILE-READTABLE*)))
+                         (add TRAILERSIZE PROPSLEN))))
+             (SETFILEPTR STREAM ORIGPTR)
+             (CL:VALUES TRAILERSIZE (OR IDATE (GETFILEINFO STREAM 'ICREATIONDATE))
+                    PROPS)))])
 
 (\TEDIT.MAKE.STRINGPIECE
   [LAMBDA (PC STRING)                                        (* ; "Edited 23-Jan-2024 14:32 by rmk")
@@ -1456,7 +1503,8 @@
     (for I from 1 to (\WIN FILE) collect (\TEDIT.GET.SINGLE.CHARLOOKS FILE TEXTOBJ])
 
 (\TEDIT.GET.SINGLE.CHARLOOKS
-  [LAMBDA (FILE TEXTOBJ)                                     (* ; "Edited  1-Aug-2025 13:43 by rmk")
+  [LAMBDA (FILE TEXTOBJ)                                     (* ; "Edited  7-Sep-2025 11:04 by rmk")
+                                                             (* ; "Edited  1-Aug-2025 13:43 by rmk")
                                                              (* ; "Edited 26-Jul-2025 11:14 by rmk")
                                                              (* ; "Edited 21-Jul-2025 23:41 by rmk")
                                                              (* ; "Edited 20-Jul-2025 13:14 by rmk")
@@ -1554,7 +1602,6 @@
                                                               'R)
                                                           'R]
            (FSETCLOOKS LOOKS CLFONT FONT)
-           (FSETCLOOKS LOOKS CLNAME (FONTUNPARSE FONT))
            (SETFILEPTR FILE (IPLUS FILEPOS LOOKSLEN))
            (RETURN LOOKS])
 
@@ -1781,6 +1828,7 @@
 
 (\TEDIT.PUT.PCTB
   [LAMBDA (TEXTOBJ CHARSTREAM FORMATSTREAM CONTINUE KEEPSEPARATE)
+                                                             (* ; "Edited  9-Sep-2025 21:32 by rmk")
                                                              (* ; "Edited 26-Apr-2025 00:11 by rmk")
                                                              (* ; "Edited 21-Oct-2024 00:33 by rmk")
                                                              (* ; "Edited 15-May-2024 17:03 by rmk")
@@ -1908,7 +1956,7 @@
                                          (CL:UNLESS UNFORMATTED?
                                              (\TEDIT.PUT.TRAILER FORMATSTREAM (\GETFILEPTR CHARSTREAM
                                                                                      )
-                                                    PCCOUNT 3))
+                                                    PCCOUNT 3 (FGETTOBJ TEXTOBJ DOCPROPS)))
                                          (CL:UNLESS (OR UNFORMATTED? KEEPSEPARATE)
                                              (COPYBYTES FORMATSTREAM CHARSTREAM 0 (GETEOFPTR 
                                                                                          FORMATSTREAM
@@ -1968,16 +2016,24 @@
              (\TEDIT.THELP "OTHER PTYPES"])
 
 (\TEDIT.PUT.TRAILER
-  [LAMBDA (FORMATSTREAM PIECESTART PCCOUNT VERSION)          (* ; "Edited 13-Jan-2024 10:13 by rmk")
+  [LAMBDA (FORMATSTREAM PIECESTART PCCOUNT VERSION PROPS)    (* ; "Edited  9-Sep-2025 17:55 by rmk")
+                                                             (* ; "Edited 13-Jan-2024 10:13 by rmk")
 
     (* ;; "Finalize FORMATSTREAM.  We sneak in the date here--at the end of the looks, after the last look but before the final pointers, so that it doesn't interfere with anything.  TEDIT.FILEDATE pulls it out if it's there.")
 
-    (PRIN1 "DATE:" FORMATSTREAM)
-    (\DWOUT FORMATSTREAM (IDATE))
-    (\DWOUT FORMATSTREAM PIECESTART)                         (* ; "Position of the first piece")
-    (\WOUT FORMATSTREAM PCCOUNT)                             (* ; 
+    (LET ((PROPSPTR (GETFILEPTR FORMATSTREAM)))
+         (CL:WHEN PROPS                                      (* ; "CONS to protect an atom or number")
+             (PRIN2 (CONS PROPS)
+                    FORMATSTREAM *TEDIT-FILE-READTABLE*)
+             (PRIN1 "PROPS:" FORMATSTREAM)
+             (\DWOUT FORMATSTREAM (IPLUS 4 (IDIFFERENCE (GETFILEPTR FORMATSTREAM)
+                                                  PROPSPTR))))
+         (PRIN1 "DATE:" FORMATSTREAM)
+         (\DWOUT FORMATSTREAM (IDATE))
+         (\DWOUT FORMATSTREAM PIECESTART)                    (* ; "Position of the first piece")
+         (\WOUT FORMATSTREAM PCCOUNT)                        (* ; 
                                                           "Number of pieces followed by the password")
-    (\WOUT FORMATSTREAM (IPLUS 31415 VERSION])
+         (\WOUT FORMATSTREAM (IPLUS 31415 VERSION])
 
 (\TEDIT.PUT.PCTB.MERGEABLE
   [LAMBDA (PREVPC PC EDITSTENTATIVE EXTFORMAT TEXTOBJ)       (* ; "Edited  1-Aug-2025 14:51 by rmk")
@@ -2634,28 +2690,28 @@
 
 (RPAQ? *TEDIT-FILE-READTABLE* (COPYREADTABLE \ORIGREADTABLE))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (5423 35544 (TEDIT.GET 5433 . 11843) (TEDIT.FORMATTEDFILEP 11845 . 13161) (
-TEDIT.FILEDATE 13163 . 14334) (TEDIT.INCLUDE 14336 . 22365) (TEDIT.RAW.INCLUDE 22367 . 23175) (
-TEDIT.PUT 23177 . 31533) (TEDIT.PUT.STREAM 31535 . 35542)) (35545 55851 (\TEDIT.GET.FOREIGN.FILE 35555
- . 38980) (\TEDIT.GET.UNFORMATTED.FILE 38982 . 43288) (\TEDIT.GET.FORMATTED.FILE 43290 . 46317) (
-\TEDIT.FORMATTEDSTREAMP 46319 . 49450) (\ARBIN 49452 . 50172) (\ATMIN 50174 . 50711) (\DWIN 50713 . 
-51092) (\STRINGIN 51094 . 51802) (\TEDIT.GET.TRAILER 51804 . 54320) (\TEDIT.CACHEFILE 54322 . 55849)) 
-(56017 70228 (\TEDIT.GET.PIECES3 56027 . 66990) (\TEDIT.GET.IDATE3 66992 . 68387) (
-\TEDIT.MAKE.STRINGPIECE 68389 . 70226)) (70229 83655 (\TEDIT.GET.UNFORMATTED.FILE.MCCS 70239 . 76472) 
-(\TEDIT.INTERPRET.MCCS.SHIFTS 76474 . 82719) (\TEDIT.CONVERT.XCCSTOMCCS 82721 . 83653)) (83677 89816 (
-\TEDIT.GET.UNFORMATTED.FILE.UTF8 83687 . 89814)) (89839 101019 (\TEDIT.GET.CHARLOOKS.LIST 89849 . 
-90580) (\TEDIT.GET.SINGLE.CHARLOOKS 90582 . 97492) (\TEDIT.GET.CHARLOOKS 97494 . 99050) (
-\TEDIT.GET.PARALOOKS.INDEX 99052 . 99596) (\TEDIT.GET.CHARLOOKS.INDEX 99598 . 101017)) (101020 108677 
-(\TEDIT.GET.PARALOOKS.LIST 101030 . 101652) (\TEDIT.GET.SINGLE.PARALOOKS 101654 . 108675)) (108678 
-112511 (\TEDIT.GET.OBJECT 108688 . 112509)) (112576 145141 (\TEDIT.PUT.PCTB 112586 . 122356) (
-\TEDIT.PUT.PCTB.PIECEDATA 122358 . 125556) (\TEDIT.PUT.TRAILER 125558 . 126325) (
-\TEDIT.PUT.PCTB.MERGEABLE 126327 . 130100) (\TEDIT.PUT.UTF8.SPLITPIECES 130102 . 134804) (
-\TEDIT.PUT.PCTB.NEXTNEW 134806 . 139302) (\TEDIT.INSERT.NEWPIECES 139304 . 142739) (\TEDIT.PUTRESET 
-142741 . 142983) (\ARBOUT 142985 . 143709) (\ATMOUT 143711 . 144316) (\DWOUT 144318 . 144597) (
-\STRINGOUT 144599 . 145139)) (145142 157767 (\TEDIT.PUT.CHARLOOKS.LIST 145152 . 146824) (
-\TEDIT.PUT.SINGLE.CHARLOOKS 146826 . 152997) (\TEDIT.PUT.CHARLOOKS 152999 . 154338) (
-\TEDIT.PUT.CHARLOOKS1 154340 . 155391) (\TEDIT.PUT.OBJECT 155393 . 157765)) (157768 165407 (
-\TEDIT.PUT.PARALOOKS.LIST 157778 . 158680) (\TEDIT.PUT.SINGLE.PARALOOKS 158682 . 164266) (
-\TEDIT.PUT.PARALOOKS 164268 . 165405)) (165502 168931 (TEDITFROMLISPSOURCE 165512 . 168180) (
-SHELLSCRIPTP 168182 . 168411) (TEDITFROMSHELLSCRIPT 168413 . 168929)))))
+  (FILEMAP (NIL (5387 35646 (TEDIT.GET 5397 . 11807) (TEDIT.FORMATTEDFILEP 11809 . 13125) (
+TEDIT.FILEDATE 13127 . 14436) (TEDIT.INCLUDE 14438 . 22467) (TEDIT.RAW.INCLUDE 22469 . 23277) (
+TEDIT.PUT 23279 . 31635) (TEDIT.PUT.STREAM 31637 . 35644)) (35647 56813 (\TEDIT.GET.FOREIGN.FILE 35657
+ . 39082) (\TEDIT.GET.UNFORMATTED.FILE 39084 . 43390) (\TEDIT.GET.FORMATTED.FILE 43392 . 46927) (
+\TEDIT.FORMATTEDSTREAMP 46929 . 50060) (\ARBIN 50062 . 50782) (\ATMIN 50784 . 51321) (\DWIN 51323 . 
+51702) (\STRINGIN 51704 . 52412) (\TEDIT.GET.TRAILER 52414 . 55282) (\TEDIT.CACHEFILE 55284 . 56811)) 
+(56979 73017 (\TEDIT.GET.PIECES3 56989 . 67952) (\TEDIT.GET.PROPS3 67954 . 71176) (
+\TEDIT.MAKE.STRINGPIECE 71178 . 73015)) (73018 86444 (\TEDIT.GET.UNFORMATTED.FILE.MCCS 73028 . 79261) 
+(\TEDIT.INTERPRET.MCCS.SHIFTS 79263 . 85508) (\TEDIT.CONVERT.XCCSTOMCCS 85510 . 86442)) (86466 92605 (
+\TEDIT.GET.UNFORMATTED.FILE.UTF8 86476 . 92603)) (92628 103861 (\TEDIT.GET.CHARLOOKS.LIST 92638 . 
+93369) (\TEDIT.GET.SINGLE.CHARLOOKS 93371 . 100334) (\TEDIT.GET.CHARLOOKS 100336 . 101892) (
+\TEDIT.GET.PARALOOKS.INDEX 101894 . 102438) (\TEDIT.GET.CHARLOOKS.INDEX 102440 . 103859)) (103862 
+111519 (\TEDIT.GET.PARALOOKS.LIST 103872 . 104494) (\TEDIT.GET.SINGLE.PARALOOKS 104496 . 111517)) (
+111520 115353 (\TEDIT.GET.OBJECT 111530 . 115351)) (115418 148681 (\TEDIT.PUT.PCTB 115428 . 125335) (
+\TEDIT.PUT.PCTB.PIECEDATA 125337 . 128535) (\TEDIT.PUT.TRAILER 128537 . 129865) (
+\TEDIT.PUT.PCTB.MERGEABLE 129867 . 133640) (\TEDIT.PUT.UTF8.SPLITPIECES 133642 . 138344) (
+\TEDIT.PUT.PCTB.NEXTNEW 138346 . 142842) (\TEDIT.INSERT.NEWPIECES 142844 . 146279) (\TEDIT.PUTRESET 
+146281 . 146523) (\ARBOUT 146525 . 147249) (\ATMOUT 147251 . 147856) (\DWOUT 147858 . 148137) (
+\STRINGOUT 148139 . 148679)) (148682 161307 (\TEDIT.PUT.CHARLOOKS.LIST 148692 . 150364) (
+\TEDIT.PUT.SINGLE.CHARLOOKS 150366 . 156537) (\TEDIT.PUT.CHARLOOKS 156539 . 157878) (
+\TEDIT.PUT.CHARLOOKS1 157880 . 158931) (\TEDIT.PUT.OBJECT 158933 . 161305)) (161308 168947 (
+\TEDIT.PUT.PARALOOKS.LIST 161318 . 162220) (\TEDIT.PUT.SINGLE.PARALOOKS 162222 . 167806) (
+\TEDIT.PUT.PARALOOKS 167808 . 168945)) (169042 172471 (TEDITFROMLISPSOURCE 169052 . 171720) (
+SHELLSCRIPTP 171722 . 171951) (TEDITFROMSHELLSCRIPT 171953 . 172469)))))
 STOP
diff --git a/library/tedit/TEDIT-FILE.LCOM b/library/tedit/TEDIT-FILE.LCOM
index 99e23b3d..205a22b6 100644
Binary files a/library/tedit/TEDIT-FILE.LCOM and b/library/tedit/TEDIT-FILE.LCOM differ
diff --git a/library/tedit/TEDIT-HCPY b/library/tedit/TEDIT-HCPY
index 094b520c..a112833e 100644
--- a/library/tedit/TEDIT-HCPY
+++ b/library/tedit/TEDIT-HCPY
@@ -1,12 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "21-Apr-2025 19:07:23" {WMEDLEY}<library>tedit>TEDIT-HCPY.;176 32823  
+(FILECREATED "10-Sep-2025 19:05:00" {WMEDLEY}<library>tedit>TEDIT-HCPY.;179 30623  
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \TEDIT.HARDCOPY.DISPLAYLINE)
+      :CHANGES-TO (VARS TEDIT-HCPYCOMS)
 
-      :PREVIOUS-DATE "17-Apr-2025 13:35:29" {WMEDLEY}<library>tedit>TEDIT-HCPY.;174)
+      :PREVIOUS-DATE " 9-Sep-2025 21:52:28" {WMEDLEY}<library>tedit>TEDIT-HCPY.;177)
 
 
 (PRETTYCOMPRINT TEDIT-HCPYCOMS)
@@ -22,27 +22,14 @@
               (* ;; "Functions for scaling regions as needed during hardcopy.")
 
               (FNS \TEDIT.SCALEREGION))
+        [COMS                                                (* ; 
+                                                             "0.75 inches from bottom, 1 from top")
+              (INITVARS (TEDIT.DEFAULTPAGEREGION (\TEDIT.SCALEREGION MICASPERINCH
+                                                        (CREATEREGION 1.1 0.75 6.4 9.25]
         (COMS 
-              (* ;; "PRESS-specific code")
-
-              (VARS (TEDIT.DEFAULTPAGEREGION (CREATEREGION 2794 1905 16256 23495)))
-                                                             (* ; 
-                                                             "0.75 inches from bottom, 1 from top"))
-        [COMS 
               (* ;; "Support for the window-menu's HARDCOPY button, LISTFILES, etc.  THIS IS SCREWY")
 
-              (FNS TEDIT.HARDCOPYFN \TEDIT.HARDCOPYFILEFN \TEDIT.POSTSCRIPT.HARDCOPY 
-                   \TEDIT.PRESS.HARDCOPY)
-              [P (LET [(IPVALUES (ASSOC 'CONVERSION (ASSOC 'INTERPRESS PRINTFILETYPES]
-                      (CL:WHEN IPVALUES
-                                                             (* ; 
-                                          "Only install INTERPRESS printing if INTERPRESS is loaded.")
-                          (LISTPUT IPVALUES 'TEDIT (FUNCTION \TEDIT.POSTSCRIPT.HARDCOPY)))]
-              (P (LET [(PRESSVALUES (ASSOC 'CONVERSION (ASSOC 'PRESS PRINTFILETYPES]
-                      (CL:WHEN PRESSVALUES
-                                                             (* ; 
-                                                    "Only install PRESS printing if PRESS is loaded.")
-                          (LISTPUT PRESSVALUES 'TEDIT (FUNCTION \TEDIT.PRESS.HARDCOPY)))]
+              (FNS TEDIT.HARDCOPYFN \TEDIT.HARDCOPYFILEFN \TEDIT.POSTSCRIPT.HARDCOPY))
         [COMS 
               (* ;; "vars for Japanese Line Break")
 
@@ -421,16 +408,11 @@
 
 
 
-(* ;; "PRESS-specific code")
-
-
-(RPAQ TEDIT.DEFAULTPAGEREGION (CREATEREGION 2794 1905 16256 23495))
-
-
-
 (* ; "0.75 inches from bottom, 1 from top")
 
 
+(RPAQ? TEDIT.DEFAULTPAGEREGION (\TEDIT.SCALEREGION MICASPERINCH (CREATEREGION 1.1 0.75 6.4 9.25)))
+
 
 
 (* ;; "Support for the window-menu's HARDCOPY button, LISTFILES, etc.  THIS IS SCREWY")
@@ -486,33 +468,8 @@
                (replace (TEXTOBJ EDITOPACTIVE) of (TEXTOBJ TEXT-STREAM) with 'Hardcopy)
                (TEDIT.FORMAT.HARDCOPY TEXT-STREAM PFILE T NIL NIL NIL 'POSTSCRIPT)
                PFILE)])
-
-(\TEDIT.PRESS.HARDCOPY
-  [LAMBDA (FILE PFILE)                                      (* ; "Edited 12-Jun-90 18:36 by mitani")
-                                                             (* Send the text to the printer.)
-    [SETQ FILE (OPENTEXTSTREAM (COND
-                                  ((STRINGP FILE)
-                                   (MKATOM FILE))
-                                  (T FILE]
-    (RESETLST
-        [RESETSAVE (\TEDIT.MARKACTIVE (TEXTOBJ FILE))
-               '(AND (\TEDIT.MARKINACTIVE OLDVALUE]
-        (replace (TEXTOBJ EDITOPACTIVE) of (TEXTOBJ FILE) with 'Hardcopy)
-        (TEDIT.FORMAT.HARDCOPY FILE PFILE T NIL NIL NIL 'PRESS)
-        (CLOSEF? PFILE)
-        PFILE)])
 )
 
-[LET [(IPVALUES (ASSOC 'CONVERSION (ASSOC 'INTERPRESS PRINTFILETYPES]
-     (CL:WHEN IPVALUES                                       (* ; 
-                                          "Only install INTERPRESS printing if INTERPRESS is loaded.")
-         (LISTPUT IPVALUES 'TEDIT (FUNCTION \TEDIT.POSTSCRIPT.HARDCOPY)))]
-
-[LET [(PRESSVALUES (ASSOC 'CONVERSION (ASSOC 'PRESS PRINTFILETYPES]
-     (CL:WHEN PRESSVALUES                                    (* ; 
-                                                    "Only install PRESS printing if PRESS is loaded.")
-         (LISTPUT PRESSVALUES 'TEDIT (FUNCTION \TEDIT.PRESS.HARDCOPY)))]
-
 
 
 (* ;; "vars for Japanese Line Break")
@@ -548,11 +505,11 @@
          (CLOSEF DOC])
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (3475 26032 (TEDIT.HARDCOPY 3485 . 4618) (\TEDIT.PRINT.MENU 4620 . 5586) (TEDIT.HCPYFILE
- 5588 . 7762) (\TEDIT.HARDCOPY.DISPLAYLINE 7764 . 16987) (\TEDIT.HARDCOPY.FORMATLINE.HEADINGS 16989 . 
-18718) (\TEDIT.HARDCOPY.MODIFYLOOKS 18720 . 20901) (\TEDIT.HCPYFMTSPEC 20903 . 24361) (
-\TEDIT.INTEGER.IMAGEBOX 24363 . 25034) (\TEDIT.DISPLAY.DIACRITIC 25036 . 26030)) (26107 26937 (
-\TEDIT.SCALEREGION 26117 . 26935)) (27196 30736 (TEDIT.HARDCOPYFN 27206 . 28511) (
-\TEDIT.HARDCOPYFILEFN 28513 . 29074) (\TEDIT.POSTSCRIPT.HARDCOPY 29076 . 30007) (\TEDIT.PRESS.HARDCOPY
- 30009 . 30734)) (31999 32800 (TEDIT-BOOK 32009 . 32798)))))
+  (FILEMAP (NIL (2652 25209 (TEDIT.HARDCOPY 2662 . 3795) (\TEDIT.PRINT.MENU 3797 . 4763) (TEDIT.HCPYFILE
+ 4765 . 6939) (\TEDIT.HARDCOPY.DISPLAYLINE 6941 . 16164) (\TEDIT.HARDCOPY.FORMATLINE.HEADINGS 16166 . 
+17895) (\TEDIT.HARDCOPY.MODIFYLOOKS 17897 . 20078) (\TEDIT.HCPYFMTSPEC 20080 . 23538) (
+\TEDIT.INTEGER.IMAGEBOX 23540 . 24211) (\TEDIT.DISPLAY.DIACRITIC 24213 . 25207)) (25284 26114 (
+\TEDIT.SCALEREGION 25294 . 26112)) (26367 29180 (TEDIT.HARDCOPYFN 26377 . 27682) (
+\TEDIT.HARDCOPYFILEFN 27684 . 28245) (\TEDIT.POSTSCRIPT.HARDCOPY 28247 . 29178)) (29799 30600 (
+TEDIT-BOOK 29809 . 30598)))))
 STOP
diff --git a/library/tedit/TEDIT-HCPY.LCOM b/library/tedit/TEDIT-HCPY.LCOM
index 7d6c71ea..9c76df19 100644
Binary files a/library/tedit/TEDIT-HCPY.LCOM and b/library/tedit/TEDIT-HCPY.LCOM differ
diff --git a/library/tedit/TEDIT-LOOKS b/library/tedit/TEDIT-LOOKS
index 512bee84..02921737 100644
--- a/library/tedit/TEDIT-LOOKS
+++ b/library/tedit/TEDIT-LOOKS
@@ -1,16 +1,13 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 1-Aug-2025 13:43:51" 
-{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-LOOKS.;443 160489 
+(FILECREATED " 9-Sep-2025 21:55:31" {WMEDLEY}<library>tedit>TEDIT-LOOKS.;455 154986 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (RECORDS CHARLOOKS)
-                  (FNS \TEDIT.EQCLOOKS \TEDIT.TRANSLATE.ASCIICHARS \TEDIT.UNIQUIFY.ALL 
-                       \TEDIT.FLUSH.UNUSED.LOOKS TEDIT.GET.LOOKS TEDIT.SUBLOOKS TEDIT.FINDLOOKS 
-                       \TEDIT.CHANGE.CHARLOOKS)
+      :CHANGES-TO (VARS TEDIT-LOOKSCOMS)
+                  (FNS \TEDIT.MCCS.TRANSLATE)
 
-      :PREVIOUS-DATE "29-Jul-2025 09:30:33" {WMEDLEY}<library>tedit>TEDIT-LOOKS.;435)
+      :PREVIOUS-DATE " 9-Sep-2025 09:42:42" {WMEDLEY}<library>tedit>TEDIT-LOOKS.;452)
 
 
 (PRETTYCOMPRINT TEDIT-LOOKSCOMS)
@@ -56,15 +53,15 @@
                    TEDIT.COPY.LOOKS \TEDIT.UNPARSE.CHARLOOKS.LIST \TEDIT.MODIFYLOOKS TEDIT.NEW.FONT 
                    \TEDIT.CARETLOOKS.VERIFY \TEDIT.CARETPIECE \TEDIT.GET.INSERT.CHARLOOKS 
                    \TEDIT.GET.TERMSA.WIDTHS \TEDIT.PARSE.CHARLOOKS.LIST)
-              (COMS (FNS \TEDIT.TRANSLATE.ASCIICHARS \TEDIT.CONVERT.TO.FORMATTED)
-                    (MACROS \TEDIT.TRANSLATE.ASCII.CHARLOOKS))
+              (COMS (FNS \TEDIT.MCCS.TRANSLATE \TEDIT.CONVERT.TO.FORMATTED)
+                    (MACROS \TEDIT.MCCS.TRANSLATE.CHARLOOKS))
               (FNS \TEDIT.UNIQUIFY.CHARLOOKS \TEDIT.UNIQUIFY.PARALOOKS \TEDIT.UNIQUIFY.ALL 
                    \TEDIT.FLUSH.UNUSED.LOOKS)
               
               (* ;; "Public entries")
 
               (FNS TEDIT.LOOKS TEDIT.GET.LOOKS TEDIT.SUBLOOKS TEDIT.FINDLOOKS)
-              [INITVARS (TEDIT.FONTCLASSES '(DISPLAY PDF POSTSCRIPT INTERPRESS PRESS]
+              [INITVARS (TEDIT.FONTCLASSES '(DISPLAY PDF POSTSCRIPT INTERPRESS]
               (FNS \TEDIT.CHANGE.CHARLOOKS \TEDIT.CHANGE.CHARLOOKS.NEW \TEDIT.CHARLOOKS.CHANGE.FONT 
                    \TEDIT.FONT.NEXTSIZE \TEDIT.LOOKS \TEDIT.FONTCOPY \TEDIT.COERCE.FONTCLASS 
                    \TEDIT.FONTCLASS.TO.FONT))
@@ -153,9 +150,7 @@
                     CLOFFSET _ 0 CLCOLOR _ 'BLACK (INIT (DEFPRINT 'CHARLOOKS (FUNCTION 
                                                                             \TEDIT.CHARLOOKS.DEFPRINT
                                                                               )))
-                    (ASSOCRECORD CLPROPS (CLUSERINFO CLCHARENCODING))
-                    [ACCESSFNS ((CLNAME (fetch (CHARLOOKS CLFONTUNPARSE) of DATUM)
-                                       (replace (CHARLOOKS CLFONTUNPARSE) of DATUM with NEWVALUE])
+                    (ASSOCRECORD CLPROPS (CLUSERINFO CLCHARENCODING)))
 
 (DATATYPE PARALOOKS (
                      (* ;; "Describe the paragraph formatting for a paragraph in a TEdit document.")
@@ -544,7 +539,8 @@
 (DEFINEQ
 
 (\TEDIT.CHARLOOKS.FROM.FONT
-  [LAMBDA (FONT NOERROR)                                     (* ; "Edited 19-Mar-2025 12:47 by rmk")
+  [LAMBDA (FONT NOERROR)                                     (* ; "Edited  7-Sep-2025 11:02 by rmk")
+                                                             (* ; "Edited 19-Mar-2025 12:47 by rmk")
                                                              (* ; "Edited  2-Jan-2025 10:21 by rmk")
                                                              (* ; "Edited 31-Dec-2024 23:33 by rmk")
                                                              (* ; "Edited 28-Dec-2024 12:28 by rmk")
@@ -567,11 +563,11 @@
     (CL:WHEN (type? FONTCLASS FONT)
         (SETQ FONT (\TEDIT.COERCE.FONTCLASS FONT)))
     (create CHARLOOKS
-           CLFONT _ FONT
-           CLNAME _ (FONTUNPARSE FONT])
+           CLFONT _ FONT])
 
 (\TEDIT.EQCLOOKS
-  [LAMBDA (CLOOK1 CLOOK2)                                    (* ; "Edited  1-Aug-2025 11:43 by rmk")
+  [LAMBDA (CLOOK1 CLOOK2)                                    (* ; "Edited  7-Sep-2025 10:59 by rmk")
+                                                             (* ; "Edited  1-Aug-2025 11:43 by rmk")
                                                              (* ; "Edited 21-Jul-2025 23:43 by rmk")
                                                              (* ; "Edited 15-Apr-2025 16:45 by rmk")
                                                              (* ; "Edited  2-Jan-2025 21:01 by rmk")
@@ -587,10 +583,8 @@
     (* ;; "Given two sets of CHARLOOKS, are they effectively the same?")
 
     (OR (EQ CLOOK1 CLOOK2)
-        (AND (OR (EQ (FGETCLOOKS CLOOK1 CLFONT)
-                     (FGETCLOOKS CLOOK2 CLFONT))
-                 (EQUAL (FGETCLOOKS CLOOK1 CLNAME)
-                        (FGETCLOOKS CLOOK2 CLNAME)))
+        (AND (EQ (FGETCLOOKS CLOOK1 CLFONT)
+                 (FGETCLOOKS CLOOK2 CLFONT))
              (EQ (FGETCLOOKS CLOOK1 CLPROTECTED)
                  (FGETCLOOKS CLOOK2 CLPROTECTED))
              (EQ (FGETCLOOKS CLOOK1 CLINVISIBLE)
@@ -931,147 +925,81 @@
 )
 (DEFINEQ
 
-(\TEDIT.TRANSLATE.ASCIICHARS
-  [LAMBDA (TSTREAM NOASCIIFONTS)                             (* ; "Edited 31-Jul-2025 09:56 by rmk")
+(\TEDIT.MCCS.TRANSLATE
+  [LAMBDA (TSTREAM)                                          (* ; "Edited  9-Sep-2025 21:48 by rmk")
+                                                             (* ; "Edited  7-Sep-2025 22:42 by rmk")
+                                                             (* ; "Edited 31-Jul-2025 09:56 by rmk")
                                                              (* ; "Edited 28-Jul-2025 23:35 by rmk")
-                                                             (* ; "Edited 24-Apr-2025 23:47 by rmk")
-                                                             (* ; "Edited 30-Mar-2025 22:00 by rmk")
-                                                             (* ; "Edited 28-Mar-2025 14:24 by rmk")
-                                                             (* ; "Edited  2-Jan-2025 23:30 by rmk")
-                                                             (* ; "Edited 30-Dec-2024 21:30 by rmk")
-                                                             (* ; "Edited 22-Dec-2024 11:42 by rmk")
-                                                             (* ; "Edited 20-Dec-2024 13:34 by rmk")
-                                                             (* ; "Edited 23-Sep-2024 00:50 by rmk")
-                                                             (* ; "Edited 17-Mar-2024 00:25 by rmk")
-                                                             (* ; "Edited  1-Dec-2023 22:28 by rmk")
-                                                             (* ; "Edited 27-Nov-2023 16:13 by rmk")
                                                              (* ; "Edited 26-Nov-2023 11:19 by rmk")
                                                              (* ; "Edited 14-Nov-2023 19:21 by rmk")
                                                              (* ; "Edited  9-Nov-2023 23:56 by rmk")
 
-    (* ;; "Converts characters in Alto/Ascii font pieces to their MCCS character and font (more or less) equivalents.  The affected characters are put in their own string pieces with their new CHARLOOKS.  Asciifont pieces are completely replaced if NOASCIIFONTS, otherwise untranslated characters remain in their Asciifonts.")
+    (* ;; "Nothing to do if all non-MCCScharacters in TSTREAM have already been converted to their MCCS equivalents.  Otherwise, the characters in each piece are converted by the MCCS conversion function of its font.  We know that all characters outside of charset-0 are already MCCS, no need to work on those.")
 
-    (* ;; "ASCIITONSTRANSLATIONS and the mapping arrays are from INTERPRESS.")
+    (* ;; "If the font charencoding is not MCCS (e.g. HIPPO), then the font itself must be changed (e.g. to Classic).")
 
-    (* ;; "\ASCII2MCCS is the default translation array, for Gacha, Timesroman.  HIPPO, MATH ... have their own.")
+    (* ;; "If every piece has a translation function, do the translations and return T.  Otherwise return NIL. ")
 
-    (DECLARE (GLOBALVARS ASCIITONSTRANSLATIONS \ASCII2MCCS))
-    (LET
-     ((TEXTOBJ (TEXTOBJ TSTREAM)))
-     (CL:WHEN (thereis CL FAMILY in (FGETTOBJ TEXTOBJ TXTCHARLOOKSLIST)
-                 unless [EQ 'CLASSIC (SETQ FAMILY (FONTPROP (GETCLOOKS CL CLFONT)
-                                                         'FAMILY] suchthat 
+    (* ;; "   ")
 
-                                           (* ;; "CLASSIC is in the list presumably to provide a coercion to MODERN for Interpress. We don't want to translate it.")
+    (LET ((TEXTOBJ (FTEXTOBJ TSTREAM)))
+         (CL:WHEN (for PC inpieces (\TEDIT.FIRSTPIECE TEXTOBJ) unless (EQ OBJECT.PTYPE (PTYPE PC))
+                     always (fetch (FONTDESCRIPTOR FONTTOMCCSFN) of (FGETCLOOKS (PCHARLOOKS PC)
+                                                                           CLFONT)))
+             (for PC CLOOKS CLFONT TOMCCSFN CLOOKSLIST inpieces (\TEDIT.FIRSTPIECE TEXTOBJ)
+                unless (EQ OBJECT.PTYPE (PTYPE PC)) when [SETQ TOMCCSFN
+                                                          (fetch (FONTDESCRIPTOR FONTTOMCCSFN)
+                                                             of (SETQ CLFONT (FGETCLOOKS
+                                                                              (SETQ CLOOKS
+                                                                               (PCHARLOOKS PC))
+                                                                              CLFONT]
+                do [for OFFSET OLDCODE STRING FAT from 1 to (PLEN PC) eachtime (SETQ OLDCODE
+                                                                                (
+                                                                             \TEDIT.PIECE.NTHCHARCODE
+                                                                                 PC OFFSET))
+                      unless (EQ OLDCODE (APPLY* TOMCCSFN OLDCODE))
+                      do 
+                         (* ;; "This piece has recoded character.   Start over to convert it to a string piece with necessary code conversions.   (The logic to split the original piece at just the changes while still preserving the iteration would be very complicated).")
 
-                                                                        (ASSOC FAMILY 
-                                                                               ASCIITONSTRANSLATIONS)
-                     )
-         (for CHNO CLOOKS TRANS MAPARRAY NEWFONTNAME STRING FAT CLOOKSLIST FAMILY TARRAYLAST
-            from 1 by (PLEN PC) as PC inpieces (\TEDIT.FIRSTPIECE TEXTOBJ)
-            eachtime (SETQ CLOOKS (PCHARLOOKS PC))
-                  (SETQ FAMILY (FONTPROP (GETCLOOKS CLOOKS CLFONT)
-                                      'FAMILY)) unless (OR (EQ OBJECT.PTYPE (PTYPE PC))
-                                                           (EQ FAMILY 'CLASSIC))
-            when (SETQ TRANS (ASSOC FAMILY ASCIITONSTRANSLATIONS))
-            do 
-               (* ;; "PC needs some work.")
+                         (SETQ STRING (ALLOCSTRING (PLEN PC)))
+                         [for OFFSET from 1 to (PLEN PC) do (RPLCHARCODE STRING OFFSET
+                                                                   (APPLY* TOMCCSFN (
+                                                                             \TEDIT.PIECE.NTHCHARCODE
+                                                                                     PC OFFSET]
+                         (SETQ FAT (ffetch (STRINGP FATSTRINGP) of STRING))
+                         (FSETPC PC PTYPE (CL:IF FAT
+                                              FATSTRING.PTYPE
+                                              THINSTRING.PTYPE))
+                         (FSETPC PC PCONTENTS STRING)
+                         (FSETPC PC PFPOS NIL)
+                         (FSETPC PC PBINABLE (NOT FAT))
+                         (FSETPC PC PBYTESPERCHAR (CL:IF FAT
+                                                      2
+                                                      1))
+                         (FSETPC PC PBYTELEN (CL:IF FAT
+                                                 (UNFOLD (PLEN PC)
+                                                        2)
+                                                 (PLEN PC)))
+                         (CL:UNLESS (EQ 'MCCS (fetch (FONTDESCRIPTOR FONTCHARENCODING) of CLFONT))
 
-               (SETQ MAPARRAY (CADR TRANS))
-               (SETQ NEWFONTNAME (CADDR TRANS))
-               (CL:WHEN MAPARRAY                             (* ; 
-                                                             "Idiosyncratic fonts (MATH, CYRILLIC). ")
-                   (SETQ MAPARRAY (GETATOMVAL MAPARRAY))     (* ; "Global value")
-                   (CL:WHEN (AND NOASCIIFONTS (PREVPIECE PC))
+                             (* ;; 
+            "Can't stay with this font (SYMBOL), find the coercion that was used for its characters.")
 
-                       (* ;; " Look backward for NEWFONTNAME, since that piece has already been coerced.  The idea is to get Cyrillic to continue the previous looks (serif, san-serif)")
+                             (FSETPC PC PCHARLOOKS (\TEDIT.MCCS.TRANSLATE.CHARLOOKS TEXTOBJ CLOOKS 
+                                                          CLFONT)))]
+                finally 
 
-                       (SETQ NEWFONTNAME (FONTPROP (GETCLOOKS (PCHARLOOKS (PREVPIECE PC))
-                                                          CLFONT)
-                                                'FAMILY))))
-               (if (OR MAPARRAY NOASCIIFONTS)
-                   then 
-                        (* ;; "Translate all characters in idiosyncratic fonts, flush everything and change the looks even for Helvetica etc. if NO ALTOFONTS")
+                      (* ;; "CLOOKSLIST maps any old charlooks to the new ones that we might have created for them, because of font coercion for non-MCCS fonts.  The stream must know about the changes.  ")
 
-                        (CL:UNLESS MAPARRAY (SETQ MAPARRAY \ASCII2MCCS))
-                        (SETQ TARRAYLAST (SUB1 (ARRAYSIZE MAPARRAY))) 
+                      (CL:WHEN CLOOKSLIST
 
-                        (* ;; "Create a string with the translated codes, then convert the existing piece to a string piece holding that string.")
+                          (* ;; "Discard orphan old looks and uniquify what's left.")
 
-                        (SETQ STRING (ALLOCSTRING (PLEN PC)))
-                        (for OFFSET OLDCODE NEWCODE from 1 to (PLEN PC)
-                           do 
-                              (* ;; 
-                        "Out-of-range alone and zero newcodes alone (some arrays are not filled in).")
-
-                              (SETQ OLDCODE (\TEDIT.PIECE.NTHCHARCODE PC OFFSET))
-                              (RPLCHARCODE STRING OFFSET
-                                     (if [OR (IGREATERP OLDCODE TARRAYLAST)
-                                             (ZEROP (SETQ NEWCODE (ELT MAPARRAY OLDCODE]
-                                         then OLDCODE
-                                       else NEWCODE)))
-                        (SETQ FAT (ffetch (STRINGP FATSTRINGP) of STRING))
-                        (FSETPC PC PTYPE (CL:IF FAT
-                                             FATSTRING.PTYPE
-                                             THINSTRING.PTYPE))
-                        (FSETPC PC PCONTENTS STRING)
-                        (FSETPC PC PFPOS NIL)
-                        (FSETPC PC PBINABLE (NOT FAT))
-                        (FSETPC PC PBYTESPERCHAR (CL:IF FAT
-                                                     2
-                                                     1))
-                        (FSETPC PC PBYTELEN (CL:IF FAT
-                                                (UNFOLD (PLEN PC)
-                                                       2)
-                                                (PLEN PC)))
-                        (FSETPC PC PCHARLOOKS (\TEDIT.TRANSLATE.ASCII.CHARLOOKS TEXTOBJ CLOOKS 
-                                                     NEWFONTNAME))
-                 else 
-                      (* ;; "Must be a text font (GACHA, TIMESROMAN, HELVETICA)  \ASCIITONS is the translation array, mostly identities.  ")
-
-                      (* ;; "Find the first change quickly, in piece coordinates.  Then change whatever else needs it, slowly, in document coordinates. It would be more complicated to do the replacements in piece coordinates, because the pieces would get split on the fly. ")
-
-                      (for OFFSET OLDCODE NEWLOOKS from 1 to (PLEN PC)
-                         eachtime (SETQ OLDCODE (\TEDIT.PIECE.NTHCHARCODE PC OFFSET))
-                         when (ILEQ OLDCODE 255) unless (EQ OLDCODE (ELT \ASCII2MCCS OLDCODE))
-                         do 
-                            (* ;; "First hit, scan/change the rest of PC")
-
-                            (SETQ NEWLOOKS (\TEDIT.TRANSLATE.ASCII.CHARLOOKS TEXTOBJ CLOOKS 
-                                                  NEWFONTNAME))
-                            (for I NEWCODE from (IPLUS CHNO (SUB1 OFFSET))
-                               to (SUB1 (IPLUS CHNO (PLEN PC))) eachtime (SETQ OLDCODE
-                                                                          (\TEDIT.NTHCHARCODE TSTREAM
-                                                                                 I))
-                               when (ILEQ OLDCODE 255) unless (EQ OLDCODE (SETQ NEWCODE
-                                                                           (ELT \ASCII2MCCS OLDCODE))
-                                                                  )
-                               do (\TEDIT.RPLCHARCODE TSTREAM I NEWCODE NEWLOOKS))
-                            (RETURN))) finally 
-
-                                 (* ;; "Here we change the caret looks.  Perhaps this should be done only if NOASCIIFONTS.  But there is a risk that Ascii fonts and characters would slip in by future editing.  ")
-
-                                             (CL:WHEN NOASCIIFONTS
-                                                 (SETQ CLOOKS (FGETTOBJ TEXTOBJ DEFAULTCHARLOOKS))
-                                                 (SETQ FAMILY (FONTPROP (GETCLOOKS CLOOKS CLFONT)
-                                                                     'FAMILY))
-                                                 (SETQ CLOOKS (FGETTOBJ TEXTOBJ CARETLOOKS))
-                                                 (SETQ FAMILY (FONTPROP (GETCLOOKS CLOOKS CLFONT)
-                                                                     'FAMILY))
-                                                 (CL:WHEN (AND (NEQ FAMILY 'CLASSIC)
-                                                               (SETQ TRANS (ASSOC FAMILY 
-                                                                                ASCIITONSTRANSLATIONS
-                                                                                  )))
-                                                     (FSETTOBJ TEXTOBJ CARETLOOKS (
-                                                                     \TEDIT.TRANSLATE.ASCII.CHARLOOKS
-                                                                                   TEXTOBJ CLOOKS
-                                                                                   (CADDR TRANS)))))
-                                             (CL:WHEN CLOOKSLIST
-
-                                                 (* ;; 
-                                             "Something happened, get rid of any lingering old looks")
-
-                                                 (\TEDIT.UNIQUIFY.ALL TEXTOBJ))))])
+                          (\TEDIT.UNIQUIFY.ALL TEXTOBJ))
+                      (FPUTMULTI (FGETTOBJ TEXTOBJ DOCPROPS)
+                             'CHARENCODING
+                             'MCCS))
+             T)])
 
 (\TEDIT.CONVERT.TO.FORMATTED
   [LAMBDA (TSTREAM START END)                                (* ; "Edited 20-Apr-2025 13:25 by rmk")
@@ -1156,21 +1084,19 @@
 )
 (DECLARE%: EVAL@COMPILE 
 
-(PUTPROPS \TEDIT.TRANSLATE.ASCII.CHARLOOKS MACRO
-          [OPENLAMBDA (TEXTOBJ CLOOKS NEWFONTNAME)
+(PUTPROPS \TEDIT.MCCS.TRANSLATE.CHARLOOKS MACRO
+          [OPENLAMBDA (TEXTOBJ CLOOKS CLFONT)
 
             (* ;; "Macro because CLOOKSLIST is set.  The alist avoids creating and then uniquifying each time we want to make the same translation.")
 
-            (CDR (OR (ASSOC CLOOKS CLOOKSLIST)
-                     (CAR (PUSH CLOOKSLIST
-                                (CONS CLOOKS
-                                      (\TEDIT.UNIQUIFY.CHARLOOKS
-                                       (LET ((NEWFONT (\TEDIT.FONTCOPY (GETCLOOKS CLOOKS CLFONT)
-                                                             (LIST 'FAMILY NEWFONTNAME)
-                                                             TEXTOBJ)))
-                                            (create CHARLOOKS using CLOOKS CLFONT _ NEWFONT CLNAME _
-                                                                    (FONTUNPARSE NEWFONT)))
-                                       TEXTOBJ])
+            (OR (FGETMULTI CLOOKSLIST CLOOKS)
+                (FPUTMULTI CLOOKSLIST CLOOKS (\TEDIT.UNIQUIFY.CHARLOOKS
+                                              [create CHARLOOKS
+                                                 using CLOOKS CLFONT _
+                                                       (CAR (\COERCECHARSET (FONTPROP CLFONT
+                                                                                   'SPEC)
+                                                                   0 NIL 'CHARCOERCIONS]
+                                              TEXTOBJ])
 )
 (DEFINEQ
 
@@ -1448,7 +1374,7 @@
                    (RETURN (\TEDIT.COPYSEL (FGETTOBJ TEXTOBJ SEL])])
 )
 
-(RPAQ? TEDIT.FONTCLASSES '(DISPLAY PDF POSTSCRIPT INTERPRESS PRESS))
+(RPAQ? TEDIT.FONTCLASSES '(DISPLAY PDF POSTSCRIPT INTERPRESS))
 (DEFINEQ
 
 (\TEDIT.CHANGE.CHARLOOKS
@@ -1577,7 +1503,8 @@
           (RETURN DIRTY])
 
 (\TEDIT.CHANGE.CHARLOOKS.NEW
-  [LAMBDA (NEWLOOKS OLDCHARLOOKS TEXTOBJ)                    (* ; "Edited 15-Apr-2025 16:47 by rmk")
+  [LAMBDA (NEWLOOKS OLDCHARLOOKS TEXTOBJ)                    (* ; "Edited  7-Sep-2025 11:03 by rmk")
+                                                             (* ; "Edited 15-Apr-2025 16:47 by rmk")
                                                              (* ; "Edited  2-Jan-2025 15:49 by rmk")
                                                              (* ; "Edited  1-Jan-2025 09:04 by rmk")
                                                              (* ; "Edited  2-Dec-2024 23:52 by rmk")
@@ -1588,7 +1515,7 @@
 
     (* ;; "Make a new CHARLOOKS reflecting the properties in NEWLOOKS, with defaults taken from OLDCHARLOOKS, if given, or the DEFAULTCHARLOOKS of TEXTOBJ, if given,;")
 
-    (* ;; "OLDCHARLOOKS is also used as the base for increments.�")
+    (* ;; "OLDCHARLOOKS is also used as the base for increments.")
 
     (CL:UNLESS OLDCHARLOOKS
         (SETQ OLDCHARLOOKS (OR (AND TEXTOBJ (GETTOBJ TEXTOBJ DEFAULTCHARLOOKS))
@@ -1600,8 +1527,7 @@
              (CL:UNLESS (SETQ NEWFONT (\TEDIT.CHARLOOKS.CHANGE.FONT NEWLOOKS OLDCHARLOOKS TEXTOBJ))
                                                              (* ; "Bad font specification")
                  (RETURN NIL))
-             (SETQ NEWCHARLOOKS (create CHARLOOKS using OLDCHARLOOKS CLFONT _ NEWFONT CLNAME _
-                                                        (FONTUNPARSE NEWFONT)))
+             (SETQ NEWCHARLOOKS (create CHARLOOKS using OLDCHARLOOKS CLFONT _ NEWFONT))
        do (SETQ VAL (CADR NLTAIL))
           (CL:WHEN (MEMB VAL '(NEUTRAL OFF))                 (* ; "Off and NEUTRAL both turn off")
               (SETQ VAL NIL)) 
@@ -2533,26 +2459,26 @@
 (ADDTOVAR LAMA )
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (22579 24521 (\TEDIT.CHARLOOKS.DEFPRINT 22589 . 23725) (\TEDIT.PARALOOKS.DEFPRINT 23727
- . 24519)) (24625 25011 (\TEDIT.CREATE.FACE.MENU 24635 . 24807) (\TEDIT.CREATE.SIZE.MENU 24809 . 25009
-)) (26015 27904 (\TEDIT.CHARLOOKS.FEATURE.CHECK 26025 . 27902)) (28176 53365 (
-\TEDIT.CHARLOOKS.FROM.FONT 28186 . 30399) (\TEDIT.EQCLOOKS 30401 . 33435) (\TEDIT.SAMECLOOKS 33437 . 
-36608) (TEDIT.CARETLOOKS 36610 . 38156) (TEDIT.COPY.LOOKS 38158 . 41441) (
-\TEDIT.UNPARSE.CHARLOOKS.LIST 41443 . 44937) (\TEDIT.MODIFYLOOKS 44939 . 47099) (TEDIT.NEW.FONT 47101
- . 47548) (\TEDIT.CARETLOOKS.VERIFY 47550 . 48387) (\TEDIT.CARETPIECE 48389 . 48694) (
-\TEDIT.GET.INSERT.CHARLOOKS 48696 . 51743) (\TEDIT.GET.TERMSA.WIDTHS 51745 . 52161) (
-\TEDIT.PARSE.CHARLOOKS.LIST 52163 . 53363)) (53366 70096 (\TEDIT.TRANSLATE.ASCIICHARS 53376 . 63832) (
-\TEDIT.CONVERT.TO.FORMATTED 63834 . 70094)) (71108 78445 (\TEDIT.UNIQUIFY.CHARLOOKS 71118 . 72778) (
-\TEDIT.UNIQUIFY.PARALOOKS 72780 . 74047) (\TEDIT.UNIQUIFY.ALL 74049 . 76137) (
-\TEDIT.FLUSH.UNUSED.LOOKS 76139 . 78443)) (78478 90436 (TEDIT.LOOKS 78488 . 80877) (TEDIT.GET.LOOKS 
-80879 . 83214) (TEDIT.SUBLOOKS 83216 . 87596) (TEDIT.FINDLOOKS 87598 . 90434)) (90511 120140 (
-\TEDIT.CHANGE.CHARLOOKS 90521 . 99299) (\TEDIT.CHANGE.CHARLOOKS.NEW 99301 . 103095) (
-\TEDIT.CHARLOOKS.CHANGE.FONT 103097 . 111404) (\TEDIT.FONT.NEXTSIZE 111406 . 113027) (\TEDIT.LOOKS 
-113029 . 116358) (\TEDIT.FONTCOPY 116360 . 117861) (\TEDIT.COERCE.FONTCLASS 117863 . 119014) (
-\TEDIT.FONTCLASS.TO.FONT 119016 . 120138)) (120183 151831 (\TEDIT.EQFMTSPEC 120193 . 123408) (
-TEDIT.GET.PARALOOKS 123410 . 127457) (\TEDIT.PARSE.PARALOOKS.LIST 127459 . 135492) (TEDIT.PARALOOKS 
-135494 . 136534) (\TEDIT.CHANGE.PARALOOKS 136536 . 143504) (\TEDIT.CHANGE.PARALOOKS.NEW 143506 . 
-147489) (TEDIT.COPY.PARALOOKS 147491 . 150165) (\TEDIT.PARABOUNDS 150167 . 151829)) (151891 159607 (
-TEDIT.SUBPARALOOKS 151901 . 156003) (SAMEPARALOOKS 156005 . 159605)) (159608 160295 (
-\TEDIT.MARK.REVISION 159618 . 160293)))))
+  (FILEMAP (NIL (22140 24082 (\TEDIT.CHARLOOKS.DEFPRINT 22150 . 23286) (\TEDIT.PARALOOKS.DEFPRINT 23288
+ . 24080)) (24186 24572 (\TEDIT.CREATE.FACE.MENU 24196 . 24368) (\TEDIT.CREATE.SIZE.MENU 24370 . 24570
+)) (25576 27465 (\TEDIT.CHARLOOKS.FEATURE.CHECK 25586 . 27463)) (27737 52994 (
+\TEDIT.CHARLOOKS.FROM.FONT 27747 . 30031) (\TEDIT.EQCLOOKS 30033 . 33064) (\TEDIT.SAMECLOOKS 33066 . 
+36237) (TEDIT.CARETLOOKS 36239 . 37785) (TEDIT.COPY.LOOKS 37787 . 41070) (
+\TEDIT.UNPARSE.CHARLOOKS.LIST 41072 . 44566) (\TEDIT.MODIFYLOOKS 44568 . 46728) (TEDIT.NEW.FONT 46730
+ . 47177) (\TEDIT.CARETLOOKS.VERIFY 47179 . 48016) (\TEDIT.CARETPIECE 48018 . 48323) (
+\TEDIT.GET.INSERT.CHARLOOKS 48325 . 51372) (\TEDIT.GET.TERMSA.WIDTHS 51374 . 51790) (
+\TEDIT.PARSE.CHARLOOKS.LIST 51792 . 52992)) (52995 64710 (\TEDIT.MCCS.TRANSLATE 53005 . 58446) (
+\TEDIT.CONVERT.TO.FORMATTED 58448 . 64708)) (65590 72927 (\TEDIT.UNIQUIFY.CHARLOOKS 65600 . 67260) (
+\TEDIT.UNIQUIFY.PARALOOKS 67262 . 68529) (\TEDIT.UNIQUIFY.ALL 68531 . 70619) (
+\TEDIT.FLUSH.UNUSED.LOOKS 70621 . 72925)) (72960 84918 (TEDIT.LOOKS 72970 . 75359) (TEDIT.GET.LOOKS 
+75361 . 77696) (TEDIT.SUBLOOKS 77698 . 82078) (TEDIT.FINDLOOKS 82080 . 84916)) (84987 114637 (
+\TEDIT.CHANGE.CHARLOOKS 84997 . 93775) (\TEDIT.CHANGE.CHARLOOKS.NEW 93777 . 97592) (
+\TEDIT.CHARLOOKS.CHANGE.FONT 97594 . 105901) (\TEDIT.FONT.NEXTSIZE 105903 . 107524) (\TEDIT.LOOKS 
+107526 . 110855) (\TEDIT.FONTCOPY 110857 . 112358) (\TEDIT.COERCE.FONTCLASS 112360 . 113511) (
+\TEDIT.FONTCLASS.TO.FONT 113513 . 114635)) (114680 146328 (\TEDIT.EQFMTSPEC 114690 . 117905) (
+TEDIT.GET.PARALOOKS 117907 . 121954) (\TEDIT.PARSE.PARALOOKS.LIST 121956 . 129989) (TEDIT.PARALOOKS 
+129991 . 131031) (\TEDIT.CHANGE.PARALOOKS 131033 . 138001) (\TEDIT.CHANGE.PARALOOKS.NEW 138003 . 
+141986) (TEDIT.COPY.PARALOOKS 141988 . 144662) (\TEDIT.PARABOUNDS 144664 . 146326)) (146388 154104 (
+TEDIT.SUBPARALOOKS 146398 . 150500) (SAMEPARALOOKS 150502 . 154102)) (154105 154792 (
+\TEDIT.MARK.REVISION 154115 . 154790)))))
 STOP
diff --git a/library/tedit/TEDIT-LOOKS.LCOM b/library/tedit/TEDIT-LOOKS.LCOM
index 2eba0287..ec3337d8 100644
Binary files a/library/tedit/TEDIT-LOOKS.LCOM and b/library/tedit/TEDIT-LOOKS.LCOM differ
diff --git a/library/tedit/TEDIT-MENU b/library/tedit/TEDIT-MENU
index b2288656..f6075e5d 100644
--- a/library/tedit/TEDIT-MENU
+++ b/library/tedit/TEDIT-MENU
@@ -1,13 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "28-Jul-2025 23:26:01" 
-{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-MENU.;491 179623 
+(FILECREATED "10-Sep-2025 17:08:43" {WMEDLEY}<library>TEDIT>TEDIT-MENU.;492 178438 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \TEDIT.SHOW.PARALOOKS \TEDIT.SHOW.CHARLOOKS)
+      :CHANGES-TO (VARS TEDIT-MENUCOMS)
 
-      :PREVIOUS-DATE "13-Jul-2025 22:35:15" {WMEDLEY}<library>TEDIT>TEDIT-MENU.;488)
+      :PREVIOUS-DATE "28-Jul-2025 23:26:01" {WMEDLEY}<library>TEDIT>TEDIT-MENU.;491)
 
 
 (PRETTYCOMPRINT TEDIT-MENUCOMS)
@@ -16,17 +15,7 @@
        [
         (* ;; "TEdit-specific menus and support")
 
-        [DECLARE%: DOEVAL@COMPILE DONTCOPY (RECORDS MARGINBAR)
-               (EXPORT (CONSTANTS (PTSPERPICA 12)
-                              (PTSPERINCH 72)
-                              (PICASPERINCH 6)
-                              (MICASPERINCH 2540)
-                              (PTSPERCM (FQUOTIENT PTSPERINCH 2.54))
-                              (PTSPERMICA (FQUOTIENT PTSPERINCH MICASPERINCH))
-                              (MICASPERPOINT (FQUOTIENT MICASPERINCH PTSPERINCH]
-        
-        (* ;; "")
-
+        (DECLARE%: DOEVAL@COMPILE DONTCOPY (RECORDS MARGINBAR))
                                                              (* ; "Middle button in title")
         [COMS                                                (* ; "Menu interfacing")
               (FNS TEDIT.ADD.MENUITEM TEDIT.DEFAULT.MENUFN TEDIT.REMOVE.MENUITEM \TEDIT.CREATEMENU 
@@ -111,42 +100,8 @@
                               (EQ (IMAGEOBJPROP DATUM 'DISPLAYFN)
                                   'MB.MARGINBAR.DISPLAYFN])
 )
-
-(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE 
-
-(RPAQQ PTSPERPICA 12)
-
-(RPAQQ PTSPERINCH 72)
-
-(RPAQQ PICASPERINCH 6)
-
-(RPAQQ MICASPERINCH 2540)
-
-(RPAQ PTSPERCM (FQUOTIENT PTSPERINCH 2.54))
-
-(RPAQ PTSPERMICA (FQUOTIENT PTSPERINCH MICASPERINCH))
-
-(RPAQ MICASPERPOINT (FQUOTIENT MICASPERINCH PTSPERINCH))
-
-
-(CONSTANTS (PTSPERPICA 12)
-       (PTSPERINCH 72)
-       (PICASPERINCH 6)
-       (MICASPERINCH 2540)
-       (PTSPERCM (FQUOTIENT PTSPERINCH 2.54))
-       (PTSPERMICA (FQUOTIENT PTSPERINCH MICASPERINCH))
-       (MICASPERPOINT (FQUOTIENT MICASPERINCH PTSPERINCH)))
 )
 
-(* "END EXPORTED DEFINITIONS")
-
-)
-
-
-
-(* ;; "")
-
-
 
 
 (* ; "Middle button in title")
@@ -2912,32 +2867,32 @@
 (ADDTOVAR LAMA )
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (6087 17725 (TEDIT.ADD.MENUITEM 6097 . 8214) (TEDIT.DEFAULT.MENUFN 8216 . 14937) (
-TEDIT.REMOVE.MENUITEM 14939 . 15936) (\TEDIT.CREATEMENU 15938 . 16503) (\TEDIT.MENU.WHENHELDFN 16505
- . 17410) (\TEDIT.MENU.WHENSELECTEDFN 17412 . 17723)) (18539 65182 (DRAWMARGINSCALE 18549 . 22008) (
-MARGINBAR 22010 . 29135) (MARGINBAR.CREATE 29137 . 32556) (MB.MARGINBAR.BUTTONEVENTINFN 32558 . 40360)
- (MB.MARGINBAR.SELFN.TABS 40362 . 45602) (MB.MARGINBAR.SELFN.TABS.KIND 45604 . 46539) (
-MARGINBAR.GETSTATEFN 46541 . 50528) (MARGINBAR.SETSTATEFN 50530 . 50740) (MARGINBAR.NEUTRALIZE 50742
- . 51155) (MARGINBAR.LOOKS 51157 . 54263) (MB.MARGINBAR.SIZEFN 54265 . 54868) (MB.MARGINBAR.DISPLAYFN 
-54870 . 57931) (MDESCALE 57933 . 58473) (MSCALE 58475 . 58805) (MB.MARGINBAR.SHOWTAB 58807 . 61130) (
-MB.MARGINBAR.TABTRACK 61132 . 62517) (MARGINBAR.INIT 62519 . 63912) (\TEDIT.PARALOOKS.TO.MARBAR 63914
- . 65180)) (66007 73289 (TEDIT.MENUSTREAM 66017 . 67017) (TEDITMENUP 67019 . 67988) (\TEDIT.MENU.START
- 67990 . 72337) (\TEDIT.MENU.OPEN? 72339 . 72713) (\TEDIT.MENU.BUTTONEVENTFN 72715 . 73287)) (73608 
-81530 (\TEDIT.MENU.CREATE 73618 . 75429) (\TEDIT.MENU.PARSE 75431 . 79120) (\TEDIT.MENU.NEUTRALIZE 
-79122 . 81193) (\TEDITMENU.RECORD.UNFORMATTED 81195 . 81528)) (81596 101377 (
-\TEDIT.EXPANDEDMENU.CREATE 81606 . 87073) (\TEDIT.EXPANDEDMENU.START 87075 . 88699) (
-\TEDIT.EXPANDEDMENU.FN 88701 . 91956) (\TEDIT.EXPANDEDMENU.ACTIONFN 91958 . 101375)) (101439 117496 (
-\TEDIT.PARAMENU.CREATE 101449 . 107843) (\TEDIT.PARAMENU.START 107845 . 108970) (
-\TEDIT.APPLY.PARALOOKS 108972 . 110024) (\TEDIT.SHOW.PARALOOKS 110026 . 112743) (
-\TEDIT.PARAMENU.FILLIN 112745 . 117494)) (117701 144543 (\TEDIT.CHARMENU.CREATE 117711 . 120315) (
-\TEDIT.CHARMENU.START 120317 . 121607) (\TEDIT.CHARMENU.SPEC 121609 . 126292) (\TEDIT.CHARMENU.PARSE 
-126294 . 129462) (\TEDIT.CHARMENU.FILLIN 129464 . 134094) (\TEDIT.SHOW.CHARLOOKS 134096 . 137641) (
-\TEDIT.APPLY.CHARLOOKS 137643 . 138804) (\TEDIT.OFFSETTYPE.STATEFN 138806 . 140769) (
-\TEDIT.OTHER.STATECHANGEFN 140771 . 142416) (\TEDIT.OTHER.SELECTFN 142418 . 144541)) (144605 173663 (
-\TEDIT.PAGEMENU.CREATE 144615 . 153127) (\TEDIT.PAGEMENU.START 153129 . 153480) (\TEDIT.SHOW.PAGELOOKS
- 153482 . 155368) (\TEDIT.PAGEMENU.FILLIN 155370 . 156920) (\TEDIT.PAGEREGION.UNPARSE 156922 . 166321)
- (\TEDIT.APPLY.PAGELOOKS 166323 . 168250) (\TEDIT.CHANGE.PAGELOOKS 168252 . 172819) (
-\TEDIT.PAGEMENU.CHARLOOKS.STATEFN 172821 . 173661)) (173664 179467 (\TEDIT.PAGEMENU.CREATE.HEADINGS 
-173674 . 176486) (\TEDIT.PAGEMENU.HEADINGS.SETSTATEFN 176488 . 177913) (
-\TEDIT.PAGEMENU.HEADINGS.STATEFN 177915 . 179465)))))
+  (FILEMAP (NIL (4902 16540 (TEDIT.ADD.MENUITEM 4912 . 7029) (TEDIT.DEFAULT.MENUFN 7031 . 13752) (
+TEDIT.REMOVE.MENUITEM 13754 . 14751) (\TEDIT.CREATEMENU 14753 . 15318) (\TEDIT.MENU.WHENHELDFN 15320
+ . 16225) (\TEDIT.MENU.WHENSELECTEDFN 16227 . 16538)) (17354 63997 (DRAWMARGINSCALE 17364 . 20823) (
+MARGINBAR 20825 . 27950) (MARGINBAR.CREATE 27952 . 31371) (MB.MARGINBAR.BUTTONEVENTINFN 31373 . 39175)
+ (MB.MARGINBAR.SELFN.TABS 39177 . 44417) (MB.MARGINBAR.SELFN.TABS.KIND 44419 . 45354) (
+MARGINBAR.GETSTATEFN 45356 . 49343) (MARGINBAR.SETSTATEFN 49345 . 49555) (MARGINBAR.NEUTRALIZE 49557
+ . 49970) (MARGINBAR.LOOKS 49972 . 53078) (MB.MARGINBAR.SIZEFN 53080 . 53683) (MB.MARGINBAR.DISPLAYFN 
+53685 . 56746) (MDESCALE 56748 . 57288) (MSCALE 57290 . 57620) (MB.MARGINBAR.SHOWTAB 57622 . 59945) (
+MB.MARGINBAR.TABTRACK 59947 . 61332) (MARGINBAR.INIT 61334 . 62727) (\TEDIT.PARALOOKS.TO.MARBAR 62729
+ . 63995)) (64822 72104 (TEDIT.MENUSTREAM 64832 . 65832) (TEDITMENUP 65834 . 66803) (\TEDIT.MENU.START
+ 66805 . 71152) (\TEDIT.MENU.OPEN? 71154 . 71528) (\TEDIT.MENU.BUTTONEVENTFN 71530 . 72102)) (72423 
+80345 (\TEDIT.MENU.CREATE 72433 . 74244) (\TEDIT.MENU.PARSE 74246 . 77935) (\TEDIT.MENU.NEUTRALIZE 
+77937 . 80008) (\TEDITMENU.RECORD.UNFORMATTED 80010 . 80343)) (80411 100192 (
+\TEDIT.EXPANDEDMENU.CREATE 80421 . 85888) (\TEDIT.EXPANDEDMENU.START 85890 . 87514) (
+\TEDIT.EXPANDEDMENU.FN 87516 . 90771) (\TEDIT.EXPANDEDMENU.ACTIONFN 90773 . 100190)) (100254 116311 (
+\TEDIT.PARAMENU.CREATE 100264 . 106658) (\TEDIT.PARAMENU.START 106660 . 107785) (
+\TEDIT.APPLY.PARALOOKS 107787 . 108839) (\TEDIT.SHOW.PARALOOKS 108841 . 111558) (
+\TEDIT.PARAMENU.FILLIN 111560 . 116309)) (116516 143358 (\TEDIT.CHARMENU.CREATE 116526 . 119130) (
+\TEDIT.CHARMENU.START 119132 . 120422) (\TEDIT.CHARMENU.SPEC 120424 . 125107) (\TEDIT.CHARMENU.PARSE 
+125109 . 128277) (\TEDIT.CHARMENU.FILLIN 128279 . 132909) (\TEDIT.SHOW.CHARLOOKS 132911 . 136456) (
+\TEDIT.APPLY.CHARLOOKS 136458 . 137619) (\TEDIT.OFFSETTYPE.STATEFN 137621 . 139584) (
+\TEDIT.OTHER.STATECHANGEFN 139586 . 141231) (\TEDIT.OTHER.SELECTFN 141233 . 143356)) (143420 172478 (
+\TEDIT.PAGEMENU.CREATE 143430 . 151942) (\TEDIT.PAGEMENU.START 151944 . 152295) (\TEDIT.SHOW.PAGELOOKS
+ 152297 . 154183) (\TEDIT.PAGEMENU.FILLIN 154185 . 155735) (\TEDIT.PAGEREGION.UNPARSE 155737 . 165136)
+ (\TEDIT.APPLY.PAGELOOKS 165138 . 167065) (\TEDIT.CHANGE.PAGELOOKS 167067 . 171634) (
+\TEDIT.PAGEMENU.CHARLOOKS.STATEFN 171636 . 172476)) (172479 178282 (\TEDIT.PAGEMENU.CREATE.HEADINGS 
+172489 . 175301) (\TEDIT.PAGEMENU.HEADINGS.SETSTATEFN 175303 . 176728) (
+\TEDIT.PAGEMENU.HEADINGS.STATEFN 176730 . 178280)))))
 STOP
diff --git a/library/tedit/TEDIT-MENU.LCOM b/library/tedit/TEDIT-MENU.LCOM
index d7a85ffb..80237952 100644
Binary files a/library/tedit/TEDIT-MENU.LCOM and b/library/tedit/TEDIT-MENU.LCOM differ
diff --git a/library/tedit/TEDIT-OLDFILE b/library/tedit/TEDIT-OLDFILE
index 86e88037..06e8ac8a 100644
--- a/library/tedit/TEDIT-OLDFILE
+++ b/library/tedit/TEDIT-OLDFILE
@@ -1,15 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 1-Aug-2025 14:58:21" 
-{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-OLDFILE.;38 73837  
+(FILECREATED " 8-Sep-2025 22:10:10" {WMEDLEY}<library>TEDIT>TEDIT-OLDFILE.;40 73888  
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \TEDIT.GET.CHARLOOKS2 \TEDIT.GET.PCTB1 \TEDIT.GET.PCTB2 
-                       \TEDIT.GET.SINGLE.CHARLOOKS2 \TEDIT.GET.CHARLOOKS0 \TEDIT.GET.CHARLOOKS1)
+      :CHANGES-TO (FNS \TEDIT.GET.PCTB2)
 
-      :PREVIOUS-DATE "28-Jul-2025 23:43:57" 
-{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-OLDFILE.;34)
+      :PREVIOUS-DATE " 7-Sep-2025 11:07:57" {WMEDLEY}<library>TEDIT>TEDIT-OLDFILE.;39)
 
 
 (PRETTYCOMPRINT TEDIT-OLDFILECOMS)
@@ -49,7 +46,8 @@
 (DEFINEQ
 
 (\TEDIT.GET.PCTB2
-  [LAMBDA (TEXT TSTREAM PCCOUNT START END)                   (* ; "Edited  1-Aug-2025 14:55 by rmk")
+  [LAMBDA (TEXT TSTREAM PCCOUNT START END)                   (* ; "Edited  8-Sep-2025 22:08 by rmk")
+                                                             (* ; "Edited  1-Aug-2025 14:55 by rmk")
                                                              (* ; "Edited 28-Jul-2025 23:39 by rmk")
                                                              (* ; "Edited  8-Feb-2025 20:21 by rmk")
                                                              (* ; "Edited 21-Oct-2024 00:33 by rmk")
@@ -73,7 +71,7 @@
 
     (* ;; "END = use this as eofptr of file.  For use in reading files within files.")
 
-    (LET ((TEXTOBJ (FTEXTOBJ (TSTREAM)))
+    (LET ((TEXTOBJ (FTEXTOBJ TSTREAM))
           PIECEINFOCH#
           (CURFILECH# (OR START 0))
           LOOKSHASH PARAHASH)
@@ -283,7 +281,8 @@
     (for I from 1 to (\WIN FILE) collect (\TEDIT.GET.SINGLE.CHARLOOKS2 FILE])
 
 (\TEDIT.GET.SINGLE.CHARLOOKS2
-  [LAMBDA (FILE)                                             (* ; "Edited  1-Aug-2025 12:13 by rmk")
+  [LAMBDA (FILE)                                             (* ; "Edited  7-Sep-2025 11:03 by rmk")
+                                                             (* ; "Edited  1-Aug-2025 12:13 by rmk")
                                                              (* ; "Edited  7-Jan-2025 12:29 by rmk")
                                                              (* ; "Edited  2-Jan-2025 11:09 by rmk")
                                                              (* ; "Edited 31-Jul-2024 00:05 by rmk")
@@ -327,7 +326,6 @@
                                                    (BOLD 'BOLD)
                                                    (ITALIC 'ITALIC]
            (FSETCLOOKS LOOKS CLFONT FONT)
-           (FSETCLOOKS LOOKS CLNAME (FONTUNPARSE FONT))
            (RETURN LOOKS])
 
 (\TEDIT.PUT.SINGLE.PARALOOKS2
@@ -730,7 +728,8 @@
                       (\TEDIT.PARSE.PAGEFRAMES1 (pop PAGELIST])
 
 (\TEDIT.GET.CHARLOOKS1
-  [LAMBDA (PC FILE)                                          (* ; "Edited  1-Aug-2025 12:18 by rmk")
+  [LAMBDA (PC FILE)                                          (* ; "Edited  7-Sep-2025 11:03 by rmk")
+                                                             (* ; "Edited  1-Aug-2025 12:18 by rmk")
                                                              (* ; "Edited 28-Jul-2025 23:40 by rmk")
                                                              (* ; "Edited  2-Jan-2025 11:09 by rmk")
                                                              (* ; "Edited 31-Jul-2024 00:05 by rmk")
@@ -788,7 +787,6 @@
                                                       (ITALIC 'ITALIC]
                       else                                   (* ; "Should never happen")
                            (FONTCREATE DEFAULTFONT)))
-         (FSETCLOOKS LOOKS CLNAME (FONTUNPARSE FONT))
          (FSETCLOOKS LOOKS CLFONT FONT])
 
 (\TEDIT.GET.PARALOOKS1
@@ -956,7 +954,8 @@
                (\TEDIT.INSERTPIECE PC NIL TEXTOBJ) finally (\TEDIT.UNIQUIFY.ALL TEXTOBJ])
 
 (\TEDIT.GET.CHARLOOKS0
-  [LAMBDA (PC FILE)                                          (* ; "Edited  1-Aug-2025 12:17 by rmk")
+  [LAMBDA (PC FILE)                                          (* ; "Edited  7-Sep-2025 11:03 by rmk")
+                                                             (* ; "Edited  1-Aug-2025 12:17 by rmk")
                                                              (* ; "Edited 28-Jul-2025 23:39 by rmk")
                                                              (* ; "Edited  2-Jan-2025 11:09 by rmk")
                                                              (* ; "Edited 31-Jul-2024 00:05 by rmk")
@@ -1015,7 +1014,6 @@
                        else                                  (* ; "Should never happen")
                             (FONTCREATE DEFAULTFONT)))
           (FSETCLOOKS LOOKS CLFONT FONT)
-          (FSETCLOOKS LOOKS CLNAME (FONTUNPARSE FONT))
           (RETURN LOOKS])
 
 (\TEDIT.GET.OBJECT0
@@ -1102,14 +1100,14 @@
          PARALOOKS])
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (1867 37890 (\TEDIT.GET.PCTB2 1877 . 12526) (\TEDIT.GET.PARALOOKS2 12528 . 13117) (
-\TEDIT.GET.CHARLOOKS2 13119 . 14676) (\TEDIT.PARSE.PAGEFRAMES2 14678 . 17417) (
-\TEDIT.GET.CHARLOOKS.LIST2 17419 . 17926) (\TEDIT.GET.SINGLE.CHARLOOKS2 17928 . 21234) (
-\TEDIT.PUT.SINGLE.PARALOOKS2 21236 . 25486) (\TEDIT.PUT.SINGLE.CHARLOOKS2 25488 . 29198) (
-\TEDIT.GET.PARALOOKS.LIST2 29200 . 29707) (\TEDIT.GET.SINGLE.PARALOOKS2 29709 . 34608) (
-\TEDIT.PUT.CHARLOOKS.LIST2 34610 . 36689) (\TEDIT.PUT.PARALOOKS.LIST2 36691 . 37888)) (37967 59193 (
-\TEDIT.GET.PCTB1 37977 . 44994) (\TEDIT.GET.PAGEFRAMES1 44996 . 45448) (\TEDIT.PARSE.PAGEFRAMES1 45450
- . 48103) (\TEDIT.GET.CHARLOOKS1 48105 . 52416) (\TEDIT.GET.PARALOOKS1 52418 . 57329) (
-TEDIT.GET.OBJECT1 57331 . 59191)) (59253 73814 (\TEDIT.GET.PCTB0 59263 . 63344) (\TEDIT.GET.CHARLOOKS0
- 63346 . 67732) (\TEDIT.GET.OBJECT0 67734 . 69809) (\TEDIT.GET.PARALOOKS0 69811 . 73812)))))
+  (FILEMAP (NIL (1649 37832 (\TEDIT.GET.PCTB2 1659 . 12415) (\TEDIT.GET.PARALOOKS2 12417 . 13006) (
+\TEDIT.GET.CHARLOOKS2 13008 . 14565) (\TEDIT.PARSE.PAGEFRAMES2 14567 . 17306) (
+\TEDIT.GET.CHARLOOKS.LIST2 17308 . 17815) (\TEDIT.GET.SINGLE.CHARLOOKS2 17817 . 21176) (
+\TEDIT.PUT.SINGLE.PARALOOKS2 21178 . 25428) (\TEDIT.PUT.SINGLE.CHARLOOKS2 25430 . 29140) (
+\TEDIT.GET.PARALOOKS.LIST2 29142 . 29649) (\TEDIT.GET.SINGLE.PARALOOKS2 29651 . 34550) (
+\TEDIT.PUT.CHARLOOKS.LIST2 34552 . 36631) (\TEDIT.PUT.PARALOOKS.LIST2 36633 . 37830)) (37909 59190 (
+\TEDIT.GET.PCTB1 37919 . 44936) (\TEDIT.GET.PAGEFRAMES1 44938 . 45390) (\TEDIT.PARSE.PAGEFRAMES1 45392
+ . 48045) (\TEDIT.GET.CHARLOOKS1 48047 . 52413) (\TEDIT.GET.PARALOOKS1 52415 . 57326) (
+TEDIT.GET.OBJECT1 57328 . 59188)) (59250 73865 (\TEDIT.GET.PCTB0 59260 . 63341) (\TEDIT.GET.CHARLOOKS0
+ 63343 . 67783) (\TEDIT.GET.OBJECT0 67785 . 69860) (\TEDIT.GET.PARALOOKS0 69862 . 73863)))))
 STOP
diff --git a/library/tedit/tedit-exports.all b/library/tedit/tedit-exports.all
index 51f7ba46..bf6bd542 100644
--- a/library/tedit/tedit-exports.all
+++ b/library/tedit/tedit-exports.all
@@ -1,12 +1,11 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 1-Aug-2025 14:59:31" 
-{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>tedit-exports.all;239 53083  
+(FILECREATED " 9-Sep-2025 21:49:59" 
+{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>tedit-exports.all;241 52904  
 
       :EDIT-BY rmk
 
-      :PREVIOUS-DATE "28-Jul-2025 23:52:50" 
-{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>tedit-exports.all;238)
+      :PREVIOUS-DATE " 8-Sep-2025 23:06:31" {WMEDLEY}<library>TEDIT>tedit-exports.all;240)
 
 
 (PRETTYCOMPRINT ((E (MAPC (MKLIST FROMFILES) (FUNCTION (LAMBDA (F) (MAPC (IMPORTFILE F FLG) (FUNCTION 
@@ -18,7 +17,7 @@ PRINT))))))))
 (PUTPROPS FTEXTOBJ MACRO ((X) (TEXTOBJ! (CL:IF (type? TEXTOBJ X) X (GETTSTR X TEXTOBJ)))))
 (GLOBALVARS CHECK-TEDIT-ASSERTIONS)
 (RPAQ? CHECK-TEDIT-ASSERTIONS T)
-(PUTPROP (QUOTE TEDIT) (QUOTE IMPORTDATE) (IDATE " 1-Aug-2025 14:50:15"))
+(PUTPROP (QUOTE TEDIT) (QUOTE IMPORTDATE) (IDATE " 8-Sep-2025 22:10:20"))
 (RPAQQ \BTREEWORDSPERSLOT 4)
 (RPAQQ \BTREEMAXCOUNT 8)
 (CONSTANTS (\BTREEWORDSPERSLOT 4) (\BTREEMAXCOUNT 8))
@@ -209,8 +208,8 @@ ITEM collect (FIXR (FTIMES SCALE ITEM))) (FIXR (FTIMES SCALE ITEM)))))
 (PUTPROPS SCALEDOWN MACRO (OPENLAMBDA (SCALE ITEM) (* ; "List = region?") (CL:IF (LISTP ITEM) (for I 
 in ITEM collect (FIXR (FQUOTIENT I SCALE))) (FIXR (FQUOTIENT ITEM SCALE)))))
 (GLOBALVARS TEDIT.DONT.BREAK.CHARS TEDIT.DONT.LAST.CHARS)
-(ADDTOVAR CHARACTERNAMES (EM-DASH "357,045") (SOFT-HYPHEN "357,043") (NONBREAKING-HYPHEN "357,042") (
-NONBREAKING-SPACE "357,041"))
+(ADDTOVAR CHARACTERNAMES (SOFT-HYPHEN "357,043") (NONBREAKING-HYPHEN "357,042") (NONBREAKING-SPACE 
+"357,041"))
 (PUTPROPS DIACRITICP MACRO (OPENLAMBDA (CHAR) (* ;; "An XCCS diacritic") (AND (SMALLP CHAR) (IGEQ CHAR
  192) (ILEQ CHAR 207))))
 (PUTPROPS \TEDIT.LINE.TALLP MACRO ((LINE HEIGHT) (OR (IGREATERP (FGETLD LINE LHEIGHT) 50) (IGREATERP (
@@ -261,7 +260,7 @@ NEXTAVAILABLECHARSLOT) of THISLINE))) (T $$STARTSLOT))) (SETQ $$CHARSLOTLIMIT (F
 ) by (PREVCHARSLOT I.V.) eachtime (SETQ CHAR (fetch (CHARSLOT CHAR) of I.V.)) (SETQ CHARW (fetch (
 CHARSLOT CHARW) of I.V.)) (SETQ CHARCL (fetch (CHARSLOT CHARCL) of I.V.)) repeatuntil (EQ I.V. 
 $$CHARSLOTLIMIT))))) T)
-(PUTPROP (QUOTE TEDIT-SCREEN) (QUOTE IMPORTDATE) (IDATE "28-Jul-2025 23:23:33"))
+(PUTPROP (QUOTE TEDIT-SCREEN) (QUOTE IMPORTDATE) (IDATE " 7-Aug-2025 12:51:00"))
 (DATATYPE PIECE ((* ; 
 "The piece describes either a string or part of a file.  , or a generalized OBJECT.") PCONTENTS (* ; 
 "The background source of data for this piece (stream, string, block, object, depending on the PTYPE)."
@@ -345,7 +344,7 @@ TXTAPPENDONLY FLAG) (* ;
 "T if we're holding off on screen updates until later.  Used, e.g., by the menu-SHOW code so that you don't get piecemeal updates, but only one at the end of the SHOW."
 ) TXTRAWINCLUDESTREAM (* ; 
 "NODIRCORE stream used to cache RAW includes (and maybe later, all includes?)") DOCPROPS (* ; 
-"Document properties that are stored with the document (not used yet)") TXTSTYLESHEET (* ; 
+"Document properties that are stored with the document. Not used before 9/2025") TXTSTYLESHEET (* ; 
 "Style sheet local to this document.  Not currently saved as part of the file.")) (ACCESSFNS TEXTOBJ (
 (\DIRTY (ffetch (TEXTOBJ \XDIRTY) of DATUM) (PROGN (FSETTOBJ DATUM LASTARROWX NIL) (CL:UNLESS (EQ 
 NEWVALUE (ffetch (TEXTOBJ \XDIRTY) of DATUM)) (\TEDIT.WINDOW.TITLE DATUM NEWVALUE) (freplace \XDIRTY 
@@ -441,7 +440,7 @@ UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE)) (STRING.PTYPES (LIST THINSTRING.PTYPE F
 BINABLE.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE)) (THIN.PTYPES (LIST THINFILE.PTYPE 
 THINSTRING.PTYPE)) (FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTYPE)))
 (GLOBALVARS \TEXTIMAGEOPS \TEXTFDEV)
-(PUTPROP (QUOTE TEDIT-STREAM) (QUOTE IMPORTDATE) (IDATE "29-Jul-2025 11:58:01"))
+(PUTPROP (QUOTE TEDIT-STREAM) (QUOTE IMPORTDATE) (IDATE " 9-Sep-2025 21:49:53"))
 (PUTPROPS \TEDIT.MOUSESTATE MACRO (BUTTON (* ;; 
 "Test to see if only the specified mouse button is down.  DOES NOT call GETMOUSESTATE, so the mouse-button info is the same as the last time it was called."
 ) (SELECTQ (CAR BUTTON) (LEFT (QUOTE (EQ LASTMOUSEBUTTONS 4))) (MIDDLE (QUOTE (EQ LASTMOUSEBUTTONS 1))
@@ -455,8 +454,8 @@ I in ARGS as J on ARGS when (NOT (STRINGP I)) collect (LIST (QUOTE OR) I (LIST (
 \BIN STREAM)) BITSPERWORD)))
 (PUTPROPS \SMALLPOUT MACRO (OPENLAMBDA (STREAM W) (* ; "Signed smallp, unlike \WOUT") (\BOUT STREAM (
 LOGAND 255 (LRSH W 8))) (\BOUT STREAM (LOGAND W 255))))
-(PUTPROP (QUOTE TEDIT-FILE) (QUOTE IMPORTDATE) (IDATE " 1-Aug-2025 14:53:19"))
-(PUTPROP (QUOTE TEDIT-OLDFILE) (QUOTE IMPORTDATE) (IDATE " 1-Aug-2025 14:58:21"))
+(PUTPROP (QUOTE TEDIT-FILE) (QUOTE IMPORTDATE) (IDATE " 9-Sep-2025 21:49:43"))
+(PUTPROP (QUOTE TEDIT-OLDFILE) (QUOTE IMPORTDATE) (IDATE " 8-Sep-2025 22:10:10"))
 (DATATYPE CHARLOOKS ((* ;; "Describes the appearance (%"Looks%") of characters in a TEdit document.") 
 (* ;; "NOTE:  If fields change EQCLOOKS should change too.") CLFONT (* ; 
 "The font descriptor for these characters") CLFONTUNPARSE (* ;; 
@@ -484,9 +483,7 @@ LOGAND 255 (LRSH W 8))) (\BOUT STREAM (LOGAND W 255))))
 "Used for a mark-&-sweep of looks at PUT time -- T means this set of looks really IS in use in the document"
 ) (CLSELBEFORE FLAG) (* ; "T if TEDIT can put selection before this char (for menu fields).") CLCOLOR)
  CLOFFSET _ 0 CLCOLOR _ (QUOTE BLACK) (INIT (DEFPRINT (QUOTE CHARLOOKS) (FUNCTION 
-\TEDIT.CHARLOOKS.DEFPRINT))) (ASSOCRECORD CLPROPS (CLUSERINFO CLCHARENCODING)) (ACCESSFNS ((CLNAME (
-fetch (CHARLOOKS CLFONTUNPARSE) of DATUM) (replace (CHARLOOKS CLFONTUNPARSE) of DATUM with NEWVALUE)))
-))
+\TEDIT.CHARLOOKS.DEFPRINT))) (ASSOCRECORD CLPROPS (CLUSERINFO CLCHARENCODING)))
 (DATATYPE PARALOOKS ((* ;; "Describe the paragraph formatting for a paragraph in a TEdit document.") 
 1STLEFTMAR (* ; "Left margin of the first line of the paragraph") LEFTMAR (* ; 
 "Left margin of the rest of the lines in the paragraph") RIGHTMAR (* ; 
@@ -540,7 +537,7 @@ LINELEAD _ 0)
 (PUTPROPS FSETPLOOKS MACRO ((PLOOKS FIELD NEWVALUE) (freplace (PARALOOKS FIELD) of PLOOKS with 
 NEWVALUE)))
 (PUTPROPS PARALOOKS! MACRO ((PL) (\DTEST PL (QUOTE PARALOOKS))))
-(PUTPROP (QUOTE TEDIT-LOOKS) (QUOTE IMPORTDATE) (IDATE " 1-Aug-2025 13:43:51"))
+(PUTPROP (QUOTE TEDIT-LOOKS) (QUOTE IMPORTDATE) (IDATE " 9-Sep-2025 21:48:14"))
 (PUTPROP (QUOTE TEDIT-STYLES) (QUOTE IMPORTDATE) (IDATE "28-Jul-2025 23:25:43"))
 (DATATYPE TEDITCARET (TCNOWTIME (* Used to hold the current time, when checking to see if a transition
  is due) TCTHENTIME (* Time when the next transition is to take place) TCFORCEDDOWN (* TCFORCEDOWN = T
@@ -603,7 +600,7 @@ OR (CL:IF (TYPENAMEP $$BODY (QUOTE TEXTOBJ)) (FGETTOBJ $$BODY PRIMARYPANE) $$BOD
 GETPANEPROP (PANEPROPS P) NEXTPANE))) (GO $$OUT))) by (OR (GETPANEPROP (PANEPROPS I.V.) PREVPANE) (GO 
 $$OUT)))))
 (PUTPROPS ALLBUTTONSUP MACRO (NIL (ZEROP (LOGAND 7 LASTMOUSEBUTTONS))))
-(PUTPROP (QUOTE TEDIT-WINDOW) (QUOTE IMPORTDATE) (IDATE "26-Jul-2025 15:45:59"))
+(PUTPROP (QUOTE TEDIT-WINDOW) (QUOTE IMPORTDATE) (IDATE "11-Aug-2025 21:22:37"))
 (PUTPROP (QUOTE TEDIT-BUTTONS) (QUOTE IMPORTDATE) (IDATE "30-Apr-2025 14:09:18"))
 (RPAQQ PTSPERPICA 12)
 (RPAQQ PTSPERINCH 72)
@@ -622,7 +619,7 @@ UNDO 6) (CMD 7) (NEXT 8) (EXPAND 9) (CHARDELETE.FORWARD 10) (WORDDELETE.FORWARD
 21) (WHITESPACE 22)))
 (CONSTANTS \TEDIT.TTCCODES)
 (PUTPROPS \TEDIT.TTC MACRO ((CLASS) (CONSTANT (CADR (ASSOC (QUOTE CLASS) \TEDIT.TTCCODES)))))
-(PUTPROP (QUOTE TEDIT-FNKEYS) (QUOTE IMPORTDATE) (IDATE "29-May-2025 16:20:30"))
+(PUTPROP (QUOTE TEDIT-FNKEYS) (QUOTE IMPORTDATE) (IDATE " 7-Aug-2025 15:00:51"))
 (PUTPROP (QUOTE TEDIT-HCPY) (QUOTE IMPORTDATE) (IDATE "21-Apr-2025 19:07:23"))
 (DATATYPE TEDITHISTORYEVENT ((* ;; "Describes one event on the TEdit edit history list.") THACTION (* 
 ; "A keyword specifying what the event was") THPOINT (* ; "Was the selection to the left or right?") 
@@ -673,8 +670,8 @@ $$VALUES)) (PROG1 (CAR $$VALUES) (\,@ (FOR V IN (CAR ARGS) collect (COND (V (BQU
 $$VALUES)))) (T (BQUOTE (SETQ $$VALUES (CDR $$VALUES))))))))))))
 (PUTPROPS TEDIT.VALUES MACRO (ARGS (BQUOTE (LIST (\,@ ARGS)))))
 (PUTPROP (QUOTE TEDIT-PAGE) (QUOTE IMPORTDATE) (IDATE " 5-Jun-2025 08:24:12"))
-(PUTPROP (QUOTE TEDIT-ABBREV) (QUOTE IMPORTDATE) (IDATE "24-Apr-2025 23:45:12"))
-(PUTPROP (QUOTE TEDIT-TFBRAVO) (QUOTE IMPORTDATE) (IDATE "28-Jul-2025 23:34:14"))
+(PUTPROP (QUOTE TEDIT-ABBREV) (QUOTE IMPORTDATE) (IDATE " 6-Sep-2025 00:10:45"))
+(PUTPROP (QUOTE TEDIT-TFBRAVO) (QUOTE IMPORTDATE) (IDATE " 7-Sep-2025 11:11:43"))
 (DECLARE%: DONTCOPY
   (FILEMAP (NIL)))
 STOP
