Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TEDIT: New architecture for key bindings, plus better suggestions for initial window regions #2070

Open
wants to merge 17 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
410 changes: 197 additions & 213 deletions internal/TEDIT-DEBUG

Large diffs are not rendered by default.

Binary file modified internal/TEDIT-DEBUG.LCOM
Binary file not shown.
414 changes: 164 additions & 250 deletions library/tedit/TEDIT

Large diffs are not rendered by default.

432 changes: 265 additions & 167 deletions library/tedit/TEDIT-ABBREV

Large diffs are not rendered by default.

Binary file modified library/tedit/TEDIT-ABBREV.LCOM
Binary file not shown.
65 changes: 26 additions & 39 deletions library/tedit/TEDIT-BUTTONS
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "16-Feb-2025 15:02:06" {WMEDLEY}<library>tedit>TEDIT-BUTTONS.;218 125051
(FILECREATED "22-Mar-2025 14:01:28" {WMEDLEY}<library>TEDIT>TEDIT-BUTTONS.;220 124351

:EDIT-BY rmk

:CHANGES-TO (FNS MB.FIELD.CREATE MB.SPEC.REMAINDER MB.NWAY.SIZEFN MB.NWAY.CREATE)
(VARS TEDIT-BUTTONSCOMS)
:CHANGES-TO (FNS MB.BUTTONEVENTINFN)

:PREVIOUS-DATE "16-Feb-2025 11:10:40" {WMEDLEY}<library>tedit>TEDIT-BUTTONS.;214)
:PREVIOUS-DATE "14-Mar-2025 15:29:51" {WMEDLEY}<library>TEDIT>TEDIT-BUTTONS.;219)


(PRETTYCOMPRINT TEDIT-BUTTONSCOMS)
@@ -20,7 +19,7 @@
(COMS (* ;
 "Generic functions for the various types of buttons.")
(RECORDS MBARG)
(FNS MB.ADD MB.DELETE MB.GET MB.GET.MBARG TEDITMENU.STREAM TEDIT.BACKTOMAIN))
(FNS MB.ADD MB.DELETE MB.GET MB.GET.MBARG TEDIT.BACKTOMAIN))
[COMS (* ; "Simple Menu Button support")
(FNS MB.BUTTONEVENTINFN MB.DISPLAYFN MB.SETIMAGE MB.SIZEFN MB.WHENOPERATEDONFN
MB.COPYFN MB.GETFN MB.PUTFN MB.SHOWSELFN MB.CREATE MB.CHANGENAME MB.INIT
@@ -289,17 +288,6 @@
ARGENDPC _ ENDPC
ARGIDPC _ IDPC])

(TEDITMENU.STREAM
[LAMBDA (TSTREAM) (* ; "Edited 29-Sep-2024 15:29 by rmk")
(* ; "Edited 28-Aug-2024 15:48 by rmk")
(* ; "Edited 10-Apr-2023 09:53 by rmk")
(* jds "13-Aug-84 14:10")

(* ;; "returns the textstream of the teditmenu attached to this stream if any")

(for W in (ATTACHEDWINDOWS (\TEDIT.MAINW TSTREAM)) when (TEDITMENUP W "TEdit Menu")
do (RETURN (TEXTSTREAM W])

(TEDIT.BACKTOMAIN
[LAMBDA (MENUSTREAM) (* ; "Edited 20-Oct-2024 10:02 by rmk")
(* ; "Edited 25-Aug-2024 09:17 by rmk")
@@ -320,6 +308,7 @@

(MB.BUTTONEVENTINFN
[LAMBDA (OBJ MENUSTREAM SEL RELX RELY SELWINDOW HOSTSTREAM BUTTON)
(* ; "Edited 22-Mar-2025 14:00 by rmk")
(* ; "Edited 12-Jan-2025 13:03 by rmk")
(* ; "Edited 28-Dec-2024 20:21 by rmk")
(* ; "Edited 22-Aug-2024 16:26 by rmk")
@@ -330,7 +319,6 @@

(* ;; "Called when a mouse-button is down inside the object, RELX and RELY are in the objects coordinate system. Decline unless it is a normal left-button selection within the object.")

(TEDIT.PROMPTCLEAR MENUSTREAM)
(if [OR (EQ BUTTON 'RIGHT)
(SHIFTDOWNP 'CTRL)
(SHIFTDOWNP 'SHIFT)
@@ -1970,26 +1958,25 @@
(MB.FIELD.INIT)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (3338 19860 (MB.ADD 3348 . 9777) (MB.DELETE 9779 . 10153) (MB.GET 10155 . 16925) (
MB.GET.MBARG 16927 . 18596) (TEDITMENU.STREAM 18598 . 19265) (TEDIT.BACKTOMAIN 19267 . 19858)) (19904
39766 (MB.BUTTONEVENTINFN 19914 . 21408) (MB.DISPLAYFN 21410 . 23469) (MB.SETIMAGE 23471 . 24639) (
MB.SIZEFN 24641 . 26189) (MB.WHENOPERATEDONFN 26191 . 28140) (MB.COPYFN 28142 . 28600) (MB.GETFN 28602
. 29563) (MB.PUTFN 29565 . 30665) (MB.SHOWSELFN 30667 . 32176) (MB.CREATE 32178 . 36201) (
MB.CHANGENAME 36203 . 36685) (MB.INIT 36687 . 38148) (MB.TRACK.UNTIL 38150 . 38845) (MB.DON'T 38847 .
39143) (MB.SPEC.REMAINDER 39145 . 39764)) (39928 49918 (MB.3STATE.CREATE 39938 . 40802) (
MB.3STATE.DISPLAYFN 40804 . 41790) (MB.3STATE.SHOWSELFN 41792 . 44103) (MB.3STATE.INIT 44105 . 45516)
(MB.3STATE.SETSTATEFN 45518 . 46176) (MB.3STATE.BUTTONEVENTINFN 46178 . 49916)) (50073 80741 (
MB.NWAY.CREATE 50083 . 56125) (MB.NWAY.DISPLAYFN 56127 . 56990) (MB.NWAY.WHENOPERATEDONFN 56992 .
59182) (MB.NWAY.SIZEFN 59184 . 63120) (MB.NWAY.SELECT 63122 . 66692) (MB.NWAY.BUTTONEVENTINFN 66694 .
69906) (MB.NWAY.NEWMENUBUTTON 69908 . 70620) (MB.NWAY.COPYFN 70622 . 71589) (MB.NWAY.INIT 71591 .
73082) (MB.NWAY.ARRANGEBUTTONS 73084 . 75055) (MB.NWAY.ADDITEM 75057 . 78919) (MB.NWAY.FINDSUBOBJ
78921 . 79435) (MB.NWAY.SETSTATEFN 79437 . 80739)) (80820 92707 (MB.TOGGLE.CREATE 80830 . 81825) (
MB.TOGGLE.DISPLAYFN 81827 . 83310) (MB.TOGGLE.INIT 83312 . 85111) (MB.SET.TOGGLE 85113 . 86314) (
MB.TOGGLE.SETSTATEFN 86316 . 87156) (MB.TOGGLE.BUTTONEVENTINFN 87158 . 91362) (
MB.TOGGLE.WHENOPERATEDONFN 91364 . 92705)) (92788 124972 (MB.FIELD.CREATE 92798 . 98249) (
MB.FIELD.DISPLAYFN 98251 . 99042) (MB.FIELD.IMAGEBOXFN 99044 . 100526) (MB.FIELD.PREFIXCREATE 100528
. 104464) (MB.FIELD.SUFFIXCREATE 104466 . 106126) (MB.FIELD.INIT 106128 . 107895) (
MB.FIELD.WHENOPERATEDONFN 107897 . 109168) (MB.FIELD.GETSTATEFN 109170 . 113104) (MB.FIELD.SETSTATEFN
113106 . 117801) (MB.FIELD.BUTTONEVENTINFN 117803 . 120108) (MB.FIELD.SIZEFN 120110 . 120350) (
MB.FIELD.INSURETYPE 120352 . 124970)))))
(FILEMAP (NIL (3233 19086 (MB.ADD 3243 . 9672) (MB.DELETE 9674 . 10048) (MB.GET 10050 . 16820) (
MB.GET.MBARG 16822 . 18491) (TEDIT.BACKTOMAIN 18493 . 19084)) (19130 39066 (MB.BUTTONEVENTINFN 19140
. 20708) (MB.DISPLAYFN 20710 . 22769) (MB.SETIMAGE 22771 . 23939) (MB.SIZEFN 23941 . 25489) (
MB.WHENOPERATEDONFN 25491 . 27440) (MB.COPYFN 27442 . 27900) (MB.GETFN 27902 . 28863) (MB.PUTFN 28865
. 29965) (MB.SHOWSELFN 29967 . 31476) (MB.CREATE 31478 . 35501) (MB.CHANGENAME 35503 . 35985) (
MB.INIT 35987 . 37448) (MB.TRACK.UNTIL 37450 . 38145) (MB.DON'T 38147 . 38443) (MB.SPEC.REMAINDER
38445 . 39064)) (39228 49218 (MB.3STATE.CREATE 39238 . 40102) (MB.3STATE.DISPLAYFN 40104 . 41090) (
MB.3STATE.SHOWSELFN 41092 . 43403) (MB.3STATE.INIT 43405 . 44816) (MB.3STATE.SETSTATEFN 44818 . 45476)
(MB.3STATE.BUTTONEVENTINFN 45478 . 49216)) (49373 80041 (MB.NWAY.CREATE 49383 . 55425) (
MB.NWAY.DISPLAYFN 55427 . 56290) (MB.NWAY.WHENOPERATEDONFN 56292 . 58482) (MB.NWAY.SIZEFN 58484 .
62420) (MB.NWAY.SELECT 62422 . 65992) (MB.NWAY.BUTTONEVENTINFN 65994 . 69206) (MB.NWAY.NEWMENUBUTTON
69208 . 69920) (MB.NWAY.COPYFN 69922 . 70889) (MB.NWAY.INIT 70891 . 72382) (MB.NWAY.ARRANGEBUTTONS
72384 . 74355) (MB.NWAY.ADDITEM 74357 . 78219) (MB.NWAY.FINDSUBOBJ 78221 . 78735) (MB.NWAY.SETSTATEFN
78737 . 80039)) (80120 92007 (MB.TOGGLE.CREATE 80130 . 81125) (MB.TOGGLE.DISPLAYFN 81127 . 82610) (
MB.TOGGLE.INIT 82612 . 84411) (MB.SET.TOGGLE 84413 . 85614) (MB.TOGGLE.SETSTATEFN 85616 . 86456) (
MB.TOGGLE.BUTTONEVENTINFN 86458 . 90662) (MB.TOGGLE.WHENOPERATEDONFN 90664 . 92005)) (92088 124272 (
MB.FIELD.CREATE 92098 . 97549) (MB.FIELD.DISPLAYFN 97551 . 98342) (MB.FIELD.IMAGEBOXFN 98344 . 99826)
(MB.FIELD.PREFIXCREATE 99828 . 103764) (MB.FIELD.SUFFIXCREATE 103766 . 105426) (MB.FIELD.INIT 105428
. 107195) (MB.FIELD.WHENOPERATEDONFN 107197 . 108468) (MB.FIELD.GETSTATEFN 108470 . 112404) (
MB.FIELD.SETSTATEFN 112406 . 117101) (MB.FIELD.BUTTONEVENTINFN 117103 . 119408) (MB.FIELD.SIZEFN
119410 . 119650) (MB.FIELD.INSURETYPE 119652 . 124270)))))
STOP
Binary file modified library/tedit/TEDIT-BUTTONS.LCOM
Binary file not shown.
13 changes: 7 additions & 6 deletions library/tedit/TEDIT-CHAT
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "24-Jun-2024 00:05:09" {WMEDLEY}<library>tedit>TEDIT-CHAT.;16 12363
(FILECREATED "11-Mar-2025 15:41:08" {WMEDLEY}<library>tedit>TEDIT-CHAT.;17 12449

:EDIT-BY rmk

:CHANGES-TO (FNS TEDITCHAT.CHARFN)

:PREVIOUS-DATE " 2-May-2024 18:09:26" {WMEDLEY}<library>tedit>TEDIT-CHAT.;15)
:PREVIOUS-DATE "24-Jun-2024 00:05:09" {WMEDLEY}<library>tedit>TEDIT-CHAT.;16)


(PRETTYCOMPRINT TEDIT-CHATCOMS)
@@ -70,7 +70,8 @@
(replace (CHAT.STATE HELD) of STATE with NIL])

(TEDITCHAT.CHARFN
[LAMBDA (CH CHAT.STATE) (* ; "Edited 24-Jun-2024 00:04 by rmk")
[LAMBDA (CH CHAT.STATE) (* ; "Edited 11-Mar-2025 15:40 by rmk")
(* ; "Edited 24-Jun-2024 00:04 by rmk")
(* ; "Edited 2-May-2024 18:09 by rmk")
(* ; "Edited 22-Dec-2023 23:57 by rmk")
(* ; "Edited 18-Mar-2023 20:08 by rmk")
@@ -79,7 +80,7 @@
(TEXTOBJ (TEXTOBJ TSTREAM)))
(\CARET.DOWN (FGETTOBJ TEXTOBJ DS))
(SELCHARQ CH
(BS (\TEDIT.CHARDELETE TSTREAM (FGETTOBJ TEXTOBJ SEL)))
(BS (\TEDIT.CHARDELETE TSTREAM))
(LF NIL)
(BOUT TSTREAM CH])
)
@@ -213,6 +214,6 @@
CHATDECLS)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (886 4544 (TEDITSTREAM.INIT 896 . 1823) (TEDITCHAT.MENUFN 1825 . 3661) (TEDITCHAT.CHARFN
3663 . 4542)) (4591 11475 (TEDIT.DISPLAYTEXT 4601 . 11473)))))
(FILEMAP (NIL (886 4630 (TEDITSTREAM.INIT 896 . 1823) (TEDITCHAT.MENUFN 1825 . 3661) (TEDITCHAT.CHARFN
3663 . 4628)) (4677 11561 (TEDIT.DISPLAYTEXT 4687 . 11559)))))
STOP
Binary file modified library/tedit/TEDIT-CHAT.LCOM
Binary file not shown.
831 changes: 110 additions & 721 deletions library/tedit/TEDIT-COMMAND

Large diffs are not rendered by default.

Binary file modified library/tedit/TEDIT-COMMAND.LCOM
Binary file not shown.
67 changes: 35 additions & 32 deletions library/tedit/TEDIT-FILE
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "22-Feb-2025 16:00:43" {WMEDLEY}<library>TEDIT>TEDIT-FILE.;604 161000
(FILECREATED "14-Mar-2025 15:29:22" {WMEDLEY}<library>tedit>TEDIT-FILE.;605 161312

:EDIT-BY rmk

:CHANGES-TO (FNS TEDIT.PUT)
:CHANGES-TO (FNS TEDIT.PUT TEDIT.GET)

:PREVIOUS-DATE "19-Feb-2025 12:11:42" {WMEDLEY}<library>TEDIT>TEDIT-FILE.;603)
:PREVIOUS-DATE "22-Feb-2025 16:00:43" {MEDLEY}<library>tedit>TEDIT-FILE.;27)


(PRETTYCOMPRINT TEDIT-FILECOMS)
@@ -117,7 +117,8 @@
(DEFINEQ

(TEDIT.GET
[LAMBDA (TSTREAM FILE UNFORMATTED? PROPS) (* ; "Edited 26-Aug-2024 16:15 by rmk")
[LAMBDA (TSTREAM FILE UNFORMATTED? PROPS) (* ; "Edited 14-Mar-2025 11:52 by rmk")
(* ; "Edited 26-Aug-2024 16:15 by rmk")
(* ; "Edited 11-Aug-2024 12:13 by rmk")
(* ; "Edited 29-Jun-2024 16:30 by rmk")
(* ; "Edited 18-May-2024 16:31 by rmk")
@@ -151,7 +152,7 @@
[SETQ FILE (\TEDIT.MAKEFILENAME (OR FILE (TEDIT.GETINPUT TEXTOBJ "GET from: "
(OR (GETTEXTPROP TEXTOBJ
'LASTGETFILENAME)
(\TEXTSTREAM.FILENAME TEXTOBJ]
(\TEDIT.LIKELY.FILENAME TEXTOBJ]
(CL:UNLESS FILE
(TEDIT.PROMPTPRINT TEXTOBJ "No input file--aborted" T T)
(RETURN))
@@ -390,7 +391,8 @@
(TEDIT.INCLUDE TSTREAM INFILE START END SAFE T])

(TEDIT.PUT
[LAMBDA (TSTREAM FILE FORCENEW UNFORMATTED? FORMAT QUIET) (* ; "Edited 22-Feb-2025 15:56 by rmk")
[LAMBDA (TSTREAM FILE FORCENEW UNFORMATTED? FORMAT QUIET) (* ; "Edited 14-Mar-2025 11:52 by rmk")
(* ; "Edited 22-Feb-2025 15:56 by rmk")
(* ; "Edited 23-Dec-2024 23:02 by rmk")
(* ; "Edited 11-Aug-2024 12:30 by rmk")
(* ; "Edited 29-Jun-2024 10:31 by rmk")
@@ -452,10 +454,11 @@
(SETQ FORCENEW 'DETEMPLATE)))
[SETQ FILE (\TEDIT.MAKEFILENAME (TEDIT.GETINPUT TEXTOBJ "Put to: "
(CL:UNLESS FORCENEW
(\TEXTSTREAM.FILENAME
(
\TEDIT.LIKELY.FILENAME
TEXTOBJ UNFORMATTED?
])
(T (SETQ FILE (\TEXTSTREAM.FILENAME TEXTOBJ UNFORMATTED?)))
(T (SETQ FILE (\TEDIT.LIKELY.FILENAME TEXTOBJ UNFORMATTED?)))
NIL)
(CL:UNLESS FILE (* ; "No file to put to.")
(TEDIT.PROMPTPRINT TEXTOBJ "No output file--aborted" T T)
@@ -2519,28 +2522,28 @@

(RPAQ? *TEDIT-FILE-READTABLE* (COPYREADTABLE \ORIGREADTABLE))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4999 34243 (TEDIT.GET 5009 . 11018) (TEDIT.FORMATTEDFILEP 11020 . 12336) (
TEDIT.FILEDATE 12338 . 13509) (TEDIT.INCLUDE 13511 . 21540) (TEDIT.RAW.INCLUDE 21542 . 22350) (
TEDIT.PUT 22352 . 30408) (TEDIT.PUT.STREAM 30410 . 34241)) (34244 54014 (\TEDIT.GET.FOREIGN.FILE 34254
. 37679) (\TEDIT.GET.UNFORMATTED.FILE 37681 . 41673) (\TEDIT.GET.FORMATTED.FILE 41675 . 44593) (
\TEDIT.FORMATTEDSTREAMP 44595 . 47613) (\ARBIN 47615 . 48335) (\ATMIN 48337 . 48874) (\DWIN 48876 .
49255) (\STRINGIN 49257 . 49965) (\TEDIT.GET.TRAILER 49967 . 52483) (\TEDIT.CACHEFILE 52485 . 54012))
(54180 67934 (\TEDIT.GET.PIECES3 54190 . 64696) (\TEDIT.GET.IDATE3 64698 . 66093) (
\TEDIT.MAKE.STRINGPIECE 66095 . 67932)) (67935 80310 (\TEDIT.GET.UNFORMATTED.FILE.XCCS 67945 . 74061)
(\TEDIT.INTERPRET.XCCS.SHIFTS 74063 . 80308)) (80332 86354 (\TEDIT.GET.UNFORMATTED.FILE.UTF8 80342 .
86352)) (86377 95002 (\TEDIT.GET.CHARLOOKS.LIST 86387 . 87118) (\TEDIT.GET.SINGLE.CHARLOOKS 87120 .
91814) (\TEDIT.GET.CHARLOOKS 91816 . 93146) (\TEDIT.GET.PARALOOKS.INDEX 93148 . 93692) (
\TEDIT.GET.CHARLOOKS.INDEX 93694 . 95000)) (95003 102660 (\TEDIT.GET.PARALOOKS.LIST 95013 . 95635) (
\TEDIT.GET.SINGLE.PARALOOKS 95637 . 102658)) (102661 106251 (\TEDIT.GET.OBJECT 102671 . 106249)) (
106313 138190 (\TEDIT.PUT.PCTB 106323 . 115973) (\TEDIT.PUT.PCTB.PIECEDATA 115975 . 119173) (
\TEDIT.PUT.TRAILER 119175 . 119942) (\TEDIT.PUT.PCTB.MERGEABLE 119944 . 123378) (
\TEDIT.PUT.UTF8.SPLITPIECES 123380 . 128082) (\TEDIT.PUT.PCTB.NEXTNEW 128084 . 132351) (
\TEDIT.INSERT.NEWPIECES 132353 . 135788) (\TEDIT.PUTRESET 135790 . 136032) (\ARBOUT 136034 . 136758) (
\ATMOUT 136760 . 137365) (\DWOUT 137367 . 137646) (\STRINGOUT 137648 . 138188)) (138191 150266 (
\TEDIT.PUT.CHARLOOKS.LIST 138201 . 139873) (\TEDIT.PUT.SINGLE.CHARLOOKS 139875 . 145610) (
\TEDIT.PUT.CHARLOOKS 145612 . 146837) (\TEDIT.PUT.CHARLOOKS1 146839 . 147890) (\TEDIT.PUT.OBJECT
147892 . 150264)) (150267 157906 (\TEDIT.PUT.PARALOOKS.LIST 150277 . 151179) (
\TEDIT.PUT.SINGLE.PARALOOKS 151181 . 156765) (\TEDIT.PUT.PARALOOKS 156767 . 157904)) (158001 160770 (
TEDITFROMLISPSOURCE 158011 . 160019) (SHELLSCRIPTP 160021 . 160250) (TEDITFROMSHELLSCRIPT 160252 .
160768)))))
(FILEMAP (NIL (5007 34555 (TEDIT.GET 5017 . 11137) (TEDIT.FORMATTEDFILEP 11139 . 12455) (
TEDIT.FILEDATE 12457 . 13628) (TEDIT.INCLUDE 13630 . 21659) (TEDIT.RAW.INCLUDE 21661 . 22469) (
TEDIT.PUT 22471 . 30720) (TEDIT.PUT.STREAM 30722 . 34553)) (34556 54326 (\TEDIT.GET.FOREIGN.FILE 34566
. 37991) (\TEDIT.GET.UNFORMATTED.FILE 37993 . 41985) (\TEDIT.GET.FORMATTED.FILE 41987 . 44905) (
\TEDIT.FORMATTEDSTREAMP 44907 . 47925) (\ARBIN 47927 . 48647) (\ATMIN 48649 . 49186) (\DWIN 49188 .
49567) (\STRINGIN 49569 . 50277) (\TEDIT.GET.TRAILER 50279 . 52795) (\TEDIT.CACHEFILE 52797 . 54324))
(54492 68246 (\TEDIT.GET.PIECES3 54502 . 65008) (\TEDIT.GET.IDATE3 65010 . 66405) (
\TEDIT.MAKE.STRINGPIECE 66407 . 68244)) (68247 80622 (\TEDIT.GET.UNFORMATTED.FILE.XCCS 68257 . 74373)
(\TEDIT.INTERPRET.XCCS.SHIFTS 74375 . 80620)) (80644 86666 (\TEDIT.GET.UNFORMATTED.FILE.UTF8 80654 .
86664)) (86689 95314 (\TEDIT.GET.CHARLOOKS.LIST 86699 . 87430) (\TEDIT.GET.SINGLE.CHARLOOKS 87432 .
92126) (\TEDIT.GET.CHARLOOKS 92128 . 93458) (\TEDIT.GET.PARALOOKS.INDEX 93460 . 94004) (
\TEDIT.GET.CHARLOOKS.INDEX 94006 . 95312)) (95315 102972 (\TEDIT.GET.PARALOOKS.LIST 95325 . 95947) (
\TEDIT.GET.SINGLE.PARALOOKS 95949 . 102970)) (102973 106563 (\TEDIT.GET.OBJECT 102983 . 106561)) (
106625 138502 (\TEDIT.PUT.PCTB 106635 . 116285) (\TEDIT.PUT.PCTB.PIECEDATA 116287 . 119485) (
\TEDIT.PUT.TRAILER 119487 . 120254) (\TEDIT.PUT.PCTB.MERGEABLE 120256 . 123690) (
\TEDIT.PUT.UTF8.SPLITPIECES 123692 . 128394) (\TEDIT.PUT.PCTB.NEXTNEW 128396 . 132663) (
\TEDIT.INSERT.NEWPIECES 132665 . 136100) (\TEDIT.PUTRESET 136102 . 136344) (\ARBOUT 136346 . 137070) (
\ATMOUT 137072 . 137677) (\DWOUT 137679 . 137958) (\STRINGOUT 137960 . 138500)) (138503 150578 (
\TEDIT.PUT.CHARLOOKS.LIST 138513 . 140185) (\TEDIT.PUT.SINGLE.CHARLOOKS 140187 . 145922) (
\TEDIT.PUT.CHARLOOKS 145924 . 147149) (\TEDIT.PUT.CHARLOOKS1 147151 . 148202) (\TEDIT.PUT.OBJECT
148204 . 150576)) (150579 158218 (\TEDIT.PUT.PARALOOKS.LIST 150589 . 151491) (
\TEDIT.PUT.SINGLE.PARALOOKS 151493 . 157077) (\TEDIT.PUT.PARALOOKS 157079 . 158216)) (158313 161082 (
TEDITFROMLISPSOURCE 158323 . 160331) (SHELLSCRIPTP 160333 . 160562) (TEDITFROMSHELLSCRIPT 160564 .
161080)))))
STOP
Binary file modified library/tedit/TEDIT-FILE.LCOM
Binary file not shown.
425 changes: 266 additions & 159 deletions library/tedit/TEDIT-FIND

Large diffs are not rendered by default.

Binary file modified library/tedit/TEDIT-FIND.LCOM
Binary file not shown.
2,292 changes: 1,659 additions & 633 deletions library/tedit/TEDIT-FNKEYS

Large diffs are not rendered by default.

Binary file modified library/tedit/TEDIT-FNKEYS.LCOM
Binary file not shown.
51 changes: 29 additions & 22 deletions library/tedit/TEDIT-HISTORY
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED " 6-Feb-2025 15:42:44" {WMEDLEY}<library>TEDIT>TEDIT-HISTORY.;221 53072
(FILECREATED "16-Mar-2025 18:50:43" {WMEDLEY}<library>tedit>TEDIT-HISTORY.;225 53719

:EDIT-BY rmk

:CHANGES-TO (FNS \TEDIT.HISTORYADD.COMPOSITE)
:CHANGES-TO (FNS \TEDIT.UNDO1 TEDIT.REDO)

:PREVIOUS-DATE " 2-Feb-2025 11:32:56" {WMEDLEY}<library>TEDIT>TEDIT-HISTORY.;220)
:PREVIOUS-DATE "15-Mar-2025 22:42:11" {WMEDLEY}<library>tedit>TEDIT-HISTORY.;224)


(PRETTYCOMPRINT TEDIT-HISTORYCOMS)
@@ -326,7 +326,8 @@
(DEFINEQ

(TEDIT.UNDO
[LAMBDA (TSTREAM NOUNDOUNDO) (* ; "Edited 8-Dec-2024 19:41 by rmk")
[LAMBDA (TSTREAM NOUNDOUNDO) (* ; "Edited 13-Mar-2025 15:47 by rmk")
(* ; "Edited 8-Dec-2024 19:41 by rmk")
(* ; "Edited 25-Nov-2024 13:17 by rmk")
(* ; "Edited 12-Aug-2024 10:49 by rmk")
(* ; "Edited 3-Jul-2024 21:21 by rmk")
@@ -372,6 +373,7 @@

(* ;; "We can get into trouble if there is an interrupt in the middle of undoing the full set of events for a previous action, or even in the middle of a singleton event.")

(\TEDIT.RESET.EXTEND.PENDING.DELETE TEXTOBJ)
(TEDIT.PROMPTCLEAR TSTREAM)
(\TEDIT.SHOWSEL SEL NIL TEXTOBJ)
(\TEDIT.UNDO1 TSTREAM EVENT)
@@ -394,7 +396,8 @@
(\TEDIT.SHOWSEL SEL T TEXTOBJ])

(\TEDIT.UNDO1
[LAMBDA (TSTREAM EVENT) (* ; "Edited 25-Nov-2024 13:56 by rmk")
[LAMBDA (TSTREAM EVENT) (* ; "Edited 16-Mar-2025 18:46 by rmk")
(* ; "Edited 25-Nov-2024 13:56 by rmk")
(* ; "Edited 29-Sep-2024 13:51 by rmk")
(* ; "Edited 22-Sep-2024 21:41 by rmk")
(* ; "Edited 19-Aug-2024 00:11 by rmk")
@@ -423,9 +426,9 @@
(\TEDIT.UNDO.PARALOOKS TEXTOBJ EVENT))
(:PageFormat (* ; "Pageframe change")
(\TEDIT.UNDO.PAGELOOKS TEXTOBJ EVENT))
((LIST :Replace :LowerCase :UpperCase)
((LIST :Replace :Transform)

(* ;; "He replaced one piece of text with another ; Lower-casing and upper-casing have the same undo event.")
(* ;; "He replaced one portion of text with another ; Transforms have the same undo event but different REDO's.")

(\TEDIT.UNDO.REPLACE TEXTOBJ EVENT (GETTH EVENT THACTION)))
(:ReplaceCode (\TEDIT.UNDO.REPLACECODE TEXTOBJ EVENT))
@@ -454,7 +457,8 @@
T])

(TEDIT.REDO
[LAMBDA (TSTREAM) (* ; "Edited 2-Feb-2025 11:28 by rmk")
[LAMBDA (TSTREAM) (* ; "Edited 16-Mar-2025 18:48 by rmk")
(* ; "Edited 2-Feb-2025 11:28 by rmk")
(* ; "Edited 8-Dec-2024 17:53 by rmk")
(* ; "Edited 27-Nov-2024 23:11 by rmk")
(* ; "Edited 26-Sep-2024 16:49 by rmk")
@@ -497,10 +501,12 @@
(:Replace (* ;
 "It was a replacement (a del/insert combo)")
(\TEDIT.REDO.REPLACE TEXTOBJ EVENT (GETTH EVENT THACTION)))
(:Transform (\TEDIT.KEY.TRANSFORM TSTREAM (GETTH EVENT THOLDINFO)))
(:LowerCase (* ; "He lower-cased something")
(\TEDIT.LCASE.SEL TEXTOBJ TEXTOBJ SEL))
(\TEDIT.LCASE.SEL TSTREAM TEXTOBJ SEL))
(:UpperCase (* ; "He upper-cased something")
(\TEDIT.UCASE.SEL TEXTOBJ TEXTOBJ SEL))
(\TEDIT.UCASE.SEL TSTREAM TEXTOBJ SEL))
(:InitialCap (\TEDIT.KEY.INITIALCAP TSTREAM TEXTOBJ SEL))
(:CharLooks (* ; "It was a character looks change")
(\TEDIT.CHANGE.CHARLOOKS TSTREAM (CAR (GETTH EVENT THOLDINFO))
SEL))
@@ -635,14 +641,15 @@
(\TEDIT.SHOWSEL SEL T TSTREAM])

(\TEDIT.UNDO.REPLACE
[LAMBDA (TEXTOBJ EVENT ACTION) (* ; "Edited 13-Sep-2024 23:50 by rmk")
[LAMBDA (TEXTOBJ EVENT ACTION) (* ; "Edited 15-Mar-2025 22:35 by rmk")
(* ; "Edited 13-Sep-2024 23:50 by rmk")
(* ; "Edited 7-Jul-2024 11:59 by rmk")
(* ; "Edited 15-Mar-2024 13:54 by rmk")
(* ; "Edited 30-May-2023 23:10 by rmk")
(* ; "Edited 27-May-2023 16:49 by rmk")
(* ; "Edited 24-May-2023 22:43 by rmk")

(* ;; "This undoes the replacement, but tracks for REDO whether the action was replace, lowercase, or uppercase.")
(* ;; "This undoes the replacement, but tracks for REDO whether the action was replace, lowercase, uppercase, or initialcap.")

(\TEDIT.REPLACE.SELPIECES (\TEDIT.SELPIECES.COPY (GETTH EVENT THDELETEDPIECES)
NIL TEXTOBJ)
@@ -839,14 +846,14 @@
(\TEDIT.THELP 'Redo-composite])
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (4913 5934 (\TEDIT.HISTORYEVENT.DEFPRINT 4923 . 5932)) (7024 17609 (\TEDIT.HISTORYADD
7034 . 11895) (\TEDIT.HISTORYADD.COMPOSITE 11897 . 12803) (\TEDIT.CUMULATE.EVENTS 12805 . 14399) (
\TEDIT.COMPOSITE.EVENT 14401 . 15137) (\TEDIT.HISTORY.PROP 15139 . 16502) (\TEDIT.HISTORY.EVENT 16504
. 17433) (\TEDIT.POPEVENT 17435 . 17607)) (17662 35601 (TEDIT.UNDO 17672 . 22066) (\TEDIT.UNDO1 22068
. 26280) (TEDIT.REDO 26282 . 32755) (\TEDIT.UNDO.UNDO 32757 . 35599)) (35602 50688 (
\TEDIT.UNDO.INSERT 35612 . 36525) (\TEDIT.UNDO.DELETE 36527 . 37321) (\TEDIT.UNDO.MOVE 37323 . 38912)
(\TEDIT.UNDO.REPLACE 38914 . 40010) (\TEDIT.UNDO.CHARLOOKS 40012 . 44586) (\TEDIT.UNDO.PARALOOKS 44588
. 48820) (\TEDIT.UNDO.PAGELOOKS 48822 . 49231) (\TEDIT.UNDO.COMPOSITE 49233 . 50460) (
\TEDIT.UNDO.REPLACECODE 50462 . 50686)) (50689 53049 (\TEDIT.REDO.INSERT 50699 . 51432) (
\TEDIT.REDO.REPLACE 51434 . 52765) (\TEDIT.REDO.COMPOSITE 52767 . 53047)))))
(FILEMAP (NIL (4909 5930 (\TEDIT.HISTORYEVENT.DEFPRINT 4919 . 5928)) (7020 17605 (\TEDIT.HISTORYADD
7030 . 11891) (\TEDIT.HISTORYADD.COMPOSITE 11893 . 12799) (\TEDIT.CUMULATE.EVENTS 12801 . 14395) (
\TEDIT.COMPOSITE.EVENT 14397 . 15133) (\TEDIT.HISTORY.PROP 15135 . 16498) (\TEDIT.HISTORY.EVENT 16500
. 17429) (\TEDIT.POPEVENT 17431 . 17603)) (17658 36127 (TEDIT.UNDO 17668 . 22227) (\TEDIT.UNDO1 22229
. 26541) (TEDIT.REDO 26543 . 33281) (\TEDIT.UNDO.UNDO 33283 . 36125)) (36128 51335 (
\TEDIT.UNDO.INSERT 36138 . 37051) (\TEDIT.UNDO.DELETE 37053 . 37847) (\TEDIT.UNDO.MOVE 37849 . 39438)
(\TEDIT.UNDO.REPLACE 39440 . 40657) (\TEDIT.UNDO.CHARLOOKS 40659 . 45233) (\TEDIT.UNDO.PARALOOKS 45235
. 49467) (\TEDIT.UNDO.PAGELOOKS 49469 . 49878) (\TEDIT.UNDO.COMPOSITE 49880 . 51107) (
\TEDIT.UNDO.REPLACECODE 51109 . 51333)) (51336 53696 (\TEDIT.REDO.INSERT 51346 . 52079) (
\TEDIT.REDO.REPLACE 52081 . 53412) (\TEDIT.REDO.COMPOSITE 53414 . 53694)))))
STOP
Binary file modified library/tedit/TEDIT-HISTORY.LCOM
Binary file not shown.
162 changes: 110 additions & 52 deletions library/tedit/TEDIT-LOOKS

Large diffs are not rendered by default.

Binary file modified library/tedit/TEDIT-LOOKS.LCOM
Binary file not shown.
211 changes: 112 additions & 99 deletions library/tedit/TEDIT-MENU

Large diffs are not rendered by default.

Binary file modified library/tedit/TEDIT-MENU.LCOM
Binary file not shown.
Binary file added library/tedit/TEDIT-RELEASENOTES.PDF
Binary file not shown.
Binary file modified library/tedit/TEDIT-RELEASENOTES.TEDIT
Binary file not shown.
121 changes: 71 additions & 50 deletions library/tedit/TEDIT-SELECTION

Large diffs are not rendered by default.

Binary file modified library/tedit/TEDIT-SELECTION.LCOM
Binary file not shown.
65 changes: 33 additions & 32 deletions library/tedit/TEDIT-STREAM
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "19-Feb-2025 13:39:40" {WMEDLEY}<library>tedit>TEDIT-STREAM.;862 175251
(FILECREATED "22-Mar-2025 21:37:13" {WMEDLEY}<library>TEDIT>TEDIT-STREAM.;863 175354

:EDIT-BY rmk

:CHANGES-TO (FNS \TEDIT.TEXTLEFTMARGIN \TEDIT.TEXTRIGHTMARGIN)
:CHANGES-TO (FNS \TEDIT.OPENTEXTSTREAM.DEFAULTLOOKS)

:PREVIOUS-DATE "17-Feb-2025 12:25:59" {WMEDLEY}<library>tedit>TEDIT-STREAM.;861)
:PREVIOUS-DATE "19-Feb-2025 13:39:40" {WMEDLEY}<library>TEDIT>TEDIT-STREAM.;862)


(PRETTYCOMPRINT TEDIT-STREAMCOMS)
@@ -1622,7 +1622,8 @@
WINDOW])

(\TEDIT.OPENTEXTSTREAM.DEFAULTLOOKS
[LAMBDA (TEXTOBJ) (* ; "Edited 8-Feb-2025 22:04 by rmk")
[LAMBDA (TEXTOBJ) (* ; "Edited 22-Mar-2025 21:37 by rmk")
(* ; "Edited 8-Feb-2025 22:04 by rmk")
(* ; "Edited 29-Dec-2024 20:37 by rmk")
(* ; "Edited 20-Dec-2024 11:56 by rmk")
(* ; "Edited 16-Dec-2024 13:14 by rmk")
@@ -1644,7 +1645,7 @@

(SETQ FONT (OR (GETTEXTPROP TEXTOBJ 'FONT)
(FONTCREATE DEFAULTFONT)))
(SETQ CHARLOOKS (GETTEXTPROP TEXTOBJ 'LOOKS))
(SETQ CHARLOOKS (GETTEXTPROP TEXTOBJ 'CHARLOOKS))
(SETQ CHARLOOKS (OR (AND CHARLOOKS (\TEDIT.PARSE.CHARLOOKS.LIST CHARLOOKS NIL TEXTOBJ))
(AND (type? CHARLOOKS FONT)
FONT)
@@ -2878,31 +2879,31 @@
(ADDTOVAR LAMA TEXTPROP)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (37136 67737 (\TEDIT.TEXTBIN 37146 . 47896) (\TEDIT.TEXTPEEKBIN 47898 . 53448) (
\TEDIT.TEXTBACKFILEPTR 53450 . 59123) (\TEDIT.TEXTBOUT 59125 . 63527) (\TEDIT.INSTALL.FILEBUFFER 63529
. 67735)) (68635 72683 (\TEDIT.TEXTOUTCHARFN 68645 . 70201) (\TEDIT.TEXTINCCODEFN 70203 . 70942) (
\TEDIT.TEXTBACKCCODEFN 70944 . 71536) (\TEDIT.TEXTFORMATBYTESTREAM 71538 . 72241) (
\TEDIT.TEXTFORMATBYTESTRING 72243 . 72681)) (72730 84251 (OPENTEXTSTREAM 72740 . 79692) (
COPYTEXTSTREAM 79694 . 83474) (TEDIT.STREAMCHANGEDP 83476 . 83778) (TXTFILE 83780 . 84249)) (84252
113999 (\TEDIT.REOPENTEXTSTREAM 84262 . 85614) (\TEDIT.OPENTEXTSTREAM.PIECES 85616 . 90046) (
\TEDIT.OPENTEXTSTREAM.PROPS 90048 . 91150) (\TEDIT.OPENTEXTSTREAM.SETUP.SEL 91152 . 96238) (
\TEDIT.OPENTEXTSTREAM.WINDOW 96240 . 98921) (\TEDIT.OPENTEXTSTREAM.DEFAULTLOOKS 98923 . 101780) (
\TEDIT.OPENTEXTFILE 101782 . 103495) (\TEDIT.CREATE.TEXTSTREAM 103497 . 104542) (\TEDIT.REOPEN.STREAM
104544 . 106880) (\TEDIT.TEXTINIT 106882 . 113997)) (114037 115225 (\TEDIT.TTYBOUT 114047 . 115223)) (
115343 134135 (\TEDIT.TEXTCLOSEF 115353 . 116677) (\TEDIT.TEXTDSPFONT 116679 . 117649) (
\TEDIT.TEXTEOFP 117651 . 119406) (\TEDIT.TEXTGETEOFPTR 119408 . 119731) (\TEDIT.TEXTSETEOFPTR 119733
. 120823) (\TEDIT.TEXTGETFILEPTR 120825 . 123660) (\TEDIT.TEXTSETFILEINFO 123662 . 124170) (
\TEDIT.TEXTOPENF 124172 . 125103) (\TEDIT.TEXTSETEOF 125105 . 125721) (\TEDIT.TEXTSETFILEPTR 125723 .
127764) (\TEDIT.TEXTDSPXPOSITION 127766 . 128783) (\TEDIT.TEXTDSPYPOSITION 128785 . 129526) (
\TEDIT.TEXTLEFTMARGIN 129528 . 130119) (\TEDIT.TEXTRIGHTMARGIN 130121 . 133284) (
\TEDIT.TEXTDSPCHARWIDTH 133286 . 133590) (\TEDIT.TEXTDSPSTRINGWIDTH 133592 . 133898) (
\TEDIT.TEXTDSPLINEFEED 133900 . 134133)) (135182 155919 (\TEDIT.DELETE.SELPIECES 135192 . 138705) (
\TEDIT.INSERTCH 138707 . 146501) (\TEDIT.INSERTCH.HISTORY 146503 . 149967) (\TEDIT.INSERTEOL 149969 .
151794) (\TEDIT.INSERTCH.INSERTION 151796 . 154633) (\TEDIT.INSERTCH.EXTEND 154635 . 155917)) (155920
157424 (\TEDIT.NEXTCHANGEABLE.CHNO 155930 . 156645) (\TEDIT.LASTCHANGEABLE.CHNO 156647 . 157422)) (
157425 159129 (\SETUPGETCH 157435 . 159127)) (159187 163645 (\TEDIT.INSTALL.PIECE 159197 . 163643)) (
163683 172432 (TEXTPROP 163693 . 164040) (GETTEXTPROP 164042 . 164286) (PUTTEXTPROP 164288 . 164545) (
GETTEXTPROPS 164547 . 164991) (PUTTEXTPROPS 164993 . 165897) (\TEDIT.TEXTPROP 165899 . 172430)) (
172433 174503 (\TEDIT.TEXTOBJ.PROPNAMES 172443 . 173395) (\TEDIT.TEXTOBJ.PROPFETCHFN 173397 . 173913)
(\TEDIT.TEXTOBJ.PROPSTOREFN 173915 . 174501)))))
(FILEMAP (NIL (37126 67727 (\TEDIT.TEXTBIN 37136 . 47886) (\TEDIT.TEXTPEEKBIN 47888 . 53438) (
\TEDIT.TEXTBACKFILEPTR 53440 . 59113) (\TEDIT.TEXTBOUT 59115 . 63517) (\TEDIT.INSTALL.FILEBUFFER 63519
. 67725)) (68625 72673 (\TEDIT.TEXTOUTCHARFN 68635 . 70191) (\TEDIT.TEXTINCCODEFN 70193 . 70932) (
\TEDIT.TEXTBACKCCODEFN 70934 . 71526) (\TEDIT.TEXTFORMATBYTESTREAM 71528 . 72231) (
\TEDIT.TEXTFORMATBYTESTRING 72233 . 72671)) (72720 84241 (OPENTEXTSTREAM 72730 . 79682) (
COPYTEXTSTREAM 79684 . 83464) (TEDIT.STREAMCHANGEDP 83466 . 83768) (TXTFILE 83770 . 84239)) (84242
114102 (\TEDIT.REOPENTEXTSTREAM 84252 . 85604) (\TEDIT.OPENTEXTSTREAM.PIECES 85606 . 90036) (
\TEDIT.OPENTEXTSTREAM.PROPS 90038 . 91140) (\TEDIT.OPENTEXTSTREAM.SETUP.SEL 91142 . 96228) (
\TEDIT.OPENTEXTSTREAM.WINDOW 96230 . 98911) (\TEDIT.OPENTEXTSTREAM.DEFAULTLOOKS 98913 . 101883) (
\TEDIT.OPENTEXTFILE 101885 . 103598) (\TEDIT.CREATE.TEXTSTREAM 103600 . 104645) (\TEDIT.REOPEN.STREAM
104647 . 106983) (\TEDIT.TEXTINIT 106985 . 114100)) (114140 115328 (\TEDIT.TTYBOUT 114150 . 115326)) (
115446 134238 (\TEDIT.TEXTCLOSEF 115456 . 116780) (\TEDIT.TEXTDSPFONT 116782 . 117752) (
\TEDIT.TEXTEOFP 117754 . 119509) (\TEDIT.TEXTGETEOFPTR 119511 . 119834) (\TEDIT.TEXTSETEOFPTR 119836
. 120926) (\TEDIT.TEXTGETFILEPTR 120928 . 123763) (\TEDIT.TEXTSETFILEINFO 123765 . 124273) (
\TEDIT.TEXTOPENF 124275 . 125206) (\TEDIT.TEXTSETEOF 125208 . 125824) (\TEDIT.TEXTSETFILEPTR 125826 .
127867) (\TEDIT.TEXTDSPXPOSITION 127869 . 128886) (\TEDIT.TEXTDSPYPOSITION 128888 . 129629) (
\TEDIT.TEXTLEFTMARGIN 129631 . 130222) (\TEDIT.TEXTRIGHTMARGIN 130224 . 133387) (
\TEDIT.TEXTDSPCHARWIDTH 133389 . 133693) (\TEDIT.TEXTDSPSTRINGWIDTH 133695 . 134001) (
\TEDIT.TEXTDSPLINEFEED 134003 . 134236)) (135285 156022 (\TEDIT.DELETE.SELPIECES 135295 . 138808) (
\TEDIT.INSERTCH 138810 . 146604) (\TEDIT.INSERTCH.HISTORY 146606 . 150070) (\TEDIT.INSERTEOL 150072 .
151897) (\TEDIT.INSERTCH.INSERTION 151899 . 154736) (\TEDIT.INSERTCH.EXTEND 154738 . 156020)) (156023
157527 (\TEDIT.NEXTCHANGEABLE.CHNO 156033 . 156748) (\TEDIT.LASTCHANGEABLE.CHNO 156750 . 157525)) (
157528 159232 (\SETUPGETCH 157538 . 159230)) (159290 163748 (\TEDIT.INSTALL.PIECE 159300 . 163746)) (
163786 172535 (TEXTPROP 163796 . 164143) (GETTEXTPROP 164145 . 164389) (PUTTEXTPROP 164391 . 164648) (
GETTEXTPROPS 164650 . 165094) (PUTTEXTPROPS 165096 . 166000) (\TEDIT.TEXTPROP 166002 . 172533)) (
172536 174606 (\TEDIT.TEXTOBJ.PROPNAMES 172546 . 173498) (\TEDIT.TEXTOBJ.PROPFETCHFN 173500 . 174016)
(\TEDIT.TEXTOBJ.PROPSTOREFN 174018 . 174604)))))
STOP
Binary file modified library/tedit/TEDIT-STREAM.LCOM
Binary file not shown.
309 changes: 180 additions & 129 deletions library/tedit/TEDIT-WINDOW

Large diffs are not rendered by default.

Binary file modified library/tedit/TEDIT-WINDOW.LCOM
Binary file not shown.
Binary file modified library/tedit/TEDIT.LCOM
Binary file not shown.
72 changes: 25 additions & 47 deletions library/tedit/tedit-exports.all
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "19-Feb-2025 12:22:24" 
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>tedit-exports.all;207 53931
(FILECREATED "16-Mar-2025 00:20:08" 
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>tedit-exports.all;208 53292

:EDIT-BY rmk

:PREVIOUS-DATE "17-Feb-2025 12:26:08" {WMEDLEY}<library>TEDIT>tedit-exports.all;206)
:PREVIOUS-DATE "19-Feb-2025 12:22:24" {WMEDLEY}<library>TEDIT>tedit-exports.all;207)


(PRETTYCOMPRINT ((E (MAPC (MKLIST FROMFILES) (FUNCTION (LAMBDA (F) (MAPC (IMPORTFILE F FLG) (FUNCTION
@@ -18,7 +18,7 @@ PRINT))))))))
(RPAQ? CHECK-TEDIT-ASSERTIONS T)
(PUTPROPS OBJECT.ALLOWS MACRO ((PC OPERATION FROMTOBJ TOTOBJ) (OR (NOT (EQ OBJECT.PTYPE (PTYPE PC))) (
\TEDIT.APPLY.OBJFN (PCONTENTS PC) OPERATION FROMTOBJ TOTOBJ))))
(PUTPROP (QUOTE TEDIT) (QUOTE IMPORTDATE) (IDATE "16-Feb-2025 11:25:32"))
(PUTPROP (QUOTE TEDIT) (QUOTE IMPORTDATE) (IDATE "16-Mar-2025 00:16:31"))
(RPAQQ \BTREEWORDSPERSLOT 4)
(RPAQQ \BTREEMAXCOUNT 8)
(CONSTANTS (\BTREEWORDSPERSLOT 4) (\BTREEMAXCOUNT 8))
@@ -118,7 +118,7 @@ $$SELPIECES)) REPEATUNTIL (EQ I.V. $$SPLAST) BY (\DTEST (NEXTPIECE I.V.) (QUOTE
(GLOBALVARS TEDIT.EXTEND.PENDING.DELETE)
(GLOBALVARS TEDIT.SELECTION TEDIT.SHIFTEDSELECTION TEDIT.MOVESELECTION TEDIT.COPYLOOKSSELECTION
TEDIT.DELETESELECTION)
(PUTPROP (QUOTE TEDIT-SELECTION) (QUOTE IMPORTDATE) (IDATE "18-Feb-2025 22:06:22"))
(PUTPROP (QUOTE TEDIT-SELECTION) (QUOTE IMPORTDATE) (IDATE "15-Mar-2025 22:39:40"))
(RECORD TAB (TABX . TABKIND))
(RECORD TABSPEC (DEFAULTTAB . TABS))
(DATATYPE LINECACHE ((* ;; "Image cache for display lines.") LCBITMAP (* ;
@@ -261,7 +261,7 @@ SETQ I.V. (COND ((TYPE? THISLINE $$STARTSLOT) (PREVCHARSLOT (fetch (THISLINE NEX
THISLINE))) (T $$STARTSLOT))) (SETQ $$CHARSLOTLIMIT (FIRSTCHARSLOT THISLINE)) by (PREVCHARSLOT I.V.)
eachtime (SETQ CHAR (fetch (CHARSLOT CHAR) of I.V.)) (SETQ CHARW (fetch (CHARSLOT CHARW) of I.V.))
repeatuntil (EQ I.V. $$CHARSLOTLIMIT))))) T)
(PUTPROP (QUOTE TEDIT-SCREEN) (QUOTE IMPORTDATE) (IDATE "18-Feb-2025 12:50:32"))
(PUTPROP (QUOTE TEDIT-SCREEN) (QUOTE IMPORTDATE) (IDATE " 6-Mar-2025 11:42:48"))
(DATATYPE PIECE ((* ;
"The piece describes either a string or part of a file. , or a generalized OBJECT.") PCONTENTS (* ;
"The background source of data for this piece (stream, string, block, object, depending on the PTYPE)."
@@ -445,25 +445,7 @@ UTF8.PTYPE UTF16BE.PTYPE UTF16LE.PTYPE)) (STRING.PTYPES (LIST THINSTRING.PTYPE F
BINABLE.PTYPES (LIST THINFILE.PTYPE THINSTRING.PTYPE)) (THIN.PTYPES (LIST THINFILE.PTYPE
THINSTRING.PTYPE)) (FAT.PTYPES (LIST FATFILE2.PTYPE FATSTRING.PTYPE FATFILE1.PTYPE)))
(GLOBALVARS \TEXTIMAGEOPS \TEXTFDEV)
(PUTPROP (QUOTE TEDIT-STREAM) (QUOTE IMPORTDATE) (IDATE "17-Feb-2025 12:25:59"))
(RPAQQ NONE.TTC 0)
(RPAQQ CHARDELETE.TTC 1)
(RPAQQ WORDDELETE.TTC 2)
(RPAQQ DELETE.TTC 3)
(RPAQQ FUNCTIONCALL.TTC 4)
(RPAQQ REDO.TTC 5)
(RPAQQ UNDO.TTC 6)
(RPAQQ CMD.TTC 7)
(RPAQQ NEXT.TTC 8)
(RPAQQ EXPAND.TTC 9)
(RPAQQ CHARDELETE.FORWARD.TTC 10)
(RPAQQ WORDDELETE.FORWARD.TTC 11)
(RPAQQ PUNCT.TTC 20)
(RPAQQ TEXT.TTC 21)
(RPAQQ WHITESPACE.TTC 22)
(CONSTANTS (NONE.TTC 0) (CHARDELETE.TTC 1) (WORDDELETE.TTC 2) (DELETE.TTC 3) (FUNCTIONCALL.TTC 4) (
REDO.TTC 5) (UNDO.TTC 6) (CMD.TTC 7) (NEXT.TTC 8) (EXPAND.TTC 9) (CHARDELETE.FORWARD.TTC 10) (
WORDDELETE.FORWARD.TTC 11) (PUNCT.TTC 20) (TEXT.TTC 21) (WHITESPACE.TTC 22))
(PUTPROP (QUOTE TEDIT-STREAM) (QUOTE IMPORTDATE) (IDATE "19-Feb-2025 13:39:40"))
(PUTPROPS \TEDIT.MOUSESTATE MACRO (BUTTON (* ;;
"Test to see if only the specified mouse button is down. DOES NOT call GETMOUSESTATE, so the mouse-button info is the same as the last time it was called."
) (SELECTQ (CAR BUTTON) (LEFT (QUOTE (EQ LASTMOUSEBUTTONS 4))) (MIDDLE (QUOTE (EQ LASTMOUSEBUTTONS 1))
@@ -472,21 +454,12 @@ WORDDELETE.FORWARD.TTC 11) (PUNCT.TTC 20) (TEXT.TTC 21) (WHITESPACE.TTC 22))
I in ARGS as J on ARGS when (NOT (STRINGP I)) collect (LIST (QUOTE OR) I (LIST (QUOTE HELP)
"TEdit consistency-check failure [RETURN to continue]: " (COND ((STRINGP (CADR J))) (T (KWOTE I))))))
)) (T (CONS COMMENTFLG ARGS)))))
(ACCESSFNS TEDITTERMCODE ((TTCLASS (LOGAND DATUM 224)) (TTDECODE (LOGAND DATUM 31))))
(RPAQQ NOTBEFORE.LB 1)
(RPAQQ NOTAFTER.LB 2)
(RPAQQ BEFORE.LB 4)
(RPAQQ AFTER.LB 8)
(RPAQQ DISAPPEAR-IF-NOT-SPLIT.LB 16)
(RPAQQ NEWCHAR-IF-SPLIT.LB 32)
(CONSTANTS (NOTBEFORE.LB 1) (NOTAFTER.LB 2) (BEFORE.LB 4) (AFTER.LB 8) (DISAPPEAR-IF-NOT-SPLIT.LB 16)
(NEWCHAR-IF-SPLIT.LB 32))
(PUTPROP (QUOTE TEDIT-COMMAND) (QUOTE IMPORTDATE) (IDATE "17-Feb-2025 12:25:49"))
(PUTPROP (QUOTE TEDIT-COMMAND) (QUOTE IMPORTDATE) (IDATE "15-Mar-2025 23:21:12"))
(PUTPROPS \SMALLPIN MACRO (OPENLAMBDA (STREAM) (SIGNED (create WORD HIBYTE _ (\BIN STREAM) LOBYTE _ (
\BIN STREAM)) BITSPERWORD)))
(PUTPROPS \SMALLPOUT MACRO (OPENLAMBDA (STREAM W) (* ; "Signed smallp, unlike \WOUT") (\BOUT STREAM (
LOGAND 255 (LRSH W 8))) (\BOUT STREAM (LOGAND W 255))))
(PUTPROP (QUOTE TEDIT-FILE) (QUOTE IMPORTDATE) (IDATE "19-Feb-2025 12:11:42"))
(PUTPROP (QUOTE TEDIT-FILE) (QUOTE IMPORTDATE) (IDATE "14-Mar-2025 15:29:22"))
(PUTPROP (QUOTE TEDIT-OLDFILE) (QUOTE IMPORTDATE) (IDATE "19-Feb-2025 12:09:40"))
(DATATYPE CHARLOOKS ((* ;; "Describes the appearance (%"Looks%") of characters in a TEdit document.")
(* ;; "NOTE: If fields change EQCLOOKS should change too.") CLFONT (* ;
@@ -575,8 +548,8 @@ NEWVALUE)))
(PUTPROPS FGETPARA MACRO ((PLOOKS FIELD) (ffetch (PARALOOKS FIELD) of PLOOKS)))
(PUTPROPS GETPARA MACRO ((PLOOKS FIELD) (fetch (PARALOOKS FIELD) of PLOOKS)))
(PUTPROPS SETPARA MACRO ((PLOOKS FIELD NEWVALUE) (replace (PARALOOKS FIELD) of PLOOKS with NEWVALUE)))
(PUTPROP (QUOTE TEDIT-LOOKS) (QUOTE IMPORTDATE) (IDATE "19-Feb-2025 12:00:37"))
(PUTPROP (QUOTE TEDIT-STYLES) (QUOTE IMPORTDATE) (IDATE "12-Feb-2025 12:18:37"))
(PUTPROP (QUOTE TEDIT-LOOKS) (QUOTE IMPORTDATE) (IDATE "21-Feb-2025 09:49:05"))
(PUTPROP (QUOTE TEDIT-STYLES) (QUOTE IMPORTDATE) (IDATE "19-Feb-2025 13:31:28"))
(DATATYPE TEDITCARET (TCNOWTIME (* Used to hold the current time, when checking to see if a transition
is due) TCTHENTIME (* Time when the next transition is to take place) TCFORCEDDOWN (* TCFORCEDOWN = T
means (Make the caret visible at the next call to \EDIT.FLIPCARET.)) TCUP (* TCUP = T => The caret is
@@ -632,8 +605,8 @@ OR (CL:IF (TYPENAMEP $$BODY (QUOTE TEXTOBJ)) (FGETTOBJ $$BODY PRIMARYPANE) $$BOD
GETPANEPROP (PANEPROPS P) NEXTPANE))) (GO $$OUT))) by (OR (GETPANEPROP (PANEPROPS I.V.) PREVPANE) (GO
$$OUT)))))
(PUTPROPS ALLBUTTONSUP MACRO (NIL (ZEROP (LOGAND 7 LASTMOUSEBUTTONS))))
(PUTPROP (QUOTE TEDIT-WINDOW) (QUOTE IMPORTDATE) (IDATE "18-Feb-2025 23:57:08"))
(PUTPROP (QUOTE TEDIT-BUTTONS) (QUOTE IMPORTDATE) (IDATE "16-Feb-2025 15:02:06"))
(PUTPROP (QUOTE TEDIT-WINDOW) (QUOTE IMPORTDATE) (IDATE "15-Mar-2025 00:33:15"))
(PUTPROP (QUOTE TEDIT-BUTTONS) (QUOTE IMPORTDATE) (IDATE "14-Mar-2025 15:29:51"))
(RPAQQ PTSPERPICA 12)
(RPAQQ PTSPERINCH 72)
(RPAQQ PICASPERINCH 6)
@@ -644,10 +617,15 @@ $$OUT)))))
(CONSTANTS (PTSPERPICA 12) (PTSPERINCH 72) (PICASPERINCH 6) (MICASPERINCH 2540) (PTSPERCM (FQUOTIENT
PTSPERINCH 2.54)) (PTSPERMICA (FQUOTIENT PTSPERINCH MICASPERINCH)) (MICASPERPOINT (FQUOTIENT
MICASPERINCH PTSPERINCH)))
(PUTPROP (QUOTE TEDIT-MENU) (QUOTE IMPORTDATE) (IDATE " 8-Feb-2025 23:19:34"))
(PUTPROP (QUOTE TEDIT-FIND) (QUOTE IMPORTDATE) (IDATE "17-Feb-2025 12:25:36"))
(PUTPROP (QUOTE TEDIT-FNKEYS) (QUOTE IMPORTDATE) (IDATE "17-Feb-2025 09:12:22"))
(PUTPROP (QUOTE TEDIT-HCPY) (QUOTE IMPORTDATE) (IDATE " 8-Feb-2025 23:42:18"))
(PUTPROP (QUOTE TEDIT-MENU) (QUOTE IMPORTDATE) (IDATE "15-Mar-2025 23:41:25"))
(PUTPROP (QUOTE TEDIT-FIND) (QUOTE IMPORTDATE) (IDATE "15-Mar-2025 00:35:11"))
(RPAQQ \TEDIT.TTCCODES ((NONE 0) (CHARDELETE 1) (WORDDELETE 2) (DELETE 3) (FUNCTIONCALL 4) (REDO 5) (
UNDO 6) (CMD 7) (NEXT 8) (EXPAND 9) (CHARDELETE.FORWARD 10) (WORDDELETE.FORWARD 11) (PUNCT 20) (TEXT
21) (WHITESPACE 22)))
(CONSTANTS \TEDIT.TTCCODES)
(PUTPROPS \TEDIT.TTC MACRO ((CLASS) (CONSTANT (CADR (ASSOC (QUOTE CLASS) \TEDIT.TTCCODES)))))
(PUTPROP (QUOTE TEDIT-FNKEYS) (QUOTE IMPORTDATE) (IDATE "16-Mar-2025 00:03:34"))
(PUTPROP (QUOTE TEDIT-HCPY) (QUOTE IMPORTDATE) (IDATE "19-Feb-2025 13:34:37"))
(DATATYPE TEDITHISTORYEVENT ((* ;; "Describes one event on the TEdit edit history list.") THACTION (*
; "A keyword specifying what the event was") THPOINT (* ; "Was the selection to the left or right?")
THLEN (* ; "The # of chars involved") THCH# (* ; "The starting ch#") THFIRSTPIECE (* ;
@@ -661,7 +639,7 @@ TEDITHISTORYEVENT THLEN) of DATUM) 0))))) (INIT (DEFPRINT (QUOTE TEDITHISTORYEVE
(PUTPROPS GETTH MACRO ((EVENT FIELD) (fetch (TEDITHISTORYEVENT FIELD) of EVENT)))
(PUTPROPS SETTH MACRO ((EVENT FIELD NEWVALUE) (replace (TEDITHISTORYEVENT FIELD) of EVENT with
NEWVALUE)))
(PUTPROP (QUOTE TEDIT-HISTORY) (QUOTE IMPORTDATE) (IDATE " 6-Feb-2025 15:42:44"))
(PUTPROP (QUOTE TEDIT-HISTORY) (QUOTE IMPORTDATE) (IDATE "15-Mar-2025 22:42:11"))
(RECORD PAGEFORMATTINGSTATE ((* ;; "Contains the state for a TEdit page-formatting job.") PAGE# (* ;
"The current page number. Counted from 1") FIRSTPAGE (* ;;
"T if the current page is the 'first page' . Is set initially, and can be set again by the user at will. Gets reset after each page image is printed."
@@ -692,8 +670,8 @@ REGIONPARENT FULLXPOINTER) (* ; "The parent node for this box, for sub-boxes") R
(PUTPROPS GETPFS MACRO ((FS FIELD) (fetch (PAGEFORMATTINGSTATE FIELD) of FS)))
(PUTPROPS SETPFS MACRO ((FS FIELD NEWVALUE) (replace (PAGEFORMATTINGSTATE FIELD) of FS with NEWVALUE))
)
(PUTPROP (QUOTE TEDIT-PAGE) (QUOTE IMPORTDATE) (IDATE " 8-Feb-2025 23:42:12"))
(PUTPROP (QUOTE TEDIT-ABBREV) (QUOTE IMPORTDATE) (IDATE "31-Oct-2024 17:53:21"))
(PUTPROP (QUOTE TEDIT-PAGE) (QUOTE IMPORTDATE) (IDATE "23-Feb-2025 10:06:16"))
(PUTPROP (QUOTE TEDIT-ABBREV) (QUOTE IMPORTDATE) (IDATE "11-Mar-2025 23:30:40"))
(PUTPROP (QUOTE TEDIT-TFBRAVO) (QUOTE IMPORTDATE) (IDATE "19-Feb-2025 12:18:40"))
(DECLARE%: DONTCOPY
(FILEMAP (NIL)))
162 changes: 80 additions & 82 deletions lispusers/WHEELSCROLL
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)

(FILECREATED "31-Mar-2024 06:57:25" {DSK}<home>larry>il>medley>lispusers>WHEELSCROLL.;2 9911
(FILECREATED "16-Mar-2025 18:23:44" {WMEDLEY}<lispusers>WHEELSCROLL.;36 10917

:EDIT-BY "lmm"
:EDIT-BY rmk

:CHANGES-TO (VARS WHEELSCROLLCOMS)
(FNS ENABLEWHEELSCROLL)
:CHANGES-TO (FNS WHEELSCROLL)

:PREVIOUS-DATE " 2-Oct-2023 10:15:55" {DSK}<home>larry>il>medley>lispusers>WHEELSCROLL.;1)
:PREVIOUS-DATE "15-Mar-2025 11:36:27" {WMEDLEY}<lispusers>WHEELSCROLL.;35)


(PRETTYCOMPRINT WHEELSCROLLCOMS)

(RPAQQ WHEELSCROLLCOMS
[(FNS ENABLEWHEELSCROLL WHEELSCROLL WHEELSCROLL.DOIT INSTALL-WHEELSCROLL)

(* ;; "These are the highest meta-ctrl characters, they will be unaffected by teh state of ctrl and meta mode keys")

(DECLARE%: EVAL@COMPILE DONTCOPY (CONSTANTS * WHEELSCROLLCHARS))
(GLOBALVARS WHEELSCROLLENABLED WHEELSCROLLDELTA WHEELSCROLLSETTLETIME \WHEELSCROLLINPROGRESS)
(GLOBALVARS WHEELSCROLLENABLED WHEELSCROLLDELTA HWHEELSCROLLDELTA WHEELSCROLLSETTLETIME
\WHEELSCROLLINPROGRESS)

(* ;; "To restore the keyactions for PAD..., if the keyaction table has been reinitialized")

[ADDVARS (AFTERSYSOUTFORMS (AND WHEELSCROLLENABLED (ENABLEWHEELSCROLL T)))
(AFTERMAKESYSFORMS (AND WHEELSCROLLENABLED (ENABLEWHEELSCROLL T]

(* ;; "These are the highest meta-ctrl characters, they will be unaffected by the state of ctrl and meta mode keys. Should be moved to Function")

(ALISTS (CHARACTERNAMES WHEELSCROLL-UP WHEELSCROLL-DOWN WHEELSCROLL-LEFT WHEELSCROLL-RIGHT))
(INITVARS (WHEELSCROLLENABLED NIL)
(WHEELSCROLLDELTA 20)
(HWHEELSCROLLDELTA NIL)
@@ -34,7 +34,8 @@
(DEFINEQ

(ENABLEWHEELSCROLL
[LAMBDA (ON EXCLUDEHORIZONTAL) (* ; "Edited 31-Mar-2024 06:30 by lmm")
[LAMBDA (ON EXCLUDEHORIZONTAL) (* ; "Edited 14-Mar-2025 18:27 by rmk")
(* ; "Edited 31-Mar-2024 06:30 by lmm")
(* ; "Edited 2-Oct-2023 10:05 by rmk")
(* ; "Edited 23-Oct-2021 16:31 by larry")
(* ; "Edited 11-Jun-2021 12:50 by rmk:")
@@ -49,14 +50,14 @@

(for KAT in (LIST \CURRENTKEYACTION \COMMANDKEYACTION \DEFAULTKEYACTION)
do (for K in [if EXCLUDEHORIZONTAL
then `((PAD1 ,\WSUP)
(PAD2 ,\WSDOWN)
then `((PAD1 ,(CHARCODE WHEELSCROLL-UP))
(PAD2 ,(CHARCODE WHEELSCROLL-DOWN))
(PAD4 IGNORE)
(PAD5 IGNORE))
else `((PAD1 ,\WSUP)
(PAD2 ,\WSDOWN)
(PAD4 ,\WSLEFT)
(PAD5 ,\WSRIGHT]
else `((PAD1 ,(CHARCODE WHEELSCROLL-UP))
(PAD2 ,(CHARCODE WHEELSCROLL-DOWN))
(PAD4 ,(CHARCODE WHEELSCROLL-LEFT))
(PAD5 ,(CHARCODE WHEELSCROLL-RIGHT]
do (KEYACTION (CAR K)
(CONS (CL:IF (EQ (CADR K)
'IGNORE)
@@ -84,45 +85,56 @@
(SETQ WHEELSCROLLENABLED NIL])

(WHEELSCROLL
[LAMBDA (DIRECTION DELTA) (* ;
 "Edited 21-Feb-2021 09:38 by rmk:")
[LAMBDA (DIRECTION DELTA/POS) (* ; "Edited 16-Mar-2025 18:23 by rmk")
(* ; "Edited 14-Mar-2025 17:11 by rmk")
(* ; "Edited 13-Mar-2025 16:31 by rmk")
(* ; "Edited 21-Feb-2021 09:38 by rmk:")

(* ;; "The wheel may accidentally turn (giving the interrupt) when the users intention is simply to push the middle button. And there may be another accidental turn (also giving an interrupt) when the user is releasing the middle button. We don't yet have a good solution to this problem. (This is not an issue with a trackpad)")

(* ;; "")

(CL:WHEN (MOUSESTATE UP) (* ;
 "Ignore interrupt if a button is down")
[LET ((W (WHICHW)))
(CL:WHEN (AND WHEELSCROLLENABLED (MOUSESTATE UP)) (* ;
 "Ignore interrupt if a button is down")
[LET ((W (WHICHW))
DELTA)

(* Unsuccessful a ttempt to suppress scroll if middlebutton comes down within
 the setetle time (NOT (UNTILMOUSESTATE (ONLY MIDDLE) WHEELSCROLLSETTLETIME)))
(* ;; "Unsuccessful a ttempt to suppress scroll if middlebutton comes down within the setetle time (NOT (UNTILMOUSESTATE (ONLY MIDDLE) WHEELSCROLLSETTLETIME))")

(CL:WHEN W

(* ;; "We scroll only if the window has a scrollfn. Our behavior is thus different from a direct call to SCROLLW, which defaults to SCROLLBYREPAINTFN in that case, but conforms to what happens with IN/SCROLL/BAR? and SCROLL.HANDLER in WINDOWSCROLL. Menus and scrollbars typically do not have scrollfns, so this suppresses otherwise funky behavior. ")

(SETQ DELTA (SELECTQ DELTA/POS
(T (* ; "UP/RIGHT")
(CL:IF (EQ DIRECTION 'VERTICAL)
WHEELSCROLLDELTA
(OR HWHEELSCROLLDELTA WHEELSCROLLDELTA)))
(NIL (* ; "DOWN/LEFT")
(IMINUS (CL:IF (EQ DIRECTION 'VERTICAL)
WHEELSCROLLDELTA
(OR HWHEELSCROLLDELTA WHEELSCROLLDELTA))))
DELTA/POS))
(if (WINDOWPROP W 'SCROLLFN)
then [PROCESS.EVAL (FIND.PROCESS 'MOUSE)
(CL:IF (EQ DIRECTION 'VERTICAL)
`(WHEELSCROLL.DOIT ,(KWOTE W)
0
,DELTA)
`(WHEELSCROLL.DOIT ,(KWOTE W)
,DELTA 0))]
(CL:IF (EQ DIRECTION 'VERTICAL)
`(WHEELSCROLL.DOIT ,(KWOTE W)
0
,DELTA)
`(WHEELSCROLL.DOIT ,(KWOTE W)
,DELTA 0))]
elseif (EQ DIRECTION 'VERTICAL)
then
(* ;; "We are in a pop-up scrollbar. This moves the cursor there, the user has to click to scroll the main window.")

(* ;; "We are in a pop-up scrollbar. This moves the cursor there, the user has to click to scroll the main window.")

(CL:WHEN (WINDOWPROP W 'VERTICALSCROLLBARFOR)
(\CURSORPOSITION LASTMOUSEX (IPLUS LASTMOUSEY DELTA))
(GETMOUSESTATE))
(CL:WHEN (WINDOWPROP W 'VERTICALSCROLLBARFOR)
(\CURSORPOSITION LASTMOUSEX (IPLUS LASTMOUSEY DELTA))
(GETMOUSESTATE))
elseif (EQ DIRECTION 'HORIZONTAL)
then (CL:WHEN (WINDOWPROP W 'HORIZONTALSCROLLBARFOR)
(\CURSORPOSITION (IPLUS DELTA LASTMOUSEX)
LASTMOUSEY)
(GETMOUSESTATE))))])])
(\CURSORPOSITION (IPLUS DELTA LASTMOUSEX)
LASTMOUSEY)
(GETMOUSESTATE))))])])

(WHEELSCROLL.DOIT
[LAMBDA (WINDOW DX DY) (* ; "Edited 20-Feb-2021 17:34 by rmk:")
@@ -137,56 +149,30 @@
(RESETVAR \WHEELSCROLLINPROGRESS T (SCROLLW WINDOW DX DY)))])

(INSTALL-WHEELSCROLL
[LAMBDA NIL (* ; "Edited 29-Nov-2021 21:56 by rmk:")
[LAMBDA NIL (* ; "Edited 14-Mar-2025 18:27 by rmk")
(* ; "Edited 29-Nov-2021 21:56 by rmk:")
(* ; "Edited 28-May-2021 11:46 by rmk:")
(* ; "Edited 17-Feb-2021 11:53 by rmk:")

(* ;; "We want the UP, DOWN...constants to be compiled awsy")

(SETQ WHEELSCROLLINTERRUPTS `((,\WSUP (WHEELSCROLL 'VERTICAL WHEELSCROLLDELTA)
T)
(,\WSDOWN (WHEELSCROLL 'VERTICAL (IMINUS WHEELSCROLLDELTA))
T)
(,\WSLEFT (WHEELSCROLL 'HORIZONTAL (IMINUS (OR HWHEELSCROLLDELTA
WHEELSCROLLDELTA))
T))
(,\WSRIGHT (WHEELSCROLL 'HORIZONTAL (OR HWHEELSCROLLDELTA
WHEELSCROLLDELTA)
WHEELSCROLLDELTA T])
)



(* ;;
"These are the highest meta-ctrl characters, they will be unaffected by teh state of ctrl and meta mode keys"
)

(DECLARE%: EVAL@COMPILE DONTCOPY

(RPAQQ WHEELSCROLLCHARS ((\WSUP 156)
(\WSDOWN 157)
(\WSLEFT 158)
(\WSRIGHT 159)))
(DECLARE%: EVAL@COMPILE

(RPAQQ \WSUP 156)

(RPAQQ \WSDOWN 157)

(RPAQQ \WSLEFT 158)

(RPAQQ \WSRIGHT 159)


(CONSTANTS (\WSUP 156)
(\WSDOWN 157)
(\WSLEFT 158)
(\WSRIGHT 159))
)
(SETQ WHEELSCROLLINTERRUPTS `((,(CHARCODE WHEELSCROLL-UP)
(WHEELSCROLL 'VERTICAL T)
T)
(,(CHARCODE WHEELSCROLL-DOWN)
(WHEELSCROLL 'VERTICAL)
T)
(,(CHARCODE WHEELSCROLL-LEFT)
(WHEELSCROLL 'HORIZONTAL)
T)
(,(CHARCODE WHEELSCROLL-RIGHT)
(WHEELSCROLL 'HORIZONTAL T)
T])
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS WHEELSCROLLENABLED WHEELSCROLLDELTA WHEELSCROLLSETTLETIME \WHEELSCROLLINPROGRESS)
(GLOBALVARS WHEELSCROLLENABLED WHEELSCROLLDELTA HWHEELSCROLLDELTA WHEELSCROLLSETTLETIME
\WHEELSCROLLINPROGRESS)
)


@@ -198,6 +184,18 @@

(ADDTOVAR AFTERMAKESYSFORMS (AND WHEELSCROLLENABLED (ENABLEWHEELSCROLL T)))



(* ;;
"These are the highest meta-ctrl characters, they will be unaffected by the state of ctrl and meta mode keys. Should be moved to Function"
)


(ADDTOVAR CHARACTERNAMES (WHEELSCROLL-UP 156)
(WHEELSCROLL-DOWN 157)
(WHEELSCROLL-LEFT 158)
(WHEELSCROLL-RIGHT 159))

(RPAQ? WHEELSCROLLENABLED NIL)

(RPAQ? WHEELSCROLLDELTA 20)
@@ -214,6 +212,6 @@
(ENABLEWHEELSCROLL T)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1452 8682 (ENABLEWHEELSCROLL 1462 . 4220) (WHEELSCROLL 4222 . 6823) (WHEELSCROLL.DOIT
6825 . 7461) (INSTALL-WHEELSCROLL 7463 . 8680)))))
(FILEMAP (NIL (1462 9850 (ENABLEWHEELSCROLL 1472 . 4458) (WHEELSCROLL 4460 . 8008) (WHEELSCROLL.DOIT
8010 . 8646) (INSTALL-WHEELSCROLL 8648 . 9848)))))
STOP
Binary file modified lispusers/WHEELSCROLL.LCOM
Binary file not shown.
Binary file modified lispusers/WHEELSCROLL.TEDIT
Binary file not shown.