Skip to content

Commit 17515ef

Browse files
authored
Make sure TEDIT backing files close on error (#2284)
Make sure backing files close on error
1 parent 83bbf9e commit 17515ef

File tree

6 files changed

+101
-97
lines changed

6 files changed

+101
-97
lines changed

library/tedit/TEDIT

Lines changed: 28 additions & 27 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 " 6-Sep-2025 09:54:48" {WMEDLEY}<library>TEDIT>TEDIT.;837 145260
3+
(FILECREATED " 8-Sep-2025 22:10:20" {WMEDLEY}<library>TEDIT>TEDIT.;838 145349
44

55
:EDIT-BY rmk
66

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

9-
:PREVIOUS-DATE " 1-Aug-2025 14:50:15" {WMEDLEY}<library>TEDIT>TEDIT.;835)
9+
:PREVIOUS-DATE " 6-Sep-2025 09:54:48" {WMEDLEY}<library>TEDIT>TEDIT.;837)
1010

1111

1212
(PRETTYCOMPRINT TEDITCOMS)
@@ -1162,7 +1162,8 @@
11621162
(\TEDIT.RPLCHARCODE TSTREAM N NEWCHARCODE NEWCHARLOOKS DONTDISPLAY])
11631163

11641164
(TEDIT.NTHCHARCODE
1165-
[LAMBDA (TSTREAM N) (* ; "Edited 28-Mar-2025 14:10 by rmk")
1165+
[LAMBDA (TSTREAM N) (* ; "Edited 8-Sep-2025 22:09 by rmk")
1166+
(* ; "Edited 28-Mar-2025 14:10 by rmk")
11661167
(* ; "Edited 7-Jul-2024 11:09 by rmk")
11671168
(* ; "Edited 29-Apr-2024 13:06 by rmk")
11681169
(* ; "Edited 17-Mar-2024 00:27 by rmk")
@@ -1185,7 +1186,7 @@
11851186
(* ;; "Out of the selection: force NIL")
11861187

11871188
(SETQ N 0)))
1188-
(SETQ TSTREAM (TSTREAM TSTREAM))
1189+
(SETQ TSTREAM (TEXTSTREAM TSTREAM))
11891190
else (SETQ TSTREAM (TEXTSTREAM TSTREAM))
11901191
(CL:WHEN (ILESSP N 0)
11911192
(SETQ N (IPLUS (TEDIT.NCHARS TSTREAM)
@@ -2325,26 +2326,26 @@
23252326
(ADDTOVAR PRINTFILETYPES (TEDIT (TEST \TEDIT.GET.TRAILER)
23262327
(EXTENSION (TEDIT))))
23272328
(DECLARE%: DONTCOPY
2328-
(FILEMAP (NIL (4850 7244 (MAKE-TEDIT-EXPORTS.ALL 4860 . 5406) (UPDATE-TEDIT 5408 . 6337) (EDIT-TEDIT
2329-
6339 . 7242)) (8674 36732 (TEDIT 8684 . 11298) (TEXTSTREAM 11300 . 13189) (TEXTSTREAMP 13191 . 13575)
2330-
(COERCETEXTSTREAM 13577 . 17788) (TEDIT.CONCAT 17790 . 21092) (TEDITSTRING 21094 . 22008) (TEDIT-SEE
2331-
22010 . 22569) (TEDIT.COPY 22571 . 24716) (TEDIT.DELETE 24718 . 26079) (TEDIT.INSERT 26081 . 29455) (
2332-
TEDIT.TERPRI 29457 . 30571) (TEDIT.KILL 30573 . 31555) (TEDIT.QUIT 31557 . 32923) (TEDIT.MOVE 32925 .
2333-
33813) (TEDIT.STRINGWIDTH 33815 . 34486) (TEDIT.CHARWIDTH 34488 . 36730)) (36733 38674 (TEXTOBJ 36743
2334-
. 37208) (COERCETEXTOBJ 37210 . 38672)) (40074 41724 (TDRIBBLE 40084 . 41722)) (41765 53661 (
2335-
TEDIT.INSERT.OBJECT 41775 . 45482) (TEDIT.EDIT.OBJECT 45484 . 48424) (TEDIT.OBJECT.CHANGED 48426 .
2336-
51616) (TEDIT.MAP.OBJECTS 51618 . 53189) (\TEDIT.FIRST.OBJPIECE 53191 . 53424) (\TEDIT.NEXT.OBJPIECE
2337-
53426 . 53659)) (53684 61127 (\TEDIT.CONCAT.PAGEFRAMES 53694 . 58761) (\TEDIT.GET.PAGE.HEADINGS 58763
2338-
. 59792) (\TEDIT.CONCAT.INSTALL.HEADINGS 59794 . 61125)) (61128 64735 (\TEDIT.MOVE.MSG 61138 . 63219)
2339-
(\TEDIT.READONLY 63221 . 64733)) (64736 70511 (TEDIT.NCHARS 64746 . 65119) (TEDIT.RPLCHARCODE 65121
2340-
. 68111) (TEDIT.NTHCHARCODE 68113 . 70040) (TEDIT.NTHCHAR 70042 . 70509)) (70557 127586 (\TEDIT1
2341-
70567 . 72644) (\TEDIT.INSERT 72646 . 79011) (\TEDIT.MOVE 79013 . 86919) (\TEDIT.COPY 86921 . 91452) (
2342-
\TEDIT.REPLACE.SELPIECES 91454 . 95990) (\TEDIT.INSERT.SELPIECES 95992 . 98989) (\TEDIT.RESTARTFN
2343-
98991 . 101496) (\TEDIT.CHARDELETE 101498 . 104427) (\TEDIT.COPYPIECE 104429 . 109591) (
2344-
\TEDIT.APPLY.OBJFN 109593 . 112679) (\TEDIT.DELETE 112681 . 117049) (\TEDIT.DIFFUSE.PARALOOKS 117051
2345-
. 119322) (\TEDIT.WORDDELETE 119324 . 120939) (\TEDIT.WORDDELETE.FORWARD 120941 . 122730) (
2346-
\TEDIT.FINISHEDIT? 122732 . 127584)) (127587 128246 (\TEDIT.THELP 127597 . 128244)) (128280 137411 (
2347-
\TEDIT.PARAPIECES 128290 . 130264) (\TEDIT.PARACHNOS 130266 . 131158) (\TEDIT.PARA.FIRST 131160 .
2348-
134261) (\TEDIT.PARA.LAST 134263 . 137409)) (137412 144507 (\TEDIT.WORD.FIRST 137422 . 141426) (
2349-
\TEDIT.WORD.LAST 141428 . 144505)) (144708 144985 (TEDITSYSTEMDATE 144718 . 144983)))))
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)))))
23502351
STOP

library/tedit/TEDIT-OLDFILE

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED " 1-Aug-2025 14:58:21" 
4-
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-OLDFILE.;38 73837
3+
(FILECREATED " 8-Sep-2025 22:10:10" {WMEDLEY}<library>TEDIT>TEDIT-OLDFILE.;40 73888
54

65
:EDIT-BY rmk
76

8-
:CHANGES-TO (FNS \TEDIT.GET.CHARLOOKS2 \TEDIT.GET.PCTB1 \TEDIT.GET.PCTB2
9-
\TEDIT.GET.SINGLE.CHARLOOKS2 \TEDIT.GET.CHARLOOKS0 \TEDIT.GET.CHARLOOKS1)
7+
:CHANGES-TO (FNS \TEDIT.GET.PCTB2)
108

11-
:PREVIOUS-DATE "28-Jul-2025 23:43:57"
12-
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-OLDFILE.;34)
9+
:PREVIOUS-DATE " 7-Sep-2025 11:07:57" {WMEDLEY}<library>TEDIT>TEDIT-OLDFILE.;39)
1310

1411

1512
(PRETTYCOMPRINT TEDIT-OLDFILECOMS)
@@ -49,7 +46,8 @@
4946
(DEFINEQ
5047

5148
(\TEDIT.GET.PCTB2
52-
[LAMBDA (TEXT TSTREAM PCCOUNT START END) (* ; "Edited 1-Aug-2025 14:55 by rmk")
49+
[LAMBDA (TEXT TSTREAM PCCOUNT START END) (* ; "Edited 8-Sep-2025 22:08 by rmk")
50+
(* ; "Edited 1-Aug-2025 14:55 by rmk")
5351
(* ; "Edited 28-Jul-2025 23:39 by rmk")
5452
(* ; "Edited 8-Feb-2025 20:21 by rmk")
5553
(* ; "Edited 21-Oct-2024 00:33 by rmk")
@@ -73,7 +71,7 @@
7371

7472
(* ;; "END = use this as eofptr of file. For use in reading files within files.")
7573

76-
(LET ((TEXTOBJ (FTEXTOBJ (TSTREAM)))
74+
(LET ((TEXTOBJ (FTEXTOBJ TSTREAM))
7775
PIECEINFOCH#
7876
(CURFILECH# (OR START 0))
7977
LOOKSHASH PARAHASH)
@@ -283,7 +281,8 @@
283281
(for I from 1 to (\WIN FILE) collect (\TEDIT.GET.SINGLE.CHARLOOKS2 FILE])
284282

285283
(\TEDIT.GET.SINGLE.CHARLOOKS2
286-
[LAMBDA (FILE) (* ; "Edited 1-Aug-2025 12:13 by rmk")
284+
[LAMBDA (FILE) (* ; "Edited 7-Sep-2025 11:03 by rmk")
285+
(* ; "Edited 1-Aug-2025 12:13 by rmk")
287286
(* ; "Edited 7-Jan-2025 12:29 by rmk")
288287
(* ; "Edited 2-Jan-2025 11:09 by rmk")
289288
(* ; "Edited 31-Jul-2024 00:05 by rmk")
@@ -327,7 +326,6 @@
327326
(BOLD 'BOLD)
328327
(ITALIC 'ITALIC]
329328
(FSETCLOOKS LOOKS CLFONT FONT)
330-
(FSETCLOOKS LOOKS CLNAME (FONTUNPARSE FONT))
331329
(RETURN LOOKS])
332330

333331
(\TEDIT.PUT.SINGLE.PARALOOKS2
@@ -730,7 +728,8 @@
730728
(\TEDIT.PARSE.PAGEFRAMES1 (pop PAGELIST])
731729

732730
(\TEDIT.GET.CHARLOOKS1
733-
[LAMBDA (PC FILE) (* ; "Edited 1-Aug-2025 12:18 by rmk")
731+
[LAMBDA (PC FILE) (* ; "Edited 7-Sep-2025 11:03 by rmk")
732+
(* ; "Edited 1-Aug-2025 12:18 by rmk")
734733
(* ; "Edited 28-Jul-2025 23:40 by rmk")
735734
(* ; "Edited 2-Jan-2025 11:09 by rmk")
736735
(* ; "Edited 31-Jul-2024 00:05 by rmk")
@@ -788,7 +787,6 @@
788787
(ITALIC 'ITALIC]
789788
else (* ; "Should never happen")
790789
(FONTCREATE DEFAULTFONT)))
791-
(FSETCLOOKS LOOKS CLNAME (FONTUNPARSE FONT))
792790
(FSETCLOOKS LOOKS CLFONT FONT])
793791

794792
(\TEDIT.GET.PARALOOKS1
@@ -956,7 +954,8 @@
956954
(\TEDIT.INSERTPIECE PC NIL TEXTOBJ) finally (\TEDIT.UNIQUIFY.ALL TEXTOBJ])
957955

958956
(\TEDIT.GET.CHARLOOKS0
959-
[LAMBDA (PC FILE) (* ; "Edited 1-Aug-2025 12:17 by rmk")
957+
[LAMBDA (PC FILE) (* ; "Edited 7-Sep-2025 11:03 by rmk")
958+
(* ; "Edited 1-Aug-2025 12:17 by rmk")
960959
(* ; "Edited 28-Jul-2025 23:39 by rmk")
961960
(* ; "Edited 2-Jan-2025 11:09 by rmk")
962961
(* ; "Edited 31-Jul-2024 00:05 by rmk")
@@ -1015,7 +1014,6 @@
10151014
else (* ; "Should never happen")
10161015
(FONTCREATE DEFAULTFONT)))
10171016
(FSETCLOOKS LOOKS CLFONT FONT)
1018-
(FSETCLOOKS LOOKS CLNAME (FONTUNPARSE FONT))
10191017
(RETURN LOOKS])
10201018

10211019
(\TEDIT.GET.OBJECT0
@@ -1102,14 +1100,14 @@
11021100
PARALOOKS])
11031101
)
11041102
(DECLARE%: DONTCOPY
1105-
(FILEMAP (NIL (1867 37890 (\TEDIT.GET.PCTB2 1877 . 12526) (\TEDIT.GET.PARALOOKS2 12528 . 13117) (
1106-
\TEDIT.GET.CHARLOOKS2 13119 . 14676) (\TEDIT.PARSE.PAGEFRAMES2 14678 . 17417) (
1107-
\TEDIT.GET.CHARLOOKS.LIST2 17419 . 17926) (\TEDIT.GET.SINGLE.CHARLOOKS2 17928 . 21234) (
1108-
\TEDIT.PUT.SINGLE.PARALOOKS2 21236 . 25486) (\TEDIT.PUT.SINGLE.CHARLOOKS2 25488 . 29198) (
1109-
\TEDIT.GET.PARALOOKS.LIST2 29200 . 29707) (\TEDIT.GET.SINGLE.PARALOOKS2 29709 . 34608) (
1110-
\TEDIT.PUT.CHARLOOKS.LIST2 34610 . 36689) (\TEDIT.PUT.PARALOOKS.LIST2 36691 . 37888)) (37967 59193 (
1111-
\TEDIT.GET.PCTB1 37977 . 44994) (\TEDIT.GET.PAGEFRAMES1 44996 . 45448) (\TEDIT.PARSE.PAGEFRAMES1 45450
1112-
. 48103) (\TEDIT.GET.CHARLOOKS1 48105 . 52416) (\TEDIT.GET.PARALOOKS1 52418 . 57329) (
1113-
TEDIT.GET.OBJECT1 57331 . 59191)) (59253 73814 (\TEDIT.GET.PCTB0 59263 . 63344) (\TEDIT.GET.CHARLOOKS0
1114-
63346 . 67732) (\TEDIT.GET.OBJECT0 67734 . 69809) (\TEDIT.GET.PARALOOKS0 69811 . 73812)))))
1103+
(FILEMAP (NIL (1649 37832 (\TEDIT.GET.PCTB2 1659 . 12415) (\TEDIT.GET.PARALOOKS2 12417 . 13006) (
1104+
\TEDIT.GET.CHARLOOKS2 13008 . 14565) (\TEDIT.PARSE.PAGEFRAMES2 14567 . 17306) (
1105+
\TEDIT.GET.CHARLOOKS.LIST2 17308 . 17815) (\TEDIT.GET.SINGLE.CHARLOOKS2 17817 . 21176) (
1106+
\TEDIT.PUT.SINGLE.PARALOOKS2 21178 . 25428) (\TEDIT.PUT.SINGLE.CHARLOOKS2 25430 . 29140) (
1107+
\TEDIT.GET.PARALOOKS.LIST2 29142 . 29649) (\TEDIT.GET.SINGLE.PARALOOKS2 29651 . 34550) (
1108+
\TEDIT.PUT.CHARLOOKS.LIST2 34552 . 36631) (\TEDIT.PUT.PARALOOKS.LIST2 36633 . 37830)) (37909 59190 (
1109+
\TEDIT.GET.PCTB1 37919 . 44936) (\TEDIT.GET.PAGEFRAMES1 44938 . 45390) (\TEDIT.PARSE.PAGEFRAMES1 45392
1110+
. 48045) (\TEDIT.GET.CHARLOOKS1 48047 . 52413) (\TEDIT.GET.PARALOOKS1 52415 . 57326) (
1111+
TEDIT.GET.OBJECT1 57328 . 59188)) (59250 73865 (\TEDIT.GET.PCTB0 59260 . 63341) (\TEDIT.GET.CHARLOOKS0
1112+
63343 . 67783) (\TEDIT.GET.OBJECT0 67785 . 69860) (\TEDIT.GET.PARALOOKS0 69862 . 73863)))))
11151113
STOP

library/tedit/TEDIT-OLDFILE.LCOM

-418 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)