diff --git a/library/tedit/TEDIT b/library/tedit/TEDIT
index 2522759e..d50bfdd2 100644
--- a/library/tedit/TEDIT
+++ b/library/tedit/TEDIT
@@ -1,12 +1,13 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "24-Dec-2025 22:45:39" {WMEDLEY}<library>TEDIT>TEDIT.;847 145111 
+(FILECREATED " 4-Feb-2026 16:02:02" {WMEDLEY}<library>TEDIT>TEDIT.;852 146779 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (VARS TEDITCOMS)
+      :CHANGES-TO (FNS TEDIT.MAP.OBJECTS TEDIT.PARAGRAPH.BOUNDARIES)
+                  (VARS TEDITCOMS)
 
-      :PREVIOUS-DATE "24-Dec-2025 11:23:12" {WMEDLEY}<library>TEDIT>TEDIT.;846)
+      :PREVIOUS-DATE "31-Jan-2026 11:49:19" {WMEDLEY}<library>TEDIT>TEDIT.;849)
 
 
 (PRETTYCOMPRINT TEDITCOMS)
@@ -47,7 +48,7 @@
 
         (FNS TEDIT TEXTSTREAM TEXTSTREAMP COERCETEXTSTREAM TEDIT.CONCAT TEDITSTRING TEDIT-SEE 
              TEDIT.COPY TEDIT.DELETE TEDIT.INSERT TEDIT.TERPRI TEDIT.KILL TEDIT.QUIT TEDIT.MOVE 
-             TEDIT.STRINGWIDTH TEDIT.CHARWIDTH)
+             TEDIT.STRINGWIDTH TEDIT.CHARWIDTH TEDIT.PARAGRAPH.BOUNDARIES)
         (FNS TEXTOBJ COERCETEXTOBJ)
         (MACROS TEVAL)
         (FNS TDRIBBLE)
@@ -676,6 +677,26 @@
                (CR (IMAX 6 (CHARWIDTH CH FONT)))
                (TAB 36)
                (CHARWIDTH CH FONT])
+
+(TEDIT.PARAGRAPH.BOUNDARIES
+  [LAMBDA (TSTREAM SELORCH# PROTECTEDNOTOK)                  (* ; "Edited  2-Feb-2026 23:05 by rmk")
+
+    (* ;; "Returns a pair (FIRSTCH# LASTCH#) where FIRSTCH# is the character number of the first character of the paragraph that contains the beginning of the selection, and LASTCH# is the last character number of the last character of the paragraph that contains the end of the selection.")
+
+    (* ;; 
+  "If PROTECTIONNOTOK, the scans stop at any protected piece (e.g. doesn't cross menu boiler plate).")
+
+    (LET ((TEXTOBJ (TEXTOBJ TSTREAM)))
+         (CL:UNLESS SELORCH#
+             (SETQ SELORCH# (TEXTSEL TEXTOBJ)))
+         (LIST (CAR (\TEDIT.PARA.FIRST TEXTOBJ (CL:IF (type? SELECTION SELORCH#)
+                                                   (GETSEL SELORCH# CH#)
+                                                   SELORCH#)
+                           PROTECTEDNOTOK))
+               (CAR (\TEDIT.PARA.LAST TEXTOBJ (CL:IF (type? SELECTION SELORCH#)
+                                                  (GETSEL SELORCH# CHLAST)
+                                                  SELORCH#)
+                           PROTECTEDNOTOK])
 )
 (DEFINEQ
 
@@ -912,7 +933,8 @@
            else (TEDIT.PROMPTPRINT TSTREAM "Changed object not found in document" T])
 
 (TEDIT.MAP.OBJECTS
-  [LAMBDA (TSTREAM FN FNARG COLLECT?)                        (* ; "Edited 25-Feb-2025 15:06 by rmk")
+  [LAMBDA (TSTREAM FN FNARG COLLECT?)                        (* ; "Edited  4-Feb-2026 16:01 by rmk")
+                                                             (* ; "Edited 25-Feb-2025 15:06 by rmk")
                                                              (* ; "Edited 23-Apr-2024 09:15 by rmk")
                                                              (* ; "Edited 16-Mar-2024 10:03 by rmk")
                                                              (* ; "Edited  4-Mar-2024 16:12 by rmk")
@@ -932,8 +954,7 @@
               (NIL)
               (OBJECT (PUSH $$VAL OBJ))
               (CH# (PUSH $$VAL CH#))
-              (VALUE (PUSH $$VAL CH#)
-                     FNVAL)
+              (VALUE (PUSH $$VAL FNVAL))
               (FIRST (RETURN (LIST CH# OBJ FNVAL)))
               (PUSH $$VAL (LIST CH# OBJ FNVAL)))
           (CL:WHEN (EQ FNVAL 'STOP)
@@ -1325,7 +1346,9 @@
                    (CL:WHEN TYPEIN (\TEDIT.SCROLL.CARET TSTREAM)))])])
 
 (\TEDIT.MOVE
-  [LAMBDA (FROMSEL TOSEL FROMTSTREAM TOTSTREAM)              (* ; "Edited  7-May-2025 00:12 by rmk")
+  [LAMBDA (FROMSEL TOSEL FROMTSTREAM TOTSTREAM)              (* ; "Edited 31-Jan-2026 11:48 by rmk")
+                                                             (* ; "Edited 10-Jan-2026 01:38 by rmk")
+                                                             (* ; "Edited  7-May-2025 00:12 by rmk")
                                                              (* ; "Edited 22-Apr-2025 09:21 by rmk")
                                                              (* ; "Edited 16-Apr-2025 09:01 by rmk")
                                                              (* ; "Edited  6-Apr-2025 14:14 by rmk")
@@ -1385,7 +1408,7 @@
                (CL:WHEN (AND (FGETTOBJ TOOBJ BLUEPENDINGDELETE)
                              (IGREATERP TODCH 0))
                    (FSETTOBJ TOOBJ BLUEPENDINGDELETE NIL)
-                   (CL:UNLESS (\TEDIT.DELETE TOOBJ TOSEL)
+                   (CL:UNLESS (\TEDIT.DELETE TOTSTREAM TOSEL)
                           (RETURN NIL))
                    (SETQ BPD T)
                    (CL:WHEN (EQ TOOBJ FROMOBJ)               (* ; "Same text, pre-adjust  the source")
@@ -1421,15 +1444,14 @@
 
                         (* ;; "Pop to accumulate into a single event (BPD, DELETE, INSERT).")
 
-                 else (\TEDIT.DELETE FROMOBJ FROMSEL NIL NIL T))
+                 else (\TEDIT.DELETE FROMTSTREAM FROMSEL NIL NIL T))
 
          (* ;; "Deletion accomplished possibly in separate FROMOBJ with its own history.")
 
          (* ;; "")
 
                (CL:WHEN (GETTEXTPROP TOOBJ 'COPYBYBKSYSBUF)
-                   (\TEDIT.FOREIGN.COPY (WFROMDS TOTSTREAM)
-                          FROMSEL T)
+                   (\TEDIT.FOREIGN.COPY FROMSEL FROMTSTREAM T)
                    (CL:WHEN BPD                              (* ; "If no BPD, TO history is good")
                        (\TEDIT.HISTORYADD.COMPOSITE TOOBJ TOOBJ (LIST (\TEDIT.POPEVENT TOOBJ)
                                                                       (\TEDIT.POPEVENT TOOBJ))))
@@ -1448,7 +1470,8 @@
                                                         (CL:IF BPD (\TEDIT.POPEVENT TOOBJ])])
 
 (\TEDIT.COPY
-  [LAMBDA (FROMSEL TOSEL FROMTSTREAM TOTSTREAM)              (* ; "Edited  7-May-2025 00:12 by rmk")
+  [LAMBDA (FROMSEL TOSEL FROMTSTREAM TOTSTREAM)              (* ; "Edited 31-Jan-2026 11:48 by rmk")
+                                                             (* ; "Edited  7-May-2025 00:12 by rmk")
                                                              (* ; "Edited 22-Apr-2025 09:12 by rmk")
                                                              (* ; "Edited  6-Apr-2025 14:16 by rmk")
                                                              (* ; "Edited  5-Apr-2025 13:19 by rmk")
@@ -1497,8 +1520,7 @@
          (* ;; "")
 
                (CL:WHEN (GETTEXTPROP TOOBJ 'COPYBYBKSYSBUF)
-                   (\TEDIT.FOREIGN.COPY (WFROMDS TOTSTREAM)
-                          FROMSEL T)
+                   (\TEDIT.FOREIGN.COPY FROMSEL FROMTSTREAM T)
                    (RETURN))
 
          (* ;; "")
@@ -2331,27 +2353,27 @@
 
 (DEFAULT.IMAGETYPE.CONVERSIONS '(TEDIT TEDIT.TO.IMAGEFILE))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (4840 7234 (MAKE-TEDIT-EXPORTS.ALL 4850 . 5396) (UPDATE-TEDIT 5398 . 6327) (EDIT-TEDIT 
-6329 . 7232)) (8664 36442 (TEDIT 8674 . 11288) (TEXTSTREAM 11290 . 13179) (TEXTSTREAMP 13181 . 13565) 
-(COERCETEXTSTREAM 13567 . 17778) (TEDIT.CONCAT 17780 . 21082) (TEDITSTRING 21084 . 21998) (TEDIT-SEE 
-22000 . 22684) (TEDIT.COPY 22686 . 24831) (TEDIT.DELETE 24833 . 26194) (TEDIT.INSERT 26196 . 29165) (
-TEDIT.TERPRI 29167 . 30281) (TEDIT.KILL 30283 . 31265) (TEDIT.QUIT 31267 . 32633) (TEDIT.MOVE 32635 . 
-33523) (TEDIT.STRINGWIDTH 33525 . 34196) (TEDIT.CHARWIDTH 34198 . 36440)) (36443 38384 (TEXTOBJ 36453
- . 36918) (COERCETEXTOBJ 36920 . 38382)) (39784 41434 (TDRIBBLE 39794 . 41432)) (41475 53371 (
-TEDIT.INSERT.OBJECT 41485 . 45192) (TEDIT.EDIT.OBJECT 45194 . 48134) (TEDIT.OBJECT.CHANGED 48136 . 
-51326) (TEDIT.MAP.OBJECTS 51328 . 52899) (\TEDIT.FIRST.OBJPIECE 52901 . 53134) (\TEDIT.NEXT.OBJPIECE 
-53136 . 53369)) (53394 60837 (\TEDIT.CONCAT.PAGEFRAMES 53404 . 58471) (\TEDIT.GET.PAGE.HEADINGS 58473
- . 59502) (\TEDIT.CONCAT.INSTALL.HEADINGS 59504 . 60835)) (60838 64445 (\TEDIT.MOVE.MSG 60848 . 62929)
- (\TEDIT.READONLY 62931 . 64443)) (64446 70337 (TEDIT.NCHARS 64456 . 64829) (TEDIT.RPLCHARCODE 64831
- . 67821) (TEDIT.NTHCHARCODE 67823 . 69866) (TEDIT.NTHCHAR 69868 . 70335)) (70383 127160 (\TEDIT1 
-70393 . 72470) (\TEDIT.INSERT 72472 . 78585) (\TEDIT.MOVE 78587 . 86493) (\TEDIT.COPY 86495 . 91026) (
-\TEDIT.REPLACE.SELPIECES 91028 . 95564) (\TEDIT.INSERT.SELPIECES 95566 . 98563) (\TEDIT.RESTARTFN 
-98565 . 101070) (\TEDIT.CHARDELETE 101072 . 104001) (\TEDIT.COPYPIECE 104003 . 109165) (
-\TEDIT.APPLY.OBJFN 109167 . 112253) (\TEDIT.DELETE 112255 . 116623) (\TEDIT.DIFFUSE.PARALOOKS 116625
- . 118896) (\TEDIT.WORDDELETE 118898 . 120513) (\TEDIT.WORDDELETE.FORWARD 120515 . 122304) (
-\TEDIT.FINISHEDIT? 122306 . 127158)) (127161 127820 (\TEDIT.THELP 127171 . 127818)) (127854 136985 (
-\TEDIT.PARAPIECES 127864 . 129838) (\TEDIT.PARACHNOS 129840 . 130732) (\TEDIT.PARA.FIRST 130734 . 
-133835) (\TEDIT.PARA.LAST 133837 . 136983)) (136986 144081 (\TEDIT.WORD.FIRST 136996 . 141000) (
-\TEDIT.WORD.LAST 141002 . 144079)) (144282 144559 (TEDITSYSTEMDATE 144292 . 144557)) (144695 144902 (
-TEDIT.IMAGESOURCEP 144705 . 144900)))))
+  (FILEMAP (NIL (4936 7330 (MAKE-TEDIT-EXPORTS.ALL 4946 . 5492) (UPDATE-TEDIT 5494 . 6423) (EDIT-TEDIT 
+6425 . 7328)) (8760 37759 (TEDIT 8770 . 11384) (TEXTSTREAM 11386 . 13275) (TEXTSTREAMP 13277 . 13661) 
+(COERCETEXTSTREAM 13663 . 17874) (TEDIT.CONCAT 17876 . 21178) (TEDITSTRING 21180 . 22094) (TEDIT-SEE 
+22096 . 22780) (TEDIT.COPY 22782 . 24927) (TEDIT.DELETE 24929 . 26290) (TEDIT.INSERT 26292 . 29261) (
+TEDIT.TERPRI 29263 . 30377) (TEDIT.KILL 30379 . 31361) (TEDIT.QUIT 31363 . 32729) (TEDIT.MOVE 32731 . 
+33619) (TEDIT.STRINGWIDTH 33621 . 34292) (TEDIT.CHARWIDTH 34294 . 36536) (TEDIT.PARAGRAPH.BOUNDARIES 
+36538 . 37757)) (37760 39701 (TEXTOBJ 37770 . 38235) (COERCETEXTOBJ 38237 . 39699)) (41101 42751 (
+TDRIBBLE 41111 . 42749)) (42792 54772 (TEDIT.INSERT.OBJECT 42802 . 46509) (TEDIT.EDIT.OBJECT 46511 . 
+49451) (TEDIT.OBJECT.CHANGED 49453 . 52643) (TEDIT.MAP.OBJECTS 52645 . 54300) (\TEDIT.FIRST.OBJPIECE 
+54302 . 54535) (\TEDIT.NEXT.OBJPIECE 54537 . 54770)) (54795 62238 (\TEDIT.CONCAT.PAGEFRAMES 54805 . 
+59872) (\TEDIT.GET.PAGE.HEADINGS 59874 . 60903) (\TEDIT.CONCAT.INSTALL.HEADINGS 60905 . 62236)) (62239
+ 65846 (\TEDIT.MOVE.MSG 62249 . 64330) (\TEDIT.READONLY 64332 . 65844)) (65847 71738 (TEDIT.NCHARS 
+65857 . 66230) (TEDIT.RPLCHARCODE 66232 . 69222) (TEDIT.NTHCHARCODE 69224 . 71267) (TEDIT.NTHCHAR 
+71269 . 71736)) (71784 128828 (\TEDIT1 71794 . 73871) (\TEDIT.INSERT 73873 . 79986) (\TEDIT.MOVE 79988
+ . 88086) (\TEDIT.COPY 88088 . 92694) (\TEDIT.REPLACE.SELPIECES 92696 . 97232) (
+\TEDIT.INSERT.SELPIECES 97234 . 100231) (\TEDIT.RESTARTFN 100233 . 102738) (\TEDIT.CHARDELETE 102740
+ . 105669) (\TEDIT.COPYPIECE 105671 . 110833) (\TEDIT.APPLY.OBJFN 110835 . 113921) (\TEDIT.DELETE 
+113923 . 118291) (\TEDIT.DIFFUSE.PARALOOKS 118293 . 120564) (\TEDIT.WORDDELETE 120566 . 122181) (
+\TEDIT.WORDDELETE.FORWARD 122183 . 123972) (\TEDIT.FINISHEDIT? 123974 . 128826)) (128829 129488 (
+\TEDIT.THELP 128839 . 129486)) (129522 138653 (\TEDIT.PARAPIECES 129532 . 131506) (\TEDIT.PARACHNOS 
+131508 . 132400) (\TEDIT.PARA.FIRST 132402 . 135503) (\TEDIT.PARA.LAST 135505 . 138651)) (138654 
+145749 (\TEDIT.WORD.FIRST 138664 . 142668) (\TEDIT.WORD.LAST 142670 . 145747)) (145950 146227 (
+TEDITSYSTEMDATE 145960 . 146225)) (146363 146570 (TEDIT.IMAGESOURCEP 146373 . 146568)))))
 STOP
diff --git a/library/tedit/TEDIT.LCOM b/library/tedit/TEDIT.LCOM
index cfdf23b6..b2944868 100644
Binary files a/library/tedit/TEDIT.LCOM and b/library/tedit/TEDIT.LCOM differ
