From 28c673f29677b81f0b2c9e18bb30a3139a315ef0 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 17 Jun 2023 20:14:00 -0700 Subject: [PATCH 1/3] LLREAD: CHARACTERNAMES saved with ALISTS instead of VARS commands Also CHARACTERSETNAMES. So that initial values don't smash or pick up the values that might otherwise be active in a development environment. --- sources/LLREAD | 103 +++++++++++++++++++++++--------------------- sources/LLREAD.LCOM | Bin 22517 -> 22502 bytes 2 files changed, 53 insertions(+), 50 deletions(-) diff --git a/sources/LLREAD b/sources/LLREAD index cebf3d84..606e9bd1 100644 --- a/sources/LLREAD +++ b/sources/LLREAD @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "19-Jul-2022 23:36:54"  -{DSK}kaplan>local>medley3.5>working-medley>sources>LLREAD.;102 89980 +(FILECREATED "17-Jun-2023 13:12:06" {WMEDLEY}LLREAD.;104 90176 - :CHANGES-TO (FNS PEEKCCODE SKIPSEPRCODES \SUBREAD) + :EDIT-BY rmk - :PREVIOUS-DATE "10-Sep-2021 19:41:58" -{DSK}kaplan>local>medley3.5>working-medley>sources>LLREAD.;101) + :CHANGES-TO (VARS LLREADCOMS CHARACTERNAMES) + + :PREVIOUS-DATE "19-Jul-2022 23:36:54" {WMEDLEY}LLREAD.;102) (* ; " @@ -37,7 +37,10 @@ Copyright (c) 1981-1988, 1990-1991, 1993, 2021 by Venue & Xerox Corporation. (COMS (* ; "Reading characters with #\") (FNS CHARACTER.READ CHARCODE.DECODE) (FNS HEXNUM? OCTALNUM?) - (VARS CHARACTERNAMES CHARACTERSETNAMES)) + (ALISTS (CHARACTERNAMES Page Form FF Rubout Del Null Escape Esc Bell Tab Backspace Bs + Newline CR EOL Return Tenexeol Space Sp Linefeed LF) + (CHARACTERSETNAMES Meta Function Greek Cyrillic Hira Hiragana Kata Katakana + Kanji))) (DECLARE%: DOEVAL@COMPILE DONTCOPY (CONSTANTS * READTYPES) (MACROS .CALL.SUBREAD. FIXDOT RBCONTEXT PROPRB \RDCONC) (SPECVARS *READ-NEWLINE-SUPPRESS* \RefillBufferFn) @@ -1523,38 +1526,38 @@ Copyright (c) 1981-1988, 1990-1991, 1993, 2021 by Venue & Xerox Corporation. ELSE (RETURN NIL)) FINALLY (RETURN NUM]) ) -(RPAQQ CHARACTERNAMES - (("Page" 12) - ("Form" 12) - ("FF" 12) - ("Rubout" 127) - ("Del" 127) - ("Null" 0) - ("Escape" 27) - ("Esc" 27) - ("Bell" 7) - ("Tab" 9) - ("Backspace" 8) - ("Bs" 8) - ("Newline" 13) - ("CR" 13) - ("EOL" 13) - ("Return" 13) - ("Tenexeol" 31) - ("Space" 32) - ("Sp" 32) - ("Linefeed" 10) - ("LF" 10))) +(ADDTOVAR CHARACTERNAMES + (Page 12) + (Form 12) + (FF 12) + (Rubout 127) + (Del 127) + (Null 0) + (Escape 27) + (Esc 27) + (Bell 7) + (Tab 9) + (Backspace 8) + (Bs 8) + (Newline 13) + (CR 13) + (EOL 13) + (Return 13) + (Tenexeol 31) + (Space 32) + (Sp 32) + (Linefeed 10) + (LF 10)) -(RPAQQ CHARACTERSETNAMES (("Meta" 1) - ("Function" 2) - ("Greek" 38) - ("Cyrillic" 39) - ("Hira" 36) - ("Hiragana" 36) - ("Kata" 37) - ("Katakana" 37) - ("Kanji" 48))) +(ADDTOVAR CHARACTERSETNAMES (Meta 1) + (Function 2) + (Greek 38) + (Cyrillic 39) + (Hira 36) + (Hiragana 36) + (Kata 37) + (Katakana 37) + (Kanji 48)) (DECLARE%: DOEVAL@COMPILE DONTCOPY (RPAQQ READTYPES (READ.RT RATOM.RT NOPROPRB.RT PROPRB.RT)) @@ -1660,17 +1663,17 @@ Copyright (c) 1981-1988, 1990-1991, 1993, 2021 by Venue & Xerox Corporation. (PUTPROPS LLREAD COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1988 1990 1991 1993 2021)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (3265 11709 (LASTC 3275 . 3581) (PEEKC 3583 . 3971) (PEEKCCODE 3973 . 4384) (RATOM 4386 - . 5467) (READ 5469 . 6029) (READC 6031 . 6672) (READCCODE 6674 . 7433) (READP 7435 . 7987) ( -SETREADMACROFLG 7989 . 8288) (SKIPSEPRCODES 8290 . 9370) (SKIPSEPRS 9372 . 9758) (SKREAD 9760 . 11707) -) (11755 20364 (CL:READ 11765 . 12314) (CL:READ-PRESERVING-WHITESPACE 12316 . 13038) ( -CL:READ-DELIMITED-LIST 13040 . 13955) (CL:PARSE-INTEGER 13957 . 20362)) (20457 32934 (RSTRING 20467 . -21199) (READ-EXTENDED-TOKEN 21201 . 25073) (\RSTRING2 25075 . 32932)) (32970 63584 (\TOP-LEVEL-READ -32980 . 34963) (\SUBREAD 34965 . 60000) (\SUBREADCONCAT 60002 . 60625) (\ORIG-READ.SYMBOL 60627 . -61695) (\ORIG-INVALID.SYMBOL 61697 . 62596) (\APPLYREADMACRO 62598 . 63014) (INREADMACROP 63016 . -63582)) (63743 63918 (READQUOTE 63753 . 63916)) (63943 75847 (READVBAR 63953 . 65284) (READHASHMACRO -65286 . 71096) (DEFMACRO-LAMBDA-LIST-KEYWORD-P 71098 . 71318) (DIGITBASEP 71320 . 72054) ( -READNUMBERINBASE 72056 . 73942) (ESTIMATE-DIMENSIONALITY 73944 . 74269) (SKIP.HASH.COMMENT 74271 . -75239) (CMLREAD.FEATURE.PARSER 75241 . 75845)) (75891 82235 (CHARACTER.READ 75901 . 77155) ( -CHARCODE.DECODE 77157 . 82233)) (82236 85406 (HEXNUM? 82246 . 84589) (OCTALNUM? 84591 . 85404))))) + (FILEMAP (NIL (3460 11904 (LASTC 3470 . 3776) (PEEKC 3778 . 4166) (PEEKCCODE 4168 . 4579) (RATOM 4581 + . 5662) (READ 5664 . 6224) (READC 6226 . 6867) (READCCODE 6869 . 7628) (READP 7630 . 8182) ( +SETREADMACROFLG 8184 . 8483) (SKIPSEPRCODES 8485 . 9565) (SKIPSEPRS 9567 . 9953) (SKREAD 9955 . 11902) +) (11950 20559 (CL:READ 11960 . 12509) (CL:READ-PRESERVING-WHITESPACE 12511 . 13233) ( +CL:READ-DELIMITED-LIST 13235 . 14150) (CL:PARSE-INTEGER 14152 . 20557)) (20652 33129 (RSTRING 20662 . +21394) (READ-EXTENDED-TOKEN 21396 . 25268) (\RSTRING2 25270 . 33127)) (33165 63779 (\TOP-LEVEL-READ +33175 . 35158) (\SUBREAD 35160 . 60195) (\SUBREADCONCAT 60197 . 60820) (\ORIG-READ.SYMBOL 60822 . +61890) (\ORIG-INVALID.SYMBOL 61892 . 62791) (\APPLYREADMACRO 62793 . 63209) (INREADMACROP 63211 . +63777)) (63938 64113 (READQUOTE 63948 . 64111)) (64138 76042 (READVBAR 64148 . 65479) (READHASHMACRO +65481 . 71291) (DEFMACRO-LAMBDA-LIST-KEYWORD-P 71293 . 71513) (DIGITBASEP 71515 . 72249) ( +READNUMBERINBASE 72251 . 74137) (ESTIMATE-DIMENSIONALITY 74139 . 74464) (SKIP.HASH.COMMENT 74466 . +75434) (CMLREAD.FEATURE.PARSER 75436 . 76040)) (76086 82430 (CHARACTER.READ 76096 . 77350) ( +CHARCODE.DECODE 77352 . 82428)) (82431 85601 (HEXNUM? 82441 . 84784) (OCTALNUM? 84786 . 85599))))) STOP diff --git a/sources/LLREAD.LCOM b/sources/LLREAD.LCOM index 3d0b8de06e1b885acfef6a512123ba35ed857c0a..7783332caf0886aa1300db1043dc3fab7cc5a896 100644 GIT binary patch delta 1031 zcmaiy&2G~`6ou6;EfyfLV0mN-$yp@wPm{C;Avyj@1CzMeZlMb#Tz4oYjvd*tC_*T& z0P2GjsqAGaY@?cL-|Y8goRqZf zL(i9G_0U9Ktlp;i8B*4lc;hv09_{sdGEUF5~cVh+>Zw`OBE>_$G6BP$3cG$Y#nGz41=EIV?8nKgC84$OnV zJ(~E3Vb@_Yn2J3{G2;|<=!R(w%>K?z6<@yIzk0R3>#r>`38N5-bh{%C;xh`bC>QWN z1ocT#ui(%OvpUP*R!O|1JYYmw9mOXY#mT%{#tFr!!i>Jp(wxE$;Q9msUDag{DWW+& zr$vTPYz&upP1v?Kl;I^_2TCgIZ=^pu!_7zYiMk%)BrZPWJX!UmbAuY5hh>lu*dsn==JrRYT+w_K5y7M tz&kcB7+hd$g~5jqei(yICQK2PFa-vmx3y delta 1059 zcmb_a&2G~`5LP%Livur!v|0(29Ad?GQXEr7a-4M%;wFyQi8yd^oFy`GY|D<-Ru%Fq zAoa{M^blTx3y;w^;Lfb`(*oiIxA|sgzWKhHy}zscxT}1ASG4PI^RO;AWEshdrkrW5 zCPr24$D1Sw*%HMO!brI3(b1>#JY#9rS$j$7MV&DAy|A-k%aC0wVykl*r|TeE)%TfB z7U!wYvW{grMDK}jq=sBWSb8*0QZ+>?w5AOFi3L^Z)UJYrsL*~QDjMjUg6m&M~lqLLD5?I!nlGalH^)^or z$B}m5EA7dvx$aOTfLKR2T;h!N3t0FGQsS1G+xw~cTo4W2vc$tNM09)Z%$^B-Ytq%N zl4keC`TC@AY<)U?px853tJwBd3?m6XMHQQIx;e$>F>>-noNqaL&5L?0JjLTY1kixA zfJx?i2~h2;03E|FgQ5bJ&91k=sLg4*p1;l#&xa1R#MvPjv&%4uxF&_?4d)n Date: Sat, 17 Jun 2023 20:18:17 -0700 Subject: [PATCH 2/3] SEDIT: SELECTC formatted like SELECTQ, copy-select from the titlebar Fixes long-standing irritants (for me at least). SELECTC is highlighted and format like SELECTQ and SELCHARQ. And left-button in the title bar with the copy (shift) key down does a bksysbuf of the thing being edited. The menu is available under the middle button, moving and reshaping still provided by modernize with the shift not down. --- sources/SEDIT-LIST-FORMATS | 26 +++-- sources/SEDIT-LIST-FORMATS.DFASL | Bin 12453 -> 12487 bytes sources/SEDIT-WINDOW | 185 ++++++++++++++++++------------- sources/SEDIT-WINDOW.DFASL | Bin 30996 -> 31358 bytes 4 files changed, 124 insertions(+), 87 deletions(-) diff --git a/sources/SEDIT-LIST-FORMATS b/sources/SEDIT-LIST-FORMATS index e8be5b90..c02be5fa 100644 --- a/sources/SEDIT-LIST-FORMATS +++ b/sources/SEDIT-LIST-FORMATS @@ -1,14 +1,16 @@ (DEFINE-FILE-INFO PACKAGE "SEDIT" READTABLE "XCL" BASE 10) -(IL:FILECREATED "17-May-90 11:08:07" IL:|{DSK}local>lde>lispcore>sources>SEDIT-LIST-FORMATS.;2| 9591 - IL:|changes| IL:|to:| (IL:FILES IL:SEDIT-INDENT) - (IL:VARS IL:SEDIT-LIST-FORMATSCOMS) +(IL:FILECREATED "17-Jun-2023 19:46:35" IL:|{WMEDLEY}SEDIT-LIST-FORMATS.;2| 9581 - IL:|previous| IL:|date:| "18-Nov-88 10:56:22" -IL:|{DSK}local>lde>lispcore>sources>SEDIT-LIST-FORMATS.;1|) + :EDIT-BY IL:|rmk| + + :CHANGES-TO (IL:SEDIT-FORMATS IL:SELECTC) + (IL:VARS IL:SEDIT-LIST-FORMATSCOMS) + + :PREVIOUS-DATE "17-May-90 11:08:07" IL:|{WMEDLEY}SEDIT-LIST-FORMATS.;1|) -; Copyright (c) 1987, 1988, 1990 by Venue & Xerox Corporation. All rights reserved. +; Copyright (c) 1987-1988, 1990 by Venue & Xerox Corporation. (IL:PRETTYCOMPRINT IL:SEDIT-LIST-FORMATSCOMS) @@ -19,7 +21,7 @@ IL:|{DSK}local>lde>lispcore>sources>SEDIT-LIST-FORMATS.;1|) (IL:SEDIT-FORMATS RETURN-FROM THROW BLOCK (IL:* IL:|;;| - "some handy formats under names we don't expect to find as CAR of form") + "some handy formats under names we don't expect to find as CAR of form") :DEFAULT :DATA :BINDING :BINDING-LIST :LAMBDA-LIST :FBINDING :FBINDING-LIST :COND-CLAUSE :CASE-CLAUSE :HORIZONTAL :HORIZONTAL-NOBREAK :VERTICAL @@ -36,9 +38,9 @@ IL:|{DSK}local>lde>lispcore>sources>SEDIT-LIST-FORMATS.;1|) ECASE ERROR ETYPECASE EVAL-WHEN FLET FORMAT IF IGNORE-ERRORS LABELS LAMBDA IL:LAMBDA LET LET* LOCALLY LIST LIST* MACROLET MULTIPLE-VALUE-BIND MULTIPLE-VALUE-SETQ IL:NLAMBDA IL:OPENLAMBDA OR IL:P PROCEED-CASE PROG PROG* PROGN - PROGV RESTART-CASE IL:SELCHARQ IL:SELECTQ TAGBODY THE TYPECASE UNDOABLY UNLESS - UNWIND-PROTECT WHEN WITH-INPUT-FROM-STRING WITH-OUTPUT-TO-STRING WITH-OPEN-FILE - WITH-OPEN-STREAM IL:WITH.MONITOR IL:WITH.FAST.MONITOR IL:WITH.SPY))) + PROGV RESTART-CASE IL:SELCHARQ IL:SELECTQ IL:SELECTC TAGBODY THE TYPECASE UNDOABLY + UNLESS UNWIND-PROTECT WHEN WITH-INPUT-FROM-STRING WITH-OUTPUT-TO-STRING + WITH-OPEN-FILE WITH-OPEN-STREAM IL:WITH.MONITOR IL:WITH.FAST.MONITOR IL:WITH.SPY))) (IL:PUTPROPS IL:SEDIT-LIST-FORMATS IL:FILETYPE :COMPILE-FILE) @@ -148,7 +150,7 @@ IL:|{DSK}local>lde>lispcore>sources>SEDIT-LIST-FORMATS.;1|) (DEF-LIST-FORMAT DEFCONSTANT DEFVAR) (DEF-LIST-FORMAT DEFDEFINER :INDENT ((2) - 1) + 1) :ARGS (:KEYWORD :CASE-CLAUSE NIL :LAMBDA-LIST NIL)) (DEF-LIST-FORMAT DEFUN :INDENT ((2)) @@ -309,6 +311,8 @@ IL:|{DSK}local>lde>lispcore>sources>SEDIT-LIST-FORMATS.;1|) :ARGS (:KEYWORD NIL :CASE-CLAUSE) :LAST NIL) +(DEF-LIST-FORMAT IL:SELECTC IL:SELECTQ) + (DEF-LIST-FORMAT TAGBODY :INDENT (:TAGBODY :STEP 0) :ARGS (:KEYWORD NIL)) diff --git a/sources/SEDIT-LIST-FORMATS.DFASL b/sources/SEDIT-LIST-FORMATS.DFASL index a385b5f12b0bede322e3b8e5f36034dcf365baeb..1fa4daba98734f2d7c666a0cc67f001b09846ff0 100644 GIT binary patch delta 3492 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 diff --git a/sources/SEDIT-WINDOW b/sources/SEDIT-WINDOW index 3be6a4fb..824149b3 100644 --- a/sources/SEDIT-WINDOW +++ b/sources/SEDIT-WINDOW @@ -1,18 +1,19 @@ -(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE (DEFPACKAGE SEDIT (USE LISP XCL))) -(IL:FILECREATED "14-May-2018 14:12:02"  -IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;2| 84658 +(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE SEDIT (USE LISP XCL)) READTABLE "XCL" BASE 10) - IL:|changes| IL:|to:| (IL:FNS BUTTONEVENTFN) +(IL:FILECREATED "17-Jun-2023 19:59:30" IL:|{WMEDLEY}SEDIT-WINDOW.;2| 87420 - IL:|previous| IL:|date:| " 2-Apr-92 11:08:50" -IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) + :EDIT-BY IL:|rmk| + + :CHANGES-TO (IL:FNS BUTTONEVENTFN) + + :PREVIOUS-DATE "14-May-2018 14:12:02" IL:|{WMEDLEY}SEDIT-WINDOW.;1|) -; Copyright (c) 1986, 1987, 1988, 1990, 1991, 1992, 2018 by Venue & Xerox Corporation. All rights reserved. +; Copyright (c) 1986-1988, 1990-1992, 2018 by Venue & Xerox Corporation. (IL:PRETTYCOMPRINT IL:SEDIT-WINDOWCOMS) -(IL:RPAQQ IL:SEDIT-WINDOWCOMS +(IL:RPAQQ IL:SEDIT-WINDOWCOMS ((IL:PROP IL:FILETYPE IL:SEDIT-WINDOW) (IL:PROP IL:MAKEFILE-ENVIRONMENT IL:SEDIT-WINDOW) (IL:LOCALVARS . T) @@ -36,11 +37,11 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) SET-SELECTION-NOWHERE SHIFT-DOWN SHOW-CARET SHRINKFN STRING-OFFSET TRACK-EXTEND TRACK-SELECT UNDERLINE-SELECTION UPDATE-TITLE))) -(IL:PUTPROPS IL:SEDIT-WINDOW IL:FILETYPE :COMPILE-FILE) +(IL:PUTPROPS IL:SEDIT-WINDOW IL:FILETYPE :COMPILE-FILE) -(IL:PUTPROPS IL:SEDIT-WINDOW IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE - (DEFPACKAGE IL:SEDIT (:USE IL:LISP - IL:XCL)))) +(IL:PUTPROPS IL:SEDIT-WINDOW IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE + (DEFPACKAGE IL:SEDIT (:USE IL:LISP IL:XCL + )))) (IL:DECLARE\: IL:DOEVAL@COMPILE IL:DONTCOPY (IL:LOCALVARS . T) @@ -58,40 +59,64 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) (IL:RPAQQ ICON-TITLE-REGION (5 16 130 24)) -(IL:RPAQ TITLED-ICON (IL:CREATE IL:TITLEDICON IL:ICON IL:_ ICON IL:MASK IL:_ ICON-MASK - IL:TITLEREG IL:_ ICON-TITLE-REGION)) +(IL:RPAQ TITLED-ICON (IL:CREATE IL:TITLEDICON IL:ICON IL:_ ICON IL:MASK IL:_ ICON-MASK IL:TITLEREG + IL:_ ICON-TITLE-REGION)) (IL:RPAQQ KEEP-WINDOW-REGION T) (IL:DECLARE\: IL:DONTCOPY (IL:DECLARE\: IL:EVAL@COMPILE -(IL:PUTPROPS IN-TITLE-BAR IL:MACRO ((WINDOW) +(IL:PUTPROPS IN-TITLE-BAR IL:MACRO ((WINDOW) (NOT (IL:INSIDEP (IL:DSPCLIPPINGREGION NIL WINDOW) (IL:LASTMOUSEX WINDOW) (IL:LASTMOUSEY WINDOW))))) -(IL:PUTPROPS TRACK-BAR-IN-TRACK-SELECT IL:MACRO - (NIL (WHEN (OR (IL:NEQ POINT? (IL:|fetch| POINT-TYPE IL:|of| PENDING-CARET)) - (IL:NEQ BAR-X (IL:|fetch| POINT-X IL:|of| PENDING-CARET)) - (IL:NEQ BAR-LINE (IL:|fetch| POINT-LINE IL:|of| PENDING-CARET))) - (WHEN POINT? - (IL:BLTSHADE IL:BLACKSHADE WINDOW BAR-X BAR-Y 1 BAR-HEIGHT 'IL:INVERT)) - (WHEN (IL:SETQ POINT? (IL:|fetch| POINT-TYPE IL:|of| PENDING-CARET)) - (IL:SETQ BAR-X (IL:|fetch| POINT-X IL:|of| PENDING-CARET)) - (IL:SETQ BAR-LINE (IL:|fetch| POINT-LINE IL:|of| PENDING-CARET)) - (IL:SETQ BAR-HEIGHT (IL:IPLUS (IL:|fetch| LINE-ASCENT IL:|of| BAR-LINE) - (IL:|fetch| LINE-DESCENT IL:|of| BAR-LINE))) - (IL:SETQ BAR-Y (IL:IDIFFERENCE (IL:|fetch| YCOORD IL:|of| BAR-LINE) - (IL:IPLUS (IL:|fetch| LINE-SKIP IL:|of| BAR-LINE) - BAR-HEIGHT))) - (IL:BLTSHADE IL:BLACKSHADE WINDOW BAR-X BAR-Y 1 BAR-HEIGHT 'IL:INVERT))))) +(IL:PUTPROPS TRACK-BAR-IN-TRACK-SELECT IL:MACRO (NIL (WHEN (OR (IL:NEQ POINT? (IL:|fetch| POINT-TYPE + IL:|of| + PENDING-CARET) + ) + (IL:NEQ BAR-X (IL:|fetch| POINT-X + IL:|of| PENDING-CARET + )) + (IL:NEQ BAR-LINE (IL:|fetch| + POINT-LINE + IL:|of| + PENDING-CARET + ))) + (WHEN POINT? + (IL:BLTSHADE IL:BLACKSHADE WINDOW BAR-X + BAR-Y 1 BAR-HEIGHT 'IL:INVERT)) + (WHEN (IL:SETQ POINT? (IL:|fetch| POINT-TYPE + IL:|of| + PENDING-CARET + )) + (IL:SETQ BAR-X (IL:|fetch| POINT-X + IL:|of| PENDING-CARET) + ) + (IL:SETQ BAR-LINE (IL:|fetch| POINT-LINE + IL:|of| + PENDING-CARET + )) + (IL:SETQ BAR-HEIGHT + (IL:IPLUS (IL:|fetch| LINE-ASCENT + IL:|of| BAR-LINE) + (IL:|fetch| LINE-DESCENT + IL:|of| BAR-LINE))) + (IL:SETQ BAR-Y + (IL:IDIFFERENCE (IL:|fetch| YCOORD + IL:|of| BAR-LINE) + (IL:IPLUS (IL:|fetch| LINE-SKIP + IL:|of| BAR-LINE) + BAR-HEIGHT))) + (IL:BLTSHADE IL:BLACKSHADE WINDOW BAR-X + BAR-Y 1 BAR-HEIGHT 'IL:INVERT))))) ) ) (DEFUN SELECT-NODE-SEGMENT (CONTEXT NODE &OPTIONAL (START 1) - END) + END) -(IL:* IL:|;;;| "set the current selection to be a segment under this node") +(IL:* IL:|;;;| "set the current selection to be a segment under this node") (LET ((SELECTION (IL:FETCH SELECTION IL:OF CONTEXT)) (POINT (IL:FETCH CARET-POINT IL:OF CONTEXT))) @@ -100,7 +125,7 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) (IL:|replace| SELECT-END IL:|of| SELECTION IL:|with| END) (SELECT-SEGMENT SELECTION CONTEXT NODE) - (IL:* IL:|;;| "set point to be the selection. This should really be done by select-segment but it doesn't because it expects finalization code to be run after it cause it's generally called from the mouse tracking code which finalizes.") + (IL:* IL:|;;| "set point to be the selection. This should really be done by select-segment but it doesn't because it expects finalization code to be run after it cause it's generally called from the mouse tracking code which finalizes.") (PENDING-DELETE POINT SELECTION))) (IL:DEFINEQ @@ -182,9 +207,10 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) (IL:DSPRIGHTMARGIN 64000 DISPLAY-WINDOW)))) (BUTTONEVENTFN - (IL:LAMBDA (WINDOW) (IL:* IL:\; "Edited 23-Apr-2018 09:37 by rmk:") + (IL:LAMBDA (WINDOW) (IL:* IL:\; "Edited 17-Jun-2023 19:59 by rmk") + (IL:* IL:\; "Edited 23-Apr-2018 09:37 by rmk:") - (IL:* IL:|;;| "called by the window system whenever the user hits a mouse button in an SEdit window. allows selection and setting the caret point") + (IL:* IL:|;;| "called by the window system whenever the user hits a mouse button in an SEdit window. allows selection and setting the caret point") (LET* ((CONTEXT (IL:WINDOWPROP WINDOW 'EDIT-CONTEXT)) (LOCK (AND CONTEXT (IL:|fetch| CONTEXT-LOCK IL:|of| CONTEXT))) @@ -192,12 +218,12 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) (COND ((IL:LASTMOUSESTATE IL:UP) - (IL:* IL:|;;| "oops, no mouse buttons down. what are we doing here?") + (IL:* IL:|;;| "oops, no mouse buttons down. what are we doing here?") NIL) ((NOT (AND CONTEXT (IL:WINDOWPROP WINDOW 'IL:PROCESS))) - (IL:* IL:|;;| "this context or process is dead. make it a dead SEdit.") + (IL:* IL:|;;| "this context or process is dead. make it a dead SEdit.") (IL:|printout| (IL:GETPROMPTWINDOW WINDOW) T "This SEdit is dead.") @@ -209,21 +235,32 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) ((AND (IL:LASTMOUSESTATE IL:RIGHT) (IN-TITLE-BAR WINDOW)) - (IL:* IL:|;;| "right buttoning the title bar or window border gives the default menu of window commands. Not interlocked because want to be able to move window under a break that has the lock.") + (IL:* IL:|;;| "right buttoning the title bar or window border gives the default menu of window commands. Not interlocked because want to be able to move window under a break that has the lock.") (IL:\\CARET.DOWN) (IL:DOWINDOWCOM WINDOW)) ((AND (NOT (IL:TTY.PROCESSP (IL:WINDOWPROP WINDOW 'IL:PROCESS))) (NOT SHIFT-DOWN)) - (IL:* IL:|;;| "just grab the tty and don't change state") + (IL:* IL:|;;| "just grab the tty and don't change state") (IL:TOTOPW WINDOW) (IL:TTY.PROCESS (IL:WINDOWPROP WINDOW 'IL:PROCESS))) + ((AND (EQ SHIFT-DOWN 'COPY) + (IL:MOUSESTATE IL:LEFT) + (IN-TITLE-BAR WINDOW)) + + (IL:* IL:|;;| "RMK: copy-select in the title bar: return the thing being edited") + + (LET ((NAME (IL:LISTGET (IL:WINDOWPROP WINDOW 'TITLE-INFO) + :|name|))) + (WHEN NAME (IL:* IL:\; + "Not sure about FLG and RDTBL") + (IL:BKSYSBUF NAME)))) ((OR (EQ SHIFT-DOWN 'COPY) (IL:OBTAIN.MONITORLOCK LOCK T)) - (IL:* IL:|;;| "at this point we must have the lock, unless we're shift selecting (Copy only: Move and Delete are non-passive operation and must lock)") + (IL:* IL:|;;| "at this point we must have the lock, unless we're shift selecting (Copy only: Move and Delete are non-passive operation and must lock)") (IL:\\CARET.DOWN) (IL:TOTOPW WINDOW) @@ -233,31 +270,27 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) (AND (IL:LASTMOUSESTATE IL:LEFT) (IL:KEYDOWNP 'IL:CTRL)))) - (IL:* IL:|;;| "popup help command menu here.") + (IL:* IL:|;;| "popup help command menu here.") - (IL:* IL:|;;| "RMK: CTRL-LEFT = MIDDLE") + (IL:* IL:|;;| "RMK: CTRL-LEFT = MIDDLE") (HELPMENU CONTEXT)) (T (WITH-PROFILE (IL:|fetch| PROFILE IL:|of| CONTEXT) (PROG NIL (CLOSE-OPEN-NODE CONTEXT) - (IL:* IL:|;;| "record that we're busy making a selection in this window, and make sure that variables we use for recording our temporary state are all ready for action. note that these are global vars, and hence all this code is nonrentrant. shouldn't be a problem, since there's only one mouse") + (IL:* IL:|;;| "record that we're busy making a selection in this window, and make sure that variables we use for recording our temporary state are all ready for action. note that these are global vars, and hence all this code is nonrentrant. shouldn't be a problem, since there's only one mouse") (IL:SETQ SELECTION-PENDING? CONTEXT) - (IL:SETQ PENDING-LAST-X (IL:|fetch| LAST-MOUSE-X IL:|of| - CONTEXT)) - (IL:SETQ PENDING-LAST-Y (IL:|fetch| LAST-MOUSE-Y IL:|of| - CONTEXT)) - (IL:SETQ PENDING-TYPE (IL:|fetch| LAST-MOUSE-TYPE IL:|of| - CONTEXT)) + (IL:SETQ PENDING-LAST-X (IL:|fetch| LAST-MOUSE-X IL:|of| CONTEXT)) + (IL:SETQ PENDING-LAST-Y (IL:|fetch| LAST-MOUSE-Y IL:|of| CONTEXT)) + (IL:SETQ PENDING-TYPE (IL:|fetch| LAST-MOUSE-TYPE IL:|of| CONTEXT)) (IL:SETQ PENDING-SHIFT SHIFT-DOWN) - (IL:|replace| SELECT-NODE IL:|of| PENDING-SELECTION - IL:|with| NIL) + (IL:|replace| SELECT-NODE IL:|of| PENDING-SELECTION IL:|with| NIL) (WHEN (NOT PENDING-SHIFT) - (IL:* IL:|;;| - "if they're setting a new selection take down the main selection") + (IL:* IL:|;;| + "if they're setting a new selection take down the main selection") (SELECTION-DOWN CONTEXT)) (IL:SETQ LAST-MOVE-CLOCK NIL) @@ -268,15 +301,15 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) (TRACK-SELECT CONTEXT WINDOW)) (IL:|until| (CHECK-SELECTION-SHIFT CONTEXT T) IL:|do| (WHEN (NOT (IL:MOUSESTATE IL:UP)) - (GO MOUSE-BUTTON-DOWN)) + (GO MOUSE-BUTTON-DOWN)) (WHEN (IL:IN/SCROLL/BAR? WINDOW IL:LASTMOUSEX IL:LASTMOUSEY - ) (IL:* IL:\; - "let them scroll while making a selection") + ) (IL:* IL:\; + "let them scroll while making a selection") (IL:SCROLL.HANDLER WINDOW)) (IL:BLOCK)) (IL:SETQ SELECTION-PENDING? NIL) - (IL:* IL:\; - "figure out what we should do") + (IL:* IL:\; + "figure out what we should do") (FINALIZE-MOUSE-SELECTION CONTEXT WINDOW))))) (OR (EQ SHIFT-DOWN 'COPY) (IL:RELEASE.MONITORLOCK LOCK))))))) @@ -781,22 +814,22 @@ IL:|{DSK}kaplan>Local>medley3.5>lispcore>sources>SEDIT-WINDOW.;1|) (IL:PUTPROPS IL:SEDIT-WINDOW IL:COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1988 1990 1991 1992 2018)) (IL:DECLARE\: IL:DONTCOPY - (IL:FILEMAP (NIL (9049 9957 (SELECT-NODE-SEGMENT 9049 . 9957)) (9958 84520 (BUILD-WINDOW 9971 . 15811) - (BUTTONEVENTFN 15813 . 21522) (CHECK-SELECTION 21524 . 23564) (CHECK-SELECTION-SHIFT 23566 . 24689) ( -CLOSEFN 24691 . 27694) (CONFLICTING-SELECTION? 27696 . 28457) (DISPLAY-SELECTION 28459 . 29486) ( -DRAW-HIGHLIGHT 29488 . 30618) (DRAW-OUTLINE 30620 . 31975) (DRAW-UNDERLINE 31977 . 32752) (EXPANDFN -32754 . 33261) (EXPANDREGIONFN 33263 . 33853) (EXTEND-SELECTION 33855 . 36432) ( -FINALIZE-MOUSE-SELECTION 36434 . 42980) (FIND-LINE-START 42982 . 43673) (FIND-NODE 43675 . 44950) ( -GET-DESTINATION-CONTEXT 44952 . 45504) (GRAY 45506 . 45893) (GROW-CLICK? 45895 . 47880) ( -GROW-SELECTION 47882 . 48225) (GROW-SELECTION-DEFAULT 48227 . 48598) (HIGHLIGHT-SELECTION 48600 . -48893) (ICON-COPYFN 48895 . 49239) (LESS-PROMPT-WINDOW 49241 . 49610) (NORMALIZE-SELECTION 49612 . -50978) (OUTLINE-SELECTION 50980 . 52118) (PENDING-DELETE 52120 . 52454) (PLACE-CARET-AND-SELECTION -52456 . 54016) (PUNT-SET-POINT 54018 . 54476) (PUNT-SET-SELECTION 54478 . 54927) (REPAINTFN 54929 . -56207) (RESHAPEFN 56209 . 58547) (SCAN-FOR-BOUNDS 58549 . 61092) (SELECT-NODE 61094 . 61464) ( -SELECT-SEGMENT 61466 . 61906) (SELECT-SEGMENT-DEFAULT 61908 . 63935) (SELECTION-DOWN 63937 . 64347) ( -SELECTION-UP 64349 . 64775) (SET-POINT 64777 . 65536) (SET-POINT-NOWHERE 65538 . 65797) ( -SET-POINT-UNKNOWN 65799 . 66420) (SET-SELECTION 66422 . 66855) (SET-SELECTION-ME 66857 . 67949) ( -SET-SELECTION-NOWHERE 67951 . 68149) (SHIFT-DOWN 68151 . 68692) (SHOW-CARET 68694 . 74252) (SHRINKFN -74254 . 76989) (STRING-OFFSET 76991 . 78351) (TRACK-EXTEND 78353 . 80409) (TRACK-SELECT 80411 . 82900) - (UNDERLINE-SELECTION 82902 . 83304) (UPDATE-TITLE 83306 . 84518))))) + (IL:FILEMAP (NIL (11430 12334 (SELECT-NODE-SEGMENT 11430 . 12334)) (12335 87282 (BUILD-WINDOW 12348 . +18188) (BUTTONEVENTFN 18190 . 24284) (CHECK-SELECTION 24286 . 26326) (CHECK-SELECTION-SHIFT 26328 . +27451) (CLOSEFN 27453 . 30456) (CONFLICTING-SELECTION? 30458 . 31219) (DISPLAY-SELECTION 31221 . 32248 +) (DRAW-HIGHLIGHT 32250 . 33380) (DRAW-OUTLINE 33382 . 34737) (DRAW-UNDERLINE 34739 . 35514) (EXPANDFN + 35516 . 36023) (EXPANDREGIONFN 36025 . 36615) (EXTEND-SELECTION 36617 . 39194) ( +FINALIZE-MOUSE-SELECTION 39196 . 45742) (FIND-LINE-START 45744 . 46435) (FIND-NODE 46437 . 47712) ( +GET-DESTINATION-CONTEXT 47714 . 48266) (GRAY 48268 . 48655) (GROW-CLICK? 48657 . 50642) ( +GROW-SELECTION 50644 . 50987) (GROW-SELECTION-DEFAULT 50989 . 51360) (HIGHLIGHT-SELECTION 51362 . +51655) (ICON-COPYFN 51657 . 52001) (LESS-PROMPT-WINDOW 52003 . 52372) (NORMALIZE-SELECTION 52374 . +53740) (OUTLINE-SELECTION 53742 . 54880) (PENDING-DELETE 54882 . 55216) (PLACE-CARET-AND-SELECTION +55218 . 56778) (PUNT-SET-POINT 56780 . 57238) (PUNT-SET-SELECTION 57240 . 57689) (REPAINTFN 57691 . +58969) (RESHAPEFN 58971 . 61309) (SCAN-FOR-BOUNDS 61311 . 63854) (SELECT-NODE 63856 . 64226) ( +SELECT-SEGMENT 64228 . 64668) (SELECT-SEGMENT-DEFAULT 64670 . 66697) (SELECTION-DOWN 66699 . 67109) ( +SELECTION-UP 67111 . 67537) (SET-POINT 67539 . 68298) (SET-POINT-NOWHERE 68300 . 68559) ( +SET-POINT-UNKNOWN 68561 . 69182) (SET-SELECTION 69184 . 69617) (SET-SELECTION-ME 69619 . 70711) ( +SET-SELECTION-NOWHERE 70713 . 70911) (SHIFT-DOWN 70913 . 71454) (SHOW-CARET 71456 . 77014) (SHRINKFN +77016 . 79751) (STRING-OFFSET 79753 . 81113) (TRACK-EXTEND 81115 . 83171) (TRACK-SELECT 83173 . 85662) + (UNDERLINE-SELECTION 85664 . 86066) (UPDATE-TITLE 86068 . 87280))))) IL:STOP diff --git a/sources/SEDIT-WINDOW.DFASL b/sources/SEDIT-WINDOW.DFASL index f1c9091f55830818c5063135be4f4914e3f23ed1..2b0c8ab9602e55f9cb40f16ac73f3909ca26005e 100644 GIT binary patch delta 13108 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 delta 12694 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 N!G!H0%i~{u`F~e7C*lAA From d6a4b3bf88b1a5f81a074c53407d8c3ea424b4da Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Tue, 20 Jun 2023 21:12:13 -0700 Subject: [PATCH 3/3] SEDIT-WINDOW: use COPYINSERT instead of BKSYSBUF for shift-selection from titlebar Gets the package --- sources/SEDIT-WINDOW | 45 +++++++++++++++++++------------------ sources/SEDIT-WINDOW.DFASL | Bin 31358 -> 33848 bytes 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/sources/SEDIT-WINDOW b/sources/SEDIT-WINDOW index 824149b3..53f583f5 100644 --- a/sources/SEDIT-WINDOW +++ b/sources/SEDIT-WINDOW @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE (DEFPACKAGE SEDIT (USE LISP XCL)) READTABLE "XCL" BASE 10) -(IL:FILECREATED "17-Jun-2023 19:59:30" IL:|{WMEDLEY}SEDIT-WINDOW.;2| 87420 +(IL:FILECREATED "20-Jun-2023 21:10:34" IL:|{WMEDLEY}SEDIT-WINDOW.;3| 87531 :EDIT-BY IL:|rmk| :CHANGES-TO (IL:FNS BUTTONEVENTFN) - :PREVIOUS-DATE "14-May-2018 14:12:02" IL:|{WMEDLEY}SEDIT-WINDOW.;1|) + :PREVIOUS-DATE "17-Jun-2023 19:59:30" IL:|{WMEDLEY}SEDIT-WINDOW.;2|) ; Copyright (c) 1986-1988, 1990-1992, 2018 by Venue & Xerox Corporation. @@ -207,7 +207,8 @@ (IL:DSPRIGHTMARGIN 64000 DISPLAY-WINDOW)))) (BUTTONEVENTFN - (IL:LAMBDA (WINDOW) (IL:* IL:\; "Edited 17-Jun-2023 19:59 by rmk") + (IL:LAMBDA (WINDOW) (IL:* IL:\; "Edited 20-Jun-2023 21:10 by rmk") + (IL:* IL:\; "Edited 17-Jun-2023 19:59 by rmk") (IL:* IL:\; "Edited 23-Apr-2018 09:37 by rmk:") (IL:* IL:|;;| "called by the window system whenever the user hits a mouse button in an SEdit window. allows selection and setting the caret point") @@ -256,7 +257,7 @@ :|name|))) (WHEN NAME (IL:* IL:\;  "Not sure about FLG and RDTBL") - (IL:BKSYSBUF NAME)))) + (IL:COPYINSERT NAME)))) ((OR (EQ SHIFT-DOWN 'COPY) (IL:OBTAIN.MONITORLOCK LOCK T)) @@ -814,22 +815,22 @@ (IL:PUTPROPS IL:SEDIT-WINDOW IL:COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1988 1990 1991 1992 2018)) (IL:DECLARE\: IL:DONTCOPY - (IL:FILEMAP (NIL (11430 12334 (SELECT-NODE-SEGMENT 11430 . 12334)) (12335 87282 (BUILD-WINDOW 12348 . -18188) (BUTTONEVENTFN 18190 . 24284) (CHECK-SELECTION 24286 . 26326) (CHECK-SELECTION-SHIFT 26328 . -27451) (CLOSEFN 27453 . 30456) (CONFLICTING-SELECTION? 30458 . 31219) (DISPLAY-SELECTION 31221 . 32248 -) (DRAW-HIGHLIGHT 32250 . 33380) (DRAW-OUTLINE 33382 . 34737) (DRAW-UNDERLINE 34739 . 35514) (EXPANDFN - 35516 . 36023) (EXPANDREGIONFN 36025 . 36615) (EXTEND-SELECTION 36617 . 39194) ( -FINALIZE-MOUSE-SELECTION 39196 . 45742) (FIND-LINE-START 45744 . 46435) (FIND-NODE 46437 . 47712) ( -GET-DESTINATION-CONTEXT 47714 . 48266) (GRAY 48268 . 48655) (GROW-CLICK? 48657 . 50642) ( -GROW-SELECTION 50644 . 50987) (GROW-SELECTION-DEFAULT 50989 . 51360) (HIGHLIGHT-SELECTION 51362 . -51655) (ICON-COPYFN 51657 . 52001) (LESS-PROMPT-WINDOW 52003 . 52372) (NORMALIZE-SELECTION 52374 . -53740) (OUTLINE-SELECTION 53742 . 54880) (PENDING-DELETE 54882 . 55216) (PLACE-CARET-AND-SELECTION -55218 . 56778) (PUNT-SET-POINT 56780 . 57238) (PUNT-SET-SELECTION 57240 . 57689) (REPAINTFN 57691 . -58969) (RESHAPEFN 58971 . 61309) (SCAN-FOR-BOUNDS 61311 . 63854) (SELECT-NODE 63856 . 64226) ( -SELECT-SEGMENT 64228 . 64668) (SELECT-SEGMENT-DEFAULT 64670 . 66697) (SELECTION-DOWN 66699 . 67109) ( -SELECTION-UP 67111 . 67537) (SET-POINT 67539 . 68298) (SET-POINT-NOWHERE 68300 . 68559) ( -SET-POINT-UNKNOWN 68561 . 69182) (SET-SELECTION 69184 . 69617) (SET-SELECTION-ME 69619 . 70711) ( -SET-SELECTION-NOWHERE 70713 . 70911) (SHIFT-DOWN 70913 . 71454) (SHOW-CARET 71456 . 77014) (SHRINKFN -77016 . 79751) (STRING-OFFSET 79753 . 81113) (TRACK-EXTEND 81115 . 83171) (TRACK-SELECT 83173 . 85662) - (UNDERLINE-SELECTION 85664 . 86066) (UPDATE-TITLE 86068 . 87280))))) + (IL:FILEMAP (NIL (11430 12334 (SELECT-NODE-SEGMENT 11430 . 12334)) (12335 87393 (BUILD-WINDOW 12348 . +18188) (BUTTONEVENTFN 18190 . 24395) (CHECK-SELECTION 24397 . 26437) (CHECK-SELECTION-SHIFT 26439 . +27562) (CLOSEFN 27564 . 30567) (CONFLICTING-SELECTION? 30569 . 31330) (DISPLAY-SELECTION 31332 . 32359 +) (DRAW-HIGHLIGHT 32361 . 33491) (DRAW-OUTLINE 33493 . 34848) (DRAW-UNDERLINE 34850 . 35625) (EXPANDFN + 35627 . 36134) (EXPANDREGIONFN 36136 . 36726) (EXTEND-SELECTION 36728 . 39305) ( +FINALIZE-MOUSE-SELECTION 39307 . 45853) (FIND-LINE-START 45855 . 46546) (FIND-NODE 46548 . 47823) ( +GET-DESTINATION-CONTEXT 47825 . 48377) (GRAY 48379 . 48766) (GROW-CLICK? 48768 . 50753) ( +GROW-SELECTION 50755 . 51098) (GROW-SELECTION-DEFAULT 51100 . 51471) (HIGHLIGHT-SELECTION 51473 . +51766) (ICON-COPYFN 51768 . 52112) (LESS-PROMPT-WINDOW 52114 . 52483) (NORMALIZE-SELECTION 52485 . +53851) (OUTLINE-SELECTION 53853 . 54991) (PENDING-DELETE 54993 . 55327) (PLACE-CARET-AND-SELECTION +55329 . 56889) (PUNT-SET-POINT 56891 . 57349) (PUNT-SET-SELECTION 57351 . 57800) (REPAINTFN 57802 . +59080) (RESHAPEFN 59082 . 61420) (SCAN-FOR-BOUNDS 61422 . 63965) (SELECT-NODE 63967 . 64337) ( +SELECT-SEGMENT 64339 . 64779) (SELECT-SEGMENT-DEFAULT 64781 . 66808) (SELECTION-DOWN 66810 . 67220) ( +SELECTION-UP 67222 . 67648) (SET-POINT 67650 . 68409) (SET-POINT-NOWHERE 68411 . 68670) ( +SET-POINT-UNKNOWN 68672 . 69293) (SET-SELECTION 69295 . 69728) (SET-SELECTION-ME 69730 . 70822) ( +SET-SELECTION-NOWHERE 70824 . 71022) (SHIFT-DOWN 71024 . 71565) (SHOW-CARET 71567 . 77125) (SHRINKFN +77127 . 79862) (STRING-OFFSET 79864 . 81224) (TRACK-EXTEND 81226 . 83282) (TRACK-SELECT 83284 . 85773) + (UNDERLINE-SELECTION 85775 . 86177) (UPDATE-TITLE 86179 . 87391))))) IL:STOP diff --git a/sources/SEDIT-WINDOW.DFASL b/sources/SEDIT-WINDOW.DFASL index 2b0c8ab9602e55f9cb40f16ac73f3909ca26005e..3a41cbd983010a342bf2e8416a3763c6d46f9e6b 100644 GIT binary patch delta 11341 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