Skip to content

Commit 710513f

Browse files
authored
TEDIT-FILE with TEXTOBJ argument passed to lower get-piece functions (#1669)
An internal extension, so that error or warning messages if any can be displayed in the local prompt window
1 parent 448cb6f commit 710513f

File tree

2 files changed

+51
-54
lines changed

2 files changed

+51
-54
lines changed

library/tedit/TEDIT-FILE

Lines changed: 51 additions & 54 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 "31-Mar-2024 23:54:56" {WMEDLEY}<library>tedit>TEDIT-FILE.;528 154611
3+
(FILECREATED " 7-Apr-2024 17:22:52" {WMEDLEY}<library>TEDIT>TEDIT-FILE.;531 155019
44

55
:EDIT-BY rmk
66

7-
:CHANGES-TO (FNS TEDIT.PUT)
7+
:CHANGES-TO (FNS \TEDIT.GET.CHARLOOKS.LIST \TEDIT.GET.SINGLE.CHARLOOKS \TEDIT.GET.PIECES3)
88

9-
:PREVIOUS-DATE "26-Mar-2024 22:10:58" {WMEDLEY}<library>tedit>TEDIT-FILE.;527)
9+
:PREVIOUS-DATE " 2-Apr-2024 12:15:23" {WMEDLEY}<library>TEDIT>TEDIT-FILE.;529)
1010

1111

1212
(PRETTYCOMPRINT TEDIT-FILECOMS)
@@ -26,9 +26,6 @@
2626

2727
(FNS TEDIT.GET TEDIT.FORMATTEDFILEP TEDIT.FILEDATE TEDIT.INCLUDE TEDIT.RAW.INCLUDE
2828
TEDIT.PUT TEDIT.PUT.STREAM)
29-
30-
(* ;; "Getting (pageframe functions on TEDIT-PAGE)")
31-
3229
(FNS \TEDIT.GET.FOREIGN.FILE \TEDIT.GET.UNFORMATTED.FILE \TEDIT.GET.FORMATTED.FILE
3330
\TEDIT.FORMATTEDSTREAMP \ARBIN \ATMIN \DWIN \STRINGIN \TEDIT.GET.TRAILER
3431
\TEDIT.CACHEFILE)
@@ -536,11 +533,6 @@
536533
(FULLNAME DESTSTREAM))
537534
else DESTSTREAM)))])
538535
)
539-
540-
541-
542-
(* ;; "Getting (pageframe functions on TEDIT-PAGE)")
543-
544536
(DEFINEQ
545537

546538
(\TEDIT.GET.FOREIGN.FILE
@@ -863,7 +855,8 @@
863855
(DEFINEQ
864856

865857
(\TEDIT.GET.PIECES3
866-
[LAMBDA (TEXT TEXTOBJ PCCOUNT CURFILEBYTE# END) (* ; "Edited 20-Mar-2024 10:59 by rmk")
858+
[LAMBDA (TEXT TEXTOBJ PCCOUNT CURFILEBYTE# END) (* ; "Edited 7-Apr-2024 17:20 by rmk")
859+
(* ; "Edited 20-Mar-2024 10:59 by rmk")
867860
(* ; "Edited 15-Mar-2024 14:37 by rmk")
868861
(* ; "Edited 14-Jan-2024 00:22 by rmk")
869862
(* ; "Edited 11-Jan-2024 12:37 by rmk")
@@ -943,15 +936,15 @@
943936
(* ;;
944937
 "There are new character looks for this object. Read them in.")
945938

946-
(\TEDIT.GET.SINGLE.CHARLOOKS TEXT))))
939+
(\TEDIT.GET.SINGLE.CHARLOOKS TEXT TEXTOBJ))))
947940
(\PieceDescriptorPAGEFRAME (* ;
948941
 "This is page layout info for the file")
949942
(FSETTOBJ TEXTOBJ TXTPAGEFRAMES (\TEDIT.PARSE.PAGEFRAMES (READ TEXT))))
950943
(\PieceDescriptorCHARLOOKSLIST (* ;
951944
 "Read the list of CHARLOOKSs used in this document.")
952945
(add PCNO -1) (* ;
953946
 "Lists don't count, in this format.")
954-
(FSETTOBJ TEXTOBJ TXTCHARLOOKSLIST (\TEDIT.GET.CHARLOOKS.LIST TEXT))
947+
(FSETTOBJ TEXTOBJ TXTCHARLOOKSLIST (\TEDIT.GET.CHARLOOKS.LIST TEXT TEXTOBJ))
955948
[SETQ CHARLOOKSMAP (ARRAY (LENGTH (FGETTOBJ TEXTOBJ TXTCHARLOOKSLIST]
956949
(* ;
957950
 "Build an array of the looks, so the reader can index them.")
@@ -1353,15 +1346,17 @@
13531346
(DEFINEQ
13541347

13551348
(\TEDIT.GET.CHARLOOKS.LIST
1356-
[LAMBDA (FILE) (* ; "Edited 16-Jan-2024 22:44 by rmk")
1349+
[LAMBDA (FILE TEXTOBJ) (* ; "Edited 7-Apr-2024 17:22 by rmk")
1350+
(* ; "Edited 16-Jan-2024 22:44 by rmk")
13571351
(* ; "Edited 19-Dec-2023 10:13 by rmk")
13581352
(* jds "28-Jan-85 17:50")
13591353
(* ;
13601354
 "Read the list of CHARLOOKSs from the file.")
1361-
(for I from 1 to (\WIN FILE) collect (\TEDIT.GET.SINGLE.CHARLOOKS FILE])
1355+
(for I from 1 to (\WIN FILE) collect (\TEDIT.GET.SINGLE.CHARLOOKS FILE TEXTOBJ])
13621356

13631357
(\TEDIT.GET.SINGLE.CHARLOOKS
1364-
[LAMBDA (FILE) (* ; "Edited 16-Jan-2024 22:46 by rmk")
1358+
[LAMBDA (FILE TEXTOBJ) (* ; "Edited 7-Apr-2024 17:21 by rmk")
1359+
(* ; "Edited 16-Jan-2024 22:46 by rmk")
13651360
(* ; "Edited 21-Dec-2023 23:54 by rmk")
13661361
(* ; "Edited 19-Dec-2023 10:13 by rmk")
13671362
(* ; "Edited 25-Nov-2023 23:21 by rmk")
@@ -1371,10 +1366,12 @@
13711366

13721367
(* ;; "Read one CHARLOOKS from FILE. This gets and then sets the file pointer, based on the stored length. But that won't work if the file is not random access. Maybe that's not necessary?")
13731368

1369+
(* ;; "TEXTOBJ only for printing in the local promptwindow, if necessary.")
1370+
13741371
(PROG* ((LOOKS (create CHARLOOKS))
13751372
(FILEPOS (GETFILEPTR FILE))
13761373
(LOOKSLEN (\WIN FILE))
1377-
FONT STR NAME NAMELEN SIZE SUPER SUB PROPS STYLESTR USERSTR)
1374+
FONT NAME SIZE SUPER PROPS STYLESTR)
13781375
(SETQ NAME (\ARBIN FILE)) (* ; "The font name")
13791376
(SETQ SIZE (\WIN FILE)) (* ; "Size of the type, in points")
13801377
(SETQ SUPER (\SMALLPIN FILE)) (* ;
@@ -1398,20 +1395,20 @@
13981395
[SETQ CLCANCOPY (NOT (ZEROP (LOGAND 1 PROPS]
13991396
(SETQ CLSIZE SIZE)
14001397
(SETQ CLOFFSET SUPER))
1401-
[SETQ FONT (COND
1402-
((LISTP NAME) (* ;
1398+
[SETQ FONT (if (LISTP NAME)
1399+
then (* ;
14031400
 "This was a font class. Restore it.")
1404-
(FONTCLASS (pop NAME)
1405-
NAME))
1406-
((AND NAME (NOT (ZEROP SIZE)))
1407-
(FONTCREATE NAME SIZE (COND
1408-
((AND (fetch (CHARLOOKS CLBOLD) of LOOKS)
1409-
(fetch (CHARLOOKS CLITAL) of LOOKS))
1410-
'BOLDITALIC)
1411-
((fetch (CHARLOOKS CLBOLD) of LOOKS)
1412-
'BOLD)
1413-
((fetch (CHARLOOKS CLITAL) of LOOKS)
1414-
'ITALIC]
1401+
(FONTCLASS (pop NAME)
1402+
NAME)
1403+
elseif (AND NAME (NOT (ZEROP SIZE)))
1404+
then (FONTCREATE NAME SIZE (COND
1405+
((AND (fetch (CHARLOOKS CLBOLD) of LOOKS)
1406+
(fetch (CHARLOOKS CLITAL) of LOOKS))
1407+
'BOLDITALIC)
1408+
((fetch (CHARLOOKS CLBOLD) of LOOKS)
1409+
'BOLD)
1410+
((fetch (CHARLOOKS CLITAL) of LOOKS)
1411+
'ITALIC]
14151412
(replace (CHARLOOKS CLNAME) of LOOKS
14161413
with (if (type? FONTCLASS FONT)
14171414
then
@@ -2452,27 +2449,27 @@
24522449

24532450
(RPAQ? *TEDIT-FILE-READTABLE* (COPYREADTABLE \ORIGREADTABLE))
24542451
(DECLARE%: DONTCOPY
2455-
(FILEMAP (NIL (4828 30439 (TEDIT.GET 4838 . 9680) (TEDIT.FORMATTEDFILEP 9682 . 10998) (TEDIT.FILEDATE
2456-
11000 . 12171) (TEDIT.INCLUDE 12173 . 19141) (TEDIT.RAW.INCLUDE 19143 . 19951) (TEDIT.PUT 19953 .
2457-
26896) (TEDIT.PUT.STREAM 26898 . 30437)) (30501 49665 (\TEDIT.GET.FOREIGN.FILE 30511 . 33696) (
2458-
\TEDIT.GET.UNFORMATTED.FILE 33698 . 37572) (\TEDIT.GET.FORMATTED.FILE 37574 . 40362) (
2459-
\TEDIT.FORMATTEDSTREAMP 40364 . 43264) (\ARBIN 43266 . 43986) (\ATMIN 43988 . 44525) (\DWIN 44527 .
2460-
44906) (\STRINGIN 44908 . 45616) (\TEDIT.GET.TRAILER 45618 . 48134) (\TEDIT.CACHEFILE 48136 . 49663))
2461-
(49831 62818 (\TEDIT.GET.PIECES3 49841 . 59580) (\TEDIT.GET.IDATE3 59582 . 60977) (
2462-
\TEDIT.MAKE.STRINGPIECE 60979 . 62816)) (62819 74762 (\TEDIT.GET.UNFORMATTED.FILE.XCCS 62829 . 68945)
2463-
(\TEDIT.INTERPRET.XCCS.SHIFTS 68947 . 74760)) (74784 80806 (\TEDIT.GET.UNFORMATTED.FILE.UTF8 74794 .
2464-
80804)) (80829 88965 (\TEDIT.GET.CHARLOOKS.LIST 80839 . 81453) (\TEDIT.GET.SINGLE.CHARLOOKS 81455 .
2465-
85777) (\TEDIT.GET.CHARLOOKS 85779 . 87109) (\TEDIT.GET.PARALOOKS.INDEX 87111 . 87655) (
2466-
\TEDIT.GET.CHARLOOKS.INDEX 87657 . 88963)) (88966 97204 (\TEDIT.GET.PARALOOKS.LIST 88976 . 89598) (
2467-
\TEDIT.GET.SINGLE.PARALOOKS 89600 . 96612) (\TEDIT.GET.PARALOOKS 96614 . 97202)) (97205 100604 (
2468-
\TEDIT.GET.OBJECT 97215 . 100602)) (100666 133237 (\TEDIT.PUT.PCTB 100676 . 114679) (
2469-
\TEDIT.PUT.TRAILER 114681 . 115448) (\TEDIT.PUT.PCTB.MERGEABLE 115450 . 118968) (
2470-
\TEDIT.PUT.UTF8.SPLITPIECES 118970 . 124057) (\TEDIT.PUT.PCTB.NEXTNEW 124059 . 127834) (
2471-
\TEDIT.INSERT.NEWPIECES 127836 . 130835) (\TEDIT.PUTRESET 130837 . 131079) (\ARBOUT 131081 . 131805) (
2472-
\ATMOUT 131807 . 132412) (\DWOUT 132414 . 132693) (\STRINGOUT 132695 . 133235)) (133238 144631 (
2473-
\TEDIT.PUT.CHARLOOKS.LIST 133248 . 134920) (\TEDIT.PUT.SINGLE.CHARLOOKS 134922 . 140166) (
2474-
\TEDIT.PUT.CHARLOOKS 140168 . 141312) (\TEDIT.PUT.CHARLOOKS1 141314 . 142365) (\TEDIT.PUT.OBJECT
2475-
142367 . 144629)) (144632 152670 (\TEDIT.PUT.PARALOOKS.LIST 144642 . 145544) (
2476-
\TEDIT.PUT.SINGLE.PARALOOKS 145546 . 151595) (\TEDIT.PUT.PARALOOKS 151597 . 152668)) (152765 154447 (
2477-
TEDITFROMLISPSOURCE 152775 . 154445)))))
2452+
(FILEMAP (NIL (4804 30415 (TEDIT.GET 4814 . 9656) (TEDIT.FORMATTEDFILEP 9658 . 10974) (TEDIT.FILEDATE
2453+
10976 . 12147) (TEDIT.INCLUDE 12149 . 19117) (TEDIT.RAW.INCLUDE 19119 . 19927) (TEDIT.PUT 19929 .
2454+
26872) (TEDIT.PUT.STREAM 26874 . 30413)) (30416 49580 (\TEDIT.GET.FOREIGN.FILE 30426 . 33611) (
2455+
\TEDIT.GET.UNFORMATTED.FILE 33613 . 37487) (\TEDIT.GET.FORMATTED.FILE 37489 . 40277) (
2456+
\TEDIT.FORMATTEDSTREAMP 40279 . 43179) (\ARBIN 43181 . 43901) (\ATMIN 43903 . 44440) (\DWIN 44442 .
2457+
44821) (\STRINGIN 44823 . 45531) (\TEDIT.GET.TRAILER 45533 . 48049) (\TEDIT.CACHEFILE 48051 . 49578))
2458+
(49746 62858 (\TEDIT.GET.PIECES3 49756 . 59620) (\TEDIT.GET.IDATE3 59622 . 61017) (
2459+
\TEDIT.MAKE.STRINGPIECE 61019 . 62856)) (62859 74802 (\TEDIT.GET.UNFORMATTED.FILE.XCCS 62869 . 68985)
2460+
(\TEDIT.INTERPRET.XCCS.SHIFTS 68987 . 74800)) (74824 80846 (\TEDIT.GET.UNFORMATTED.FILE.UTF8 74834 .
2461+
80844)) (80869 89373 (\TEDIT.GET.CHARLOOKS.LIST 80879 . 81610) (\TEDIT.GET.SINGLE.CHARLOOKS 81612 .
2462+
86185) (\TEDIT.GET.CHARLOOKS 86187 . 87517) (\TEDIT.GET.PARALOOKS.INDEX 87519 . 88063) (
2463+
\TEDIT.GET.CHARLOOKS.INDEX 88065 . 89371)) (89374 97612 (\TEDIT.GET.PARALOOKS.LIST 89384 . 90006) (
2464+
\TEDIT.GET.SINGLE.PARALOOKS 90008 . 97020) (\TEDIT.GET.PARALOOKS 97022 . 97610)) (97613 101012 (
2465+
\TEDIT.GET.OBJECT 97623 . 101010)) (101074 133645 (\TEDIT.PUT.PCTB 101084 . 115087) (
2466+
\TEDIT.PUT.TRAILER 115089 . 115856) (\TEDIT.PUT.PCTB.MERGEABLE 115858 . 119376) (
2467+
\TEDIT.PUT.UTF8.SPLITPIECES 119378 . 124465) (\TEDIT.PUT.PCTB.NEXTNEW 124467 . 128242) (
2468+
\TEDIT.INSERT.NEWPIECES 128244 . 131243) (\TEDIT.PUTRESET 131245 . 131487) (\ARBOUT 131489 . 132213) (
2469+
\ATMOUT 132215 . 132820) (\DWOUT 132822 . 133101) (\STRINGOUT 133103 . 133643)) (133646 145039 (
2470+
\TEDIT.PUT.CHARLOOKS.LIST 133656 . 135328) (\TEDIT.PUT.SINGLE.CHARLOOKS 135330 . 140574) (
2471+
\TEDIT.PUT.CHARLOOKS 140576 . 141720) (\TEDIT.PUT.CHARLOOKS1 141722 . 142773) (\TEDIT.PUT.OBJECT
2472+
142775 . 145037)) (145040 153078 (\TEDIT.PUT.PARALOOKS.LIST 145050 . 145952) (
2473+
\TEDIT.PUT.SINGLE.PARALOOKS 145954 . 152003) (\TEDIT.PUT.PARALOOKS 152005 . 153076)) (153173 154855 (
2474+
TEDITFROMLISPSOURCE 153183 . 154853)))))
24782475
STOP

library/tedit/TEDIT-FILE.LCOM

8 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)