diff --git a/lispusers/tmax/TMAX-INDEX b/lispusers/tmax/TMAX-INDEX index e92d6c60..9908a2d2 100644 --- a/lispusers/tmax/TMAX-INDEX +++ b/lispusers/tmax/TMAX-INDEX @@ -1,12 +1,12 @@ -(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) +(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "XCL" :BASE 10) -(FILECREATED "28-Feb-2025 23:36:19" |{WMEDLEY}tmax>TMAX-INDEX.;22| 46719 +(FILECREATED "16-May-2026 09:19:48" |{MEDLEY}tmax>TMAX-INDEX.;24| 46972 :EDIT-BY |rmk| - :CHANGES-TO (FNS INDEX.MANUAL.DELIMITER RESET.INDEX.PAGENUMBERS) + :CHANGES-TO (FNS CREATE.INDEX.FILE GET.INDEX.FILE) - :PREVIOUS-DATE "23-Feb-2025 11:55:07" |{WMEDLEY}tmax>TMAX-INDEX.;20|) + :PREVIOUS-DATE "28-Feb-2025 23:36:19" |{MEDLEY}tmax>TMAX-INDEX.;22|) (PRETTYCOMPRINT TMAX-INDEXCOMS) @@ -587,24 +587,26 @@ (DEFINEQ (CREATE.INDEX.FILE - (LAMBDA (TSTREAM INDEX.FILE INDEX.FONT NOTITLE) (* \; "Edited 23-Feb-2025 11:55 by rmk") + (LAMBDA (TSTREAM INDEX.FILE INDEX.FONT NOTITLE) (* \; "Edited 16-May-2026 09:18 by rmk") + (* \; "Edited 23-Feb-2025 11:55 by rmk") (* \; "Edited 21-Feb-2025 10:17 by rmk") (* \; "Edited 14-Feb-97 11:10 by rmk:") (* |fsg| "13-Aug-87 09:05") (SETQ INDEX.FILE (OR (OUTFILEP (OR INDEX.FILE (GET.INDEX.FILE (TMAXPROP TSTREAM 'IMAGEOBJ.MENUW)) )) - (ERROR (CONCAT "Can't open " INDEX.FILE " as a index file")))) - (TEDIT.PROMPTPRINT TSTREAM (CONCAT "Writing index on " INDEX.FILE) + (ERROR (CONCAT "Can't open index file" INDEX.FILE)))) + (TEDIT.PROMPTPRINT TSTREAM (CONCAT "Writing index on " INDEX.FILE "...") T) - (LET ((IMAGESTREAM (OPENIMAGESTREAM '{NULL})) + (LET ((DUMMYSTREAM (OPENIMAGESTREAM (UNIX-TMP-FILE-NAME '|tmax-index| '|pdf|) + 'PDF)) INDEX.ARRAY INDEX.LIST INDEX.STREAM) - (* |;;| - "Make sure we have the page numbers, written in the image stream. Why not in TSTREAM?") + (* |;;| "Collect the index-term page numbers in the array") - (TEDIT.FORMAT.HARDCOPY TSTREAM IMAGESTREAM NIL NIL NIL NIL NIL NIL NIL NIL T) - (SETQ INDEX.ARRAY (TMAXPROP IMAGESTREAM 'TSP.INDEX.ARRAY)) - (SETQ INDEX.LIST (INDEX.LIST.REFS IMAGESTREAM)) + (TEDIT.TO.IMAGEFILE TSTREAM DUMMYSTREAM) + (SETQ INDEX.ARRAY (TMAXPROP DUMMYSTREAM 'TSP.INDEX.ARRAY)) + (SETQ INDEX.LIST (INDEX.LIST.REFS DUMMYSTREAM)) + (DELFILE (CLOSEF? DUMMYSTREAM)) (COND ((AND INDEX.LIST INDEX.FILE) (SETQ INDEX.STREAM (OPENTEXTSTREAM)) @@ -614,6 +616,7 @@ (PRINTOUT INDEX.STREAM "Index" T T)) (WRITE.INDEX.FILE INDEX.STREAM INDEX.LIST INDEX.ARRAY INDEX.FONT) (CLOSEF? (TEDIT.PUT INDEX.STREAM INDEX.FILE)) + (TEDIT.PROMPTPRINT TSTREAM "done") INDEX.FILE) (INDEX.LIST (TEDIT.PROMPTPRINT TSTREAM "Please specify a name for the index file" T) NIL) @@ -664,15 +667,16 @@ )) INDEX.FILE))) -(get.index.file - (lambda (menuw) (* \; "Edited 29-Sep-87 14:34 by fsg") +(GET.INDEX.FILE + (LAMBDA (MENUW) (* \; "Edited 16-May-2026 09:17 by rmk") + (* \; "Edited 29-Sep-87 14:34 by fsg") - (* * |Return| |the| |user| |specified| |index| |file| |name.|) +(* |;;;| "Return the user specified index file name.") - (let ((filename (fm.itemprop (fm.getitem 'index.file nil menuw) - 'label))) - (and (not (strequal filename "")) - (mkatom filename))))) + (LET ((FILENAME (FM.ITEMPROP (FM.GETITEM 'INDEX.FILE NIL MENUW) + 'LABEL))) + (CL:UNLESS (STREQUAL FILENAME "") + (MKATOM FILENAME))))) (WRITE.INDEX.FILE (LAMBDA (INDEX.STREAM INDEX.LIST INDEX.ARRAY INDEX.FONT PAGE.FONT) @@ -865,17 +869,17 @@ (* |;;;| "IMAGE OBJECT for causing the index to be written, without using the menu") (DECLARE\: DONTCOPY - (FILEMAP (NIL (3107 11080 (INDEXOBJ 3117 . 4140) (INDEXOBJP 4142 . 4590) (INDEX.DISPLAYFN 4592 . 6451) - (INDEX.IMAGEBOXFN 6453 . 7999) (INDEX.PUTFN 8001 . 8431) (INDEX.GETFN 8433 . 8824) (INDEX.COPYFN 8826 - . 9469) (INDEX.BUTTONEVENTINFN 9471 . 11078)) (11119 19220 (INSERT.INDEX 11129 . 11716) ( -INSERT.INDEXENTRY 11718 . 14501) (INSERT.KNOWN.INDEX 14503 . 16687) (SUBITEM.SELECTFN 16689 . 17683) ( -ADD.NEW.INDEX 17685 . 19218)) (19286 23217 (CHANGE.INDEX 19296 . 19864) (CHANGE.INDEXENTRY 19866 . -20616) (CHANGE.XINDEX.KEY 20618 . 21176) (CHANGE.XINDEX.ENTRY 21178 . 21811) (CHANGE.XINDEX.FONT 21813 - . 22682) (CHANGE.XINDEX.NUMBER 22684 . 23215)) (23259 31132 (GETHASH.INDEX 23269 . 24045) ( -INDEX.PAGE.NUMBER 24047 . 25700) (INDEX.MANUAL.DELIMITER 25702 . 26334) (INDEX.STRING 26336 . 27346) ( -GET.INDEXENTRY.NUMBER 27348 . 28368) (INDEX.LIST.REFS 28370 . 29888) (LIST.OF.INDEXENTRIES 29890 . -31130)) (31174 40965 (CREATE.INDEX.FILE 31184 . 33079) (DUMP.INDEX 33081 . 34931) (VIEW.INDEX.FILE -34933 . 35993) (GET.INDEX.FILE 35995 . 36385) (WRITE.INDEX.FILE 36387 . 38788) ( -WRITE.INDEX.PAGENUMBERS 38790 . 39990) (RESET.INDEX.PAGENUMBERS 39992 . 40963)) (41163 45188 ( -SELECTION.TO.STRING 41173 . 44005) (SELECTION.TO.INDEX 44007 . 45186))))) + (FILEMAP (NIL (3091 11064 (INDEXOBJ 3101 . 4124) (INDEXOBJP 4126 . 4574) (INDEX.DISPLAYFN 4576 . 6435) + (INDEX.IMAGEBOXFN 6437 . 7983) (INDEX.PUTFN 7985 . 8415) (INDEX.GETFN 8417 . 8808) (INDEX.COPYFN 8810 + . 9453) (INDEX.BUTTONEVENTINFN 9455 . 11062)) (11103 19204 (INSERT.INDEX 11113 . 11700) ( +INSERT.INDEXENTRY 11702 . 14485) (INSERT.KNOWN.INDEX 14487 . 16671) (SUBITEM.SELECTFN 16673 . 17667) ( +ADD.NEW.INDEX 17669 . 19202)) (19270 23201 (CHANGE.INDEX 19280 . 19848) (CHANGE.INDEXENTRY 19850 . +20600) (CHANGE.XINDEX.KEY 20602 . 21160) (CHANGE.XINDEX.ENTRY 21162 . 21795) (CHANGE.XINDEX.FONT 21797 + . 22666) (CHANGE.XINDEX.NUMBER 22668 . 23199)) (23243 31116 (GETHASH.INDEX 23253 . 24029) ( +INDEX.PAGE.NUMBER 24031 . 25684) (INDEX.MANUAL.DELIMITER 25686 . 26318) (INDEX.STRING 26320 . 27330) ( +GET.INDEXENTRY.NUMBER 27332 . 28352) (INDEX.LIST.REFS 28354 . 29872) (LIST.OF.INDEXENTRIES 29874 . +31114)) (31158 41218 (CREATE.INDEX.FILE 31168 . 33239) (DUMP.INDEX 33241 . 35091) (VIEW.INDEX.FILE +35093 . 36153) (GET.INDEX.FILE 36155 . 36638) (WRITE.INDEX.FILE 36640 . 39041) ( +WRITE.INDEX.PAGENUMBERS 39043 . 40243) (RESET.INDEX.PAGENUMBERS 40245 . 41216)) (41416 45441 ( +SELECTION.TO.STRING 41426 . 44258) (SELECTION.TO.INDEX 44260 . 45439))))) STOP diff --git a/lispusers/tmax/TMAX-INDEX.LCOM b/lispusers/tmax/TMAX-INDEX.LCOM index 1f2b9c17..e48ab4d7 100644 Binary files a/lispusers/tmax/TMAX-INDEX.LCOM and b/lispusers/tmax/TMAX-INDEX.LCOM differ diff --git a/lispusers/tmax/TMAX-NGROUP b/lispusers/tmax/TMAX-NGROUP index a047f81c..794a157d 100644 --- a/lispusers/tmax/TMAX-NGROUP +++ b/lispusers/tmax/TMAX-NGROUP @@ -1,19 +1,12 @@ -(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) +(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "XCL" :BASE 10) -(FILECREATED "28-Feb-2025 23:58:44" |{WMEDLEY}tmax>TMAX-NGROUP.;54| 51157 +(FILECREATED "16-May-2026 09:27:29" |{MEDLEY}tmax>TMAX-NGROUP.;58| 51129 :EDIT-BY |rmk| - :CHANGES-TO (FNS CHANGE.NGROUP.FORMAT CHANGE.NGROUP.FORMAT.ABBREV CHANGE.NGROUP.FORMAT.START - WRITE.TOC.ENTRY MAP.NGROUP.LOOKS GET.PREVIOUS.NGROUPS NGROUP.TOC.ENTRIES - CHANGE.NGROUP CHANGE.NGROUP.FONT CHANGE.NGROUP.FORMAT.TXTBEFORE - CHANGE.NGROUP.FORMAT.DELIMBEFORE CHANGE.NGROUP.FORMAT.DELIMAFTER - GET.NGROUP.TEMPLATE ADD.NUMBER.GROUP CHANGE.NGROUP.FORMAT.TOC - CHANGE.NGROUP.FORMAT.MANINDEX CHANGE.NGROUP.FORMAT.DISPLAY - UPDATE.NGROUP.MANINDEX GET.NGROUP.START SHOW.NGROUP.FONT NGROUP.GETFONT - NGROUP.FIXUP.RECORDS) + :CHANGES-TO (FNS WRITE.TOC.ENTRY CREATE.TOC.FILE WRITE.TOC.FILE) - :PREVIOUS-DATE "24-Feb-2025 09:25:39" |{WMEDLEY}tmax>TMAX-NGROUP.;49|) + :PREVIOUS-DATE "28-Feb-2025 23:58:44" |{MEDLEY}tmax>TMAX-NGROUP.;54|) (PRETTYCOMPRINT TMAX-NGROUPCOMS) @@ -704,25 +697,27 @@ CHAR))))))) (CREATE.TOC.FILE - (LAMBDA (TSTREAM TOC.FILE) (* \; "Edited 23-Feb-2025 11:49 by rmk") + (LAMBDA (TSTREAM TOC.FILE) (* \; "Edited 16-May-2026 09:18 by rmk") + (* \; "Edited 23-Feb-2025 11:49 by rmk") (* \; "Edited 21-Feb-2025 10:17 by rmk") (* |fsg| "16-Jul-87 11:46") (* |;;;| "Here to print the Table Of Contents. Each Line of the TOC consists of the NGroup, the corresponding text, followed by the current listing page number.") - (SETQ TOC.FILE (OR (OUTFILEP (OR TOC.FILE (GET.INDEX.FILE (TMAXPROP TSTREAM 'IMAGEOBJ.MENUW)))) - (ERROR (CONCAT "Can't open " TOC.FILE " as a index file")))) - (TEDIT.PROMPTPRINT TSTREAM (CONCAT "Writing table of contents on " TOC.FILE) + (SETQ TOC.FILE (OR (OUTFILEP (OR TOC.FILE (GET.TOC.FILE (TMAXPROP TSTREAM 'IMAGEOBJ.MENUW)))) + (ERROR (CONCAT "Can't open table of contents file " TOC.FILE)))) + (TEDIT.PROMPTPRINT TSTREAM (CONCAT "Writing contents on " TOC.FILE "...") T) - (LET ((IMAGESTREAM (OPENIMAGESTREAM '{NULL})) + (LET ((DUMMYSTREAM (OPENIMAGESTREAM (UNIX-TMP-FILE-NAME '|tmax-toc| '|pdf|) + 'PDF)) (TOC.LIST (TSP.LIST.OF.OBJECTS TSTREAM (FUNCTION NGROUP.TOC.ENTRIES))) (TOC.TABSTOP `(PARALOOKS (TABS ((,(FIXR (TIMES 72.27 6.125)) . DOTTEDLEFT))))) TOC.STREAM) - (* |;;| - "Make sure we have the page numbers, written in the image stream. Why not in TSTREAM?") + (* |;;| "Collect page numbers in the image objects") - (TEDIT.FORMAT.HARDCOPY TSTREAM IMAGESTREAM NIL NIL NIL NIL NIL NIL NIL NIL T) + (TEDIT.TO.IMAGEFILE TSTREAM DUMMYSTREAM) + (DELFILE DUMMYSTREAM) (COND ((AND TOC.LIST TOC.FILE) (SETQ TOC.STREAM (OPENTEXTSTREAM NIL NIL NIL NIL TOC.TABSTOP)) @@ -730,6 +725,7 @@ (SETQ TOC.FILE (TEDIT.PUT TOC.STREAM TOC.FILE NIL NIL NIL T)) (CLOSEF? TOC.FILE) (SETQ TOC.FILE (FULLNAME TOC.FILE)) + (TEDIT.PROMPTPRINT TSTREAM "done") TOC.FILE) (TOC.LIST (TEDIT.PROMPTPRINT TSTREAM "Please specify a file name for the table of contents" T) @@ -777,7 +773,8 @@ (MKATOM FILENAME))))) (WRITE.TOC.FILE - (LAMBDA (TOC.STREAM TOC.LIST TSTREAM) (* \; "Edited 21-Feb-2025 00:55 by rmk") + (LAMBDA (TOC.STREAM TOC.LIST TSTREAM) (* \; "Edited 16-May-2026 07:58 by rmk") + (* \; "Edited 21-Feb-2025 00:55 by rmk") (* |fsg| "26-Aug-87 15:37") (* |;;;| "Here to speficy the order of the Table-Of-Contents. The TOC is ordered by the top-level sister nodes.") @@ -788,20 +785,21 @@ (|for| TOC.MOTHER |in| (TOPLEVEL.SISTERS TSTREAM) |do| (DSPFONT |GP.DefaultFont| TOC.STREAM) (PRINTOUT TOC.STREAM T) - (|for| TOC.ITEM |in| TOC.LIST |when| (|with| NUMBEROBJ (|fetch| OBJECTDATUM - |of| (CAR TOC.ITEM)) + (|for| TOC.ITEM |in| TOC.LIST |when| (|with| NUMBEROBJ (|fetch| OBJECTDATUM |of| TOC.ITEM + ) (EQ (GET.NGROUP.MOTHER REF.TYPE TSTREAM) TOC.MOTHER)) |do| (WRITE.TOC.ENTRY TOC.ITEM TOC.STREAM TSTREAM))))) (WRITE.TOC.ENTRY - (LAMBDA (TOC.ITEM TOC.STREAM TSTREAM) (* \; "Edited 25-Feb-2025 10:35 by rmk") + (LAMBDA (TOC.ITEM TOC.STREAM TSTREAM) (* \; "Edited 16-May-2026 09:27 by rmk") + (* \; "Edited 25-Feb-2025 10:35 by rmk") (* \; "Edited 21-Feb-2025 00:55 by rmk") (* |fsg| "27-Jul-87 14:55") (* |;;;| "Write one line to the Table-Of-Contents file.") - (LET* ((DATUM (|fetch| OBJECTDATUM |of| (CAR TOC.ITEM))) + (LET* ((DATUM (|fetch| OBJECTDATUM |of| TOC.ITEM)) (ITEM.LEVEL (LENGTH (LIST.ANCESTORS (|fetch| (NUMBEROBJ REF.TYPE) |of| DATUM) NIL TSTREAM)))) (DSPFONT |GP.DefaultFont| TOC.STREAM) @@ -811,25 +809,29 @@ (T (RPTQ ITEM.LEVEL (PRINTOUT TOC.STREAM " ")))) (DSPFONT (|fetch| (NUMBEROBJ FONT) |of| DATUM) TOC.STREAM) - (PRINTOUT TOC.STREAM (|fetch| (NUMBEROBJ NUMSTRING) |of| DATUM)) + (PRINTOUT TOC.STREAM (OR (|fetch| (NUMBEROBJ TEXT.BEFORE#) |of| DATUM) + "") + (|fetch| (NUMBEROBJ NUMSTRING) |of| DATUM) + (OR (|fetch| (NUMBEROBJ TEXT.AFTER#) |of| DATUM) + "")) (DSPFONT |GP.DefaultFont| TOC.STREAM) (PRINTOUT TOC.STREAM (CHARACTER (CHARCODE TAB)) (|fetch| (NUMBEROBJ PAGE.NUMBER) |of| DATUM) T)))) ) (DECLARE\: DONTCOPY - (FILEMAP (NIL (2291 42669 (INSERT.NGROUP 2301 . 3781) (VERIFY.NGROUP.ORDER 3783 . 5571) ( -GET.PREVIOUS.NGROUPS 5573 . 6114) (ADD.NUMBER.GROUP 6116 . 8217) (ADD.NGROUP.TO.DBASE 8219 . 9128) ( -COLLECT.NGROUPS 9130 . 9830) (LIST.FONT.PROPS 9832 . 10096) (MAP.NGROUP.LOOKS 10098 . 12009) ( -NGROUP.GETFONT 12011 . 13286) (CHANGE.NGROUP 13288 . 14515) (CHANGE.NGROUP.FONT 14517 . 16876) ( -SHOW.NGROUP.FONT 16878 . 17607) (CHANGE.NGROUP.FORMAT 17609 . 20941) (SHOW.NGROUP.FORMAT 20943 . 21516 -) (GET.NGROUP.TEMPLATE 21518 . 22978) (CHANGE.NGROUP.FORMAT.DELIMBEFORE 22980 . 23962) ( -CHANGE.NGROUP.FORMAT.DISPLAY 23964 . 25654) (CHANGE.NGROUP.FORMAT.DELIMAFTER 25656 . 26634) ( -GET.NGROUP.DELIMITER 26636 . 28370) (CHANGE.NGROUP.FORMAT.ABBREV 28372 . 30663) ( -CHANGE.NGROUP.FORMAT.START 30665 . 31546) (GET.NGROUP.START 31548 . 33364) (CHANGE.NGROUP.FORMAT.TOC -33366 . 35382) (CHANGE.NGROUP.FORMAT.MANINDEX 35384 . 37819) (UPDATE.NGROUP.MANINDEX 37821 . 39359) ( -NGROUP.FIXUP.RECORDS 39361 . 42667)) (42718 51134 (GET.NGROUP.TEXTSTRING 42728 . 44110) ( -CONVERT.TABS.TO.SPACES 44112 . 44910) (CREATE.TOC.FILE 44912 . 46827) (NGROUP.TOC.ENTRIES 46829 . -47478) (VIEW.TOC.FILE 47480 . 48379) (GET.TOC.FILE 48381 . 48875) (WRITE.TOC.FILE 48877 . 49939) ( -WRITE.TOC.ENTRY 49941 . 51132))))) + (FILEMAP (NIL (1676 42054 (INSERT.NGROUP 1686 . 3166) (VERIFY.NGROUP.ORDER 3168 . 4956) ( +GET.PREVIOUS.NGROUPS 4958 . 5499) (ADD.NUMBER.GROUP 5501 . 7602) (ADD.NGROUP.TO.DBASE 7604 . 8513) ( +COLLECT.NGROUPS 8515 . 9215) (LIST.FONT.PROPS 9217 . 9481) (MAP.NGROUP.LOOKS 9483 . 11394) ( +NGROUP.GETFONT 11396 . 12671) (CHANGE.NGROUP 12673 . 13900) (CHANGE.NGROUP.FONT 13902 . 16261) ( +SHOW.NGROUP.FONT 16263 . 16992) (CHANGE.NGROUP.FORMAT 16994 . 20326) (SHOW.NGROUP.FORMAT 20328 . 20901 +) (GET.NGROUP.TEMPLATE 20903 . 22363) (CHANGE.NGROUP.FORMAT.DELIMBEFORE 22365 . 23347) ( +CHANGE.NGROUP.FORMAT.DISPLAY 23349 . 25039) (CHANGE.NGROUP.FORMAT.DELIMAFTER 25041 . 26019) ( +GET.NGROUP.DELIMITER 26021 . 27755) (CHANGE.NGROUP.FORMAT.ABBREV 27757 . 30048) ( +CHANGE.NGROUP.FORMAT.START 30050 . 30931) (GET.NGROUP.START 30933 . 32749) (CHANGE.NGROUP.FORMAT.TOC +32751 . 34767) (CHANGE.NGROUP.FORMAT.MANINDEX 34769 . 37204) (UPDATE.NGROUP.MANINDEX 37206 . 38744) ( +NGROUP.FIXUP.RECORDS 38746 . 42052)) (42103 51106 (GET.NGROUP.TEXTSTRING 42113 . 43495) ( +CONVERT.TABS.TO.SPACES 43497 . 44295) (CREATE.TOC.FILE 44297 . 46375) (NGROUP.TOC.ENTRIES 46377 . +47026) (VIEW.TOC.FILE 47028 . 47927) (GET.TOC.FILE 47929 . 48423) (WRITE.TOC.FILE 48425 . 49595) ( +WRITE.TOC.ENTRY 49597 . 51104))))) STOP diff --git a/lispusers/tmax/TMAX-NGROUP.LCOM b/lispusers/tmax/TMAX-NGROUP.LCOM index b7be2687..8b3f54a5 100644 Binary files a/lispusers/tmax/TMAX-NGROUP.LCOM and b/lispusers/tmax/TMAX-NGROUP.LCOM differ