Skip to content

Commit 75666aa

Browse files
authored
TEDIT: New architecture for key bindings, plus better suggestions for initial window regions (#2070)
* Implement new key binding architecture for Tedit actions, to make mappings more user-accessible. Includes new Buttons item on Tedit menu. See TEDIT-RELEASENOTES * Prompts for Tedit initial-window region based on document properties * More flexible Tedit abbreviations * Size + or - in Tedit character looks go to next available * Other bug fixes and code adjustments.
1 parent 36a7274 commit 75666aa

33 files changed

+3431
-2713
lines changed

internal/TEDIT-DEBUG

+290-262
Large diffs are not rendered by default.

internal/TEDIT-DEBUG.LCOM

291 Bytes
Binary file not shown.

library/tedit/TEDIT

+164-250
Large diffs are not rendered by default.

library/tedit/TEDIT-ABBREV

+269-167
Large diffs are not rendered by default.

library/tedit/TEDIT-ABBREV.LCOM

1.45 KB
Binary file not shown.

library/tedit/TEDIT-BUTTONS

+30-40
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED "16-Feb-2025 15:02:06" {WMEDLEY}<library>tedit>TEDIT-BUTTONS.;218 125051
3+
(FILECREATED "24-Mar-2025 09:26:13" {WMEDLEY}<library>tedit>TEDIT-BUTTONS.;223 124611
44

55
:EDIT-BY rmk
66

7-
:CHANGES-TO (FNS MB.FIELD.CREATE MB.SPEC.REMAINDER MB.NWAY.SIZEFN MB.NWAY.CREATE)
8-
(VARS TEDIT-BUTTONSCOMS)
7+
:CHANGES-TO (FNS MB.FIELD.INSURETYPE MB.BUTTONEVENTINFN)
98

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

1211

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

292-
(TEDITMENU.STREAM
293-
[LAMBDA (TSTREAM) (* ; "Edited 29-Sep-2024 15:29 by rmk")
294-
(* ; "Edited 28-Aug-2024 15:48 by rmk")
295-
(* ; "Edited 10-Apr-2023 09:53 by rmk")
296-
(* jds "13-Aug-84 14:10")
297-
298-
(* ;; "returns the textstream of the teditmenu attached to this stream if any")
299-
300-
(for W in (ATTACHEDWINDOWS (\TEDIT.MAINW TSTREAM)) when (TEDITMENUP W "TEdit Menu")
301-
do (RETURN (TEXTSTREAM W])
302-
303291
(TEDIT.BACKTOMAIN
304292
[LAMBDA (MENUSTREAM) (* ; "Edited 20-Oct-2024 10:02 by rmk")
305293
(* ; "Edited 25-Aug-2024 09:17 by rmk")
@@ -320,6 +308,7 @@
320308

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

331320
(* ;; "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.")
332321

333-
(TEDIT.PROMPTCLEAR MENUSTREAM)
334322
(if [OR (EQ BUTTON 'RIGHT)
335323
(SHIFTDOWNP 'CTRL)
336324
(SHIFTDOWNP 'SHIFT)
@@ -1897,7 +1885,8 @@
18971885
XKERN _ 0])
18981886

18991887
(MB.FIELD.INSURETYPE
1900-
[LAMBDA (FIELDTYPE STR TSTREAM) (* ; "Edited 4-Dec-2024 20:09 by rmk")
1888+
[LAMBDA (FIELDTYPE STR TSTREAM) (* ; "Edited 24-Mar-2025 09:26 by rmk")
1889+
(* ; "Edited 4-Dec-2024 20:09 by rmk")
19011890
(* ; "Edited 8-Nov-2024 08:37 by rmk")
19021891
(* ; "Edited 29-Sep-2024 21:52 by rmk")
19031892
(* ; "Edited 31-Aug-2024 12:46 by rmk")
@@ -1918,6 +1907,8 @@
19181907
((TEXT STRING) (* ;
19191908
 "String should be a string, not NIL atom")
19201909
(SETQ VAL (OR STR '**EMPTY**)))
1910+
(TRIMMEDSTRING (CL:UNLESS (STREQUAL "" TRIMMED)
1911+
(SETQ VAL TRIMMED)))
19211912
((NUMBER PICAS POSITIVENUMBER SIGNEDNUMBER CARDINAL)
19221913
(SETQ TRIMMED (MKATOM TRIMMED))
19231914
(if (OR (EQ 0 (NCHARS TRIMMED))
@@ -1970,26 +1961,25 @@
19701961
(MB.FIELD.INIT)
19711962
)
19721963
(DECLARE%: DONTCOPY
1973-
(FILEMAP (NIL (3338 19860 (MB.ADD 3348 . 9777) (MB.DELETE 9779 . 10153) (MB.GET 10155 . 16925) (
1974-
MB.GET.MBARG 16927 . 18596) (TEDITMENU.STREAM 18598 . 19265) (TEDIT.BACKTOMAIN 19267 . 19858)) (19904
1975-
39766 (MB.BUTTONEVENTINFN 19914 . 21408) (MB.DISPLAYFN 21410 . 23469) (MB.SETIMAGE 23471 . 24639) (
1976-
MB.SIZEFN 24641 . 26189) (MB.WHENOPERATEDONFN 26191 . 28140) (MB.COPYFN 28142 . 28600) (MB.GETFN 28602
1977-
. 29563) (MB.PUTFN 29565 . 30665) (MB.SHOWSELFN 30667 . 32176) (MB.CREATE 32178 . 36201) (
1978-
MB.CHANGENAME 36203 . 36685) (MB.INIT 36687 . 38148) (MB.TRACK.UNTIL 38150 . 38845) (MB.DON'T 38847 .
1979-
39143) (MB.SPEC.REMAINDER 39145 . 39764)) (39928 49918 (MB.3STATE.CREATE 39938 . 40802) (
1980-
MB.3STATE.DISPLAYFN 40804 . 41790) (MB.3STATE.SHOWSELFN 41792 . 44103) (MB.3STATE.INIT 44105 . 45516)
1981-
(MB.3STATE.SETSTATEFN 45518 . 46176) (MB.3STATE.BUTTONEVENTINFN 46178 . 49916)) (50073 80741 (
1982-
MB.NWAY.CREATE 50083 . 56125) (MB.NWAY.DISPLAYFN 56127 . 56990) (MB.NWAY.WHENOPERATEDONFN 56992 .
1983-
59182) (MB.NWAY.SIZEFN 59184 . 63120) (MB.NWAY.SELECT 63122 . 66692) (MB.NWAY.BUTTONEVENTINFN 66694 .
1984-
69906) (MB.NWAY.NEWMENUBUTTON 69908 . 70620) (MB.NWAY.COPYFN 70622 . 71589) (MB.NWAY.INIT 71591 .
1985-
73082) (MB.NWAY.ARRANGEBUTTONS 73084 . 75055) (MB.NWAY.ADDITEM 75057 . 78919) (MB.NWAY.FINDSUBOBJ
1986-
78921 . 79435) (MB.NWAY.SETSTATEFN 79437 . 80739)) (80820 92707 (MB.TOGGLE.CREATE 80830 . 81825) (
1987-
MB.TOGGLE.DISPLAYFN 81827 . 83310) (MB.TOGGLE.INIT 83312 . 85111) (MB.SET.TOGGLE 85113 . 86314) (
1988-
MB.TOGGLE.SETSTATEFN 86316 . 87156) (MB.TOGGLE.BUTTONEVENTINFN 87158 . 91362) (
1989-
MB.TOGGLE.WHENOPERATEDONFN 91364 . 92705)) (92788 124972 (MB.FIELD.CREATE 92798 . 98249) (
1990-
MB.FIELD.DISPLAYFN 98251 . 99042) (MB.FIELD.IMAGEBOXFN 99044 . 100526) (MB.FIELD.PREFIXCREATE 100528
1991-
. 104464) (MB.FIELD.SUFFIXCREATE 104466 . 106126) (MB.FIELD.INIT 106128 . 107895) (
1992-
MB.FIELD.WHENOPERATEDONFN 107897 . 109168) (MB.FIELD.GETSTATEFN 109170 . 113104) (MB.FIELD.SETSTATEFN
1993-
113106 . 117801) (MB.FIELD.BUTTONEVENTINFN 117803 . 120108) (MB.FIELD.SIZEFN 120110 . 120350) (
1994-
MB.FIELD.INSURETYPE 120352 . 124970)))))
1964+
(FILEMAP (NIL (3253 19106 (MB.ADD 3263 . 9692) (MB.DELETE 9694 . 10068) (MB.GET 10070 . 16840) (
1965+
MB.GET.MBARG 16842 . 18511) (TEDIT.BACKTOMAIN 18513 . 19104)) (19150 39086 (MB.BUTTONEVENTINFN 19160
1966+
. 20728) (MB.DISPLAYFN 20730 . 22789) (MB.SETIMAGE 22791 . 23959) (MB.SIZEFN 23961 . 25509) (
1967+
MB.WHENOPERATEDONFN 25511 . 27460) (MB.COPYFN 27462 . 27920) (MB.GETFN 27922 . 28883) (MB.PUTFN 28885
1968+
. 29985) (MB.SHOWSELFN 29987 . 31496) (MB.CREATE 31498 . 35521) (MB.CHANGENAME 35523 . 36005) (
1969+
MB.INIT 36007 . 37468) (MB.TRACK.UNTIL 37470 . 38165) (MB.DON'T 38167 . 38463) (MB.SPEC.REMAINDER
1970+
38465 . 39084)) (39248 49238 (MB.3STATE.CREATE 39258 . 40122) (MB.3STATE.DISPLAYFN 40124 . 41110) (
1971+
MB.3STATE.SHOWSELFN 41112 . 43423) (MB.3STATE.INIT 43425 . 44836) (MB.3STATE.SETSTATEFN 44838 . 45496)
1972+
(MB.3STATE.BUTTONEVENTINFN 45498 . 49236)) (49393 80061 (MB.NWAY.CREATE 49403 . 55445) (
1973+
MB.NWAY.DISPLAYFN 55447 . 56310) (MB.NWAY.WHENOPERATEDONFN 56312 . 58502) (MB.NWAY.SIZEFN 58504 .
1974+
62440) (MB.NWAY.SELECT 62442 . 66012) (MB.NWAY.BUTTONEVENTINFN 66014 . 69226) (MB.NWAY.NEWMENUBUTTON
1975+
69228 . 69940) (MB.NWAY.COPYFN 69942 . 70909) (MB.NWAY.INIT 70911 . 72402) (MB.NWAY.ARRANGEBUTTONS
1976+
72404 . 74375) (MB.NWAY.ADDITEM 74377 . 78239) (MB.NWAY.FINDSUBOBJ 78241 . 78755) (MB.NWAY.SETSTATEFN
1977+
78757 . 80059)) (80140 92027 (MB.TOGGLE.CREATE 80150 . 81145) (MB.TOGGLE.DISPLAYFN 81147 . 82630) (
1978+
MB.TOGGLE.INIT 82632 . 84431) (MB.SET.TOGGLE 84433 . 85634) (MB.TOGGLE.SETSTATEFN 85636 . 86476) (
1979+
MB.TOGGLE.BUTTONEVENTINFN 86478 . 90682) (MB.TOGGLE.WHENOPERATEDONFN 90684 . 92025)) (92108 124532 (
1980+
MB.FIELD.CREATE 92118 . 97569) (MB.FIELD.DISPLAYFN 97571 . 98362) (MB.FIELD.IMAGEBOXFN 98364 . 99846)
1981+
(MB.FIELD.PREFIXCREATE 99848 . 103784) (MB.FIELD.SUFFIXCREATE 103786 . 105446) (MB.FIELD.INIT 105448
1982+
. 107215) (MB.FIELD.WHENOPERATEDONFN 107217 . 108488) (MB.FIELD.GETSTATEFN 108490 . 112424) (
1983+
MB.FIELD.SETSTATEFN 112426 . 117121) (MB.FIELD.BUTTONEVENTINFN 117123 . 119428) (MB.FIELD.SIZEFN
1984+
119430 . 119670) (MB.FIELD.INSURETYPE 119672 . 124530)))))
19951985
STOP

library/tedit/TEDIT-BUTTONS.LCOM

-206 Bytes
Binary file not shown.

library/tedit/TEDIT-CHAT

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

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

55
:EDIT-BY rmk
66

77
:CHANGES-TO (FNS TEDITCHAT.CHARFN)
88

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

1111

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

7272
(TEDITCHAT.CHARFN
73-
[LAMBDA (CH CHAT.STATE) (* ; "Edited 24-Jun-2024 00:04 by rmk")
73+
[LAMBDA (CH CHAT.STATE) (* ; "Edited 11-Mar-2025 15:40 by rmk")
74+
(* ; "Edited 24-Jun-2024 00:04 by rmk")
7475
(* ; "Edited 2-May-2024 18:09 by rmk")
7576
(* ; "Edited 22-Dec-2023 23:57 by rmk")
7677
(* ; "Edited 18-Mar-2023 20:08 by rmk")
@@ -79,7 +80,7 @@
7980
(TEXTOBJ (TEXTOBJ TSTREAM)))
8081
(\CARET.DOWN (FGETTOBJ TEXTOBJ DS))
8182
(SELCHARQ CH
82-
(BS (\TEDIT.CHARDELETE TSTREAM (FGETTOBJ TEXTOBJ SEL)))
83+
(BS (\TEDIT.CHARDELETE TSTREAM))
8384
(LF NIL)
8485
(BOUT TSTREAM CH])
8586
)
@@ -213,6 +214,6 @@
213214
CHATDECLS)
214215
)
215216
(DECLARE%: DONTCOPY
216-
(FILEMAP (NIL (886 4544 (TEDITSTREAM.INIT 896 . 1823) (TEDITCHAT.MENUFN 1825 . 3661) (TEDITCHAT.CHARFN
217-
3663 . 4542)) (4591 11475 (TEDIT.DISPLAYTEXT 4601 . 11473)))))
217+
(FILEMAP (NIL (886 4630 (TEDITSTREAM.INIT 896 . 1823) (TEDITCHAT.MENUFN 1825 . 3661) (TEDITCHAT.CHARFN
218+
3663 . 4628)) (4677 11561 (TEDIT.DISPLAYTEXT 4687 . 11559)))))
218219
STOP

library/tedit/TEDIT-CHAT.LCOM

-3 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)