diff --git a/library/TEDITWINDOW b/library/TEDITWINDOW
index b9d45ecc..0892f601 100644
--- a/library/TEDITWINDOW
+++ b/library/TEDITWINDOW
@@ -1,13 +1,15 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
-(FILECREATED "21-Jun-99 20:00:42" {DSK}<project>medley3.5>library>TEDITWINDOW.;3 185046 
+(FILECREATED "24-Aug-2021 23:30:39" 
+{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;3 185251 
 
-      changes to%:  (FNS \TEDIT.WINDOW.SETUP)
+      changes to%:  (FNS \TEDIT.BUTTONEVENTFN TEXTSTREAM.TITLE \TEDIT.ORIGINAL.WINDOW.TITLE)
 
-      previous date%: "25-Aug-94 10:56:22" {DSK}<project>medley3.5>library>TEDITWINDOW.;2)
+      previous date%: "21-Jun-99 20:00:42" 
+{DSK}<Users>kaplan>Local>medley3.5>git-medley>library>TEDITWINDOW.;1)
 
 
 (* ; "
-Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1999 by John Sybalsky & Xerox Corporation.  All rights reserved.
+Copyright (c) 1983-1991, 1993-1994, 1999, 2021 by John Sybalsky & Xerox Corporation.
 ")
 
 (PRETTYCOMPRINT TEDITWINDOWCOMS)
@@ -452,9 +454,9 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                                    (PROCESSP (WINDOWPROP W 'PROCESS])
 
 (\TEDIT.BUTTONEVENTFN
-  [LAMBDA (W STREAM)                                     (* ; "Edited  5-Sep-91 18:52 by jds")
+  [LAMBDA (W STREAM)                                    (* ; "Edited 24-Aug-2021 23:30 by rmk:")
 
-    (* ;; "Handle button events for a TEdit window")
+    (* ;; "Handle button events for a TEdit window")
 
     (AND STREAM (SETQ STREAM (TEXTOBJ STREAM)))
     (PROG* ((OSEL NIL)
@@ -473,15 +475,15 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
             (OLDY -32000)
             SELFINALFN PROC NOSEL)
            (COND
-              ((NOT (MOUSESTATE (OR LEFT MIDDLE RIGHT)))     (* ; 
-                       "No button is down -- we got control on button-up transition, so ignore it.")
+              ((NOT (MOUSESTATE (OR LEFT MIDDLE RIGHT)))     (* ; 
+                       "No button is down -- we got control on button-up transition, so ignore it.")
                (RETURN))
-              (TEDIT.SELPENDING                              (* ; 
-                     "There is already a selection in progress.  Don't allow another to interfere.")
+              (TEDIT.SELPENDING                              (* ; 
+                     "There is already a selection in progress.  Don't allow another to interfere.")
                      (RETURN)))
            (replace (SELECTION CH#) of TEDIT.SCRATCHSELECTION with 0)
-                                                             (* ; 
-                     "Mark the user-visible scratch selection fresh, so changes can be detected...")
+                                                             (* ; 
+                     "Mark the user-visible scratch selection fresh, so changes can be detected...")
            (COND
               [[OR (NOT TEXTOBJ)
                    (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
@@ -491,17 +493,17 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                         (NOT (SHIFTDOWNP 'CTRL))
                         (NOT (SHIFTDOWNP 'META))
                         (NOT (KEYDOWNP 'MOVE))
-                        (NOT (KEYDOWNP 'COPY]                (* ; "There's no edit session behind this window.  You can only do window ops, or re-establish a session.")
+                        (NOT (KEYDOWNP 'COPY]                (* ; "There's no edit session behind this window.  You can only do window ops, or re-establish a session.")
                (TOTOPW W)
                (COND
-                  ((\TEDIT.MOUSESTATE RIGHT)                 (* ; 
-                                                        "Right button gets the window command menu")
+                  ((\TEDIT.MOUSESTATE RIGHT)                 (* ; 
+                                                        "Right button gets the window command menu")
                    (DOWINDOWCOM W))
                   ((AND TEXTOBJ (NOT (TEXTPROP TEXTOBJ 'READONLY))
                         (NOT (TEXTPROP TEXTOBJ 'SELECTONLY))
                         [NOT (PROCESSP (WINDOWPROP W 'PROCESS]
-                        (\TEDIT.MOUSESTATE MIDDLE))          (* ; 
-                                "Middle button on a dead window gives a menu for re-starting TEDIT")
+                        (\TEDIT.MOUSESTATE MIDDLE))          (* ; 
+                                "Middle button on a dead window gives a menu for re-starting TEDIT")
                    (COND
                       ((EQ (MENU TEDIT.RESTART.MENU)
                            'NewEditProcess)
@@ -509,89 +511,94 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                        (TEDIT (fetch (TEXTOBJ STREAMHINT) of TEXTOBJ)
                               W]
               [(IGREATERP Y (fetch TOP of CLIPREGION))
-                                                             (* ; 
-                                     "It's not inside the window's REAL region, so call on a menu.")
+                                                             (* ; 
+                                     "It's not inside the window's REAL region, so call on a menu.")
                (TOTOPW W)
+
+               (* ;; "RMK:  This comment was originally just after the DON'T below, which generated a value-of-comment used message.")
+
+               (* ;; "HAD BEEN:  (COND ((AND (SETQ PROC (WINDOWPROP W 'PROCESS)) (PROCESSP PROC)) ; This window has a live process behind it;  go evaluate the button fn there. (PROCESS.APPLY PROC USERFN (LIST W))) (T ; Otherwise, create a new process to handle the menu. (ADD.PROCESS (LIST USERFN (KWOTE W)))))")
+
                (COND
                   ((\TEDIT.MOUSESTATE RIGHT)
                    (DOWINDOWCOM W))
                   ((MOUSESTATE (OR LEFT MIDDLE))
                    (AND TEXTOBJ (SETQ USERFN (WINDOWPROP W 'TEDIT.TITLEMENUFN))
-                        (NEQ USERFN 'DON'T)                  (* ; "HAD BEEN:  (COND ((AND (SETQ PROC (WINDOWPROP W 'PROCESS)) (PROCESSP PROC)) ; This window has a live process behind it;  go evaluate the button fn there. (PROCESS.APPLY PROC USERFN (LIST W))) (T ; Otherwise, create a new process to handle the menu. (ADD.PROCESS (LIST USERFN (KWOTE W)))))")
+                        (NEQ USERFN 'DON'T)
                         (ADD.PROCESS (LIST USERFN (KWOTE W]
               ((AND TEXTOBJ (EQ (fetch (TEXTOBJ MOUSEREGION) of TEXTOBJ)
-                                'WINDOW))                    (* ; 
-                    "We're in the window-ops region of the window.  Do a window split or something")
+                                'WINDOW))                    (* ; 
+                    "We're in the window-ops region of the window.  Do a window split or something")
                (\TEDIT.WINDOW.OPS TEXTOBJ W))
               ((AND TEXTOBJ (NOT (fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ)))
-                                                             (* ; 
-           "Usual case -- he's really selecting something.  And there's nothing else going on now.")
-               (TOTOPW W)                                    (* ; 
-                          "Move the editing window to the top, so he can select wherever he wants.")
-               (\CARET.DOWN)                                 (* ; 
-                                                       "Make sure the caret isn't being displayed.")
+                                                             (* ; 
+           "Usual case -- he's really selecting something.  And there's nothing else going on now.")
+               (TOTOPW W)                                    (* ; 
+                          "Move the editing window to the top, so he can select wherever he wants.")
+               (\CARET.DOWN)                                 (* ; 
+                                                       "Make sure the caret isn't being displayed.")
                (RESETLST
                    (RESETSAVE TEDIT.SELPENDING TEXTOBJ)
 
-                   (* ;; "Tell all TEdits not to run, since there is a selection in progress.  This is reset to NIL on return from here, to re-enable TEdit runs.")
+                   (* ;; "Tell all TEdits not to run, since there is a selection in progress.  This is reset to NIL on return from here, to re-enable TEdit runs.")
 
                    (RESETSAVE (for CARET inside (fetch (TEXTOBJ CARET) of TEXTOBJ)
                                  do (replace TCCARET of CARET with (\CARET.CREATE
                                                                                     BXHICARET)))
                           (LIST '\TEDIT.CARET (fetch (TEXTOBJ CARET) of TEXTOBJ)))
-                                                             (* ; 
-                                   "Then make the caret be the special, tall one so he can see it.")
+                                                             (* ; 
+                                   "Then make the caret be the special, tall one so he can see it.")
                    (COND
-                      ((KEYDOWNP 'COPY)                      (* ; 
-                                                      "In a read-only document, you can only copy.")
+                      ((KEYDOWNP 'COPY)                      (* ; 
+                                                      "In a read-only document, you can only copy.")
                        (SETQ GLOBALSEL TEDIT.SHIFTEDSELECTION)
                        (SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
                        (SETQ SELOPERATION 'COPY))
                       ((AND (KEYDOWNP 'MOVE)
                             (NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
-                                                             (* ; 
-                                                          "The MOVE key is down, so set MOVE mode.")
+                                                             (* ; 
+                                                          "The MOVE key is down, so set MOVE mode.")
                        (SETQ GLOBALSEL TEDIT.MOVESELECTION)
                        (SETQ OSEL (fetch (TEXTOBJ MOVESEL) of TEXTOBJ))
                        (SETQ SELOPERATION 'MOVE))
-                      [(SHIFTDOWNP 'SHIFT)                   (* ; 
-                                    "the SHIFT key is down;  mark this selection for COPY or MOVE.")
+                      [(SHIFTDOWNP 'SHIFT)                   (* ; 
+                                    "the SHIFT key is down;  mark this selection for COPY or MOVE.")
                        (COND
                           ((AND (SHIFTDOWNP 'CTRL)
                                 (NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
-                                                             (* ; "CTRL-SHIFT select means MOVE.")
+                                                             (* ; "CTRL-SHIFT select means MOVE.")
                            (SETQ GLOBALSEL TEDIT.MOVESELECTION)
                            (SETQ OSEL (fetch (TEXTOBJ MOVESEL) of TEXTOBJ))
                            (SETQ SELOPERATION 'MOVE))
                           (T (SETQ GLOBALSEL TEDIT.SHIFTEDSELECTION)
                              (SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
                              (SETQ SELOPERATION 'COPY]
-                      ((SHIFTDOWNP 'META)                    (* ; 
-                                        "He's holding the meta key down , do a copylooks selection")
+                      ((SHIFTDOWNP 'META)                    (* ; 
+                                        "He's holding the meta key down , do a copylooks selection")
                        (SETQ GLOBALSEL TEDIT.COPYLOOKSSELECTION)
                        (SETQ OSEL (fetch (TEXTOBJ SHIFTEDSEL) of TEXTOBJ))
                        (SETQ SELOPERATION 'COPYLOOKS))
                       ((AND (SHIFTDOWNP 'CTRL)
                             (NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)))
-                                                             (* ; 
-                                               "He's holding the control key down;  note the fact.")
+                                                             (* ; 
+                                               "He's holding the control key down;  note the fact.")
                        (\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
                               NIL NIL)
                        (SETQ GLOBALSEL TEDIT.DELETESELECTION)
                        [COND
                           ((fetch (SELECTION SET) of (fetch (TEXTOBJ DELETESEL)
                                                                 of TEXTOBJ))
-                                                             (* ; 
-         "There's a pending delete selection.  Use it, and turn off the existing normal selection.")
+                                                             (* ; 
+         "There's a pending delete selection.  Use it, and turn off the existing normal selection.")
                            )
-                          (T                                 (* ; 
-                     "No existing delete selection.  Use the normal selection as a starting point.")
+                          (T                                 (* ; 
+                     "No existing delete selection.  Use the normal selection as a starting point.")
                              (\COPYSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
                                     (fetch (TEXTOBJ DELETESEL) of TEXTOBJ]
                        (replace (SELECTION SET) of (fetch (TEXTOBJ SEL) of TEXTOBJ)
                           with NIL)
 
-                       (* ;; "Remember to turn off the normal selection, since we'll be moving it to a new spot after the deletion.")
+                       (* ;; "Remember to turn off the normal selection, since we'll be moving it to a new spot after the deletion.")
 
                        (SETQ OSEL (fetch (TEXTOBJ DELETESEL) of TEXTOBJ))
                        (SETQ SELOPERATION 'DELETE)
@@ -599,7 +606,7 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                        (replace (TEXTOBJ BLUEPENDINGDELETE) of TEXTOBJ with NIL))
                       (T (SETQ OSEL (fetch (TEXTOBJ SEL) of TEXTOBJ))
                          (replace (TEXTOBJ BLUEPENDINGDELETE) of TEXTOBJ with NIL)
-                                                             (* ; "Reset the pending-delete flag.")
+                                                             (* ; "Reset the pending-delete flag.")
                          ))
                    (\COPYSEL OSEL GLOBALSEL)
                    (bind (OSELOP _ SELOPERATION)
@@ -609,36 +616,36 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                                     (KEYDOWNP 'MOVE)
                                     (KEYDOWNP 'COPY)
                                     (NOT (ZEROP (LOGAND LASTMOUSEBUTTONS 7]
-                      do                                 (* ; 
-                                                   "Poll the selection & display its current state")
+                      do                                 (* ; 
+                                                   "Poll the selection & display its current state")
                             [COND
                                ((ZEROP (LOGAND LASTMOUSEBUTTONS 7))
-                                                             (* ; 
-                                                  "No mouse buttons are down;  don't try anything.")
-                                (SETQ OLDX -32000)           (* ; 
-       "However, remember that pushing a mouse button is a change of status that we should notice.")
+                                                             (* ; 
+                                                  "No mouse buttons are down;  don't try anything.")
+                                (SETQ OLDX -32000)           (* ; 
+       "However, remember that pushing a mouse button is a change of status that we should notice.")
                                 )
-                               ((KEYDOWNP 'MOVE)             (* ; 
-                                             "the MOVE key is down;  mark this selection for MOVE.")
+                               ((KEYDOWNP 'MOVE)             (* ; 
+                                             "the MOVE key is down;  mark this selection for MOVE.")
                                 (SETQ SELOPERATION 'MOVE))
                                [(OR (SHIFTDOWNP 'SHIFT)
-                                    (KEYDOWNP 'COPY))        (* ; 
-                                    "the SHIFT key is down;  mark this selection for COPY or MOVE.")
+                                    (KEYDOWNP 'COPY))        (* ; 
+                                    "the SHIFT key is down;  mark this selection for COPY or MOVE.")
                                 (COND
-                                   ((SHIFTDOWNP 'CTRL)       (* ; 
-                                              "He's holding down both ctrl and shift -- do a move.")
+                                   ((SHIFTDOWNP 'CTRL)       (* ; 
+                                              "He's holding down both ctrl and shift -- do a move.")
                                     (SETQ SELOPERATION 'MOVE))
-                                   (T                        (* ; 
-                                                           "Just the SHIFT key.  It's a COPY")
+                                   (T                        (* ; 
+                                                           "Just the SHIFT key.  It's a COPY")
                                       (SETQ SELOPERATION 'COPY]
-                               ((SHIFTDOWNP 'META)           (* ; 
-                                                  "He's holding the meta key down;  note the fact.")
+                               ((SHIFTDOWNP 'META)           (* ; 
+                                                  "He's holding the meta key down;  note the fact.")
                                 (SETQ SELOPERATION 'COPYLOOKS))
-                               ((SHIFTDOWNP 'CTRL)           (* ; 
-                               "He's holding only the CTRL key -- mark the selection for deletion.")
+                               ((SHIFTDOWNP 'CTRL)           (* ; 
+                               "He's holding only the CTRL key -- mark the selection for deletion.")
                                 (SETQ SELOPERATION 'DELETE))
-                               (T                            (* ; 
-                                             "No key being held down;  revert to normal selection.")
+                               (T                            (* ; 
+                                             "No key being held down;  revert to normal selection.")
                                   (SETQ SELOPERATION 'NORMAL]
                             (COND
                                [(AND (OR [NOT (IEQP OLDX (SETQ X (LASTMOUSEX DS]
@@ -646,15 +653,15 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                                          (NEQ OSELOP SELOPERATION))
                                      (INSIDEP CLIPREGION X Y))
 
-                                (* ;; "Only do selection if (1) the mouse is inside the window proper and (2) the mouse has moved, or the kind of selection has changed")
+                                (* ;; "Only do selection if (1) the mouse is inside the window proper and (2) the mouse has moved, or the kind of selection has changed")
 
-                                (* ;; "Must precede the scroll-region test, so that we don't try to scroll while the mouse is inside the main window, even if the scroll bar overlaps the window (at left edge of screen, say)")
+                                (* ;; "Must precede the scroll-region test, so that we don't try to scroll while the mouse is inside the main window, even if the scroll bar overlaps the window (at left edge of screen, say)")
 
                                 (SETQ OLDX X)
                                 (SETQ OLDY Y)
                                 [COND
-                                   ((\TEDIT.MOUSESTATE LEFT) (* ; 
-                                                           "Left button is character selection")
+                                   ((\TEDIT.MOUSESTATE LEFT) (* ; 
+                                                           "Left button is character selection")
                                     (SETQ SEL (TEDIT.SELECT X Y TEXTOBJ (fetch (TEXTOBJ 
                                                                                           MOUSEREGION
                                                                                           )
@@ -662,18 +669,18 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                                                      NIL SELOPERATION W))
                                     (SETQ EXTENDFLG NIL))
                                    ((\TEDIT.MOUSESTATE MIDDLE)
-                                                             (* ; "Middle button is word selection")
+                                                             (* ; "Middle button is word selection")
                                     (SETQ SEL (TEDIT.SELECT X Y TEXTOBJ (fetch (TEXTOBJ 
                                                                                           MOUSEREGION
                                                                                           )
                                                                            of TEXTOBJ)
                                                      T SELOPERATION W))
                                     (SETQ EXTENDFLG NIL))
-                                   [(\TEDIT.MOUSESTATE RIGHT)(* ; "RIght button extends selections")
+                                   [(\TEDIT.MOUSESTATE RIGHT)(* ; "RIght button extends selections")
                                     (COND
                                        ((NEQ SELOPERATION OSELOP)
 
-                                 (* ;; "Things changed since the last selection.  Grab the prior selection info, so that the extension is taken from the selection NOW being made, rather than the last existing old-type selection.")
+                                 (* ;; "Things changed since the last selection.  Grab the prior selection info, so that the extension is taken from the selection NOW being made, rather than the last existing old-type selection.")
 
                                         (\COPYSEL OSEL GLOBALSEL)))
                                     (COND
@@ -682,36 +689,36 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                                                                              'NORMAL)
                                              (SETQ SELOPERATION 'PENDINGDEL)
                                              (replace (TEXTOBJ BLUEPENDINGDELETE) of TEXTOBJ
-                                                with T)) (* ; 
-       "If TeditBluePendingDelete flag is set, then simulate Laurel's blue-pending-delete feature.")
+                                                with T)) (* ; 
+       "If TeditBluePendingDelete flag is set, then simulate Laurel's blue-pending-delete feature.")
                                         (SETQ SEL (TEDIT.EXTEND.SEL X Y GLOBALSEL TEXTOBJ 
                                                          SELOPERATION W))
                                         (SETQ EXTENDFLG T]
-                                   (T                        (* ; 
-                        "The mouse buttons are up, leaving us with a pro-tem 'permanent' selection")
+                                   (T                        (* ; 
+                        "The mouse buttons are up, leaving us with a pro-tem 'permanent' selection")
                                       (\COPYSEL OSEL GLOBALSEL)
-                                                             (* ; 
-                       "And SEL is NOT SET ANY LONGER, so it won't get copied into OSEL down below")
+                                                             (* ; 
+                       "And SEL is NOT SET ANY LONGER, so it won't get copied into OSEL down below")
                                       (AND SEL (replace (SELECTION SET) of SEL with
                                                                                        NIL]
                                 [COND
                                    ((AND SEL (fetch (SELECTION SET) of SEL)
-                                         SELFN)              (* ; 
-                               "The selection was set, but there's a SELFN that has veto authority")
+                                         SELFN)              (* ; 
+                               "The selection was set, but there's a SELFN that has veto authority")
                                     (COND
                                        ((EQ (APPLY* SELFN TEXTOBJ SEL SELOPERATION 'TENTATIVE)
-                                            'DON'T)          (* ; 
-                                              "The selfn vetoed this selection, so mark it un-set.")
+                                            'DON'T)          (* ; 
+                                              "The selfn vetoed this selection, so mark it un-set.")
                                         (replace (SELECTION SET) of SEL with NIL]
                                 (COND
                                    ((\TEDIT.SEL.CHANGED? SEL OSEL OSELOP SELOPERATION)
-                                                             (* ; 
-             "Something interesting about the selection changed.  We have to re-display its image.")
+                                                             (* ; 
+             "Something interesting about the selection changed.  We have to re-display its image.")
                                     (COND
                                        ((OR (EQ SELOPERATION 'NORMAL)
                                             (EQ SELOPERATION 'PENDINGDEL))
-                                                             (* ; 
-                        "For a normal selection, set the 'window last selected in' for the TEXTOBJ")
+                                                             (* ; 
+                        "For a normal selection, set the 'window last selected in' for the TEXTOBJ")
                                         (replace (TEXTOBJ SELWINDOW) of TEXTOBJ with
                                                                                         W)))
                                     (SETQ OSEL (\TEDIT.REFRESH.SHOWSEL TEXTOBJ SEL OSEL OSELOP 
@@ -723,56 +730,56 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                                          (OR (NOT SEL)
                                              (NOT (fetch (SELECTION SET) of SEL]
 
-                                 (* ;; "There is an old selection around, but it is VOLATILE -- i.e., it shouldn't last longer than something is pointing at it.  Turn it off.")
+                                 (* ;; "There is an old selection around, but it is VOLATILE -- i.e., it shouldn't last longer than something is pointing at it.  Turn it off.")
 
                                     (\SHOWSEL OSEL NIL NIL)
                                     (replace (SELECTION SET) of OSEL with NIL]
                                ((IN/SCROLL/BAR? W LASTMOUSEX LASTMOUSEY)
-                                                             (* ; 
-                                    "If he moves to the scroll bar, let him scroll without trouble")
+                                                             (* ; 
+                                    "If he moves to the scroll bar, let him scroll without trouble")
                                 (SCROLL.HANDLER W)))
-                            (BLOCK)                          (* ; "Give other processes a chance")
-                            (GETMOUSESTATE)                  (* ; "And get the new mouse info")
+                            (BLOCK)                          (* ; "Give other processes a chance")
+                            (GETMOUSESTATE)                  (* ; "And get the new mouse info")
                             (TEDIT.CURSORMOVEDFN W))
                    (\COPYSEL OSEL GLOBALSEL)
                    (COND
                       ((fetch (SELECTION SET) of OSEL)
-                                                             (* ; 
-                                        "Only if a selection REALLY got made should we do this....")
+                                                             (* ; 
+                                        "Only if a selection REALLY got made should we do this....")
                        (SELECTQ SELOPERATION
-                           (COPY                             (* ; 
-           "A COPY selection -- set the copy flag, and see if this is a copy to a non-TEdit window")
+                           (COPY                             (* ; 
+           "A COPY selection -- set the copy flag, and see if this is a copy to a non-TEdit window")
                                  (SETQ TEDIT.COPY.PENDING T)
                                  (replace (SELECTION SET) of OSEL with NIL)
-                                                             (* ; 
-                                                "And turn off OSEL, to avoid spurious highlighting")
+                                                             (* ; 
+                                                "And turn off OSEL, to avoid spurious highlighting")
                                  (\TEDIT.FOREIGN.COPY? GLOBALSEL)
-                                                             (* ; 
-                               "Maybe copy into the SYSBUF, if the recipient isn't a TEdit window.")
+                                                             (* ; 
+                               "Maybe copy into the SYSBUF, if the recipient isn't a TEdit window.")
                                  )
-                           (COPYLOOKS                        (* ; "A COPYLOOKS selection")
+                           (COPYLOOKS                        (* ; "A COPYLOOKS selection")
                                       (SETQ TEDIT.COPYLOOKS.PENDING T)
-                                                             (* ; 
-                                                "And turn off OSEL, to avoid spurious highlighting")
+                                                             (* ; 
+                                                "And turn off OSEL, to avoid spurious highlighting")
                                       (replace (SELECTION SET) of OSEL with NIL))
-                           (MOVE                             (* ; 
-                               "A MOVE selection -- set the flag to signal the TEdit command loop,")
-                                 (SETQ TEDIT.MOVE.PENDING T) (* ; 
-                                                "And turn off OSEL, to avoid spurious highlighting")
+                           (MOVE                             (* ; 
+                               "A MOVE selection -- set the flag to signal the TEdit command loop,")
+                                 (SETQ TEDIT.MOVE.PENDING T) (* ; 
+                                                "And turn off OSEL, to avoid spurious highlighting")
                                  (replace (SELECTION SET) of OSEL with NIL))
                            (DELETE (SETQ TEDIT.DEL.PENDING T)
                                    (replace (SELECTION SET) of OSEL with NIL)
-                                                             (* ; 
-                                                "And turn off OSEL, to avoid spurious highlighting")
+                                                             (* ; 
+                                                "And turn off OSEL, to avoid spurious highlighting")
                                    )
-                           (NORMAL                           (* ; 
-                                                 "This is a normal selection;  set the caret looks")
+                           (NORMAL                           (* ; 
+                                                 "This is a normal selection;  set the caret looks")
                                    (replace (TEXTOBJ CARETLOOKS) of TEXTOBJ
                                       with (\TEDIT.GET.INSERT.CHARLOOKS TEXTOBJ OSEL)))
                            NIL)))
                    (AND SELFN (APPLY* SELFN TEXTOBJ GLOBALSEL SELOPERATION 'FINAL))
-                                                             (* ; 
-                             "Give a user exit routine control, perhaps for logging of selections.")
+                                                             (* ; 
+                             "Give a user exit routine control, perhaps for logging of selections.")
                    (for CARET inside (fetch (TEXTOBJ CARET) of TEXTOBJ)
                       do (OR (fetch TCUP of CARET)
                                  (\EDIT.FLIPCARET CARET T))))
@@ -1578,36 +1585,36 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
 (DEFINEQ
 
 (TEXTSTREAM.TITLE
-  [LAMBDA (STREAM)                                       (* ; "Edited 30-May-91 23:34 by jds")
+  [LAMBDA (STREAM)                                      (* ; "Edited 24-Aug-2021 23:25 by rmk:")
 
-    (* ;; "returns a string with which you can talk to the user about this stream")
+    (* ;; "returns a string with which you can talk to the user about this stream")
 
     (PROG ((TEXTOBJ (TEXTOBJ STREAM))
            TXTFILE)
           (SETQ TXTFILE (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
           (RETURN (OR (CL:TYPECASE TXTFILE
                           (STRINGP TXTFILE)
-                          (STREAM (fetch FULLNAME of TXTFILE))
+                          (STREAM (fetch (STREAM FULLNAME) of TXTFILE))
                           (LITATOM TXTFILE)
                           (T TXTFILE))
                       ""])
 
 (\TEDIT.ORIGINAL.WINDOW.TITLE
-  [LAMBDA (FILE DIRTY?)                                  (* ; "Edited 26-Apr-91 13:05 by jds")
+  [LAMBDA (FILE DIRTY?)                                 (* ; "Edited 24-Aug-2021 23:25 by rmk:")
 
-    (* ;; "Given a file name, derive a title for the TEdit window that is editing it.")
+    (* ;; "Given a file name, derive a title for the TEdit window that is editing it.")
 
     (PROG (TITLE)
           (RETURN (COND
-                     ((NULL FILE)                            (* ; 
-                                          "Just calling (TEDIT) should give a 'Text Editor Window'")
+                     ((NULL FILE)                            (* ; 
+                                          "Just calling (TEDIT) should give a 'Text Editor Window'")
                       (CONCAT (COND
                                  (DIRTY? "* ")
                                  (T ""))
                              "Text Editor Window"))
                      ((AND (STRINGP FILE)
-                           (ZEROP (NCHARS FILE)))            (* ; 
-                                                           "So should editing an empty string")
+                           (ZEROP (NCHARS FILE)))            (* ; 
+                                                           "So should editing an empty string")
                       (CONCAT (COND
                                  (DIRTY? "* ")
                                  (T ""))
@@ -1615,19 +1622,19 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
                      ((WINDOWP FILE)
                       (COND
                          ((SETQ TITLE (WINDOWPROP FILE 'TITLE))
-                                                             (* ; 
-                                              "if \TEDIT.WINDOW.SETUP has assigned a title, use it")
+                                                             (* ; 
+                                              "if \TEDIT.WINDOW.SETUP has assigned a title, use it")
                           TITLE)
                          (T "Text Editor Window")))
-                     (T                                      (* ; 
-                                "Strings use the string itself, otherwise grab the full file name.")
+                     (T                                      (* ; 
+                                "Strings use the string itself, otherwise grab the full file name.")
                         (CONCAT (COND
                                    (DIRTY? "* ")
                                    (T ""))
                                "Edit Window for:  "
                                (CL:TYPECASE FILE
                                    (STRINGP FILE)
-                                   (STREAM (fetch FULLNAME of FILE))
+                                   (STREAM (fetch (STREAM FULLNAME) of FILE))
                                    (LITATOM FILE)
                                    (T FILE))])
 
@@ -2817,27 +2824,27 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994,
 (RPAQ? TEDIT.TITLED.ICON.TEMPLATE (CONS TEDITICON (CONS TEDITMASK (CONS TEDIT.ICON.TITLE.REGION 
                                                                             NIL))))
 (PUTPROPS TEDITWINDOW COPYRIGHT ("John Sybalsky & Xerox Corporation" 1983 1984 1985 1986 1987 1988 
-1989 1990 1991 1993 1994 1999))
+1989 1990 1991 1993 1994 1999 2021))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (7130 91759 (TEDIT.CREATEW 7140 . 8276) (\TEDIT.CREATEW.FROM.REGION 8278 . 9262) (
-TEDIT.CURSORMOVEDFN 9264 . 19916) (TEDIT.CURSOROUTFN 19918 . 20453) (TEDIT.WINDOW.SETUP 20455 . 22264)
- (TEDIT.MINIMAL.WINDOW.SETUP 22266 . 30055) (\TEDIT.ACTIVE.WINDOWP 30057 . 31038) (
-\TEDIT.BUTTONEVENTFN 31040 . 54735) (\TEDIT.WINDOW.OPS 54737 . 58540) (\TEDIT.EXPANDFN 58542 . 58945) 
-(\TEDIT.MAINW 58947 . 60236) (\TEDIT.PRIMARYW 60238 . 61450) (\TEDIT.COPYINSERTFN 61452 . 62423) (
-\TEDIT.NEWREGIONFN 62425 . 64892) (\TEDIT.SET.WINDOW.EXTENT 64894 . 70996) (\TEDIT.SHRINK.ICONCREATE 
-70998 . 73270) (\TEDIT.SHRINKFN 73272 . 73847) (\TEDIT.SPLITW 73849 . 79950) (\TEDIT.UNSPLITW 79952 . 
-85646) (\TEDIT.WINDOW.SETUP 85648 . 91368) (\SAFE.FIRST 91370 . 91757)) (92905 93812 (TEDITWINDOWP 
-92915 . 93810)) (93849 96345 (TEDIT.GETINPUT 93859 . 95842) (\TEDIT.MAKEFILENAME 95844 . 96343)) (
-96394 102845 (TEDIT.PROMPTPRINT 96404 . 99308) (TEDIT.PROMPTFLASH 99310 . 101265) (
-\TEDIT.PROMPT.PAGEFULLFN 101267 . 102843)) (103080 107120 (TEXTSTREAM.TITLE 103090 . 103700) (
-\TEDIT.ORIGINAL.WINDOW.TITLE 103702 . 105736) (\TEDIT.WINDOW.TITLE 105738 . 106408) (
-\TEXTSTREAM.FILENAME 106410 . 107118)) (107163 151887 (TEDIT.DEACTIVATE.WINDOW 107173 . 114322) (
-\TEDIT.REPAINTFN 114324 . 117181) (\TEDIT.RESHAPEFN 117183 . 122803) (\TEDIT.SCROLLFN 122805 . 151885)
-) (151929 153978 (\TEDIT.PROCIDLEFN 151939 . 153288) (\TEDIT.PROCENTRYFN 153290 . 153583) (
-\TEDIT.PROCEXITFN 153585 . 153976)) (154057 165057 (\EDIT.DOWNCARET 154067 . 154748) (\EDIT.FLIPCARET 
-154750 . 156285) (TEDIT.FLASHCARET 156287 . 157401) (\EDIT.UPCARET 157403 . 157856) (
-TEDIT.NORMALIZECARET 157858 . 163809) (\SETCARET 163811 . 164731) (\TEDIT.CARET 164733 . 165055)) (
-165091 178846 (TEDIT.ADD.MENUITEM 165101 . 167016) (TEDIT.DEFAULT.MENUFN 167018 . 176285) (
-TEDIT.REMOVE.MENUITEM 176287 . 177288) (\TEDIT.CREATEMENU 177290 . 177743) (\TEDIT.MENU.WHENHELDFN 
-177745 . 178515) (\TEDIT.MENU.WHENSELECTEDFN 178517 . 178844)))))
+  (FILEMAP (NIL (7165 91937 (TEDIT.CREATEW 7175 . 8311) (\TEDIT.CREATEW.FROM.REGION 8313 . 9297) (
+TEDIT.CURSORMOVEDFN 9299 . 19951) (TEDIT.CURSOROUTFN 19953 . 20488) (TEDIT.WINDOW.SETUP 20490 . 22299)
+ (TEDIT.MINIMAL.WINDOW.SETUP 22301 . 30090) (\TEDIT.ACTIVE.WINDOWP 30092 . 31073) (
+\TEDIT.BUTTONEVENTFN 31075 . 54913) (\TEDIT.WINDOW.OPS 54915 . 58718) (\TEDIT.EXPANDFN 58720 . 59123) 
+(\TEDIT.MAINW 59125 . 60414) (\TEDIT.PRIMARYW 60416 . 61628) (\TEDIT.COPYINSERTFN 61630 . 62601) (
+\TEDIT.NEWREGIONFN 62603 . 65070) (\TEDIT.SET.WINDOW.EXTENT 65072 . 71174) (\TEDIT.SHRINK.ICONCREATE 
+71176 . 73448) (\TEDIT.SHRINKFN 73450 . 74025) (\TEDIT.SPLITW 74027 . 80128) (\TEDIT.UNSPLITW 80130 . 
+85824) (\TEDIT.WINDOW.SETUP 85826 . 91546) (\SAFE.FIRST 91548 . 91935)) (93083 93990 (TEDITWINDOWP 
+93093 . 93988)) (94027 96523 (TEDIT.GETINPUT 94037 . 96020) (\TEDIT.MAKEFILENAME 96022 . 96521)) (
+96572 103023 (TEDIT.PROMPTPRINT 96582 . 99486) (TEDIT.PROMPTFLASH 99488 . 101443) (
+\TEDIT.PROMPT.PAGEFULLFN 101445 . 103021)) (103258 107320 (TEXTSTREAM.TITLE 103268 . 103889) (
+\TEDIT.ORIGINAL.WINDOW.TITLE 103891 . 105936) (\TEDIT.WINDOW.TITLE 105938 . 106608) (
+\TEXTSTREAM.FILENAME 106610 . 107318)) (107363 152087 (TEDIT.DEACTIVATE.WINDOW 107373 . 114522) (
+\TEDIT.REPAINTFN 114524 . 117381) (\TEDIT.RESHAPEFN 117383 . 123003) (\TEDIT.SCROLLFN 123005 . 152085)
+) (152129 154178 (\TEDIT.PROCIDLEFN 152139 . 153488) (\TEDIT.PROCENTRYFN 153490 . 153783) (
+\TEDIT.PROCEXITFN 153785 . 154176)) (154257 165257 (\EDIT.DOWNCARET 154267 . 154948) (\EDIT.FLIPCARET 
+154950 . 156485) (TEDIT.FLASHCARET 156487 . 157601) (\EDIT.UPCARET 157603 . 158056) (
+TEDIT.NORMALIZECARET 158058 . 164009) (\SETCARET 164011 . 164931) (\TEDIT.CARET 164933 . 165255)) (
+165291 179046 (TEDIT.ADD.MENUITEM 165301 . 167216) (TEDIT.DEFAULT.MENUFN 167218 . 176485) (
+TEDIT.REMOVE.MENUITEM 176487 . 177488) (\TEDIT.CREATEMENU 177490 . 177943) (\TEDIT.MENU.WHENHELDFN 
+177945 . 178715) (\TEDIT.MENU.WHENSELECTEDFN 178717 . 179044)))))
 STOP
diff --git a/library/TEDITWINDOW.LCOM b/library/TEDITWINDOW.LCOM
index ed7ba2bd..03de59c4 100644
Binary files a/library/TEDITWINDOW.LCOM and b/library/TEDITWINDOW.LCOM differ
