diff --git a/.gitignore b/.gitignore
index 1434e477..9d7492cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,7 +31,7 @@ loadups/whereis.hash
 loadups/apps.sysout
 loadups/fuller.database
 loadups/build/
-loadups/branches
+loadups/tagged
 loadups/gitinfo
 
 
diff --git a/library/sketch/SKETCH b/library/sketch/SKETCH
index b2d39bee..552659c7 100644
--- a/library/sketch/SKETCH
+++ b/library/sketch/SKETCH
@@ -1,22 +1,13 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 8-Nov-2025 12:19:12" {WMEDLEY}<library>SKETCH>SKETCH.;10 491643 
+(FILECREATED "30-Nov-2025 10:10:57" {WMEDLEY}<library>SKETCH>SKETCH.;11 493235 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (VARS SKETCHCOMS SKETCHFILES SKETCH.TITLED.ICON.TEMPLATE)
-                  (FNS SKETCH.SET.A.DEFAULT SKETCH.COMMANDMENU SK.OUTPUT.FILE.NAME SKETCH.TITLE)
-                  (RECORDS SKHISTORYCHANGESPEC GROUP LOCALGROUP SKFIGUREIMAGE SCREENELT GLOBALPART 
-                         COMMONGLOBALPART INDIVIDUALGLOBALPART LOCALPART SKETCH SKETCHTYPE 
-                         SKETCHCONTEXT)
-                  (PROPS (SKETCH.CREATE ARGNAMES)
-                         (GROUP EVENTFNS)
-                         (UNGROUP EVENTFNS)
-                         (FREEZE EVENTFNS)
-                         (UNFREEZE EVENTFNS))
-                  (MACROS .DELETEKEYDOWNP. .MOVEKEYDOWNP. .SHIFTKEYDOWNP.)
+      :CHANGES-TO (VARS SKETCHCOMS)
+                  (FNS UPDATE-SKETCH EDIT-SKETCH)
 
-      :PREVIOUS-DATE " 3-Nov-2025 16:21:01" {WMEDLEY}<library>sketch>SKETCH.;5)
+      :PREVIOUS-DATE " 8-Nov-2025 12:19:12" {WMEDLEY}<library>SKETCH>SKETCH.;10)
 
 
 (PRETTYCOMPRINT SKETCHCOMS)
@@ -253,7 +244,8 @@ To abort loading the new version of Sketch, type '^'."]
                            "Reads a file name and opens a sketch window onto the sketch it contains."
                                                               ]
         (VARS (BackgroundMenu))
-        (VARS SKETCHFILES)
+        (COMS (VARS SKETCHFILES)
+              (FNS UPDATE-SKETCH EDIT-SKETCH))
         (FILES SKETCH-OPS SKETCH-ELEMENTS SKETCH-EDIT SKETCH-OBJ SKETCH-BMELT)
         (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY (FILES (LOADCOMP)
                                                                 SKETCH-OPS SKETCH-ELEMENTS SKETCH-OBJ
@@ -8602,6 +8594,41 @@ Otherwise, type '^'.")
 (RPAQQ BackgroundMenu NIL)
 
 (RPAQQ SKETCHFILES (SKETCH SKETCH-OPS SKETCH-ELEMENTS SKETCH-EDIT SKETCH-OBJ SKETCH-BMELT))
+(DEFINEQ
+
+(UPDATE-SKETCH
+  [LAMBDA (FILES LDFLG)                                      (* ; "Edited 30-Nov-2025 10:09 by rmk")
+                                                             (* ; "Edited  9-Mar-2025 19:17 by rmk")
+                                                             (* ; "Edited  7-Mar-2025 23:40 by rmk")
+                                                             (* ; "Edited 26-Oct-2022 21:10 by rmk")
+                                                             (* ; "Edited 16-Feb-2025 11:25 by rmk")
+
+    (* ;; 
+ "Loads compiled TEDITFILES that were compiled on sources different from the currently loaded files.")
+
+    (CL:UNLESS LDFLG
+        (SETQ LDFLG 'SYSLOAD))
+    (for F CF in (OR FILES SKETCHFILES) when (SETQ CF (FINDFILE-WITH-EXTENSIONS F NIL 
+                                                             *COMPILED-EXTENSIONS*))
+       unless (thereis LF TCF in LOADEDFILELST first (SETQ TCF (TRUEFILENAME CF))
+                 suchthat (STRING.EQUAL TCF (TRUEFILENAME LF))) do (LOAD CF LDFLG])
+
+(EDIT-SKETCH
+  [LAMBDA NIL                                                (* ; "Edited 30-Nov-2025 10:10 by rmk")
+                                                             (* ; "Edited  7-Mar-2025 22:53 by rmk")
+                                                             (* ; "Edited  3-Jul-2023 13:44 by rmk")
+                                                             (* ; "Edited 17-Jun-2023 10:00 by rmk")
+                                                             (* ; "Edited 25-Apr-2023 17:39 by rmk")
+                                                             (* ; "Edited 26-Oct-2022 21:12 by rmk")
+                                                             (* ; "Edited 14-Sep-2022 08:37 by rmk")
+    (BKSYSBUF " ")
+    (RESETLST
+        (RESETSAVE LOADDBFLG 'YES)
+        (UPDATE-SKETCH SKETCHFILES)
+        (FOR F IN SKETCHFILES DO (LOADFROM F)
+                                 (LOADCOMP F)))
+    (%. ANALYZE ON IN SKETCHFILES])
+)
 
 (FILESLOAD SKETCH-OPS SKETCH-ELEMENTS SKETCH-EDIT SKETCH-OBJ SKETCH-BMELT)
 (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY 
@@ -8762,149 +8789,150 @@ Otherwise, type '^'.")
 (ADDTOVAR LAMA SK.UNIONREGIONS SKETCH.CREATE)
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (22476 86065 (SKETCH 22486 . 24591) (SKETCH.FROM.A.FILE 24593 . 24908) (SKETCHW.CREATE 
-24910 . 29484) (SKETCH.RESET 29486 . 31008) (SKETCHW.FIG.CHANGED 31010 . 31350) (SK.WINDOW.TITLE 31352
- . 31739) (EDITSLIDE 31741 . 32147) (EDITSKETCH 32149 . 32473) (SK.PUT.ON.FILE 32475 . 33927) (
-SK.OUTPUT.FILE.NAME 33929 . 34414) (SKETCH.PUT 34416 . 37314) (SK.GET.FROM.FILE 37316 . 38209) (
-SK.INCLUDE.FILE 38211 . 40719) (SK.GET.IMAGEOBJ.FROM.FILE 40721 . 42924) (SKETCH.GET 42926 . 43233) (
-ADD.SKETCH.TO.VIEWER 43235 . 45821) (SK.ADD.ELEMENTS.TO.SKETCH 45823 . 46337) (SKETCH.SET.A.DEFAULT 
-46339 . 53890) (SK.POPUP.SELECTIONFN 53892 . 54434) (GETSKETCHWREGION 54436 . 54642) (SK.ADD.ELEMENT 
-54644 . 56223) (SK.ADD.PRIORITY.ELEMENT.TO.SKETCH 56225 . 57619) (SK.ELTS.BY.PRIORITY 57621 . 57917) (
-SK.ORDER.ELEMENTS 57919 . 58186) (SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 58188 . 59682) (
-SK.ADD.ELEMENTS 59684 . 60208) (SK.CHECK.WHENADDEDFN 60210 . 60940) (SK.APPLY.MENU.COMMAND 60942 . 
-61740) (SK.DELETE.ELEMENT1 61742 . 63320) (SK.MARK.DIRTY 63322 . 63988) (SK.MARK.UNDIRTY 63990 . 64321
-) (SK.MENU.AND.RETURN.FIELD 64323 . 64988) (SKETCH.SET.BRUSH.SHAPE 64990 . 65575) (
-SKETCH.SET.BRUSH.SIZE 65577 . 66083) (SKETCHW.CLOSEFN 66085 . 67876) (SK.CONFIRM.DESTRUCTION 67878 . 
-68877) (SKETCHW.OUTFN 68879 . 69143) (SKETCHW.REOPENFN 69145 . 69557) (MAKE.LOCAL.SKETCH 69559 . 70289
-) (MAP.SKETCHSPEC.INTO.VIEWER 70291 . 71501) (SKETCHW.REPAINTFN 71503 . 72331) (SKETCHW.REPAINTFN1 
-72333 . 73272) (SK.DRAWFIGURE.IF 73274 . 73796) (SKETCHW.SCROLLFN 73798 . 77991) (SKETCHW.RESHAPEFN 
-77993 . 80251) (SK.UPDATE.EVENT.SELECTION 80253 . 82308) (LIGHTGRAYWINDOW 82310 . 82473) (
-SK.ADD.SPACES 82475 . 83221) (SK.SKETCH.MENU 83223 . 83545) (SK.CHECK.IMAGEOBJ.WHENDELETEDFN 83547 . 
-84399) (SK.APPLY.IMAGEOBJ.WHENDELETEDFN 84401 . 85361) (SK.RETURN.TTY 85363 . 85731) (SK.TAKE.TTY 
-85733 . 86063)) (86119 109534 (SKETCH.COMMANDMENU 86129 . 86553) (SKETCH.COMMANDMENU.ITEMS 86555 . 
-106638) (CREATE.SKETCHW.COMMANDMENU 106640 . 107060) (SKETCHW.SELECTIONFN 107062 . 108165) (
-SKETCH.MONITORLOCK 108167 . 108638) (SK.EVAL.AS.PROCESS 108640 . 109253) (SK.EVAL.WITH.LOCK 109255 . 
-109532)) (109535 117339 (SK.FIX.MENU 109545 . 110639) (SK.SET.UP.MENUS 110641 . 112942) (
-SK.INSURE.HAS.MENU 112944 . 113606) (SK.CREATE.STANDARD.MENU 113608 . 114053) (SK.ADD.ITEM.TO.MENU 
-114055 . 114730) (SK.GET.VIEWER.POPUP.MENU 114732 . 116933) (SK.CLEAR.POPUP.MENU 116935 . 117337)) (
-117395 126217 (SKETCH.CREATE 117405 . 118191) (GETSKETCHPROP 118193 . 121250) (PUTSKETCHPROP 121252 . 
-125184) (CREATE.DEFAULT.SKETCH.CONTEXT 125186 . 126215)) (126383 149279 (SK.COPY.BUTTONEVENTFN 126393
- . 137621) (SK.BUTTONEVENT.MARK 137623 . 138006) (SK.BUILD.IMAGEOBJ 138008 . 147923) (
-SK.BUTTONEVENT.OVERP 147925 . 148548) (SK.BUTTONEVENT.SAME.KEYS 148550 . 149277)) (149558 175373 (
-SK.SEL.AND.CHANGE 149568 . 149860) (SK.CHECK.WHENCHANGEDFN 149862 . 150568) (SK.CHECK.PRECHANGEFN 
-150570 . 151171) (SK.CHANGE.ELT 151173 . 151365) (SK.CHANGE.THING 151367 . 152618) (
-SKETCH.CHANGE.ELEMENTS 152620 . 153803) (SK.APPLY.SINGLE.CHANGEFN 153805 . 154378) (SK.DO.CHANGESPECS 
-154380 . 156039) (SK.VIEWER.FROM.SKETCH.ARG 156041 . 156483) (SK.DO.CHANGESPEC1 156485 . 158360) (
-SK.CHANGEFN 158362 . 158942) (SK.READCHANGEFN 158944 . 159403) (SK.DEFAULT.CHANGEFN 159405 . 161877) (
-CHANGEABLEFIELDITEMS 161879 . 162526) (SK.APPLY.CHANGE.COMMAND 162528 . 163145) (
-SK.DO.AND.RECORD.CHANGES 163147 . 164544) (SK.APPLY.CHANGE.COMMAND1 164546 . 166034) (
-SK.ELEMENTS.CHANGEFN 166036 . 168360) (READ.POINT.TO.ADD 168362 . 169306) (GLOBAL.KNOT.FROM.LOCAL 
-169308 . 169768) (SK.ADD.KNOT.TO.ELEMENT 169770 . 170714) (SK.GROUP.CHANGEFN 170716 . 171928) (
-SK.GROUP.CHANGEFN1 171930 . 175371)) (175540 189273 (ADD.ELEMENT.TO.SKETCH 175550 . 177256) (
-ADD.SKETCH.VIEWER 177258 . 177926) (REMOVE.SKETCH.VIEWER 177928 . 178541) (ALL.SKETCH.VIEWERS 178543
- . 178783) (SKETCH.ALL.VIEWERS 178785 . 179045) (VIEWER.BUCKET 179047 . 179198) (ELT.INSIDE.REGION? 
-179200 . 179527) (ELT.INSIDE.SKWP 179529 . 179820) (SCALE.FROM.SKW 179822 . 180072) (
-SK.ADDELT.TO.WINDOW 180074 . 180934) (SK.CALC.REGION.VIEWED 180936 . 181314) (SK.DRAWFIGURE 181316 . 
-182605) (SK.DRAWFIGURE1 182607 . 182991) (SK.LOCAL.FROM.GLOBAL 182993 . 184228) (SKETCH.REGION.VIEWED 
-184230 . 186917) (SKETCH.VIEW.FROM.NAME 186919 . 187349) (SK.UPDATE.REGION.VIEWED 187351 . 187743) (
-SKETCH.ADD.AND.DISPLAY 187745 . 188153) (SKETCH.ADD.AND.DISPLAY1 188155 . 188593) (SK.ADD.ITEM 188595
- . 188927) (SKETCHW.ADD.INSTANCE 188929 . 189271)) (189314 202502 (SK.SEL.AND.DELETE 189324 . 189712) 
-(SK.ERASE.AND.DELETE.ITEM 189714 . 190133) (REMOVE.ELEMENT.FROM.SKETCH 190135 . 191246) (
-SK.DELETE.ELEMENT 191248 . 191806) (SK.DELETE.ELEMENT2 191808 . 192469) (SK.DELETE.KNOT 192471 . 
-192762) (SK.SEL.AND.DELETE.KNOT 192764 . 193889) (SK.DELETE.ELEMENT.KNOT 193891 . 197098) (
-SK.CHECK.WHENDELETEDFN 197100 . 197880) (SK.CHECK.PREEDITFN 197882 . 198366) (
-SK.CHECK.END.INITIAL.EDIT 198368 . 198902) (SK.CHECK.WHENPOINTDELETEDFN 198904 . 199700) (SK.ERASE.ELT
- 199702 . 200038) (SK.DELETE.ELT 200040 . 200415) (SK.DELETE.ITEM 200417 . 200825) (DELFROMTCONC 
-200827 . 202500)) (202541 216375 (SK.COPY.ELT 202551 . 202921) (SK.SEL.AND.COPY 202923 . 203306) (
-SK.COPY.ELEMENTS 203308 . 208936) (SK.ADD.COPY.OF.ELEMENTS 208938 . 210705) (
-SK.GLOBAL.FROM.LOCAL.ELEMENTS 210707 . 210947) (SK.COPY.ITEM 210949 . 211746) (SK.INSERT.SKETCH 211748
- . 216373)) (216415 246436 (SK.MOVE.ELT 216425 . 216700) (SK.MOVE.ELT.OR.PT 216702 . 217015) (
-SK.APPLY.DEFAULT.MOVE 217017 . 217451) (SK.SEL.AND.MOVE 217453 . 218000) (SK.MOVE.ELEMENTS 218002 . 
-228874) (SKETCH.MOVE.ELEMENTS 228876 . 230807) (SKETCH.COPY.ELEMENTS 230809 . 232856) (
-\SKETCH.COPY.ELEMENT 232858 . 233583) (SK.TRANSLATE.ELEMENT 233585 . 234068) (SK.COPY.GLOBAL.ELEMENT 
-234070 . 234281) (SK.MAKE.ELEMENT.MOVE.ARG 234283 . 234903) (SK.MAKE.ELEMENTS.MOVE.ARG 234905 . 235427
-) (SK.MAKE.POINTS.AND.ELEMENTS.MOVE.ARG 235429 . 236498) (SK.SHOW.FIG.FROM.INFO 236500 . 236868) (
-SK.MOVE.THING 236870 . 237776) (UPDATE.ELEMENT.IN.SKETCH 237778 . 239833) (SK.UPDATE.ELEMENT 239835 . 
-241394) (SK.UPDATE.ELEMENTS 241396 . 242115) (SK.UPDATE.ELEMENT1 242117 . 246017) (
-SK.MOVE.ELEMENT.POINT 246019 . 246434)) (246499 268788 (SK.MOVE.POINTS 246509 . 246796) (
-SK.SEL.AND.MOVE.POINTS 246798 . 247103) (SK.DO.MOVE.ELEMENT.POINTS 247105 . 255762) (
-SK.MOVE.ITEM.POINTS 255764 . 257435) (SK.TRANSLATEPTSFN 257437 . 257821) (SK.TRANSLATE.POINTS 257823
- . 258724) (SK.SELECT.MULTIPLE.POINTS 258726 . 264366) (SK.CONTROL.POINTS.IN.REGION 264368 . 265789) (
-SK.ADD.PT.SELECTION 265791 . 266255) (SK.REMOVE.PT.SELECTION 266257 . 266874) (SK.ADD.POINT 266876 . 
-267499) (SK.ELTS.CONTAINING.PTS 267501 . 268126) (SK.HOTSPOTS.NOT.ON.LIST 268128 . 268786)) (268946 
-271742 (SK.SET.MOVE.MODE 268956 . 269627) (SK.SET.MOVE.MODE.POINTS 269629 . 269968) (
-SK.SET.MOVE.MODE.ELEMENTS 269970 . 270314) (SK.SET.MOVE.MODE.COMBINED 270316 . 270666) (READMOVEMODE 
-270668 . 271740)) (271743 290498 (SK.ALIGN.POINTS 271753 . 272043) (SK.SEL.AND.ALIGN.POINTS 272045 . 
-272354) (SK.ALIGN.POINTS.LEFT 272356 . 272659) (SK.ALIGN.POINTS.RIGHT 272661 . 272966) (
-SK.ALIGN.POINTS.TOP 272968 . 273269) (SK.ALIGN.POINTS.BOTTOM 273271 . 273578) (
-SK.EVEN.SPACE.POINTS.IN.X 273580 . 273900) (SK.EVEN.SPACE.POINTS.IN.Y 273902 . 274222) (
-SK.DO.ALIGN.POINTS 274224 . 284846) (SK.NTH.CONTROL.POINT 284848 . 285309) (
-SK.GET.SELECTED.ELEMENT.STRUCTURE 285311 . 285977) (SK.CORRESPONDING.CONTROL.PT 285979 . 286533) (
-SK.CONTROL.POINT.NUMBER 286535 . 286905) (SK.DO.ALIGN.SETVALUE 286907 . 290496)) (290562 303994 (
-SKETCH.CREATE.GROUP 290572 . 291061) (SK.CREATE.GROUP1 291063 . 291610) (SK.UPDATE.GROUP.AFTER.CHANGE 
-291612 . 292401) (SK.GROUP.ELTS 292403 . 292684) (SK.SEL.AND.GROUP 292686 . 293072) (SK.GROUP.ELEMENTS
- 293074 . 294723) (SK.UNGROUP.ELT 294725 . 295009) (SK.SEL.AND.UNGROUP 295011 . 296680) (
-SK.UNGROUP.ELEMENT 296682 . 297618) (SK.GLOBAL.REGION.OF.LOCAL.ELEMENTS 297620 . 298542) (
-SK.LOCAL.REGION.OF.LOCAL.ELEMENTS 298544 . 299555) (SK.GLOBAL.REGION.OF.GLOBAL.ELEMENTS 299557 . 
-300897) (SK.UNIONREGIONS 300899 . 303265) (SKETCH.REGION.OF.SKETCH 303267 . 303683) (SK.FLASHREGION 
-303685 . 303992)) (303995 317466 (INIT.GROUP.ELEMENT 304005 . 304877) (GROUP.DRAWFN 304879 . 305329) (
-GROUP.EXPANDFN 305331 . 306894) (GROUP.INSIDEFN 306896 . 307305) (GROUP.REGIONFN 307307 . 307702) (
-GROUP.GLOBALREGIONFN 307704 . 308022) (GROUP.TRANSLATEFN 308024 . 310056) (GROUP.TRANSFORMFN 310058 . 
-313538) (GROUP.READCHANGEFN 313540 . 317464)) (317467 318475 (REGION.CENTER 317477 . 318078) (
-REMOVE.LAST 318080 . 318473)) (318528 323635 (SK.MOVE.GROUP.CONTROL.PT 318538 . 318829) (
-SK.SEL.AND.MOVE.CONTROL.PT 318831 . 320235) (SK.MOVE.GROUP.ELEMENT.CONTROL.POINT 320237 . 322310) (
-SK.READ.NEW.GROUP.CONTROL.PT 322312 . 323633)) (323894 328518 (SK.DO.GROUP 323904 . 325356) (
-SK.CHECK.WHENGROUPEDFN 325358 . 326068) (SK.DO.UNGROUP 326070 . 327275) (SK.CHECK.WHENUNGROUPEDFN 
-327277 . 327864) (SK.GROUP.UNDO 327866 . 328189) (SK.UNGROUP.UNDO 328191 . 328516)) (328759 333681 (
-SK.FREEZE.ELTS 328769 . 329053) (SK.SEL.AND.FREEZE 329055 . 329445) (SK.FREEZE.ELEMENTS 329447 . 
-329998) (SK.UNFREEZE.ELT 330000 . 330289) (SK.SEL.AND.UNFREEZE 330291 . 331827) (SK.UNFREEZE.ELEMENTS 
-331829 . 332388) (SK.FREEZE.UNDO 332390 . 332635) (SK.UNFREEZE.UNDO 332637 . 332884) (SK.DO.FREEZE 
-332886 . 333279) (SK.DO.UNFREEZE 333281 . 333679)) (333911 343721 (SKETCH.ELEMENTS.OF.SKETCH 333921 . 
-334756) (SKETCH.LIST.OF.ELEMENTS 334758 . 335476) (SKETCH.ADD.ELEMENT 335478 . 336553) (
-SKETCH.DELETE.ELEMENT 336555 . 338287) (DELFROMGROUPELT 338289 . 339089) (SKETCH.ELEMENT.TYPE 339091
- . 339440) (SKETCH.ELEMENT.CHANGED 339442 . 341010) (SK.ELEMENT.CHANGED1 341012 . 341663) (
-SK.UPDATE.GLOBAL.IMAGE.OBJECT.ELEMENT 341665 . 343719)) (343775 348387 (INSURE.SKETCH 343785 . 346400)
- (LOCALSPECS.FROM.VIEWER 346402 . 346762) (SK.LOCAL.ELT.FROM.GLOBALPART 346764 . 347232) (
-SKETCH.FROM.VIEWER 347234 . 347468) (INSPECT.SKETCH 347470 . 347795) (ELT.INSIDE.SKETCHWP 347797 . 
-348070) (SK.INSIDE.REGION 348072 . 348385)) (348388 352718 (MAPSKETCHSPECS 348398 . 349019) (
-MAPCOLLECTSKETCHSPECS 349021 . 349770) (MAPSKETCHSPECSUNTIL 349772 . 350580) (MAPGLOBALSKETCHSPECS 
-350582 . 351283) (MAPGLOBALSKETCHELEMENTS 351285 . 352716)) (352780 378672 (SK.ADD.SELECTION 352790 . 
-353530) (SK.COPY.INSERTFN 353532 . 357163) (SCREENELEMENTP 357165 . 357638) (SK.ITEM.REGION 357640 . 
-358127) (SK.ELEMENT.GLOBAL.REGION 358129 . 358657) (SK.LOCAL.ITEMS.IN.REGION 358659 . 360638) (
-SK.REGIONFN 360640 . 360962) (SK.GLOBAL.REGIONFN 360964 . 361322) (SK.REMOVE.SELECTION 361324 . 362052
-) (SK.SELECT.MULTIPLE.ITEMS 362054 . 372496) (SKETCH.GET.ELEMENTS 372498 . 373921) (SK.PUT.MARKS.UP 
-373923 . 374262) (SK.TAKE.MARKS.DOWN 374264 . 374603) (SK.TRANSLATE.GLOBALPART 374605 . 376732) (
-SK.TRANSLATE.ITEM 376734 . 377661) (SK.TRANSLATEFN 377663 . 377859) (TRANSLATE.SKETCH 377861 . 378670)
-) (378938 381845 (SK.INPUT.SCALE 378948 . 379795) (SK.UPDATE.SKETCHCONTEXT 379797 . 380394) (
-SK.SET.INPUT.SCALE 380396 . 381045) (SK.SET.INPUT.SCALE.CURRENT 381047 . 381338) (
-SK.SET.INPUT.SCALE.VALUE 381340 . 381843)) (381896 383808 (SK.SET.FEEDBACK.MODE 381906 . 383212) (
-SK.SET.FEEDBACK.POINT 383214 . 383382) (SK.SET.FEEDBACK.VERBOSE 383384 . 383553) (
-SK.SET.FEEDBACK.ALWAYS 383555 . 383806)) (383959 385337 (SKETCH.TITLE 383969 . 384333) (
-SK.SHRINK.ICONCREATE 384335 . 385335)) (391027 393841 (READBRUSHSHAPE 391037 . 391496) (READ.FUNCTION 
-391498 . 392013) (READBRUSHSIZE 392015 . 392473) (READANGLE 392475 . 392967) (READARCDIRECTION 392969
- . 393839)) (393842 404253 (SK.CHANGE.DASHING 393852 . 397800) (READ.AND.SAVE.NEW.DASHING 397802 . 
-399570) (READ.NEW.DASHING 399572 . 401312) (READ.DASHING.CHANGE 401314 . 402789) (SK.CACHE.DASHING 
-402791 . 403793) (SK.DASHING.LABEL 403795 . 404251)) (404254 407959 (READ.FILLING.CHANGE 404264 . 
-406245) (SK.CACHE.FILLING 406247 . 406965) (READ.AND.SAVE.NEW.FILLING 406967 . 407565) (
-SK.FILLING.LABEL 407567 . 407957)) (408343 444596 (SK.GETGLOBALPOSITION 408353 . 408658) (
-SKETCH.TRACK.ELEMENTS 408660 . 412180) (SK.PICKOUT.WHOLE.MOVE.ELEMENTS 412182 . 412741) (
-MAP.SKETCH.ELEMENTS.INTO.VIEWER 412743 . 413135) (MAP.GLOBAL.POSITION.INTO.VIEWER 413137 . 413517) (
-SKETCH.TO.VIEWER.POSITION 413519 . 413878) (SKETCH.TRACK.IMAGE 413880 . 414734) (SK.TRACK.IMAGE1 
-414736 . 416148) (MAP.VIEWER.XY.INTO.GLOBAL 416150 . 417144) (SK.SET.POSITION 417146 . 417482) (
-MAP.VIEWER.PT.INTO.GLOBAL 417484 . 418590) (VIEWER.TO.SKETCH.POSITION 418592 . 419227) (
-SK.INSURE.SCALE 419229 . 419489) (SKETCH.TO.VIEWER.REGION 419491 . 420297) (VIEWER.TO.SKETCH.REGION 
-420299 . 420637) (SK.READ.POINT.WITH.FEEDBACK 420639 . 431642) (SKETCH.GET.POSITION 431644 . 433524) (
-\CLOBBER.POSITION 433526 . 433974) (NEAREST.HOT.SPOT 433976 . 435504) (GETWREGION 435506 . 436267) (
-GET.BITMAP.POSITION 436269 . 437053) (SK.TRACK.BITMAP1 437055 . 444594)) (445165 476051 (
-SK.BRING.UP.POSITION.PAD 445175 . 451035) (SK.PAD.READER.POSITION 451037 . 452686) (
-SK.POSITION.READER.REPAINTFN 452688 . 454472) (SK.POSITION.PAD.FROM.VIEWER 454474 . 455816) (
-SK.INIT.POSITION.NUMBER.PAD.MENU 455818 . 456168) (SK.READ.POSITION.PAD.HANDLER 456170 . 461902) (
-DISPLAY.POSITION.READER.TOTAL 461904 . 464202) (POSITION.PAD.READER.HANDLER 464204 . 472247) (
-POSITIONPAD.HELDFN 472249 . 473733) (\POSITION.PAD.ADD.DIGIT.MENU 473735 . 475314) (
-\POSITION.READER.NUMBERPAD 475316 . 476049)) (477677 480355 (SK.DRAWFN 477687 . 478053) (
-SK.TRANSFORMFN 478055 . 478436) (SK.EXPANDFN 478438 . 478715) (SK.INPUT 478717 . 479098) (SK.INSIDEFN 
-479100 . 479740) (SK.UPDATEFN 479742 . 480353)) (486120 490065 (SK.CHECK.SKETCH.VERSION 486130 . 
-487370) (SK.INSURE.RECORD.LENGTH 487372 . 488855) (SK.INSURE.HAS.LENGTH 488857 . 489595) (
-SK.RECORD.LENGTH 489597 . 489771) (SK.SET.RECORD.LENGTHS 489773 . 490063)) (490528 491415 (
-SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER 490538 . 491413)))))
+  (FILEMAP (NIL (21911 85500 (SKETCH 21921 . 24026) (SKETCH.FROM.A.FILE 24028 . 24343) (SKETCHW.CREATE 
+24345 . 28919) (SKETCH.RESET 28921 . 30443) (SKETCHW.FIG.CHANGED 30445 . 30785) (SK.WINDOW.TITLE 30787
+ . 31174) (EDITSLIDE 31176 . 31582) (EDITSKETCH 31584 . 31908) (SK.PUT.ON.FILE 31910 . 33362) (
+SK.OUTPUT.FILE.NAME 33364 . 33849) (SKETCH.PUT 33851 . 36749) (SK.GET.FROM.FILE 36751 . 37644) (
+SK.INCLUDE.FILE 37646 . 40154) (SK.GET.IMAGEOBJ.FROM.FILE 40156 . 42359) (SKETCH.GET 42361 . 42668) (
+ADD.SKETCH.TO.VIEWER 42670 . 45256) (SK.ADD.ELEMENTS.TO.SKETCH 45258 . 45772) (SKETCH.SET.A.DEFAULT 
+45774 . 53325) (SK.POPUP.SELECTIONFN 53327 . 53869) (GETSKETCHWREGION 53871 . 54077) (SK.ADD.ELEMENT 
+54079 . 55658) (SK.ADD.PRIORITY.ELEMENT.TO.SKETCH 55660 . 57054) (SK.ELTS.BY.PRIORITY 57056 . 57352) (
+SK.ORDER.ELEMENTS 57354 . 57621) (SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 57623 . 59117) (
+SK.ADD.ELEMENTS 59119 . 59643) (SK.CHECK.WHENADDEDFN 59645 . 60375) (SK.APPLY.MENU.COMMAND 60377 . 
+61175) (SK.DELETE.ELEMENT1 61177 . 62755) (SK.MARK.DIRTY 62757 . 63423) (SK.MARK.UNDIRTY 63425 . 63756
+) (SK.MENU.AND.RETURN.FIELD 63758 . 64423) (SKETCH.SET.BRUSH.SHAPE 64425 . 65010) (
+SKETCH.SET.BRUSH.SIZE 65012 . 65518) (SKETCHW.CLOSEFN 65520 . 67311) (SK.CONFIRM.DESTRUCTION 67313 . 
+68312) (SKETCHW.OUTFN 68314 . 68578) (SKETCHW.REOPENFN 68580 . 68992) (MAKE.LOCAL.SKETCH 68994 . 69724
+) (MAP.SKETCHSPEC.INTO.VIEWER 69726 . 70936) (SKETCHW.REPAINTFN 70938 . 71766) (SKETCHW.REPAINTFN1 
+71768 . 72707) (SK.DRAWFIGURE.IF 72709 . 73231) (SKETCHW.SCROLLFN 73233 . 77426) (SKETCHW.RESHAPEFN 
+77428 . 79686) (SK.UPDATE.EVENT.SELECTION 79688 . 81743) (LIGHTGRAYWINDOW 81745 . 81908) (
+SK.ADD.SPACES 81910 . 82656) (SK.SKETCH.MENU 82658 . 82980) (SK.CHECK.IMAGEOBJ.WHENDELETEDFN 82982 . 
+83834) (SK.APPLY.IMAGEOBJ.WHENDELETEDFN 83836 . 84796) (SK.RETURN.TTY 84798 . 85166) (SK.TAKE.TTY 
+85168 . 85498)) (85554 108969 (SKETCH.COMMANDMENU 85564 . 85988) (SKETCH.COMMANDMENU.ITEMS 85990 . 
+106073) (CREATE.SKETCHW.COMMANDMENU 106075 . 106495) (SKETCHW.SELECTIONFN 106497 . 107600) (
+SKETCH.MONITORLOCK 107602 . 108073) (SK.EVAL.AS.PROCESS 108075 . 108688) (SK.EVAL.WITH.LOCK 108690 . 
+108967)) (108970 116774 (SK.FIX.MENU 108980 . 110074) (SK.SET.UP.MENUS 110076 . 112377) (
+SK.INSURE.HAS.MENU 112379 . 113041) (SK.CREATE.STANDARD.MENU 113043 . 113488) (SK.ADD.ITEM.TO.MENU 
+113490 . 114165) (SK.GET.VIEWER.POPUP.MENU 114167 . 116368) (SK.CLEAR.POPUP.MENU 116370 . 116772)) (
+116830 125652 (SKETCH.CREATE 116840 . 117626) (GETSKETCHPROP 117628 . 120685) (PUTSKETCHPROP 120687 . 
+124619) (CREATE.DEFAULT.SKETCH.CONTEXT 124621 . 125650)) (125818 148714 (SK.COPY.BUTTONEVENTFN 125828
+ . 137056) (SK.BUTTONEVENT.MARK 137058 . 137441) (SK.BUILD.IMAGEOBJ 137443 . 147358) (
+SK.BUTTONEVENT.OVERP 147360 . 147983) (SK.BUTTONEVENT.SAME.KEYS 147985 . 148712)) (148993 174808 (
+SK.SEL.AND.CHANGE 149003 . 149295) (SK.CHECK.WHENCHANGEDFN 149297 . 150003) (SK.CHECK.PRECHANGEFN 
+150005 . 150606) (SK.CHANGE.ELT 150608 . 150800) (SK.CHANGE.THING 150802 . 152053) (
+SKETCH.CHANGE.ELEMENTS 152055 . 153238) (SK.APPLY.SINGLE.CHANGEFN 153240 . 153813) (SK.DO.CHANGESPECS 
+153815 . 155474) (SK.VIEWER.FROM.SKETCH.ARG 155476 . 155918) (SK.DO.CHANGESPEC1 155920 . 157795) (
+SK.CHANGEFN 157797 . 158377) (SK.READCHANGEFN 158379 . 158838) (SK.DEFAULT.CHANGEFN 158840 . 161312) (
+CHANGEABLEFIELDITEMS 161314 . 161961) (SK.APPLY.CHANGE.COMMAND 161963 . 162580) (
+SK.DO.AND.RECORD.CHANGES 162582 . 163979) (SK.APPLY.CHANGE.COMMAND1 163981 . 165469) (
+SK.ELEMENTS.CHANGEFN 165471 . 167795) (READ.POINT.TO.ADD 167797 . 168741) (GLOBAL.KNOT.FROM.LOCAL 
+168743 . 169203) (SK.ADD.KNOT.TO.ELEMENT 169205 . 170149) (SK.GROUP.CHANGEFN 170151 . 171363) (
+SK.GROUP.CHANGEFN1 171365 . 174806)) (174975 188708 (ADD.ELEMENT.TO.SKETCH 174985 . 176691) (
+ADD.SKETCH.VIEWER 176693 . 177361) (REMOVE.SKETCH.VIEWER 177363 . 177976) (ALL.SKETCH.VIEWERS 177978
+ . 178218) (SKETCH.ALL.VIEWERS 178220 . 178480) (VIEWER.BUCKET 178482 . 178633) (ELT.INSIDE.REGION? 
+178635 . 178962) (ELT.INSIDE.SKWP 178964 . 179255) (SCALE.FROM.SKW 179257 . 179507) (
+SK.ADDELT.TO.WINDOW 179509 . 180369) (SK.CALC.REGION.VIEWED 180371 . 180749) (SK.DRAWFIGURE 180751 . 
+182040) (SK.DRAWFIGURE1 182042 . 182426) (SK.LOCAL.FROM.GLOBAL 182428 . 183663) (SKETCH.REGION.VIEWED 
+183665 . 186352) (SKETCH.VIEW.FROM.NAME 186354 . 186784) (SK.UPDATE.REGION.VIEWED 186786 . 187178) (
+SKETCH.ADD.AND.DISPLAY 187180 . 187588) (SKETCH.ADD.AND.DISPLAY1 187590 . 188028) (SK.ADD.ITEM 188030
+ . 188362) (SKETCHW.ADD.INSTANCE 188364 . 188706)) (188749 201937 (SK.SEL.AND.DELETE 188759 . 189147) 
+(SK.ERASE.AND.DELETE.ITEM 189149 . 189568) (REMOVE.ELEMENT.FROM.SKETCH 189570 . 190681) (
+SK.DELETE.ELEMENT 190683 . 191241) (SK.DELETE.ELEMENT2 191243 . 191904) (SK.DELETE.KNOT 191906 . 
+192197) (SK.SEL.AND.DELETE.KNOT 192199 . 193324) (SK.DELETE.ELEMENT.KNOT 193326 . 196533) (
+SK.CHECK.WHENDELETEDFN 196535 . 197315) (SK.CHECK.PREEDITFN 197317 . 197801) (
+SK.CHECK.END.INITIAL.EDIT 197803 . 198337) (SK.CHECK.WHENPOINTDELETEDFN 198339 . 199135) (SK.ERASE.ELT
+ 199137 . 199473) (SK.DELETE.ELT 199475 . 199850) (SK.DELETE.ITEM 199852 . 200260) (DELFROMTCONC 
+200262 . 201935)) (201976 215810 (SK.COPY.ELT 201986 . 202356) (SK.SEL.AND.COPY 202358 . 202741) (
+SK.COPY.ELEMENTS 202743 . 208371) (SK.ADD.COPY.OF.ELEMENTS 208373 . 210140) (
+SK.GLOBAL.FROM.LOCAL.ELEMENTS 210142 . 210382) (SK.COPY.ITEM 210384 . 211181) (SK.INSERT.SKETCH 211183
+ . 215808)) (215850 245871 (SK.MOVE.ELT 215860 . 216135) (SK.MOVE.ELT.OR.PT 216137 . 216450) (
+SK.APPLY.DEFAULT.MOVE 216452 . 216886) (SK.SEL.AND.MOVE 216888 . 217435) (SK.MOVE.ELEMENTS 217437 . 
+228309) (SKETCH.MOVE.ELEMENTS 228311 . 230242) (SKETCH.COPY.ELEMENTS 230244 . 232291) (
+\SKETCH.COPY.ELEMENT 232293 . 233018) (SK.TRANSLATE.ELEMENT 233020 . 233503) (SK.COPY.GLOBAL.ELEMENT 
+233505 . 233716) (SK.MAKE.ELEMENT.MOVE.ARG 233718 . 234338) (SK.MAKE.ELEMENTS.MOVE.ARG 234340 . 234862
+) (SK.MAKE.POINTS.AND.ELEMENTS.MOVE.ARG 234864 . 235933) (SK.SHOW.FIG.FROM.INFO 235935 . 236303) (
+SK.MOVE.THING 236305 . 237211) (UPDATE.ELEMENT.IN.SKETCH 237213 . 239268) (SK.UPDATE.ELEMENT 239270 . 
+240829) (SK.UPDATE.ELEMENTS 240831 . 241550) (SK.UPDATE.ELEMENT1 241552 . 245452) (
+SK.MOVE.ELEMENT.POINT 245454 . 245869)) (245934 268223 (SK.MOVE.POINTS 245944 . 246231) (
+SK.SEL.AND.MOVE.POINTS 246233 . 246538) (SK.DO.MOVE.ELEMENT.POINTS 246540 . 255197) (
+SK.MOVE.ITEM.POINTS 255199 . 256870) (SK.TRANSLATEPTSFN 256872 . 257256) (SK.TRANSLATE.POINTS 257258
+ . 258159) (SK.SELECT.MULTIPLE.POINTS 258161 . 263801) (SK.CONTROL.POINTS.IN.REGION 263803 . 265224) (
+SK.ADD.PT.SELECTION 265226 . 265690) (SK.REMOVE.PT.SELECTION 265692 . 266309) (SK.ADD.POINT 266311 . 
+266934) (SK.ELTS.CONTAINING.PTS 266936 . 267561) (SK.HOTSPOTS.NOT.ON.LIST 267563 . 268221)) (268381 
+271177 (SK.SET.MOVE.MODE 268391 . 269062) (SK.SET.MOVE.MODE.POINTS 269064 . 269403) (
+SK.SET.MOVE.MODE.ELEMENTS 269405 . 269749) (SK.SET.MOVE.MODE.COMBINED 269751 . 270101) (READMOVEMODE 
+270103 . 271175)) (271178 289933 (SK.ALIGN.POINTS 271188 . 271478) (SK.SEL.AND.ALIGN.POINTS 271480 . 
+271789) (SK.ALIGN.POINTS.LEFT 271791 . 272094) (SK.ALIGN.POINTS.RIGHT 272096 . 272401) (
+SK.ALIGN.POINTS.TOP 272403 . 272704) (SK.ALIGN.POINTS.BOTTOM 272706 . 273013) (
+SK.EVEN.SPACE.POINTS.IN.X 273015 . 273335) (SK.EVEN.SPACE.POINTS.IN.Y 273337 . 273657) (
+SK.DO.ALIGN.POINTS 273659 . 284281) (SK.NTH.CONTROL.POINT 284283 . 284744) (
+SK.GET.SELECTED.ELEMENT.STRUCTURE 284746 . 285412) (SK.CORRESPONDING.CONTROL.PT 285414 . 285968) (
+SK.CONTROL.POINT.NUMBER 285970 . 286340) (SK.DO.ALIGN.SETVALUE 286342 . 289931)) (289997 303429 (
+SKETCH.CREATE.GROUP 290007 . 290496) (SK.CREATE.GROUP1 290498 . 291045) (SK.UPDATE.GROUP.AFTER.CHANGE 
+291047 . 291836) (SK.GROUP.ELTS 291838 . 292119) (SK.SEL.AND.GROUP 292121 . 292507) (SK.GROUP.ELEMENTS
+ 292509 . 294158) (SK.UNGROUP.ELT 294160 . 294444) (SK.SEL.AND.UNGROUP 294446 . 296115) (
+SK.UNGROUP.ELEMENT 296117 . 297053) (SK.GLOBAL.REGION.OF.LOCAL.ELEMENTS 297055 . 297977) (
+SK.LOCAL.REGION.OF.LOCAL.ELEMENTS 297979 . 298990) (SK.GLOBAL.REGION.OF.GLOBAL.ELEMENTS 298992 . 
+300332) (SK.UNIONREGIONS 300334 . 302700) (SKETCH.REGION.OF.SKETCH 302702 . 303118) (SK.FLASHREGION 
+303120 . 303427)) (303430 316901 (INIT.GROUP.ELEMENT 303440 . 304312) (GROUP.DRAWFN 304314 . 304764) (
+GROUP.EXPANDFN 304766 . 306329) (GROUP.INSIDEFN 306331 . 306740) (GROUP.REGIONFN 306742 . 307137) (
+GROUP.GLOBALREGIONFN 307139 . 307457) (GROUP.TRANSLATEFN 307459 . 309491) (GROUP.TRANSFORMFN 309493 . 
+312973) (GROUP.READCHANGEFN 312975 . 316899)) (316902 317910 (REGION.CENTER 316912 . 317513) (
+REMOVE.LAST 317515 . 317908)) (317963 323070 (SK.MOVE.GROUP.CONTROL.PT 317973 . 318264) (
+SK.SEL.AND.MOVE.CONTROL.PT 318266 . 319670) (SK.MOVE.GROUP.ELEMENT.CONTROL.POINT 319672 . 321745) (
+SK.READ.NEW.GROUP.CONTROL.PT 321747 . 323068)) (323329 327953 (SK.DO.GROUP 323339 . 324791) (
+SK.CHECK.WHENGROUPEDFN 324793 . 325503) (SK.DO.UNGROUP 325505 . 326710) (SK.CHECK.WHENUNGROUPEDFN 
+326712 . 327299) (SK.GROUP.UNDO 327301 . 327624) (SK.UNGROUP.UNDO 327626 . 327951)) (328194 333116 (
+SK.FREEZE.ELTS 328204 . 328488) (SK.SEL.AND.FREEZE 328490 . 328880) (SK.FREEZE.ELEMENTS 328882 . 
+329433) (SK.UNFREEZE.ELT 329435 . 329724) (SK.SEL.AND.UNFREEZE 329726 . 331262) (SK.UNFREEZE.ELEMENTS 
+331264 . 331823) (SK.FREEZE.UNDO 331825 . 332070) (SK.UNFREEZE.UNDO 332072 . 332319) (SK.DO.FREEZE 
+332321 . 332714) (SK.DO.UNFREEZE 332716 . 333114)) (333346 343156 (SKETCH.ELEMENTS.OF.SKETCH 333356 . 
+334191) (SKETCH.LIST.OF.ELEMENTS 334193 . 334911) (SKETCH.ADD.ELEMENT 334913 . 335988) (
+SKETCH.DELETE.ELEMENT 335990 . 337722) (DELFROMGROUPELT 337724 . 338524) (SKETCH.ELEMENT.TYPE 338526
+ . 338875) (SKETCH.ELEMENT.CHANGED 338877 . 340445) (SK.ELEMENT.CHANGED1 340447 . 341098) (
+SK.UPDATE.GLOBAL.IMAGE.OBJECT.ELEMENT 341100 . 343154)) (343210 347822 (INSURE.SKETCH 343220 . 345835)
+ (LOCALSPECS.FROM.VIEWER 345837 . 346197) (SK.LOCAL.ELT.FROM.GLOBALPART 346199 . 346667) (
+SKETCH.FROM.VIEWER 346669 . 346903) (INSPECT.SKETCH 346905 . 347230) (ELT.INSIDE.SKETCHWP 347232 . 
+347505) (SK.INSIDE.REGION 347507 . 347820)) (347823 352153 (MAPSKETCHSPECS 347833 . 348454) (
+MAPCOLLECTSKETCHSPECS 348456 . 349205) (MAPSKETCHSPECSUNTIL 349207 . 350015) (MAPGLOBALSKETCHSPECS 
+350017 . 350718) (MAPGLOBALSKETCHELEMENTS 350720 . 352151)) (352215 378107 (SK.ADD.SELECTION 352225 . 
+352965) (SK.COPY.INSERTFN 352967 . 356598) (SCREENELEMENTP 356600 . 357073) (SK.ITEM.REGION 357075 . 
+357562) (SK.ELEMENT.GLOBAL.REGION 357564 . 358092) (SK.LOCAL.ITEMS.IN.REGION 358094 . 360073) (
+SK.REGIONFN 360075 . 360397) (SK.GLOBAL.REGIONFN 360399 . 360757) (SK.REMOVE.SELECTION 360759 . 361487
+) (SK.SELECT.MULTIPLE.ITEMS 361489 . 371931) (SKETCH.GET.ELEMENTS 371933 . 373356) (SK.PUT.MARKS.UP 
+373358 . 373697) (SK.TAKE.MARKS.DOWN 373699 . 374038) (SK.TRANSLATE.GLOBALPART 374040 . 376167) (
+SK.TRANSLATE.ITEM 376169 . 377096) (SK.TRANSLATEFN 377098 . 377294) (TRANSLATE.SKETCH 377296 . 378105)
+) (378373 381280 (SK.INPUT.SCALE 378383 . 379230) (SK.UPDATE.SKETCHCONTEXT 379232 . 379829) (
+SK.SET.INPUT.SCALE 379831 . 380480) (SK.SET.INPUT.SCALE.CURRENT 380482 . 380773) (
+SK.SET.INPUT.SCALE.VALUE 380775 . 381278)) (381331 383243 (SK.SET.FEEDBACK.MODE 381341 . 382647) (
+SK.SET.FEEDBACK.POINT 382649 . 382817) (SK.SET.FEEDBACK.VERBOSE 382819 . 382988) (
+SK.SET.FEEDBACK.ALWAYS 382990 . 383241)) (383394 384772 (SKETCH.TITLE 383404 . 383768) (
+SK.SHRINK.ICONCREATE 383770 . 384770)) (390462 393276 (READBRUSHSHAPE 390472 . 390931) (READ.FUNCTION 
+390933 . 391448) (READBRUSHSIZE 391450 . 391908) (READANGLE 391910 . 392402) (READARCDIRECTION 392404
+ . 393274)) (393277 403688 (SK.CHANGE.DASHING 393287 . 397235) (READ.AND.SAVE.NEW.DASHING 397237 . 
+399005) (READ.NEW.DASHING 399007 . 400747) (READ.DASHING.CHANGE 400749 . 402224) (SK.CACHE.DASHING 
+402226 . 403228) (SK.DASHING.LABEL 403230 . 403686)) (403689 407394 (READ.FILLING.CHANGE 403699 . 
+405680) (SK.CACHE.FILLING 405682 . 406400) (READ.AND.SAVE.NEW.FILLING 406402 . 407000) (
+SK.FILLING.LABEL 407002 . 407392)) (407778 444031 (SK.GETGLOBALPOSITION 407788 . 408093) (
+SKETCH.TRACK.ELEMENTS 408095 . 411615) (SK.PICKOUT.WHOLE.MOVE.ELEMENTS 411617 . 412176) (
+MAP.SKETCH.ELEMENTS.INTO.VIEWER 412178 . 412570) (MAP.GLOBAL.POSITION.INTO.VIEWER 412572 . 412952) (
+SKETCH.TO.VIEWER.POSITION 412954 . 413313) (SKETCH.TRACK.IMAGE 413315 . 414169) (SK.TRACK.IMAGE1 
+414171 . 415583) (MAP.VIEWER.XY.INTO.GLOBAL 415585 . 416579) (SK.SET.POSITION 416581 . 416917) (
+MAP.VIEWER.PT.INTO.GLOBAL 416919 . 418025) (VIEWER.TO.SKETCH.POSITION 418027 . 418662) (
+SK.INSURE.SCALE 418664 . 418924) (SKETCH.TO.VIEWER.REGION 418926 . 419732) (VIEWER.TO.SKETCH.REGION 
+419734 . 420072) (SK.READ.POINT.WITH.FEEDBACK 420074 . 431077) (SKETCH.GET.POSITION 431079 . 432959) (
+\CLOBBER.POSITION 432961 . 433409) (NEAREST.HOT.SPOT 433411 . 434939) (GETWREGION 434941 . 435702) (
+GET.BITMAP.POSITION 435704 . 436488) (SK.TRACK.BITMAP1 436490 . 444029)) (444600 475486 (
+SK.BRING.UP.POSITION.PAD 444610 . 450470) (SK.PAD.READER.POSITION 450472 . 452121) (
+SK.POSITION.READER.REPAINTFN 452123 . 453907) (SK.POSITION.PAD.FROM.VIEWER 453909 . 455251) (
+SK.INIT.POSITION.NUMBER.PAD.MENU 455253 . 455603) (SK.READ.POSITION.PAD.HANDLER 455605 . 461337) (
+DISPLAY.POSITION.READER.TOTAL 461339 . 463637) (POSITION.PAD.READER.HANDLER 463639 . 471682) (
+POSITIONPAD.HELDFN 471684 . 473168) (\POSITION.PAD.ADD.DIGIT.MENU 473170 . 474749) (
+\POSITION.READER.NUMBERPAD 474751 . 475484)) (477112 479790 (SK.DRAWFN 477122 . 477488) (
+SK.TRANSFORMFN 477490 . 477871) (SK.EXPANDFN 477873 . 478150) (SK.INPUT 478152 . 478533) (SK.INSIDEFN 
+478535 . 479175) (SK.UPDATEFN 479177 . 479788)) (484955 487111 (UPDATE-SKETCH 484965 . 486078) (
+EDIT-SKETCH 486080 . 487109)) (487712 491657 (SK.CHECK.SKETCH.VERSION 487722 . 488962) (
+SK.INSURE.RECORD.LENGTH 488964 . 490447) (SK.INSURE.HAS.LENGTH 490449 . 491187) (SK.RECORD.LENGTH 
+491189 . 491363) (SK.SET.RECORD.LENGTHS 491365 . 491655)) (492120 493007 (
+SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER 492130 . 493005)))))
 STOP
diff --git a/library/sketch/SKETCH-EDIT b/library/sketch/SKETCH-EDIT
index 8be14eb4..f2c6716e 100644
--- a/library/sketch/SKETCH-EDIT
+++ b/library/sketch/SKETCH-EDIT
@@ -1,12 +1,14 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "12-Nov-2025 14:50:25" {WMEDLEY}<library>SKETCH>SKETCH-EDIT.;5 110185 
+(FILECREATED "30-Nov-2025 08:45:15" {WMEDLEY}<library>sketch>SKETCH-EDIT.;17 110086 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS \SKED.INSERT \SKED.INSERT.CHARS.TO.STR)
+      :CHANGES-TO (FNS \SKED.INSERT.CHARS.TO.STR SK.GETSYNTAX SK.WORD.BREAK.CLASS 
+                       \SKED.DELETE.WORD.FROM.STRING \SKED.INSERT)
+                  (VARS SKETCH-EDITCOMS)
 
-      :PREVIOUS-DATE "10-Nov-2025 16:36:04" {WMEDLEY}<library>SKETCH>SKETCH-EDIT.;4)
+      :PREVIOUS-DATE "29-Nov-2025 17:19:43" {WMEDLEY}<library>sketch>SKETCH-EDIT.;8)
 
 
 (PRETTYCOMPRINT SKETCH-EDITCOMS)
@@ -20,7 +22,7 @@
                    SK.ENTER.EDIT.CHANGE SKED.REMOVE.OTHER.SELECTIONS SKED.EXTEND.SELECTION 
                    SKED.MOVE.SELECTION CREATE.TEXT.SELECTION SKED.SELECTION.FEEDBACK 
                    SKED.SET.EXTENDSELECTION SKED.SET.SELECTION LINE.BEGIN SELECTION.GREATERP 
-                   SK.WORD.BREAK.CLASS SK.GETSYNTAX)
+                   SK.GETSYNTAX)
               (DECLARE%: DONTCOPY (RECORDS TEXTELTSELECTION))
               (UGLYVARS IN.TEXT.FEEDBACK.CURSOR NEW.TEXT.FEEDBACK.CURSOR NEW.TEXT.FEEDBACK.SHADE 
                      SELECTION.HIGHLIGHT.SHADE)
@@ -679,31 +681,18 @@
                       (IGREATERP (fetch (TEXTELTSELECTION SKCHAR#) of SEL2)
                              (fetch (TEXTELTSELECTION SKCHAR#) of SEL1])
 
-(SK.WORD.BREAK.CLASS
-  [LAMBDA (CHCODE)                                           (* rrb "11-Jul-86 17:17")
-                                                             (* version of TEDIT.WORDGET that makes 
-                                                             sure TEDIT is loaded.)
-    (COND
-       ((DEFINEDP (FUNCTION TEDIT.WORDGET))
-        (TEDIT.WORDGET CHCODE))
-       ((EQ CHCODE 32)                                       (* space, return the code tedit uses 
-                                                             for word separators)
-        22)
-       (T                                                    (* this probably isn't right but 
-                                                             should do something reasonable.)
-          (GETSYNTAX CHCODE (GETREADTABLE])
-
 (SK.GETSYNTAX
-  [LAMBDA (CHARCODE)                                         (* ; "Edited 10-Nov-2025 15:33 by rmk")
+  [LAMBDA (CHARCODE)                                         (* ; "Edited 30-Nov-2025 08:39 by rmk")
+                                                             (* ; "Edited 10-Nov-2025 15:33 by rmk")
                                                              (* rrb "11-Jul-86 17:18")
 
     (* ;; "Original code used TEDIT.GETSYNTAX if it was defined, otherwise called the system GETSYNTAX.  That made SKETCH dependent on the system tags (CHARDELETE etc.).  Bbut now we know that loading SKETCH insures that TEDIT is loaded, so Sketch is modified to use the Tedit action names")
-                                                             (* (COND ((DEFINEDP (FUNCTION 
-                                                             TEDIT.GETSYNTAX)) (TEDIT.GETSYNTAX 
-                                                             CHARCODE TEDIT.READTABLE))
-                                                             (T (GETSYNTAX CHARCODE
-                                                             (GETTERMTABLE)))))
-    (TEDIT.GET.CHARACTION CHARCODE])
+
+    (* ;; "4 is (\TEDIT.TTC FN)")
+
+    (CL:WHEN (EQ 4 (\SYNCODE (fetch READSA of TEDIT.READTABLE)
+                          CHARCODE))
+           (TEDIT.GET.CHARACTION CHARCODE])
 )
 (DECLARE%: DONTCOPY 
 (DECLARE%: EVAL@COMPILE
@@ -761,47 +750,52 @@
 (DEFINEQ
 
 (WB.EDITOR
-  [LAMBDA (SKW)                                              (* rrb "17-Jul-85 15:53")
-          
-          (* the process that looks for characters and adds them to the white board as 
-          text elements.)
-          
-          (* save the value of del as an interrupt character so it is restored when this 
-          process exits. This is also done by TTYENTRYFN and TTYEXITFN on the process.)
+  [LAMBDA (SKW)                                              (* ; "Edited 29-Nov-2025 17:14 by rmk")
+                                                             (* rrb "17-Jul-85 15:53")
+                                                             (* ; 
+           "the process that looks for characters and adds them to the white board as text elements.")
 
-    (RESETFORM (INTERRUPTCHAR 127 T)
-           (PROG (CHARS EDITINPROGRESS)
-                 (TTYDISPLAYSTREAM SKW)
-             LP  (COND
-                    ((\SYSBUFP)
-          
-          (* a character has been typed, read all of the characters, delete the current 
-          selection if extended and insert the new characters.)
+    (* ;; "RMK:  DEL/RUBOUT is no longer an interrupt character")
 
-                     (RESET.LINE.BEING.INPUT SKW)
-                     (SKED.INSERT (GETALLCHARS T)
-                            SKW)
-                     (SETQ EDITINPROGRESS T))
-                    ((AND EDITINPROGRESS (NOT (INSIDEP (WINDOWPROP SKW 'REGION)
-                                                     LASTMOUSEX LASTMOUSEY)))
-                     (CLEANUP.EDIT SKW)
-                     (SETQ EDITINPROGRESS NIL)))             (* let the mouse process run.)
-                 (BLOCK)
-                 (GO LP])
+    (* ;; "save the value of del as an interrupt character so it is restored when this process exits.  This is also done by TTYENTRYFN and TTYEXITFN on the process.")
+
+    (PROG (CHARS EDITINPROGRESS)
+          (TTYDISPLAYSTREAM SKW)
+      LP  (COND
+             ((\SYSBUFP)
+
+              (* ;; "a character has been typed, read all of the characters, delete the current selection if extended and insert the new characters.")
+
+              (RESET.LINE.BEING.INPUT SKW)
+              (SKED.INSERT (GETALLCHARS T)
+                     SKW)
+              (SETQ EDITINPROGRESS T))
+             ((AND EDITINPROGRESS (NOT (INSIDEP (WINDOWPROP SKW 'REGION)
+                                              LASTMOUSEX LASTMOUSEY)))
+              (CLEANUP.EDIT SKW)
+              (SETQ EDITINPROGRESS NIL)))                    (* ; "let the mouse process run.")
+          (BLOCK)
+          (GO LP])
 
 (SK.TTYENTRYFN
-  [LAMBDA (SKPROC)                                           (* rrb "20-Jun-85 14:13")
-          
-          (* the sketch process just got the tty. Turns off DEL as an interrupt)
+  [LAMBDA (SKPROC)                                           (* ; "Edited 29-Nov-2025 17:16 by rmk")
+                                                             (* rrb "20-Jun-85 14:13")
+                                                             (* ; 
+                                "the sketch process just got the tty.  Turns off DEL as an interrupt")
 
-    (PROCESSPROP SKPROC 'OLDINTERRUPTVALUE (INTERRUPTCHAR 127 NIL])
+    (* ;; "RMK 2025:  DEL/RUBOUT is no longer an interrupt")
+
+    (AND NIL (PROCESSPROP SKPROC 'OLDINTERRUPTVALUE (INTERRUPTCHAR 127 NIL])
 
 (SK.TTYEXITFN
-  [LAMBDA (SKPROC)                                           (* rrb "20-Jun-85 13:55")
-          
-          (* the sketch process just got the tty. Turns off DEL as an interrupt)
+  [LAMBDA (SKPROC)                                           (* ; "Edited 29-Nov-2025 17:17 by rmk")
+                                                             (* rrb "20-Jun-85 13:55")
+                                                             (* ; 
+                                "the sketch process just got the tty.  Turns off DEL as an interrupt")
 
-    (INTERRUPTCHAR (PROCESSPROP SKPROC 'OLDINTERRUPTVALUE])
+    (* ;; "RMK:  DEL/RUBOUT is no longer an interrupt")
+
+    (AND NIL (INTERRUPTCHAR (PROCESSPROP SKPROC 'OLDINTERRUPTVALUE])
 
 (SKED.INSERT
   [LAMBDA (CHARCODES SKW ATSCALE)                            (* rrb "10-Feb-86 10:15")
@@ -814,7 +808,8 @@
            (\SKED.INSERT CHARCODES SKW ATSCALE])
 
 (\SKED.INSERT
-  [LAMBDA (CHARCODES SKW ATSCALE)                            (* ; "Edited 12-Nov-2025 14:49 by rmk")
+  [LAMBDA (CHARCODES SKW ATSCALE)                            (* ; "Edited 29-Nov-2025 21:41 by rmk")
+                                                             (* ; "Edited 12-Nov-2025 14:49 by rmk")
                                                              (* ; "Edited 10-Nov-2025 15:32 by rmk")
                                                              (* ; "Edited 20-Feb-87 17:28 by rrb")
     (COND
@@ -848,10 +843,8 @@
                 (SKED.CLEAR.SELECTION SKW NIL T)
                 (SKED.REMOVE.OTHER.SELECTIONS SKW)
                 [COND
-                   ((AND (OR (EQ (CAR CHARCODES)
-                                 (CHARCODE EOL))
-                             (EQ (CAR CHARCODES)
-                                 (CHARCODE LINEFEED)))
+                   ((AND (MEMB (CAR CHARCODES)
+                               (CHARCODE (EOL LINEFEED)))
                          (KEYDOWNP 'CTRL))                   (* ; 
                                                 "user hit control CR.  create a new text or textbox.")
                     (SKED.CREATE.NEW.TEXTBOX [COND
@@ -1279,96 +1272,104 @@
                            (NCHARS (CAR (LAST STRLST])
 
 (\SKED.DELETE.WORD.FROM.STRING
-  [LAMBDA (STRING)                                           (* rrb "11-Jul-86 17:17")
-          
-          (* returns a string that has the last word of STRING deleted.)
+  [LAMBDA (STRING)                                           (* ; "Edited 30-Nov-2025 08:06 by rmk")
+                                                             (* rrb "11-Jul-86 17:17")
+
+    (* ;; "returns a string that has the last word of STRING deleted.")
 
     (PROG ((END (NCHARS STRING))
            CLASS)
       SKBLANKS
           (COND
-             ((EQ END 0)                                     (* ran out of characters.)
+             ((EQ END 0)                                     (* ; "ran out of characters.")
               (RETURN))
-             ((EQ (SETQ CLASS (SK.WORD.BREAK.CLASS (NTHCHARCODE STRING END)))
+             ((EQ (SETQ CLASS (TEDIT.WORDGET (NTHCHARCODE STRING END)))
                   22)
               (SETQ END (SUB1 END))
-              (GO SKBLANKS)))
-          
-          (* now skip characters that have the same class as the first one encountered.)
-
+              (GO SKBLANKS)))                                (* ; 
+                         "now skip characters that have the same class as the first one encountered.")
       SKSAME
           (SETQ END (SUB1 END))
           (COND
-             ((EQ END 0)                                     (* ran out of characters.)
+             ((EQ END 0)                                     (* ; "ran out of characters.")
               (RETURN))
-             ((EQ (SK.WORD.BREAK.CLASS (NTHCHARCODE STRING END))
+             ((EQ (TEDIT.WORDGET (NTHCHARCODE STRING END))
                   CLASS)
               (GO SKSAME))
              (T (RETURN (SUBSTRING STRING 1 END])
 
 (\SKED.INSERT.CHARS.TO.STR
-  [LAMBDA (CHARCODES INCLUDECR SKW)                          (* ; "Edited 12-Nov-2025 14:50 by rmk")
+  [LAMBDA (CHARCODES INCLUDECR SKW)                          (* ; "Edited 30-Nov-2025 08:43 by rmk")
+                                                             (* ; "Edited 24-Nov-2025 08:40 by rmk")
+                                                             (* ; "Edited 12-Nov-2025 14:50 by rmk")
                                                              (* ; "Edited 10-Nov-2025 16:35 by rmk")
                                                              (* rrb "11-Jul-86 17:18")
     (DECLARE (SPECVARS NEWSTRS STRPIECE))
 
     (* ;; "takes a list of characters and makes it into strings on the free variable NEWSTRS.  The variable STRPIECE is set to the last line of characters.  NEWSTRS is a list of the strings that precede this one which is used in the case of backspace onto the previous line.")
 
-    (PROG (LINELST THISLINE REMAININGCHARS CLASS)
-          [for CHAR in CHARCODES
+    (PROG (LINELST THISLINE REMAININGCHARS)
+          (for CHAR in CHARCODES
              do (SELECTQ (SK.GETSYNTAX CHAR)
+                    (NIL                                     (* ; "Ordinary characters:  just insert")
+                         (COND
+                            [(MEMB CHAR (CHARCODE (EOL LINEFEED)))
+                                                             (* ; "eol")
+                             (COND
+                                ((KEYDOWNP 'CTRL)            (* ; 
+                        "user entered control return, save remaining characters and return indicator")
+                                 (SETQ REMAININGCHARS (MEMB CHAR CHARCODES))
+                                 (RETURN))
+                                (T (push LINELST (COND
+                                                    (INCLUDECR 
+                                                             (* ; 
+                                                           "text boxes need to have the CRs left in.")
+                                                           (CONS (CHARCODE EOL)
+                                                                 THISLINE))
+                                                    (T THISLINE)))
+                                   (SETQ THISLINE NIL]
+                            (T 
+                               (* ;; "add this character onto the front of this line;  reversal will happen before conversion to string and return.")
+
+                               (push THISLINE CHAR))))
                     (:CHARDELETE.BACKWARD                    (* ; "delete the previous character.")
                          [COND
                             (THISLINE                        (* ; "easy case of deleting type in.")
                                    (SETQ THISLINE (CDR THISLINE)))
                             (LINELST                         (* ; "deleting a typed in CR.")
-                                   (SETQ THISLINE (CAR LINELST))
-                                   (SETQ LINELST (CDR LINELST)))
-                            [STRPIECE                        (* ; 
+                                   (SETQ THISLINE (pop LINELST)))
+                            (STRPIECE                        (* ; 
                                              "remove the previous character from the current string.")
-                                   (COND
-                                      ((EQ (NCHARS STRPIECE)
-                                           1)
-                                       (SETQ STRPIECE NIL))
-                                      (T (SETQ STRPIECE (SUBSTRING STRPIECE 1 -2]
+                                   (SETQ STRPIECE (SUBSTRING STRPIECE 1 -2)))
                             [NEWSTRS (SETQ STRPIECE (CAR (LAST NEWSTRS)))
                                    (SETQ NEWSTRS (BUTLAST NEWSTRS))
-                                   (COND
-                                      ((EQ (NTHCHARCODE STRPIECE -1)
-                                           (CHARCODE EOL))   (* ; "remove previous eol")
-                                       (COND
-                                          ((EQ (NCHARS STRPIECE)
-                                               1)
-                                           (SETQ STRPIECE NIL))
-                                          (T (SETQ STRPIECE (SUBSTRING STRPIECE 1 -2]
+                                   (CL:WHEN (EQ (NTHCHARCODE STRPIECE -1)
+                                                (CHARCODE EOL))
+                                                             (* ; "remove previous eol")
+                                       (SETQ STRPIECE (SUBSTRING STRPIECE 1 -2)))]
                             (T                               (* ; "no characters to delete")
                                (FLASHW (TTYDISPLAYSTREAM])
-                    ((:CHARDELETE.FORWARD :WORDDELETE.BACKWARD) 
-                                                             (* ; 
-    "delete the previous word. Tedit binds DEL to CHARDELETE.FORWARD, sketch used to delete the word")
+                    (:WORDDELETE.BACKWARD                    (* ; "delete the previous word. Tedit binds DEL to CHARDELETE.FORWARD, sketch used DEL to delete the word")
                          
                          (* ;; "use the TEdit word bounding readtable.  Code are: character = 21 --- space = 22 --- punctuation = 20")
 
                          [COND
-                            [[OR THISLINE (PROG1 (SETQ THISLINE (CAR LINELST))
-                                              (SETQ LINELST (CDR LINELST)))]
+                            [(OR THISLINE (SETQ THISLINE (pop LINELST)))
                                                              (* ; "easy case of deleting type in.")
                                                              (* ; 
     "if this line was empty, skip the cr that created it as part of the white space before the word.")
                                                              (* ; "skip any whitespace")
-                             (COND
-                                ([NULL (SETQ THISLINE (for TAIL on THISLINE
-                                                         while (EQ (SK.WORD.BREAK.CLASS (CAR TAIL))
-                                                                   22) finally (RETURN TAIL]
+                             (CL:WHEN (SETQ THISLINE (find TAIL on THISLINE
+                                                        suchthat (NEQ (TEDIT.WORDGET (CAR TAIL))
+                                                                      22)))
                                                              (* ; 
-                                  "the whitespace backed up to the beginning of a line.  quit there.")
-                                 NIL)
-                                (T (SETQ CLASS (SK.WORD.BREAK.CLASS (CAR THISLINE)))
+                       "the whitespace didn't backed up to the beginning of a line, something to do.")
                                                              (* ; 
                      "skip all things of the same class as the first character before the whitespace")
-                                   (SETQ THISLINE (for TAIL on THISLINE
-                                                     until (NEQ (SK.WORD.BREAK.CLASS (CAR TAIL))
-                                                                CLASS) finally (RETURN TAIL]
+                                 (SETQ THISLINE (find TAIL (CLASS _ (TEDIT.WORDGET (CAR THISLINE)))
+                                                   on THISLINE
+                                                   suchthat (NEQ (TEDIT.WORDGET (CAR TAIL))
+                                                                 CLASS))))]
                             (STRPIECE                        (* ; 
                                              "remove the previous character from the current string.")
                                    (SETQ STRPIECE (\SKED.DELETE.WORD.FROM.STRING STRPIECE)))
@@ -1377,36 +1378,23 @@
                                    (SETQ NEWSTRS (BUTLAST NEWSTRS)))
                             (T                               (* ; "no characters to delete")
                                (FLASHW (TTYDISPLAYSTREAM])
+                    ((:WORDDELETE.FORWARD :CHARDELETE.FORWARD) 
+                                                             (* ; "Not implemented, no-ops")
+                         NIL)
+                    ((:ONECHAR.BACKWARD :ONECHAR.FORWARD :LINE.UP :LINE.DOWN) 
+                                                             (* ; "Arrow keys: not implemented")
+                         NIL)
                     (:DELETE                                 (* ; 
                                           "delete selection.  Here that means don't insert anything."))
                     (:UNDO 
-                           (* ;; "by side effect this flushes any characters typed after the undo but it's not clear where they should go anyway.")
+                           (* ;; "Undo in the middle of the charcodes. By side effect this flushes any characters typed after the undo but it's not clear where they should go anyway.")
 
                            (RETURN 'UNDO))
                     ((:REDO :CMD)                            (* ; "There are many more Tedit actions that we don't deal with here, these were called out when Sketch was using \TEDIT.GETSYNTAX or GETSYNTAX.  Not clear we need this message, just fall through and treat REDO/CMD like other actions, as ordinary characters")
                          (STATUSPRINT SKW "
 " "Not implemented in this editor. Sorry."))
-                    (COND
-                       [(OR (EQ CHAR (CHARCODE EOL))
-                            (EQ CHAR (CHARCODE LINEFEED)))   (* ; "eol")
-                        (COND
-                           ((KEYDOWNP 'CTRL)                 (* ; 
-                        "user entered control return, save remaining characters and return indicator")
-                            (SETQ REMAININGCHARS (MEMB CHAR CHARCODES))
-                            (RETURN))
-                           (T (SETQ LINELST (CONS (COND
-                                                     (INCLUDECR 
-                                                             (* ; 
-                                                           "text boxes need to have the CRs left in.")
-                                                            (CONS (CHARCODE EOL)
-                                                                  THISLINE))
-                                                     (T THISLINE))
-                                                  LINELST))
-                              (SETQ THISLINE NIL]
-                       (T 
-                          (* ;; "add this character onto the front of this line;  reversal will happen before conversion to string and return.")
-
-                          (SETQ THISLINE (CONS CHAR THISLINE]
+                    (PROGN                                   (* ; "All other actions")
+                           NIL)))
           (COND
              [LINELST                                        (* ; "had a cr in the character set.")
                     [SETQ NEWSTRS (NCONC NEWSTRS [CONS (JOINCHARS STRPIECE (REVERSE
@@ -1882,26 +1870,26 @@
            YCOORD _ (LASTMOUSEY WIN])
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (2444 40071 (BUTLAST 2454 . 2802) (CHAR.BEGIN 2804 . 4729) (CLOSEST.CHAR 4731 . 8954) (
-CLOSEST.LINE 8956 . 9518) (FLASHW 9520 . 9677) (HILITE.LINE 9679 . 10498) (HILITE.TEXT 10500 . 12148) 
-(IN.TEXT.EXTEND 12150 . 15423) (INIMAGEOBJ 15425 . 15930) (INTEXT 15932 . 16429) (NEW.TEXT.EXTEND 
-16431 . 18650) (NEW.TEXT.SELECTIONP 18652 . 18832) (NTHCHARWIDTH 18834 . 19091) (NTHLOCALREGION 19093
- . 19331) (ONCHAR 19333 . 19728) (SHOW.EXTENDED.SELECTION.FEEDBACK 19730 . 20665) (SHOW.FEEDBACK 20667
- . 21157) (SHOW.FEEDBACK.BOX 21159 . 22213) (SELECTION.POSITION 22215 . 23007) (SKED.CLEAR.SELECTION 
-23009 . 23532) (SKETCH.CLEANUP 23534 . 25448) (SK.ENTER.EDIT.CHANGE 25450 . 26995) (
-SKED.REMOVE.OTHER.SELECTIONS 26997 . 27424) (SKED.EXTEND.SELECTION 27426 . 28891) (SKED.MOVE.SELECTION
- 28893 . 33963) (CREATE.TEXT.SELECTION 33965 . 34481) (SKED.SELECTION.FEEDBACK 34483 . 36139) (
-SKED.SET.EXTENDSELECTION 36141 . 36458) (SKED.SET.SELECTION 36460 . 36860) (LINE.BEGIN 36862 . 37416) 
-(SELECTION.GREATERP 37418 . 38213) (SK.WORD.BREAK.CLASS 38215 . 39055) (SK.GETSYNTAX 39057 . 40069)) (
-40913 87696 (WB.EDITOR 40923 . 42248) (SK.TTYENTRYFN 42250 . 42528) (SK.TTYEXITFN 42530 . 42799) (
-SKED.INSERT 42801 . 43229) (\SKED.INSERT 43231 . 65221) (FIRST.N.ELEMENTS 65223 . 65490) (
-SKED.CREATE.NEW.TEXTBOX 65492 . 72021) (SKED.CHARACTERPOSITION 72023 . 72810) (SKED.LINE.AND.CHAR# 
-72812 . 74443) (\SKED.DELETE.WORD.FROM.STRING 74445 . 75484) (\SKED.INSERT.CHARS.TO.STR 75486 . 84078)
- (JOINCHARS 84080 . 84467) (STRINGFROMCHARACTERS 84469 . 84794) (GETALLCHARS 84796 . 85137) (
-CLEANUP.EDIT 85139 . 85591) (SKED.NEW.TEXTELT 85593 . 87694)) (87731 108739 (
-MAP.SCREEN.POSITION.ONTO.GRID 87741 . 89190) (NEAREST.ON.GRID 89192 . 89736) (SK.MIDDLE.TITLEFN 89738
- . 91681) (WB.BUTTON.HANDLER 91683 . 99505) (WB.ADD.NEW.POINT 99507 . 102836) (WB.DRAWLINE 102838 . 
-107072) (WB.RUBBERBAND.POSITION 107074 . 107991) (SK.RUBBERBAND.FEEDBACKFN 107993 . 108497) (
-RESET.LINE.BEING.INPUT 108499 . 108737)) (108921 110162 (NEAREST.EXISTING.POSITION 108931 . 109133) (
-WB.NEARPT 109135 . 110020) (LASTMOUSEPOSITION 110022 . 110160)))))
+  (FILEMAP (NIL (2553 39141 (BUTLAST 2563 . 2911) (CHAR.BEGIN 2913 . 4838) (CLOSEST.CHAR 4840 . 9063) (
+CLOSEST.LINE 9065 . 9627) (FLASHW 9629 . 9786) (HILITE.LINE 9788 . 10607) (HILITE.TEXT 10609 . 12257) 
+(IN.TEXT.EXTEND 12259 . 15532) (INIMAGEOBJ 15534 . 16039) (INTEXT 16041 . 16538) (NEW.TEXT.EXTEND 
+16540 . 18759) (NEW.TEXT.SELECTIONP 18761 . 18941) (NTHCHARWIDTH 18943 . 19200) (NTHLOCALREGION 19202
+ . 19440) (ONCHAR 19442 . 19837) (SHOW.EXTENDED.SELECTION.FEEDBACK 19839 . 20774) (SHOW.FEEDBACK 20776
+ . 21266) (SHOW.FEEDBACK.BOX 21268 . 22322) (SELECTION.POSITION 22324 . 23116) (SKED.CLEAR.SELECTION 
+23118 . 23641) (SKETCH.CLEANUP 23643 . 25557) (SK.ENTER.EDIT.CHANGE 25559 . 27104) (
+SKED.REMOVE.OTHER.SELECTIONS 27106 . 27533) (SKED.EXTEND.SELECTION 27535 . 29000) (SKED.MOVE.SELECTION
+ 29002 . 34072) (CREATE.TEXT.SELECTION 34074 . 34590) (SKED.SELECTION.FEEDBACK 34592 . 36248) (
+SKED.SET.EXTENDSELECTION 36250 . 36567) (SKED.SET.SELECTION 36569 . 36969) (LINE.BEGIN 36971 . 37525) 
+(SELECTION.GREATERP 37527 . 38322) (SK.GETSYNTAX 38324 . 39139)) (39983 87597 (WB.EDITOR 39993 . 41374
+) (SK.TTYENTRYFN 41376 . 41916) (SK.TTYEXITFN 41918 . 42444) (SKED.INSERT 42446 . 42874) (\SKED.INSERT
+ 42876 . 64878) (FIRST.N.ELEMENTS 64880 . 65147) (SKED.CREATE.NEW.TEXTBOX 65149 . 71678) (
+SKED.CHARACTERPOSITION 71680 . 72467) (SKED.LINE.AND.CHAR# 72469 . 74100) (
+\SKED.DELETE.WORD.FROM.STRING 74102 . 75266) (\SKED.INSERT.CHARS.TO.STR 75268 . 83979) (JOINCHARS 
+83981 . 84368) (STRINGFROMCHARACTERS 84370 . 84695) (GETALLCHARS 84697 . 85038) (CLEANUP.EDIT 85040 . 
+85492) (SKED.NEW.TEXTELT 85494 . 87595)) (87632 108640 (MAP.SCREEN.POSITION.ONTO.GRID 87642 . 89091) (
+NEAREST.ON.GRID 89093 . 89637) (SK.MIDDLE.TITLEFN 89639 . 91582) (WB.BUTTON.HANDLER 91584 . 99406) (
+WB.ADD.NEW.POINT 99408 . 102737) (WB.DRAWLINE 102739 . 106973) (WB.RUBBERBAND.POSITION 106975 . 107892
+) (SK.RUBBERBAND.FEEDBACKFN 107894 . 108398) (RESET.LINE.BEING.INPUT 108400 . 108638)) (108822 110063 
+(NEAREST.EXISTING.POSITION 108832 . 109034) (WB.NEARPT 109036 . 109921) (LASTMOUSEPOSITION 109923 . 
+110061)))))
 STOP
diff --git a/library/sketch/SKETCH-EDIT.LCOM b/library/sketch/SKETCH-EDIT.LCOM
index 5246563c..9fd7edc7 100644
Binary files a/library/sketch/SKETCH-EDIT.LCOM and b/library/sketch/SKETCH-EDIT.LCOM differ
diff --git a/library/sketch/SKETCH-ELEMENTS b/library/sketch/SKETCH-ELEMENTS
index 77154fcf..5e56caa3 100644
--- a/library/sketch/SKETCH-ELEMENTS
+++ b/library/sketch/SKETCH-ELEMENTS
@@ -1,15 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED " 8-Nov-2025 14:02:38" {WMEDLEY}<library>SKETCH>SKETCH-ELEMENTS.;24 545649 
+(FILECREATED "30-Nov-2025 10:57:24" {WMEDLEY}<library>SKETCH>SKETCH-ELEMENTS.;25 545903 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (FNS SK.CHANGE.TEXT SK.CHANGE.FONT SK.NEWFONT \SK.READ.FONT.SIZE1 SK.NEXTSIZEFONT 
-                       SK.DECREASING.FONT.LIST SK.PICK.FONT SK.CHOOSE.TEXT.FONT SK.READFONTSIZE 
-                       SK.COLLECT.FONT.SIZES SK.READFONTFAMILY SK.SET.FONT SK.GUESS.FONTSAVAILABLE)
-                  (VARS SKETCH-ELEMENTSCOMS)
+      :CHANGES-TO (FNS SK.CHANGE.TEXT SK.CHANGE.FONT)
 
-      :PREVIOUS-DATE " 5-Dec-2023 00:16:52" {WMEDLEY}<library>sketch>SKETCH-ELEMENTS.;1)
+      :PREVIOUS-DATE " 8-Nov-2025 14:02:38" {WMEDLEY}<library>SKETCH>SKETCH-ELEMENTS.;24)
 
 
 (PRETTYCOMPRINT SKETCH-ELEMENTSCOMS)
@@ -5198,34 +5195,36 @@ Click outside the window to stop.")
               (RETURN NEWSCREENELT])
 
 (SK.CHANGE.TEXT
-  [LAMBDA (ELTWITHTEXT HOW SKW)                              (* ; "Edited  8-Nov-2025 14:02 by rmk")
+  [LAMBDA (ELTWITHTEXT HOW SKW)                              (* ; "Edited 30-Nov-2025 10:55 by rmk")
+                                                             (* ; "Edited  8-Nov-2025 14:02 by rmk")
                                                              (* ; "Edited  7-Nov-2025 09:05 by rmk")
                                                              (* ; "Edited  7-Apr-87 13:41 by rrb")
     (PROG ((COMMAND (CADR HOW))
            (PROPERTY 'FONT)
-           NEWVALUE GINDTEXTELT NEWGTEXT OLDVALUE GTYPE)
+           NEWVALUE GINDTEXTELT NEWGTEXT OLDFONT GTYPE)
           (CL:UNLESS HOW (RETURN))                           (* ; 
                                                              "take down the caret before any change.")
           (SKED.CLEAR.SELECTION SKW)
           (CL:WHEN (MEMB (SETQ GTYPE (fetch (GLOBALPART GTYPE) of ELTWITHTEXT))
                          '(TEXTBOX TEXT))
               (SETQ GINDTEXTELT (fetch (GLOBALPART INDIVIDUALGLOBALPART) of ELTWITHTEXT))
+              (SETQ OLDFONT (fetch (TEXT FONT) of GINDTEXTELT))
               (SETQ NEWGTEXT
                (SELECTQ (CAR HOW)
                    (TEXT (SELECTQ COMMAND
                              ((SMALLER LARGER)               (* ; "change the font")
                                   [COND
-                                     ((SETQ NEWVALUE (SK.NEXTSIZEFONT COMMAND OLDVALUE))
+                                     ((SETQ NEWVALUE (SK.NEXTSIZEFONT COMMAND OLDFONT))
                                                              (* ; 
                                                       "if there is an appropriate size font, use it.")
-                                      (OR (SK.CHANGE.FONT SKW ELTWITHTEXT NEWVALUE)
+                                      (OR (SK.CHANGE.FONT SKW ELTWITHTEXT NEWVALUE NIL)
                                           (RETURN)))
                                      (T                      (* ; 
                                                              "otherwise just scale the area some.")
-                                        (SETQ NEWVALUE (FTIMES (SETQ OLDVALUE (fetch (TEXT 
+                                        (SETQ NEWVALUE (FTIMES (SETQ OLDFONT (fetch (TEXT 
                                                                                          INITIALSCALE
-                                                                                           )
-                                                                                 of GINDTEXTELT))
+                                                                                          )
+                                                                                of GINDTEXTELT))
                                                               (SELECTQ COMMAND
                                                                   (LARGER 1.4)
                                                                   0.7142858)))
@@ -5237,16 +5236,16 @@ Click outside the window to stop.")
                                                                     NEWVALUE])
                              ((CENTER LEFT RIGHT)            (* ; 
                                                              "change the horizontal justification")
-                                  (SETQ OLDVALUE (fetch (TEXT TEXTSTYLE) of GINDTEXTELT))
-                                  (SETQ NEWVALUE (LIST COMMAND (CADR OLDVALUE)))
+                                  (SETQ OLDFONT (fetch (TEXT TEXTSTYLE) of GINDTEXTELT))
+                                  (SETQ NEWVALUE (LIST COMMAND (CADR OLDFONT)))
                                   (SETQ PROPERTY 'JUSTIFICATION)
                                   (COND
                                      ((EQ GTYPE 'TEXT)
                                       (create TEXT using GINDTEXTELT TEXTSTYLE _ NEWVALUE))
                                      (T (create TEXTBOX using GINDTEXTELT TEXTSTYLE _ NEWVALUE))))
                              ((TOP BOTTOM MIDDLE BASELINE)   (* ; "change the vertical justification")
-                                  (SETQ OLDVALUE (fetch (TEXT TEXTSTYLE) of GINDTEXTELT))
-                                  [SETQ NEWVALUE (LIST (CAR OLDVALUE)
+                                  (SETQ OLDFONT (fetch (TEXT TEXTSTYLE) of GINDTEXTELT))
+                                  [SETQ NEWVALUE (LIST (CAR OLDFONT)
                                                        (COND
                                                           ((EQ COMMAND 'MIDDLE)
                                                            'CENTER)
@@ -5287,29 +5286,26 @@ Click outside the window to stop.")
                    (SETSIZE 
                             (* ;; "if the families are the same, change them, otherwise don't as it isn't known whether or not this family has the right size.")
 
-                            (OR [AND (EQ (FONTPROP COMMAND 'FAMILY)
-                                         (FONTPROP OLDVALUE 'FAMILY))
-                                     (SK.CHANGE.FONT SKW ELTWITHTEXT NIL (FONTPROP COMMAND
-                                                                                'SIZE]
-                                (RETURN)))
+                            [AND (EQ (FONTPROP COMMAND 'FAMILY)
+                                     (FONTPROP OLDFONT 'FAMILY))
+                                 (SK.CHANGE.FONT SKW ELTWITHTEXT NIL (FONTPROP COMMAND 'SIZE])
                    (NEWFONT                                  (* ; "set the font family")
-                            (CL:UNLESS (SK.CHANGE.FONT SKW ELTWITHTEXT COMMAND)
-                                   (RETURN)))
+                            (SK.CHANGE.FONT SKW ELTWITHTEXT COMMAND))
                    (FAMILY&SIZE                              (* ; "set the font family and size")
-                                (CL:UNLESS (SK.CHANGE.FONT SKW ELTWITHTEXT (CAR COMMAND)
-                                                  (CADR COMMAND))
-                                       (RETURN)))
+                                (SK.CHANGE.FONT SKW ELTWITHTEXT (CAR COMMAND)
+                                       (CADR COMMAND)))
                    (SAME                                     (* ; 
                                    "set all of the font characteristics from the first selected one.")
                                                              (* ; 
                       "set the variables to cause the right things to go into the change spec event.")
-                         (SETQ OLDVALUE ELTWITHTEXT)
+                         (SETQ OLDFONT ELTWITHTEXT)
                          (SETQ PROPERTY 'LOOKSAME)
                          (SETQ NEWVALUE (SK.TEXT.ELT.WITH.SAME.FIELDS (fetch (GLOBALPART 
                                                                                  INDIVIDUALGLOBALPART
                                                                                     ) of COMMAND)
                                                GINDTEXTELT)))
                    (SHOULDNT)))
+              (CL:UNLESS NEWGTEXT (RETURN))
               [SETQ NEWGTEXT (COND
                                 [(EQ GTYPE 'TEXT)            (* ; 
                     "adjust the scales at which this appears because font or scale may have changed.")
@@ -5333,15 +5329,21 @@ Click outside the window to stop.")
                              OLDELT _ ELTWITHTEXT
                              PROPERTY _ PROPERTY
                              NEWVALUE _ NEWVALUE
-                             OLDVALUE _ OLDVALUE)))])
+                             OLDVALUE _ OLDFONT)))])
 
 (SK.CHANGE.FONT
-  [LAMBDA (SKW ELTWITHTEXT FAMILY SIZE FACE)                 (* ; "Edited  7-Nov-2025 09:09 by rmk")
+  [LAMBDA (SKW ELTWITHTEXT FAMILY SIZE FACE)                 (* ; "Edited 30-Nov-2025 10:50 by rmk")
+                                                             (* ; "Edited  7-Nov-2025 09:09 by rmk")
     (LET (NEWFS)
          [if (FONTP FAMILY)
              then (SETQ NEWFS (FONTPROP FAMILY 'SPEC))
-           else (SETQ NEWFS (MAKEFONTSPEC FAMILY SIZE FACE NIL NIL (fetch (TEXT FONT) of GINDTEXTELT)
-                                   ))
+           else [SETQ NEWFS (OR (LISTP FAMILY)
+                                (MAKEFONTSPEC FAMILY SIZE FACE NIL NIL (fetch (TEXT FONT)
+                                                                          of (fetch (GLOBALPART
+                                                                                     
+                                                                                 INDIVIDUALGLOBALPART
+                                                                                     ) of ELTWITHTEXT
+                                                                                    ]
                 (CL:UNLESS (FONTCREATE NEWFS NIL NIL NIL NIL T)
                     (STATUSPRINT SKW "  Couldn't find " (fetch (FONTSPEC FSFAMILY) of NEWFS)
                            " in size "
@@ -9074,136 +9076,136 @@ No more font sizes found.")
            (fetch (REGION TOP) of REGION])
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (14485 24895 (INIT.SKETCH.ELEMENTS 14495 . 22058) (CREATE.SKETCH.ELEMENT.TYPE 22060 . 
-23582) (SKETCH.ELEMENT.TYPEP 23584 . 23972) (SKETCH.ELEMENT.NAMEP 23974 . 24237) (
-\CURSOR.IN.MIDDLE.MENU 24239 . 24893)) (24936 25613 (SKETCHINCOLORP 24946 . 25266) (READ.COLOR.CHANGE 
-25268 . 25611)) (26122 28901 (SK.CREATE.DEFAULT.FILLING 26132 . 26433) (SKFILLINGP 26435 . 27068) (
-SK.INSURE.FILLING 27070 . 28498) (SK.INSURE.COLOR 28500 . 28899)) (28902 34512 (SK.TRANSLATE.MODE 
-28912 . 29694) (SK.CHANGE.FILLING.MODE 29696 . 33279) (READ.FILLING.MODE 33281 . 34510)) (34513 65187 
-(SKETCH.CREATE.CIRCLE 34523 . 35335) (CIRCLE.EXPANDFN 35337 . 38709) (CIRCLE.DRAWFN 38711 . 41712) (
-\CIRCLE.DRAWFN1 41714 . 44309) (CIRCLE.INPUTFN 44311 . 46160) (SK.UPDATE.CIRCLE.AFTER.CHANGE 46162 . 
-46521) (SK.READ.CIRCLE.POINT 46523 . 46994) (SK.SHOW.CIRCLE 46996 . 47642) (CIRCLE.INSIDEFN 47644 . 
-47909) (CIRCLE.REGIONFN 47911 . 49592) (CIRCLE.GLOBALREGIONFN 49594 . 51112) (CIRCLE.TRANSLATE 51114
- . 52975) (CIRCLE.READCHANGEFN 52977 . 57593) (CIRCLE.TRANSFORMFN 57595 . 59448) (CIRCLE.TRANSLATEPTS 
-59450 . 61064) (SK.CIRCLE.CREATE 61066 . 61909) (SET.CIRCLE.SCALE 61911 . 62677) (SK.BRUSH.READCHANGE 
-62679 . 65185)) (65188 65917 (SK.INSURE.BRUSH 65198 . 65592) (SK.INSURE.DASHING 65594 . 65915)) (67131
- 96625 (SKETCH.CREATE.ELLIPSE 67141 . 67740) (ELLIPSE.EXPANDFN 67742 . 71354) (ELLIPSE.DRAWFN 71356 . 
-75533) (ELLIPSE.INPUTFN 75535 . 77975) (SK.READ.ELLIPSE.MAJOR.PT 77977 . 78556) (
-SK.SHOW.ELLIPSE.MAJOR.RADIUS 78558 . 79313) (SK.READ.ELLIPSE.MINOR.PT 79315 . 80008) (
-SK.SHOW.ELLIPSE.MINOR.RADIUS 80010 . 80842) (ELLIPSE.INSIDEFN 80844 . 81114) (ELLIPSE.CREATE 81116 . 
-82491) (SK.UPDATE.ELLIPSE.AFTER.CHANGE 82493 . 82861) (ELLIPSE.REGIONFN 82863 . 85063) (
-ELLIPSE.GLOBALREGIONFN 85065 . 86878) (ELLIPSE.TRANSLATEFN 86880 . 89426) (ELLIPSE.TRANSFORMFN 89428
- . 90705) (ELLIPSE.TRANSLATEPTS 90707 . 92748) (MARK.SPOT 92750 . 94001) (DISTANCEBETWEEN 94003 . 
-94598) (SK.DISTANCE.TO 94600 . 94985) (SQUARE 94987 . 95029) (COMPUTE.ELLIPSE.ORIENTATION 95031 . 
-95750) (SK.COMPUTE.ELLIPSE.MINOR.RADIUS.PT 95752 . 96623)) (97738 138794 (SKETCH.CREATE.OPEN.CURVE 
-97748 . 98301) (OPENCURVE.INPUTFN 98303 . 99171) (SK.CURVE.CREATE 99173 . 100918) (MAXXEXTENT 100920
- . 101779) (MAXYEXTENT 101781 . 102641) (KNOT.SET.SCALE.FIELD 102643 . 103445) (OPENCURVE.DRAWFN 
-103447 . 104578) (OPENCURVE.EXPANDFN 104580 . 107895) (OPENCURVE.READCHANGEFN 107897 . 111099) (
-OPENCURVE.TRANSFORMFN 111101 . 113599) (OPENCURVE.TRANSLATEFN 113601 . 114023) (
-OPENCURVE.TRANSLATEPTSFN 114025 . 115406) (SKETCH.CREATE.CLOSED.CURVE 115408 . 115914) (
-CLOSEDCURVE.DRAWFN 115916 . 116700) (CLOSEDCURVE.EXPANDFN 116702 . 119815) (CLOSEDCURVE.REGIONFN 
-119817 . 120614) (CLOSEDCURVE.GLOBALREGIONFN 120616 . 122049) (READ.LIST.OF.POINTS 122051 . 124030) (
-CLOSEDCURVE.INPUTFN 124032 . 124677) (CLOSEDCURVE.READCHANGEFN 124679 . 127574) (
-CLOSEDCURVE.TRANSFORMFN 127576 . 129376) (CLOSEDCURVE.TRANSLATEPTSFN 129378 . 130723) (INVISIBLEPARTP 
-130725 . 131078) (SHOWSKETCHPOINT 131080 . 131385) (SHOWSKETCHXY 131387 . 131905) (KNOTS.REGIONFN 
-131907 . 132808) (OPENWIRE.GLOBALREGIONFN 132810 . 133674) (CURVE.REGIONFN 133676 . 134617) (
-OPENCURVE.GLOBALREGIONFN 134619 . 136026) (KNOTS.TRANSLATEFN 136028 . 137071) (REGION.CONTAINING.PTS 
-137073 . 138792)) (138795 161071 (CHANGE.ELTS.BRUSH.SIZE 138805 . 139415) (CHANGE.ELTS.BRUSH 139417 . 
-139934) (CHANGE.ELTS.BRUSH.SHAPE 139936 . 140337) (SK.CHANGE.BRUSH.SHAPE 140339 . 143851) (
-SK.CHANGE.BRUSH.COLOR 143853 . 148299) (SK.CHANGE.BRUSH.SIZE 148301 . 153259) (SK.CHANGE.ANGLE 153261
- . 156241) (SK.CHANGE.ARC.DIRECTION 156243 . 158622) (SK.SET.DEFAULT.BRUSH.SIZE 158624 . 159323) (
-READSIZECHANGE 159325 . 161069)) (161072 162691 (SK.CHANGE.ELEMENT.KNOTS 161082 . 162689)) (162692 
-163339 (SK.INSURE.POINT.LIST 162702 . 163155) (SK.INSURE.POSITION 163157 . 163337)) (164707 197030 (
-SKETCH.CREATE.WIRE 164717 . 165207) (CLOSEDWIRE.EXPANDFN 165209 . 167897) (KNOTS.INSIDEFN 167899 . 
-168620) (OPEN.WIRE.DRAWFN 168622 . 169214) (WIRE.EXPANDFN 169216 . 172463) (
-SK.UPDATE.WIRE.ELT.AFTER.CHANGE 172465 . 172986) (OPENWIRE.READCHANGEFN 172988 . 175481) (
-OPENWIRE.TRANSFORMFN 175483 . 177606) (OPENWIRE.TRANSLATEFN 177608 . 178032) (OPENWIRE.TRANSLATEPTSFN 
-178034 . 179313) (WIRE.INPUTFN 179315 . 180946) (SK.READ.WIRE.POINTS 180948 . 181479) (
-SK.READ.POINTS.WITH.FEEDBACK 181481 . 184248) (OPENWIRE.FEEDBACKFN 184250 . 185004) (
-CLOSEDWIRE.FEEDBACKFN 185006 . 186362) (CLOSEDWIRE.REGIONFN 186364 . 187349) (
-CLOSEDWIRE.GLOBALREGIONFN 187351 . 188403) (SK.WIRE.CREATE 188405 . 190168) (WIRE.ADD.POINT.TO.END 
-190170 . 191086) (READ.ARROW.CHANGE 191088 . 196564) (CHANGE.ELTS.ARROWHEADS 196566 . 197028)) (197031
- 208037 (SKETCH.CREATE.CLOSED.WIRE 197041 . 197602) (CLOSED.WIRE.INPUTFN 197604 . 197959) (
-CLOSED.WIRE.DRAWFN 197961 . 200006) (CLOSEDWIRE.READCHANGEFN 200008 . 204913) (CLOSEDWIRE.TRANSFORMFN 
-204915 . 206709) (CLOSEDWIRE.TRANSLATEPTSFN 206711 . 208035)) (208038 260744 (SK.EXPAND.ARROWHEADS 
-208048 . 208398) (SK.COMPUTE.ARC.ARROWHEAD.POINTS 208400 . 209781) (ARC.ARROWHEAD.POINTS 209783 . 
-211006) (SET.ARC.ARROWHEAD.POINTS 211008 . 211989) (SET.OPENCURVE.ARROWHEAD.POINTS 211991 . 212892) (
-SK.COMPUTE.CURVE.ARROWHEAD.POINTS 212894 . 214164) (SET.WIRE.ARROWHEAD.POINTS 214166 . 214919) (
-SK.COMPUTE.WIRE.ARROWHEAD.POINTS 214921 . 216186) (SK.EXPAND.ARROWHEAD 216188 . 217371) (CHANGED.ARROW
- 217373 . 220545) (SK.CHANGE.ARROWHEAD 220547 . 221000) (SK.CHANGE.ARROWHEAD1 221002 . 226257) (
-SK.CREATE.ARROWHEAD 226259 . 226779) (SK.ARROWHEAD.CREATE 226781 . 228355) (SK.ARROWHEAD.END.TEST 
-228357 . 229281) (READ.ARROWHEAD.END 229283 . 231308) (ARROW.HEAD.POSITIONS 231310 . 233150) (
-ARROWHEAD.POINTS.LIST 233152 . 237124) (CURVE.ARROWHEAD.POINTS 237126 . 237989) (LEFT.MOST.IS.BEGINP 
-237991 . 238872) (WIRE.ARROWHEAD.POINTS 238874 . 240400) (DRAWARROWHEADS 240402 . 242772) (
-\SK.DRAW.TRIANGLE.ARROWHEAD 242774 . 244434) (\SK.ENDPT.OF.ARROW 244436 . 246693) (
-\SK.ADJUST.FOR.ARROWHEADS 246695 . 249200) (SK.SET.ARROWHEAD.LENGTH 249202 . 250346) (
-SK.SET.ARROWHEAD.ANGLE 250348 . 251444) (SK.SET.ARROWHEAD.TYPE 251446 . 254735) (SK.SET.LINE.ARROWHEAD
- 254737 . 257150) (SK.UPDATE.ARROWHEAD.FORMAT 257152 . 259262) (SK.SET.LINE.LENGTH.MODE 259264 . 
-260742)) (260745 262546 (SK.INSURE.ARROWHEADS 260755 . 261937) (SK.ARROWHEADP 261939 . 262544)) (
-265343 327243 (SKETCH.CREATE.TEXT 265353 . 265867) (TEXT.CHANGEFN 265869 . 266261) (TEXT.READCHANGEFN 
-266263 . 274334) (\SK.READ.FONT.SIZE1 274336 . 276502) (SK.TEXT.ELT.WITH.SAME.FIELDS 276504 . 278144) 
-(SK.READFONTFAMILY 278146 . 280616) (CLOSE.PROMPT.WINDOW 280618 . 281042) (TEXT.DRAWFN 281044 . 281765
-) (TEXT.DRAWFN1 281767 . 285269) (TEXT.INSIDEFN 285271 . 285660) (TEXT.EXPANDFN 285662 . 287787) (
-SK.TEXT.LINE.REGIONS 287789 . 289663) (TEXT.UPDATE.GLOBAL.REGIONS 289665 . 290897) (REL.MOVE.REGION 
-290899 . 291436) (LTEXT.LINE.REGIONS 291438 . 294856) (TEXT.INPUTFN 294858 . 295368) (READ.TEXT 295370
- . 296118) (TEXT.POSITION.AND.CREATE 296120 . 298431) (CREATE.TEXT.ELEMENT 298433 . 299251) (
-SK.UPDATE.TEXT.AFTER.CHANGE 299253 . 299655) (SK.TEXT.FROM.TEXTBOX 299657 . 303463) (
-TEXT.SET.GLOBAL.REGIONS 303465 . 304758) (TEXT.REGIONFN 304760 . 305530) (TEXT.GLOBALREGIONFN 305532
- . 306220) (TEXT.TRANSLATEFN 306222 . 307537) (TEXT.TRANSFORMFN 307539 . 308662) (TEXT.TRANSLATEPTSFN 
-308664 . 309181) (TEXT.UPDATEFN 309183 . 313839) (SK.CHANGE.TEXT 313841 . 324163) (SK.CHANGE.FONT 
-324165 . 325309) (TEXT.SET.SCALES 325311 . 326279) (BREAK.AT.CARRIAGE.RETURNS 326281 . 327241)) (
-327244 340229 (SK.PICK.FONT 327254 . 331526) (SK.CHOOSE.TEXT.FONT 331528 . 335799) (SK.NEXTSIZEFONT 
-335801 . 337433) (SK.DECREASING.FONT.LIST 337435 . 340227)) (340648 352322 (SK.SET.FONT 340658 . 
-341925) (SK.SET.TEXT.FONT 341927 . 342929) (SK.SET.TEXT.SIZE 342931 . 343618) (SK.SET.TEXT.HORIZ.ALIGN
- 343620 . 345194) (SK.READFONTSIZE 345196 . 347094) (SK.COLLECT.FONT.SIZES 347096 . 348177) (
-SK.SET.TEXT.VERT.ALIGN 348179 . 350221) (SK.SET.TEXT.LOOKS 350223 . 351680) (SK.SET.DEFAULT.TEXT.FACE 
-351682 . 352320)) (352323 352909 (CREATE.SKETCH.TERMTABLE 352333 . 352907)) (352910 354676 (
-SK.FONT.LIST 352920 . 353246) (SK.INSURE.FONT 353248 . 353770) (SK.INSURE.STYLE 353772 . 354290) (
-SK.INSURE.TEXT 354292 . 354674)) (355216 412509 (SKETCH.CREATE.TEXTBOX 355226 . 356868) (
-SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 356870 . 358947) (SK.BREAK.INTO.LINES 358949 . 370135) (
-SK.BRUSH.SIZE 370137 . 370518) (SK.TEXTBOX.CREATE 370520 . 371317) (SK.TEXTBOX.CREATE1 371319 . 372383
-) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 372385 . 372925) (SK.TEXTBOX.POSITION.IN.BOX 372927 . 374838) (
-TEXTBOX.CHANGEFN 374840 . 375314) (TEXTBOX.DRAWFN 375316 . 377352) (SK.TEXTURE.AROUND.REGIONS 377354
- . 383427) (ALL.EMPTY.REGIONS 383429 . 383919) (TEXTBOX.EXPANDFN 383921 . 391077) (TEXTBOX.INPUTFN 
-391079 . 392692) (TEXTBOX.INSIDEFN 392694 . 393107) (TEXTBOX.REGIONFN 393109 . 393963) (
-TEXTBOX.GLOBALREGIONFN 393965 . 394293) (TEXTBOX.SET.GLOBAL.REGIONS 394295 . 395626) (
-TEXTBOX.TRANSLATEFN 395628 . 397469) (TEXTBOX.TRANSLATEPTSFN 397471 . 400254) (TEXTBOX.TRANSFORMFN 
-400256 . 401924) (TEXTBOX.UPDATEFN 401926 . 403819) (TEXTBOX.READCHANGEFN 403821 . 408710) (
-SK.TEXTBOX.TEXT.POSITION 408712 . 409133) (SK.TEXTBOX.FROM.TEXT 409135 . 411740) (ADD.EOLS 411742 . 
-412507)) (413038 416539 (SK.SET.TEXTBOX.VERT.ALIGN 413048 . 414928) (SK.SET.TEXTBOX.HORIZ.ALIGN 414930
- . 416537)) (416922 461397 (SKETCH.CREATE.BOX 416932 . 417415) (SK.BOX.DRAWFN 417417 . 418576) (
-BOX.DRAWFN1 418578 . 421417) (KNOTS.OF.REGION 421419 . 422653) (SK.DRAWAREABOX 422655 . 429256) (
-SK.DRAWBOX 429258 . 430447) (SK.BOX.EXPANDFN 430449 . 434197) (SK.BOX.GETREGIONFN 434199 . 435385) (
-BOX.SET.SCALES 435387 . 436627) (SK.BOX.INPUTFN 436629 . 438562) (SK.BOX.CREATE 438564 . 439265) (
-SK.UPDATE.BOX.AFTER.CHANGE 439267 . 439778) (SK.BOX.INSIDEFN 439780 . 440170) (SK.BOX.REGIONFN 440172
- . 440885) (SK.BOX.GLOBALREGIONFN 440887 . 441625) (SK.BOX.READCHANGEFN 441627 . 445348) (
-SK.CHANGE.FILLING 445350 . 449298) (SK.CHANGE.FILLING.COLOR 449300 . 452956) (SK.BOX.TRANSLATEFN 
-452958 . 454137) (SK.BOX.TRANSFORMFN 454139 . 455084) (SK.BOX.TRANSLATEPTSFN 455086 . 457454) (
-UNSCALE.REGION.TO.GRID 457456 . 458381) (INCREASEREGION 458383 . 458974) (INSUREREGIONSIZE 458976 . 
-460147) (EXPANDREGION 460149 . 461029) (REGION.FROM.COORDINATES 461031 . 461395)) (461933 488288 (
-SKETCH.CREATE.ARC 461943 . 462752) (ARC.DRAWFN 462754 . 464481) (ARC.EXPANDFN 464483 . 466816) (
-ARC.INPUTFN 466818 . 471036) (SK.INVERT.CIRCLE 471038 . 471898) (SK.READ.ARC.ANGLE.POINT 471900 . 
-472407) (SK.SHOW.ARC 472409 . 473019) (ARC.CREATE 473021 . 474376) (SK.UPDATE.ARC.AFTER.CHANGE 474378
- . 474718) (ARC.MOVEFN 474720 . 476303) (ARC.TRANSLATEPTS 476305 . 478190) (ARC.INSIDEFN 478192 . 
-478442) (ARC.REGIONFN 478444 . 479580) (ARC.GLOBALREGIONFN 479582 . 481304) (ARC.TRANSLATE 481306 . 
-482288) (ARC.TRANSFORMFN 482290 . 485240) (ARC.READCHANGEFN 485242 . 488286)) (488289 497368 (
-SK.COMPUTE.ARC.ANGLE.PT 488299 . 489225) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 489227 . 490220) (
-SK.COMPUTE.ARC.PTS 490222 . 493794) (SK.SET.ARC.DIRECTION 493796 . 494370) (SK.SET.ARC.DIRECTION.CW 
-494372 . 494546) (SK.SET.ARC.DIRECTION.CCW 494548 . 494821) (SK.COMPUTE.SLOPE.OF.LINE 494823 . 495315)
- (SK.CREATE.ARC.USING 495317 . 496554) (SET.ARC.SCALES 496556 . 497366)) (497369 497814 (
-SK.INSURE.DIRECTION 497379 . 497812)) (499185 545044 (GETSKETCHELEMENTPROP 499195 . 500503) (
-\SK.GET.ARC.ANGLEPT 500505 . 501066) (\GETSKETCHELEMENTPROP1 501068 . 501322) (\SK.GET.BRUSH 501324 . 
-502248) (\SK.GET.FILLING 502250 . 503348) (\SK.GET.ARROWHEADS 503350 . 504129) (\SK.GET.FONT 504131 . 
-504611) (\SK.GET.JUSTIFICATION 504613 . 505137) (\SK.GET.DIRECTION 505139 . 505616) (\SK.GET.DASHING 
-505618 . 506637) (PUTSKETCHELEMENTPROP 506639 . 508908) (\SK.PUT.FILLING 508910 . 510180) (
-ADDSKETCHELEMENTPROP 510182 . 510987) (REMOVESKETCHELEMENTPROP 510989 . 511778) (\SK.PUT.FONT 511780
- . 512594) (\SK.PUT.JUSTIFICATION 512596 . 513607) (\SK.PUT.DIRECTION 513609 . 514216) (
-\SK.PUT.DASHING 514218 . 515553) (\SK.PUT.BRUSH 515555 . 517474) (\SK.PUT.ARROWHEADS 517476 . 519442) 
-(SK.COPY.ELEMENT.PROPERTY.LIST 519444 . 520020) (SKETCH.UPDATE 520022 . 520752) (SKETCH.UPDATE1 520754
- . 522042) (\SKELT.GET.SCALE 522044 . 523032) (\SKELT.PUT.SCALE 523034 . 524341) (\SKELT.PUT.DATA 
-524343 . 526140) (SK.REPLACE.TEXT.IN.ELEMENT 526142 . 527095) (\SKELT.GET.DATA 527097 . 528164) (
-\SK.GET.1STCONTROLPT 528166 . 529678) (\SK.PUT.1STCONTROLPT 529680 . 535153) (\SK.GET.2NDCONTROLPT 
-535155 . 536070) (\SK.PUT.2NDCONTROLPT 536072 . 540260) (\SK.GET.3RDCONTROLPT 540262 . 541140) (
-\SK.PUT.3RDCONTROLPT 541142 . 545042)) (545045 545626 (LOWERLEFTCORNER 545055 . 545301) (
-UPPERRIGHTCORNER 545303 . 545624)))))
+  (FILEMAP (NIL (14197 24607 (INIT.SKETCH.ELEMENTS 14207 . 21770) (CREATE.SKETCH.ELEMENT.TYPE 21772 . 
+23294) (SKETCH.ELEMENT.TYPEP 23296 . 23684) (SKETCH.ELEMENT.NAMEP 23686 . 23949) (
+\CURSOR.IN.MIDDLE.MENU 23951 . 24605)) (24648 25325 (SKETCHINCOLORP 24658 . 24978) (READ.COLOR.CHANGE 
+24980 . 25323)) (25834 28613 (SK.CREATE.DEFAULT.FILLING 25844 . 26145) (SKFILLINGP 26147 . 26780) (
+SK.INSURE.FILLING 26782 . 28210) (SK.INSURE.COLOR 28212 . 28611)) (28614 34224 (SK.TRANSLATE.MODE 
+28624 . 29406) (SK.CHANGE.FILLING.MODE 29408 . 32991) (READ.FILLING.MODE 32993 . 34222)) (34225 64899 
+(SKETCH.CREATE.CIRCLE 34235 . 35047) (CIRCLE.EXPANDFN 35049 . 38421) (CIRCLE.DRAWFN 38423 . 41424) (
+\CIRCLE.DRAWFN1 41426 . 44021) (CIRCLE.INPUTFN 44023 . 45872) (SK.UPDATE.CIRCLE.AFTER.CHANGE 45874 . 
+46233) (SK.READ.CIRCLE.POINT 46235 . 46706) (SK.SHOW.CIRCLE 46708 . 47354) (CIRCLE.INSIDEFN 47356 . 
+47621) (CIRCLE.REGIONFN 47623 . 49304) (CIRCLE.GLOBALREGIONFN 49306 . 50824) (CIRCLE.TRANSLATE 50826
+ . 52687) (CIRCLE.READCHANGEFN 52689 . 57305) (CIRCLE.TRANSFORMFN 57307 . 59160) (CIRCLE.TRANSLATEPTS 
+59162 . 60776) (SK.CIRCLE.CREATE 60778 . 61621) (SET.CIRCLE.SCALE 61623 . 62389) (SK.BRUSH.READCHANGE 
+62391 . 64897)) (64900 65629 (SK.INSURE.BRUSH 64910 . 65304) (SK.INSURE.DASHING 65306 . 65627)) (66843
+ 96337 (SKETCH.CREATE.ELLIPSE 66853 . 67452) (ELLIPSE.EXPANDFN 67454 . 71066) (ELLIPSE.DRAWFN 71068 . 
+75245) (ELLIPSE.INPUTFN 75247 . 77687) (SK.READ.ELLIPSE.MAJOR.PT 77689 . 78268) (
+SK.SHOW.ELLIPSE.MAJOR.RADIUS 78270 . 79025) (SK.READ.ELLIPSE.MINOR.PT 79027 . 79720) (
+SK.SHOW.ELLIPSE.MINOR.RADIUS 79722 . 80554) (ELLIPSE.INSIDEFN 80556 . 80826) (ELLIPSE.CREATE 80828 . 
+82203) (SK.UPDATE.ELLIPSE.AFTER.CHANGE 82205 . 82573) (ELLIPSE.REGIONFN 82575 . 84775) (
+ELLIPSE.GLOBALREGIONFN 84777 . 86590) (ELLIPSE.TRANSLATEFN 86592 . 89138) (ELLIPSE.TRANSFORMFN 89140
+ . 90417) (ELLIPSE.TRANSLATEPTS 90419 . 92460) (MARK.SPOT 92462 . 93713) (DISTANCEBETWEEN 93715 . 
+94310) (SK.DISTANCE.TO 94312 . 94697) (SQUARE 94699 . 94741) (COMPUTE.ELLIPSE.ORIENTATION 94743 . 
+95462) (SK.COMPUTE.ELLIPSE.MINOR.RADIUS.PT 95464 . 96335)) (97450 138506 (SKETCH.CREATE.OPEN.CURVE 
+97460 . 98013) (OPENCURVE.INPUTFN 98015 . 98883) (SK.CURVE.CREATE 98885 . 100630) (MAXXEXTENT 100632
+ . 101491) (MAXYEXTENT 101493 . 102353) (KNOT.SET.SCALE.FIELD 102355 . 103157) (OPENCURVE.DRAWFN 
+103159 . 104290) (OPENCURVE.EXPANDFN 104292 . 107607) (OPENCURVE.READCHANGEFN 107609 . 110811) (
+OPENCURVE.TRANSFORMFN 110813 . 113311) (OPENCURVE.TRANSLATEFN 113313 . 113735) (
+OPENCURVE.TRANSLATEPTSFN 113737 . 115118) (SKETCH.CREATE.CLOSED.CURVE 115120 . 115626) (
+CLOSEDCURVE.DRAWFN 115628 . 116412) (CLOSEDCURVE.EXPANDFN 116414 . 119527) (CLOSEDCURVE.REGIONFN 
+119529 . 120326) (CLOSEDCURVE.GLOBALREGIONFN 120328 . 121761) (READ.LIST.OF.POINTS 121763 . 123742) (
+CLOSEDCURVE.INPUTFN 123744 . 124389) (CLOSEDCURVE.READCHANGEFN 124391 . 127286) (
+CLOSEDCURVE.TRANSFORMFN 127288 . 129088) (CLOSEDCURVE.TRANSLATEPTSFN 129090 . 130435) (INVISIBLEPARTP 
+130437 . 130790) (SHOWSKETCHPOINT 130792 . 131097) (SHOWSKETCHXY 131099 . 131617) (KNOTS.REGIONFN 
+131619 . 132520) (OPENWIRE.GLOBALREGIONFN 132522 . 133386) (CURVE.REGIONFN 133388 . 134329) (
+OPENCURVE.GLOBALREGIONFN 134331 . 135738) (KNOTS.TRANSLATEFN 135740 . 136783) (REGION.CONTAINING.PTS 
+136785 . 138504)) (138507 160783 (CHANGE.ELTS.BRUSH.SIZE 138517 . 139127) (CHANGE.ELTS.BRUSH 139129 . 
+139646) (CHANGE.ELTS.BRUSH.SHAPE 139648 . 140049) (SK.CHANGE.BRUSH.SHAPE 140051 . 143563) (
+SK.CHANGE.BRUSH.COLOR 143565 . 148011) (SK.CHANGE.BRUSH.SIZE 148013 . 152971) (SK.CHANGE.ANGLE 152973
+ . 155953) (SK.CHANGE.ARC.DIRECTION 155955 . 158334) (SK.SET.DEFAULT.BRUSH.SIZE 158336 . 159035) (
+READSIZECHANGE 159037 . 160781)) (160784 162403 (SK.CHANGE.ELEMENT.KNOTS 160794 . 162401)) (162404 
+163051 (SK.INSURE.POINT.LIST 162414 . 162867) (SK.INSURE.POSITION 162869 . 163049)) (164419 196742 (
+SKETCH.CREATE.WIRE 164429 . 164919) (CLOSEDWIRE.EXPANDFN 164921 . 167609) (KNOTS.INSIDEFN 167611 . 
+168332) (OPEN.WIRE.DRAWFN 168334 . 168926) (WIRE.EXPANDFN 168928 . 172175) (
+SK.UPDATE.WIRE.ELT.AFTER.CHANGE 172177 . 172698) (OPENWIRE.READCHANGEFN 172700 . 175193) (
+OPENWIRE.TRANSFORMFN 175195 . 177318) (OPENWIRE.TRANSLATEFN 177320 . 177744) (OPENWIRE.TRANSLATEPTSFN 
+177746 . 179025) (WIRE.INPUTFN 179027 . 180658) (SK.READ.WIRE.POINTS 180660 . 181191) (
+SK.READ.POINTS.WITH.FEEDBACK 181193 . 183960) (OPENWIRE.FEEDBACKFN 183962 . 184716) (
+CLOSEDWIRE.FEEDBACKFN 184718 . 186074) (CLOSEDWIRE.REGIONFN 186076 . 187061) (
+CLOSEDWIRE.GLOBALREGIONFN 187063 . 188115) (SK.WIRE.CREATE 188117 . 189880) (WIRE.ADD.POINT.TO.END 
+189882 . 190798) (READ.ARROW.CHANGE 190800 . 196276) (CHANGE.ELTS.ARROWHEADS 196278 . 196740)) (196743
+ 207749 (SKETCH.CREATE.CLOSED.WIRE 196753 . 197314) (CLOSED.WIRE.INPUTFN 197316 . 197671) (
+CLOSED.WIRE.DRAWFN 197673 . 199718) (CLOSEDWIRE.READCHANGEFN 199720 . 204625) (CLOSEDWIRE.TRANSFORMFN 
+204627 . 206421) (CLOSEDWIRE.TRANSLATEPTSFN 206423 . 207747)) (207750 260456 (SK.EXPAND.ARROWHEADS 
+207760 . 208110) (SK.COMPUTE.ARC.ARROWHEAD.POINTS 208112 . 209493) (ARC.ARROWHEAD.POINTS 209495 . 
+210718) (SET.ARC.ARROWHEAD.POINTS 210720 . 211701) (SET.OPENCURVE.ARROWHEAD.POINTS 211703 . 212604) (
+SK.COMPUTE.CURVE.ARROWHEAD.POINTS 212606 . 213876) (SET.WIRE.ARROWHEAD.POINTS 213878 . 214631) (
+SK.COMPUTE.WIRE.ARROWHEAD.POINTS 214633 . 215898) (SK.EXPAND.ARROWHEAD 215900 . 217083) (CHANGED.ARROW
+ 217085 . 220257) (SK.CHANGE.ARROWHEAD 220259 . 220712) (SK.CHANGE.ARROWHEAD1 220714 . 225969) (
+SK.CREATE.ARROWHEAD 225971 . 226491) (SK.ARROWHEAD.CREATE 226493 . 228067) (SK.ARROWHEAD.END.TEST 
+228069 . 228993) (READ.ARROWHEAD.END 228995 . 231020) (ARROW.HEAD.POSITIONS 231022 . 232862) (
+ARROWHEAD.POINTS.LIST 232864 . 236836) (CURVE.ARROWHEAD.POINTS 236838 . 237701) (LEFT.MOST.IS.BEGINP 
+237703 . 238584) (WIRE.ARROWHEAD.POINTS 238586 . 240112) (DRAWARROWHEADS 240114 . 242484) (
+\SK.DRAW.TRIANGLE.ARROWHEAD 242486 . 244146) (\SK.ENDPT.OF.ARROW 244148 . 246405) (
+\SK.ADJUST.FOR.ARROWHEADS 246407 . 248912) (SK.SET.ARROWHEAD.LENGTH 248914 . 250058) (
+SK.SET.ARROWHEAD.ANGLE 250060 . 251156) (SK.SET.ARROWHEAD.TYPE 251158 . 254447) (SK.SET.LINE.ARROWHEAD
+ 254449 . 256862) (SK.UPDATE.ARROWHEAD.FORMAT 256864 . 258974) (SK.SET.LINE.LENGTH.MODE 258976 . 
+260454)) (260457 262258 (SK.INSURE.ARROWHEADS 260467 . 261649) (SK.ARROWHEADP 261651 . 262256)) (
+265055 327497 (SKETCH.CREATE.TEXT 265065 . 265579) (TEXT.CHANGEFN 265581 . 265973) (TEXT.READCHANGEFN 
+265975 . 274046) (\SK.READ.FONT.SIZE1 274048 . 276214) (SK.TEXT.ELT.WITH.SAME.FIELDS 276216 . 277856) 
+(SK.READFONTFAMILY 277858 . 280328) (CLOSE.PROMPT.WINDOW 280330 . 280754) (TEXT.DRAWFN 280756 . 281477
+) (TEXT.DRAWFN1 281479 . 284981) (TEXT.INSIDEFN 284983 . 285372) (TEXT.EXPANDFN 285374 . 287499) (
+SK.TEXT.LINE.REGIONS 287501 . 289375) (TEXT.UPDATE.GLOBAL.REGIONS 289377 . 290609) (REL.MOVE.REGION 
+290611 . 291148) (LTEXT.LINE.REGIONS 291150 . 294568) (TEXT.INPUTFN 294570 . 295080) (READ.TEXT 295082
+ . 295830) (TEXT.POSITION.AND.CREATE 295832 . 298143) (CREATE.TEXT.ELEMENT 298145 . 298963) (
+SK.UPDATE.TEXT.AFTER.CHANGE 298965 . 299367) (SK.TEXT.FROM.TEXTBOX 299369 . 303175) (
+TEXT.SET.GLOBAL.REGIONS 303177 . 304470) (TEXT.REGIONFN 304472 . 305242) (TEXT.GLOBALREGIONFN 305244
+ . 305932) (TEXT.TRANSLATEFN 305934 . 307249) (TEXT.TRANSFORMFN 307251 . 308374) (TEXT.TRANSLATEPTSFN 
+308376 . 308893) (TEXT.UPDATEFN 308895 . 313551) (SK.CHANGE.TEXT 313553 . 323831) (SK.CHANGE.FONT 
+323833 . 325563) (TEXT.SET.SCALES 325565 . 326533) (BREAK.AT.CARRIAGE.RETURNS 326535 . 327495)) (
+327498 340483 (SK.PICK.FONT 327508 . 331780) (SK.CHOOSE.TEXT.FONT 331782 . 336053) (SK.NEXTSIZEFONT 
+336055 . 337687) (SK.DECREASING.FONT.LIST 337689 . 340481)) (340902 352576 (SK.SET.FONT 340912 . 
+342179) (SK.SET.TEXT.FONT 342181 . 343183) (SK.SET.TEXT.SIZE 343185 . 343872) (SK.SET.TEXT.HORIZ.ALIGN
+ 343874 . 345448) (SK.READFONTSIZE 345450 . 347348) (SK.COLLECT.FONT.SIZES 347350 . 348431) (
+SK.SET.TEXT.VERT.ALIGN 348433 . 350475) (SK.SET.TEXT.LOOKS 350477 . 351934) (SK.SET.DEFAULT.TEXT.FACE 
+351936 . 352574)) (352577 353163 (CREATE.SKETCH.TERMTABLE 352587 . 353161)) (353164 354930 (
+SK.FONT.LIST 353174 . 353500) (SK.INSURE.FONT 353502 . 354024) (SK.INSURE.STYLE 354026 . 354544) (
+SK.INSURE.TEXT 354546 . 354928)) (355470 412763 (SKETCH.CREATE.TEXTBOX 355480 . 357122) (
+SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 357124 . 359201) (SK.BREAK.INTO.LINES 359203 . 370389) (
+SK.BRUSH.SIZE 370391 . 370772) (SK.TEXTBOX.CREATE 370774 . 371571) (SK.TEXTBOX.CREATE1 371573 . 372637
+) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 372639 . 373179) (SK.TEXTBOX.POSITION.IN.BOX 373181 . 375092) (
+TEXTBOX.CHANGEFN 375094 . 375568) (TEXTBOX.DRAWFN 375570 . 377606) (SK.TEXTURE.AROUND.REGIONS 377608
+ . 383681) (ALL.EMPTY.REGIONS 383683 . 384173) (TEXTBOX.EXPANDFN 384175 . 391331) (TEXTBOX.INPUTFN 
+391333 . 392946) (TEXTBOX.INSIDEFN 392948 . 393361) (TEXTBOX.REGIONFN 393363 . 394217) (
+TEXTBOX.GLOBALREGIONFN 394219 . 394547) (TEXTBOX.SET.GLOBAL.REGIONS 394549 . 395880) (
+TEXTBOX.TRANSLATEFN 395882 . 397723) (TEXTBOX.TRANSLATEPTSFN 397725 . 400508) (TEXTBOX.TRANSFORMFN 
+400510 . 402178) (TEXTBOX.UPDATEFN 402180 . 404073) (TEXTBOX.READCHANGEFN 404075 . 408964) (
+SK.TEXTBOX.TEXT.POSITION 408966 . 409387) (SK.TEXTBOX.FROM.TEXT 409389 . 411994) (ADD.EOLS 411996 . 
+412761)) (413292 416793 (SK.SET.TEXTBOX.VERT.ALIGN 413302 . 415182) (SK.SET.TEXTBOX.HORIZ.ALIGN 415184
+ . 416791)) (417176 461651 (SKETCH.CREATE.BOX 417186 . 417669) (SK.BOX.DRAWFN 417671 . 418830) (
+BOX.DRAWFN1 418832 . 421671) (KNOTS.OF.REGION 421673 . 422907) (SK.DRAWAREABOX 422909 . 429510) (
+SK.DRAWBOX 429512 . 430701) (SK.BOX.EXPANDFN 430703 . 434451) (SK.BOX.GETREGIONFN 434453 . 435639) (
+BOX.SET.SCALES 435641 . 436881) (SK.BOX.INPUTFN 436883 . 438816) (SK.BOX.CREATE 438818 . 439519) (
+SK.UPDATE.BOX.AFTER.CHANGE 439521 . 440032) (SK.BOX.INSIDEFN 440034 . 440424) (SK.BOX.REGIONFN 440426
+ . 441139) (SK.BOX.GLOBALREGIONFN 441141 . 441879) (SK.BOX.READCHANGEFN 441881 . 445602) (
+SK.CHANGE.FILLING 445604 . 449552) (SK.CHANGE.FILLING.COLOR 449554 . 453210) (SK.BOX.TRANSLATEFN 
+453212 . 454391) (SK.BOX.TRANSFORMFN 454393 . 455338) (SK.BOX.TRANSLATEPTSFN 455340 . 457708) (
+UNSCALE.REGION.TO.GRID 457710 . 458635) (INCREASEREGION 458637 . 459228) (INSUREREGIONSIZE 459230 . 
+460401) (EXPANDREGION 460403 . 461283) (REGION.FROM.COORDINATES 461285 . 461649)) (462187 488542 (
+SKETCH.CREATE.ARC 462197 . 463006) (ARC.DRAWFN 463008 . 464735) (ARC.EXPANDFN 464737 . 467070) (
+ARC.INPUTFN 467072 . 471290) (SK.INVERT.CIRCLE 471292 . 472152) (SK.READ.ARC.ANGLE.POINT 472154 . 
+472661) (SK.SHOW.ARC 472663 . 473273) (ARC.CREATE 473275 . 474630) (SK.UPDATE.ARC.AFTER.CHANGE 474632
+ . 474972) (ARC.MOVEFN 474974 . 476557) (ARC.TRANSLATEPTS 476559 . 478444) (ARC.INSIDEFN 478446 . 
+478696) (ARC.REGIONFN 478698 . 479834) (ARC.GLOBALREGIONFN 479836 . 481558) (ARC.TRANSLATE 481560 . 
+482542) (ARC.TRANSFORMFN 482544 . 485494) (ARC.READCHANGEFN 485496 . 488540)) (488543 497622 (
+SK.COMPUTE.ARC.ANGLE.PT 488553 . 489479) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 489481 . 490474) (
+SK.COMPUTE.ARC.PTS 490476 . 494048) (SK.SET.ARC.DIRECTION 494050 . 494624) (SK.SET.ARC.DIRECTION.CW 
+494626 . 494800) (SK.SET.ARC.DIRECTION.CCW 494802 . 495075) (SK.COMPUTE.SLOPE.OF.LINE 495077 . 495569)
+ (SK.CREATE.ARC.USING 495571 . 496808) (SET.ARC.SCALES 496810 . 497620)) (497623 498068 (
+SK.INSURE.DIRECTION 497633 . 498066)) (499439 545298 (GETSKETCHELEMENTPROP 499449 . 500757) (
+\SK.GET.ARC.ANGLEPT 500759 . 501320) (\GETSKETCHELEMENTPROP1 501322 . 501576) (\SK.GET.BRUSH 501578 . 
+502502) (\SK.GET.FILLING 502504 . 503602) (\SK.GET.ARROWHEADS 503604 . 504383) (\SK.GET.FONT 504385 . 
+504865) (\SK.GET.JUSTIFICATION 504867 . 505391) (\SK.GET.DIRECTION 505393 . 505870) (\SK.GET.DASHING 
+505872 . 506891) (PUTSKETCHELEMENTPROP 506893 . 509162) (\SK.PUT.FILLING 509164 . 510434) (
+ADDSKETCHELEMENTPROP 510436 . 511241) (REMOVESKETCHELEMENTPROP 511243 . 512032) (\SK.PUT.FONT 512034
+ . 512848) (\SK.PUT.JUSTIFICATION 512850 . 513861) (\SK.PUT.DIRECTION 513863 . 514470) (
+\SK.PUT.DASHING 514472 . 515807) (\SK.PUT.BRUSH 515809 . 517728) (\SK.PUT.ARROWHEADS 517730 . 519696) 
+(SK.COPY.ELEMENT.PROPERTY.LIST 519698 . 520274) (SKETCH.UPDATE 520276 . 521006) (SKETCH.UPDATE1 521008
+ . 522296) (\SKELT.GET.SCALE 522298 . 523286) (\SKELT.PUT.SCALE 523288 . 524595) (\SKELT.PUT.DATA 
+524597 . 526394) (SK.REPLACE.TEXT.IN.ELEMENT 526396 . 527349) (\SKELT.GET.DATA 527351 . 528418) (
+\SK.GET.1STCONTROLPT 528420 . 529932) (\SK.PUT.1STCONTROLPT 529934 . 535407) (\SK.GET.2NDCONTROLPT 
+535409 . 536324) (\SK.PUT.2NDCONTROLPT 536326 . 540514) (\SK.GET.3RDCONTROLPT 540516 . 541394) (
+\SK.PUT.3RDCONTROLPT 541396 . 545296)) (545299 545880 (LOWERLEFTCORNER 545309 . 545555) (
+UPPERRIGHTCORNER 545557 . 545878)))))
 STOP
diff --git a/library/sketch/SKETCH-ELEMENTS.LCOM b/library/sketch/SKETCH-ELEMENTS.LCOM
index 5b9b5303..0f9dd78a 100644
Binary files a/library/sketch/SKETCH-ELEMENTS.LCOM and b/library/sketch/SKETCH-ELEMENTS.LCOM differ
diff --git a/library/sketch/SKETCH.LCOM b/library/sketch/SKETCH.LCOM
index 03cc5b55..81c0d2b7 100644
Binary files a/library/sketch/SKETCH.LCOM and b/library/sketch/SKETCH.LCOM differ
diff --git a/library/tedit/TEDIT-FNKEYS b/library/tedit/TEDIT-FNKEYS
index 063e5b12..850b43ba 100644
--- a/library/tedit/TEDIT-FNKEYS
+++ b/library/tedit/TEDIT-FNKEYS
@@ -1,12 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "12-Nov-2025 16:24:23" {WMEDLEY}<library>tedit>TEDIT-FNKEYS.;315 109327 
+(FILECREATED "24-Nov-2025 08:40:56" {WMEDLEY}<library>TEDIT>TEDIT-FNKEYS.;317 109076 
 
       :EDIT-BY rmk
 
-      :CHANGES-TO (VARS ORIG.TEDIT.CHARACTIONS)
+      :CHANGES-TO (VARS TEDIT.BASIC.CHARBINDINGS)
 
-      :PREVIOUS-DATE "12-Nov-2025 16:14:42" {WMEDLEY}<library>tedit>TEDIT-FNKEYS.;314)
+      :PREVIOUS-DATE "24-Nov-2025 00:38:18" {WMEDLEY}<library>TEDIT>TEDIT-FNKEYS.;316)
 
 
 (PRETTYCOMPRINT TEDIT-FNKEYSCOMS)
@@ -72,9 +72,10 @@
         (DECLARE%: EVAL@COMPILE DONTCOPY (EXPORT (CONSTANTS \TEDIT.TTCCODES)
                                                 (MACROS \TEDIT.TTC)))
         (FNS \TEDIT.TTCCLASS)
-        (VARS ORIG.TEDIT.CHARACTIONS TEDIT.BASIC.CHARBINDINGS TEDIT.DORADO.CHARBINDINGS)
-        (INITVARS (TEDIT.CHARBINDINGS (APPEND TEDIT.BASIC.CHARBINDINGS TEDIT.DORADO.CHARBINDINGS))
-               (TEDIT.CHARACTIONS (APPEND ORIG.TEDIT.CHARACTIONS)))
+        (VARS ORIG.TEDIT.CHARACTIONS)
+        (INITVARS (TEDIT.CHARACTIONS (APPEND ORIG.TEDIT.CHARACTIONS)))
+        (VARS TEDIT.BASIC.CHARBINDINGS TEDIT.DORADO.CHARBINDINGS)
+        (INITVARS (TEDIT.CHARBINDINGS (APPEND TEDIT.BASIC.CHARBINDINGS TEDIT.DORADO.CHARBINDINGS)))
         (GLOBALVARS TEDIT.CHARBINDINGS TEDIT.CHARACTIONS)
                                                              (* ; "Installation")
         (DECLARE%: DONTEVAL@LOAD DOCOPY (VARS (TEDIT.READTABLE (\TEDIT.READTABLE))
@@ -87,7 +88,8 @@
 (DEFINEQ
 
 (TEDIT.INSTALL.CHARBINDINGS
-  [LAMBDA (CHARBINDINGS RDTBL CHARACTIONS)                   (* ; "Edited 10-Nov-2025 16:47 by rmk")
+  [LAMBDA (CHARBINDINGS RDTBL CHARACTIONS)                   (* ; "Edited 24-Nov-2025 00:10 by rmk")
+                                                             (* ; "Edited 10-Nov-2025 16:47 by rmk")
                                                              (* ; "Edited  7-Apr-2025 20:01 by rmk")
                                                              (* ; "Edited  5-Apr-2025 11:36 by rmk")
                                                              (* ; "Edited  1-Apr-2025 00:19 by rmk")
@@ -114,17 +116,12 @@
                                  TEDIT.READTABLE)
                       else (\ILLEGAL.ARG RDTBL))))
     (TEDIT.CONFLICTING.CHARBINDINGS (APPEND CHARBINDINGS (TEDIT.GET.ALL.CHARBINDINGS RDTBL)))
-    (for CB ACTION in CHARBINDINGS first (TEDIT.CONFLICTING.CHARBINDINGS (APPEND CHARBINDINGS
-                                                                                (
-                                                                           TEDIT.GET.ALL.CHARBINDINGS
-                                                                                 RDTBL)))
-       when (LISTP CB) unless (EQ '* (CAR CB)) when (SETQ ACTION (CADR (ASSOC (CAR CB)
-                                                                              CHARACTIONS)))
-       do (CL:WHEN (EQ (CAR CB)
-                       'WORDDELETE.BACKWARD))
-          (for CHAR in (CDR CB) do (CL:UNLESS (CHARCODEP CHAR)
-                                       (SETQ CHAR (CHARCODE.DECODE CHAR)))
-                                   (TEDIT.SETFUNCTION CHAR ACTION RDTBL)))
+    (for CB ACTION in CHARBINDINGS when (LISTP CB) unless (EQ '* (CAR CB))
+       when (SETQ ACTION (CADR (ASSOC (CAR CB)
+                                      CHARACTIONS))) do (for CHAR in (CDR CB)
+                                                           do (CL:UNLESS (CHARCODEP CHAR)
+                                                                  (SETQ CHAR (CHARCODE.DECODE CHAR)))
+                                                              (TEDIT.SETFUNCTION CHAR ACTION RDTBL)))
                                                              (* ; "Set the method")
     RDTBL])
 
@@ -1407,7 +1404,8 @@
         [CAR (FETCH MACROFN OF (GETHASH CHARCODE (fetch READMACRODEFS of RDTBL])])
 
 (TEDIT.SETFUNCTION
-  [LAMBDA (CHARCODE FN RDTBL)                                (* ; "Edited 12-Nov-2025 14:44 by rmk")
+  [LAMBDA (CHARCODE FN RDTBL)                                (* ; "Edited 24-Nov-2025 00:36 by rmk")
+                                                             (* ; "Edited 12-Nov-2025 14:44 by rmk")
                                                              (* ; "Edited  8-Nov-2025 10:02 by rmk")
                                                              (* ; "Edited 13-Mar-2025 22:51 by rmk")
                                                              (* ; "Edited  7-Mar-2025 12:03 by rmk")
@@ -1425,8 +1423,7 @@
                     then (OR (GETTOBJ (TEXTOBJ RDTBL)
                                     TXTRTBL)
                              TEDIT.READTABLE)
-                  else RDTBL))                               (* ; 
-                                                          "Mark the character as invoking a function")
+                  else RDTBL))
     (\SETSYNCODE (fetch READSA of RDTBL)
            CHARCODE
            (CL:IF FN
@@ -1810,6 +1807,8 @@
         (:WHEELSCROLL-LEFT (WHEELSCROLL 'HORIZONTAL))
         (:WHEELSCROLL-RIGHT (WHEELSCROLL 'HORIZONTAL T))))
 
+(RPAQ? TEDIT.CHARACTIONS (APPEND ORIG.TEDIT.CHARACTIONS))
+
 (RPAQQ TEDIT.BASIC.CHARBINDINGS
        (
         (* ;; "Establishes key bindings for particular Tedit key actions. Function,xxx roughly correspond to Koto release notes, but this preserves the immediately preceding assignments if those drifted away from the Koto notes. There is no obvious way of typing Function.  Maybe Meta,^xxx instead, as in DORADO.KEYBINDINGS.  (But CTRL collapses upper and lower case).")
@@ -1899,10 +1898,10 @@
         (:CHARDELETE.BACKWARD "BS" "^A")
         (:CHARDELETE.FORWARD RUBOUT)
         (:WORDDELETE.BACKWARD "^W")
-        (:WORDDELETE.FORWARD)
+        (:WORDDELETE.FORWARD "^U")
         (:LINEDELETE.FORWARD)
         (:LINEDELETE.BACKWARD)
-        (:LINEDELETE "^U")
+        (:LINEDELETE)
         
         (* ;; "")
 
@@ -1941,8 +1940,8 @@
         (:DEFAULTS "Meta,^V")
         (:BOLD.ON "Meta,^B" "Meta,b")
         (:BOLD.OFF "Meta,^N" "Meta,B")
-        (:ITALIC.ON "Meta,^I")
-        (:ITALIC.OFF "Meta,^O")
+        (:ITALIC.ON "Meta,^I" "Meta,i")
+        (:ITALIC.OFF "Meta,^O" "Meta,I")
         (:OVERLINE.ON "Meta,^D")
         (:OVERLINE.OFF "Meta,^F")
         (:STRIKEOUT.ON "Meta,^G" "Meta,=")
@@ -1971,8 +1970,6 @@
         (:WRAP.REAL.DOUBLEQUOTES "Meta,'")))
 
 (RPAQ? TEDIT.CHARBINDINGS (APPEND TEDIT.BASIC.CHARBINDINGS TEDIT.DORADO.CHARBINDINGS))
-
-(RPAQ? TEDIT.CHARACTIONS (APPEND ORIG.TEDIT.CHARACTIONS))
 (DECLARE%: DOEVAL@COMPILE DONTCOPY
 
 (GLOBALVARS TEDIT.CHARBINDINGS TEDIT.CHARACTIONS)
@@ -1989,30 +1986,30 @@
 (RPAQ TEDIT.WORDBOUND.READTABLE (\TEDIT.WORDBOUND.READTABLE))
 )
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (5010 23527 (TEDIT.INSTALL.CHARBINDINGS 5020 . 8123) (TEDIT.CLEAR.CHARBINDINGS 8125 . 
-11145) (TEDIT.GET.CHARACTION 11147 . 13928) (TEDIT.GET.CHARBINDING 13930 . 16107) (
-TEDIT.GET.ALL.CHARBINDINGS 16109 . 18608) (TEDIT.CHARBINDINGS.INVERT 18610 . 19889) (
-TEDIT.GET.ALL.CHARACTIONS 19891 . 22213) (TEDIT.CONFLICTING.CHARBINDINGS 22215 . 23525)) (23587 33642 
-(\TEDIT.KEY.CHARLOOKS 23597 . 24789) (\TEDIT.KEY.QUAD 24791 . 26884) (\TEDIT.DEFAULTSSEL 26886 . 27497
-) (\TEDIT.SETDEFAULT.FROM.SEL 27499 . 28176) (\TEDIT.KEY.SIZE 28178 . 29374) (\TEDIT.SUBSCRIPTSEL 
-29376 . 29579) (\TEDIT.SUPERSCRIPTSEL 29581 . 29785) (\TEDIT.KEY.TRANSFORM 29787 . 31784) (
-\TEDIT.KEY.OPENLINE 31786 . 32240) (\TEDIT.KEY.FAMILYN 32242 . 33640)) (33643 33932 (CAP-CASECODE 
-33653 . 33930)) (33966 37398 (\TEDIT.SHOWCARETLOOKS 33976 . 36491) (\TEDIT.DESCRIBEFONT 36493 . 37396)
-) (37429 52402 (\TEDIT.ONECHAR.BACKWARD 37439 . 38586) (\TEDIT.ONECHAR.FORWARD 38588 . 39824) (
-\TEDIT.ONELINE.UP 39826 . 42787) (\TEDIT.ONELINE.DOWN 42789 . 44446) (\TEDIT.ONELINE.MOVE 44448 . 
-46735) (\TEDIT.ONEWORD.BACKWARD 46737 . 47925) (\TEDIT.ONEWORD.FORWARD 47927 . 49114) (
-\TEDIT.LINE.BEGIN 49116 . 50195) (\TEDIT.LINE.END 50197 . 51434) (\TEDIT.DOCUMENT.BEGIN 51436 . 51795)
- (\TEDIT.DOCUMENT.END 51797 . 52400)) (52403 55711 (\TEDIT.LINEDELETE.FORWARD 52413 . 53522) (
-\TEDIT.LINEDELETE.BACKWARD 53524 . 54663) (\TEDIT.LINEDELETE 54665 . 55709)) (55712 58240 (
-\TEDIT.KEY.NEST 55722 . 58238)) (58241 59523 (\TEDIT.KEY.WRAP 58251 . 59521)) (59614 67662 (
-\TEDIT.KEY.FIND 59624 . 64802) (\TEDIT.KEY.FIND.SEARCHSTRING 64804 . 65944) (\TEDIT.GET.TARGET.STRING 
-65946 . 67660)) (67693 70325 (\TEDIT.KEY.SUBSTITUTE 67703 . 67924) (\TEDIT.MANPAGE 67926 . 69173) (
-\TEDIT.CALL.ED 69175 . 70005) (\TEDIT.SELECT.ALL 70007 . 70323)) (70352 76042 (\TEDIT.CLIPBOARD 70362
- . 72117) (\TEDIT.COPYTOCLIPBOARD 72119 . 72899) (\TEDIT.EXTRACTTOCLIPBOARD 72901 . 73096) (
-\TEDIT.WRITE.SEL 73098 . 76040)) (76208 88753 (\TEDIT.READTABLE 76218 . 77154) (
-\TEDIT.WORDBOUND.READTABLE 77156 . 80204) (TEDIT.GETSYNTAX 80206 . 81435) (TEDIT.SETSYNTAX 81437 . 
-82751) (TEDIT.GETFUNCTION 82753 . 84226) (TEDIT.SETFUNCTION 84228 . 86422) (TEDIT.WORDGET 86424 . 
-86685) (TEDIT.WORDSET 86687 . 87427) (TEDIT.ATOMBOUND.READTABLE 87429 . 88751)) (88854 95842 (
-TEDIT.BUTTONS.BUILD 88864 . 94110) (TEDIT.BUTTONBITMAP.FILL 94112 . 95840)) (98307 98895 (
-\TEDIT.TTCCLASS 98317 . 98893)))))
+  (FILEMAP (NIL (5031 23296 (TEDIT.INSTALL.CHARBINDINGS 5041 . 7892) (TEDIT.CLEAR.CHARBINDINGS 7894 . 
+10914) (TEDIT.GET.CHARACTION 10916 . 13697) (TEDIT.GET.CHARBINDING 13699 . 15876) (
+TEDIT.GET.ALL.CHARBINDINGS 15878 . 18377) (TEDIT.CHARBINDINGS.INVERT 18379 . 19658) (
+TEDIT.GET.ALL.CHARACTIONS 19660 . 21982) (TEDIT.CONFLICTING.CHARBINDINGS 21984 . 23294)) (23356 33411 
+(\TEDIT.KEY.CHARLOOKS 23366 . 24558) (\TEDIT.KEY.QUAD 24560 . 26653) (\TEDIT.DEFAULTSSEL 26655 . 27266
+) (\TEDIT.SETDEFAULT.FROM.SEL 27268 . 27945) (\TEDIT.KEY.SIZE 27947 . 29143) (\TEDIT.SUBSCRIPTSEL 
+29145 . 29348) (\TEDIT.SUPERSCRIPTSEL 29350 . 29554) (\TEDIT.KEY.TRANSFORM 29556 . 31553) (
+\TEDIT.KEY.OPENLINE 31555 . 32009) (\TEDIT.KEY.FAMILYN 32011 . 33409)) (33412 33701 (CAP-CASECODE 
+33422 . 33699)) (33735 37167 (\TEDIT.SHOWCARETLOOKS 33745 . 36260) (\TEDIT.DESCRIBEFONT 36262 . 37165)
+) (37198 52171 (\TEDIT.ONECHAR.BACKWARD 37208 . 38355) (\TEDIT.ONECHAR.FORWARD 38357 . 39593) (
+\TEDIT.ONELINE.UP 39595 . 42556) (\TEDIT.ONELINE.DOWN 42558 . 44215) (\TEDIT.ONELINE.MOVE 44217 . 
+46504) (\TEDIT.ONEWORD.BACKWARD 46506 . 47694) (\TEDIT.ONEWORD.FORWARD 47696 . 48883) (
+\TEDIT.LINE.BEGIN 48885 . 49964) (\TEDIT.LINE.END 49966 . 51203) (\TEDIT.DOCUMENT.BEGIN 51205 . 51564)
+ (\TEDIT.DOCUMENT.END 51566 . 52169)) (52172 55480 (\TEDIT.LINEDELETE.FORWARD 52182 . 53291) (
+\TEDIT.LINEDELETE.BACKWARD 53293 . 54432) (\TEDIT.LINEDELETE 54434 . 55478)) (55481 58009 (
+\TEDIT.KEY.NEST 55491 . 58007)) (58010 59292 (\TEDIT.KEY.WRAP 58020 . 59290)) (59383 67431 (
+\TEDIT.KEY.FIND 59393 . 64571) (\TEDIT.KEY.FIND.SEARCHSTRING 64573 . 65713) (\TEDIT.GET.TARGET.STRING 
+65715 . 67429)) (67462 70094 (\TEDIT.KEY.SUBSTITUTE 67472 . 67693) (\TEDIT.MANPAGE 67695 . 68942) (
+\TEDIT.CALL.ED 68944 . 69774) (\TEDIT.SELECT.ALL 69776 . 70092)) (70121 75811 (\TEDIT.CLIPBOARD 70131
+ . 71886) (\TEDIT.COPYTOCLIPBOARD 71888 . 72668) (\TEDIT.EXTRACTTOCLIPBOARD 72670 . 72865) (
+\TEDIT.WRITE.SEL 72867 . 75809)) (75977 88484 (\TEDIT.READTABLE 75987 . 76923) (
+\TEDIT.WORDBOUND.READTABLE 76925 . 79973) (TEDIT.GETSYNTAX 79975 . 81204) (TEDIT.SETSYNTAX 81206 . 
+82520) (TEDIT.GETFUNCTION 82522 . 83995) (TEDIT.SETFUNCTION 83997 . 86153) (TEDIT.WORDGET 86155 . 
+86416) (TEDIT.WORDSET 86418 . 87158) (TEDIT.ATOMBOUND.READTABLE 87160 . 88482)) (88585 95573 (
+TEDIT.BUTTONS.BUILD 88595 . 93841) (TEDIT.BUTTONBITMAP.FILL 93843 . 95571)) (98038 98626 (
+\TEDIT.TTCCLASS 98048 . 98624)))))
 STOP
diff --git a/library/tedit/TEDIT-FNKEYS.LCOM b/library/tedit/TEDIT-FNKEYS.LCOM
index a9e1e641..1e667aff 100644
Binary files a/library/tedit/TEDIT-FNKEYS.LCOM and b/library/tedit/TEDIT-FNKEYS.LCOM differ
