Skip to content

Commit 428aac5

Browse files
authored
TEDIT.INSERT ends with a point selection (#2371)
1 parent e4641d8 commit 428aac5

File tree

2 files changed

+46
-51
lines changed

2 files changed

+46
-51
lines changed

library/tedit/TEDIT

Lines changed: 46 additions & 51 deletions
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 " 8-Sep-2025 22:10:20" {WMEDLEY}<library>TEDIT>TEDIT.;838 145349
3+
(FILECREATED "13-Nov-2025 21:00:34" {WMEDLEY}<library>TEDIT>TEDIT.;844 144838
44

55
:EDIT-BY rmk
66

7-
:CHANGES-TO (FNS TEDIT.NTHCHARCODE)
7+
:CHANGES-TO (FNS TEDIT.INSERT \TEDIT.INSERT)
88

9-
:PREVIOUS-DATE " 6-Sep-2025 09:54:48" {WMEDLEY}<library>TEDIT>TEDIT.;837)
9+
:PREVIOUS-DATE "28-Oct-2025 00:29:56" {WMEDLEY}<library>TEDIT>TEDIT.;843)
1010

1111

1212
(PRETTYCOMPRINT TEDITCOMS)
@@ -75,9 +75,9 @@
7575
(FNS TEDITSYSTEMDATE)
7676
(VARS (TEDITSYSTEMDATE (TEDITSYSTEMDATE]
7777
(COMS (* ;
78-
 "LISTFILES Interface, so the system can decide if a file is a TEdit file.")
79-
(ADDVARS (PRINTFILETYPES (TEDIT (TEST \TEDIT.GET.TRAILER)
80-
(EXTENSION (TEDIT])
78+
 "IMAGETYPE Interface, so the system can decide if a file is a TEdit file.")
79+
(ADDVARS (PRINTFILETYPES (TEDIT (TEST TEDIT.FORMATTEDFILEP)
80+
(EXTENSION (TEDIT TED])
8181

8282
(FILESLOAD (SYSLOAD)
8383
POSTSCRIPTSTREAM PDFSTREAM WHEELSCROLL)
@@ -441,6 +441,8 @@
441441
(TEDIT-SEE
442442
[LAMBDA (FILE WINDOW FORMAT TITLE)
443443

444+
(* ;; "Edited 27-Oct-2025 21:25 by rmk")
445+
444446
(* ;;
445447
 "Edited 13-Sep-2023 09:04 by rmk: Old code replaced to take advantage of new standard interfaces.")
446448

@@ -452,7 +454,8 @@
452454

453455
(* ;; "Edited 1-Feb-88 19:00 by bvm:")
454456

455-
(TEXTSTREAM (TEDIT FILE WINDOW NIL `(READONLY T LEAVETTY T FONT ,DEFAULTFONT])
457+
(TEXTSTREAM (TEDIT FILE WINDOW NIL `(READONLY T LEAVETTY T FONT ,DEFAULTFONT TITLE ,TITLE FORMAT
458+
,FORMAT])
456459

457460
(TEDIT.COPY
458461
[LAMBDA (FROM TO) (* ; "Edited 2-Dec-2024 09:02 by rmk")
@@ -506,7 +509,8 @@
506509
(\TEDIT.DELETE TSTREAM SEL])
507510

508511
(TEDIT.INSERT
509-
[LAMBDA (TSTREAM TEXT CH#ORSEL LOOKS DONTSCROLL) (* ; "Edited 4-Apr-2025 11:22 by rmk")
512+
[LAMBDA (TSTREAM TEXT CH#ORSEL LOOKS DONTSCROLL) (* ; "Edited 13-Nov-2025 20:58 by rmk")
513+
(* ; "Edited 4-Apr-2025 11:22 by rmk")
510514
(* ; "Edited 2-Aug-2024 22:17 by rmk")
511515
(* ; "Edited 31-Jul-2024 12:13 by rmk")
512516
(* ; "Edited 23-Jul-2024 16:35 by rmk")
@@ -531,7 +535,7 @@
531535

532536
(* ;; "Nothing to do for an empty string")
533537

534-
(LET ((TEXTOBJ (fetch (TEXTSTREAM TEXTOBJ) of TSTREAM)))
538+
(LET ((TEXTOBJ (FTEXTOBJ TSTREAM)))
535539
(if (FIXP CH#ORSEL)
536540
then (TEDIT.SETSEL TEXTOBJ CH#ORSEL 1 'LEFT)
537541
(* ; "He gave us a ch# to insert before")
@@ -540,14 +544,8 @@
540544
then (SETQ CH#ORSEL (TEXTSEL TEXTOBJ)))
541545
(SELECTION! CH#ORSEL)
542546
(if (FGETSEL CH#ORSEL SET)
543-
then (\TEDIT.INSERT TEXT CH#ORSEL TSTREAM DONTSCROLL)
544-
(CL:WHEN LOOKS
545-
546-
(* ;; "TEXTSEL now selects the insertion, apply the looks, but don't keep the looks-change as a separate event. We want it to behave as if the looks had been applied to the TEXT before the insertion (e.g. converting first to SELPIECES).")
547-
548-
(LET ((HISTORY (FGETTOBJ TEXTOBJ TXTHISTORY)))
549-
(\TEDIT.CHANGE.CHARLOOKS TSTREAM LOOKS)
550-
(FSETTOBJ TEXTOBJ TXTHISTORY HISTORY)))
547+
then (CL:WHEN LOOKS (TEDIT.CARETLOOKS TSTREAM LOOKS))
548+
(\TEDIT.INSERT TEXT CH#ORSEL TSTREAM DONTSCROLL)
551549
else (TEDIT.PROMPTPRINT TEXTOBJ "Please select a place for the insertion." T))))
552550
])
553551

@@ -1240,7 +1238,8 @@
12401238
(T TSTREAM)))])
12411239

12421240
(\TEDIT.INSERT
1243-
[LAMBDA (INSERT SEL TSTREAM DONTSCROLL TYPEIN) (* ; "Edited 7-May-2025 00:11 by rmk")
1241+
[LAMBDA (INSERT SEL TSTREAM DONTSCROLL TYPEIN) (* ; "Edited 13-Nov-2025 20:57 by rmk")
1242+
(* ; "Edited 7-May-2025 00:11 by rmk")
12441243
(* ; "Edited 21-Apr-2025 20:16 by rmk")
12451244
(* ; "Edited 20-Apr-2025 13:26 by rmk")
12461245
(* ; "Edited 6-Apr-2025 14:12 by rmk")
@@ -1311,14 +1310,10 @@
13111310

13121311
(* ;; "Set the caret so that the next insertion should also come in front of that (now displaced) character, and then update the screen.")
13131312

1314-
(* ;; "If typein, the new selection is a point selection, if from a function e.g. TEDIT.INSERT, the insertion is selected/underlined. TEDIT.INSERT can then apply the looks, if specified.")
1315-
1316-
(if TYPEIN
1317-
then (\TEDIT.UPDATE.SEL SEL (SUB1 (IPLUS CARETCHNO NCHARSADDED))
1318-
0
1319-
'RIGHT
1320-
'NORMAL)
1321-
else (\TEDIT.UPDATE.SEL SEL CARETCHNO NCHARSADDED 'RIGHT 'NORMAL))
1313+
(\TEDIT.UPDATE.SEL SEL (SUB1 (IPLUS CARETCHNO NCHARSADDED))
1314+
0
1315+
'RIGHT
1316+
'NORMAL)
13221317
(CL:UNLESS DONTSCROLL
13231318

13241319
(* ;; "All the panes must be updated. SELPANE mayalso need to be scrolled to make the caret visible for the next input.")
@@ -2320,32 +2315,32 @@
23202315

23212316

23222317

2323-
(* ; "LISTFILES Interface, so the system can decide if a file is a TEdit file.")
2318+
(* ; "IMAGETYPE Interface, so the system can decide if a file is a TEdit file.")
23242319

23252320

2326-
(ADDTOVAR PRINTFILETYPES (TEDIT (TEST \TEDIT.GET.TRAILER)
2327-
(EXTENSION (TEDIT))))
2321+
(ADDTOVAR PRINTFILETYPES (TEDIT (TEST TEDIT.FORMATTEDFILEP)
2322+
(EXTENSION (TEDIT TED))))
23282323
(DECLARE%: DONTCOPY
2329-
(FILEMAP (NIL (4823 7217 (MAKE-TEDIT-EXPORTS.ALL 4833 . 5379) (UPDATE-TEDIT 5381 . 6310) (EDIT-TEDIT
2330-
6312 . 7215)) (8647 36705 (TEDIT 8657 . 11271) (TEXTSTREAM 11273 . 13162) (TEXTSTREAMP 13164 . 13548)
2331-
(COERCETEXTSTREAM 13550 . 17761) (TEDIT.CONCAT 17763 . 21065) (TEDITSTRING 21067 . 21981) (TEDIT-SEE
2332-
21983 . 22542) (TEDIT.COPY 22544 . 24689) (TEDIT.DELETE 24691 . 26052) (TEDIT.INSERT 26054 . 29428) (
2333-
TEDIT.TERPRI 29430 . 30544) (TEDIT.KILL 30546 . 31528) (TEDIT.QUIT 31530 . 32896) (TEDIT.MOVE 32898 .
2334-
33786) (TEDIT.STRINGWIDTH 33788 . 34459) (TEDIT.CHARWIDTH 34461 . 36703)) (36706 38647 (TEXTOBJ 36716
2335-
. 37181) (COERCETEXTOBJ 37183 . 38645)) (40047 41697 (TDRIBBLE 40057 . 41695)) (41738 53634 (
2336-
TEDIT.INSERT.OBJECT 41748 . 45455) (TEDIT.EDIT.OBJECT 45457 . 48397) (TEDIT.OBJECT.CHANGED 48399 .
2337-
51589) (TEDIT.MAP.OBJECTS 51591 . 53162) (\TEDIT.FIRST.OBJPIECE 53164 . 53397) (\TEDIT.NEXT.OBJPIECE
2338-
53399 . 53632)) (53657 61100 (\TEDIT.CONCAT.PAGEFRAMES 53667 . 58734) (\TEDIT.GET.PAGE.HEADINGS 58736
2339-
. 59765) (\TEDIT.CONCAT.INSTALL.HEADINGS 59767 . 61098)) (61101 64708 (\TEDIT.MOVE.MSG 61111 . 63192)
2340-
(\TEDIT.READONLY 63194 . 64706)) (64709 70600 (TEDIT.NCHARS 64719 . 65092) (TEDIT.RPLCHARCODE 65094
2341-
. 68084) (TEDIT.NTHCHARCODE 68086 . 70129) (TEDIT.NTHCHAR 70131 . 70598)) (70646 127675 (\TEDIT1
2342-
70656 . 72733) (\TEDIT.INSERT 72735 . 79100) (\TEDIT.MOVE 79102 . 87008) (\TEDIT.COPY 87010 . 91541) (
2343-
\TEDIT.REPLACE.SELPIECES 91543 . 96079) (\TEDIT.INSERT.SELPIECES 96081 . 99078) (\TEDIT.RESTARTFN
2344-
99080 . 101585) (\TEDIT.CHARDELETE 101587 . 104516) (\TEDIT.COPYPIECE 104518 . 109680) (
2345-
\TEDIT.APPLY.OBJFN 109682 . 112768) (\TEDIT.DELETE 112770 . 117138) (\TEDIT.DIFFUSE.PARALOOKS 117140
2346-
. 119411) (\TEDIT.WORDDELETE 119413 . 121028) (\TEDIT.WORDDELETE.FORWARD 121030 . 122819) (
2347-
\TEDIT.FINISHEDIT? 122821 . 127673)) (127676 128335 (\TEDIT.THELP 127686 . 128333)) (128369 137500 (
2348-
\TEDIT.PARAPIECES 128379 . 130353) (\TEDIT.PARACHNOS 130355 . 131247) (\TEDIT.PARA.FIRST 131249 .
2349-
134350) (\TEDIT.PARA.LAST 134352 . 137498)) (137501 144596 (\TEDIT.WORD.FIRST 137511 . 141515) (
2350-
\TEDIT.WORD.LAST 141517 . 144594)) (144797 145074 (TEDITSYSTEMDATE 144807 . 145072)))))
2324+
(FILEMAP (NIL (4838 7232 (MAKE-TEDIT-EXPORTS.ALL 4848 . 5394) (UPDATE-TEDIT 5396 . 6325) (EDIT-TEDIT
2325+
6327 . 7230)) (8662 36440 (TEDIT 8672 . 11286) (TEXTSTREAM 11288 . 13177) (TEXTSTREAMP 13179 . 13563)
2326+
(COERCETEXTSTREAM 13565 . 17776) (TEDIT.CONCAT 17778 . 21080) (TEDITSTRING 21082 . 21996) (TEDIT-SEE
2327+
21998 . 22682) (TEDIT.COPY 22684 . 24829) (TEDIT.DELETE 24831 . 26192) (TEDIT.INSERT 26194 . 29163) (
2328+
TEDIT.TERPRI 29165 . 30279) (TEDIT.KILL 30281 . 31263) (TEDIT.QUIT 31265 . 32631) (TEDIT.MOVE 32633 .
2329+
33521) (TEDIT.STRINGWIDTH 33523 . 34194) (TEDIT.CHARWIDTH 34196 . 36438)) (36441 38382 (TEXTOBJ 36451
2330+
. 36916) (COERCETEXTOBJ 36918 . 38380)) (39782 41432 (TDRIBBLE 39792 . 41430)) (41473 53369 (
2331+
TEDIT.INSERT.OBJECT 41483 . 45190) (TEDIT.EDIT.OBJECT 45192 . 48132) (TEDIT.OBJECT.CHANGED 48134 .
2332+
51324) (TEDIT.MAP.OBJECTS 51326 . 52897) (\TEDIT.FIRST.OBJPIECE 52899 . 53132) (\TEDIT.NEXT.OBJPIECE
2333+
53134 . 53367)) (53392 60835 (\TEDIT.CONCAT.PAGEFRAMES 53402 . 58469) (\TEDIT.GET.PAGE.HEADINGS 58471
2334+
. 59500) (\TEDIT.CONCAT.INSTALL.HEADINGS 59502 . 60833)) (60836 64443 (\TEDIT.MOVE.MSG 60846 . 62927)
2335+
(\TEDIT.READONLY 62929 . 64441)) (64444 70335 (TEDIT.NCHARS 64454 . 64827) (TEDIT.RPLCHARCODE 64829
2336+
. 67819) (TEDIT.NTHCHARCODE 67821 . 69864) (TEDIT.NTHCHAR 69866 . 70333)) (70381 127158 (\TEDIT1
2337+
70391 . 72468) (\TEDIT.INSERT 72470 . 78583) (\TEDIT.MOVE 78585 . 86491) (\TEDIT.COPY 86493 . 91024) (
2338+
\TEDIT.REPLACE.SELPIECES 91026 . 95562) (\TEDIT.INSERT.SELPIECES 95564 . 98561) (\TEDIT.RESTARTFN
2339+
98563 . 101068) (\TEDIT.CHARDELETE 101070 . 103999) (\TEDIT.COPYPIECE 104001 . 109163) (
2340+
\TEDIT.APPLY.OBJFN 109165 . 112251) (\TEDIT.DELETE 112253 . 116621) (\TEDIT.DIFFUSE.PARALOOKS 116623
2341+
. 118894) (\TEDIT.WORDDELETE 118896 . 120511) (\TEDIT.WORDDELETE.FORWARD 120513 . 122302) (
2342+
\TEDIT.FINISHEDIT? 122304 . 127156)) (127159 127818 (\TEDIT.THELP 127169 . 127816)) (127852 136983 (
2343+
\TEDIT.PARAPIECES 127862 . 129836) (\TEDIT.PARACHNOS 129838 . 130730) (\TEDIT.PARA.FIRST 130732 .
2344+
133833) (\TEDIT.PARA.LAST 133835 . 136981)) (136984 144079 (\TEDIT.WORD.FIRST 136994 . 140998) (
2345+
\TEDIT.WORD.LAST 141000 . 144077)) (144280 144557 (TEDITSYSTEMDATE 144290 . 144555)))))
23512346
STOP

library/tedit/TEDIT.LCOM

80 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)