From 49cb172e3d1d6fdad58dcda4406d0d1e44201758 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Fri, 23 Feb 2024 17:55:20 -0800 Subject: [PATCH 1/4] Start of a DEMO facility to run demos from inside Medley (#1118) * Start of a DEMO facility to run demos and part of automatied testing from inside Medley Originally done for the BALISP 2023 talk. Possibly of use for building tests as well as demos. --- lispusers/DEMO | 127 ++++++++++++++++++++++++++++++++++ lispusers/DEMO-FEATURES.TEDIT | Bin 0 -> 7312 bytes lispusers/DEMO-OVERVIEW.TEDIT | Bin 0 -> 2472 bytes lispusers/DEMO-PROJECT.TEDIT | Bin 0 -> 5486 bytes lispusers/DEMO.LCOM | Bin 0 -> 3153 bytes lispusers/DEMO.TEDIT | 29 ++++++++ 6 files changed, 156 insertions(+) create mode 100644 lispusers/DEMO create mode 100644 lispusers/DEMO-FEATURES.TEDIT create mode 100644 lispusers/DEMO-OVERVIEW.TEDIT create mode 100644 lispusers/DEMO-PROJECT.TEDIT create mode 100644 lispusers/DEMO.LCOM create mode 100644 lispusers/DEMO.TEDIT diff --git a/lispusers/DEMO b/lispusers/DEMO new file mode 100644 index 00000000..8496c326 --- /dev/null +++ b/lispusers/DEMO @@ -0,0 +1,127 @@ +(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) + +(FILECREATED "24-Mar-2023 11:59:58" {DSK}larry>il>medley>lispusers>DEMO.;3 5662 + + :EDIT-BY "lmm" + + :CHANGES-TO (VARS DEMOCOMS) + + :PREVIOUS-DATE "24-Mar-2023 07:29:15" {DSK}larry>il>medley>lispusers>DEMO.;2) + + +(PRETTYCOMPRINT DEMOCOMS) + +(RPAQQ DEMOCOMS ((VARS (HELPTIME 1) + (AUTOBACKTRACEFLG 'ALWAYS)) + (COMS * BKSYSOBJCOMS) + (FNS MEDLEY-CONTRIB OPEN-URL))) + +(RPAQQ HELPTIME 1) + +(RPAQQ AUTOBACKTRACEFLG ALWAYS) + +(RPAQQ BKSYSOBJCOMS [(FNS BKSYSOBJ BKSYSOBJ.BUTTONEVENTINFN BKSYSOBJ.COPYBUTTONEVENTINFN + BKSYSOBJ.DISPLAYFN BKSYSOBJ.FINDEXEC BKSYSOBJ.IMAGEBOXFN) + (INITVARS (BKSYSOBJFNS (IMAGEFNSCREATE 'BKSYSOBJ.DISPLAYFN 'BKSYSOBJ.IMAGEBOXFN + NIL NIL NIL 'BKSYSOBJ.BUTTONEVENTINFN + 'BKSYSOBJ.COPYBUTTONEVENTINFN]) +(DEFINEQ + +(BKSYSOBJ + [LAMBDA (STRING) (* ; "Edited 18-Mar-2023 12:52 by rmk") + (IMAGEOBJCREATE STRING BKSYSOBJFNS]) + +(BKSYSOBJ.BUTTONEVENTINFN + [LAMBDA (OBJ WINDOW) (* ; "Edited 18-Mar-2023 13:51 by rmk") + (LET [(EXECW (BKSYSOBJ.FINDEXEC)) + (STR (IMAGEOBJPROP OBJ 'OBJECTDATUM] + (CL:WHEN (MEMB (NTHCHARCODE STR -1) + (CHARCODE (%) %]))) + (SETQ STR (SUBSTRING STR 1 -2))) + (CL:WHEN EXECW + (GIVE.TTY.PROCESS EXECW) + (BKSYSBUF STR))]) + +(BKSYSOBJ.COPYBUTTONEVENTINFN + [LAMBDA (OBJ WINDOW REGION) (* ; "Edited 3-Jan-2022 08:36 by rmk") + (CL:WHEN (CAR (IMAGEOBJPROP OBJ 'COMPAREDATA)) + [COPYINSERT (CAR (IMAGEOBJPROP OBJ 'COMPAREDATA])]) + +(BKSYSOBJ.DISPLAYFN + [LAMBDA (OBJ WINDOW) (* ; "Edited 18-Mar-2023 13:04 by rmk") + (DSPFONT DEFAULTFONT WINDOW) + (FOR I C (FONTARRAY _ (FONTMAPARRAY)) + (STRING _ (IMAGEOBJPROP OBJ 'OBJECTDATUM)) FROM 1 + DO (SELCHARQ (SETQ C (NTHCHARCODE STRING I)) + (EOL (TERPRI WINDOW)) + (NIL (RETURN)) + (IF (EQ C (CONSTANT (CHARCODE.DECODE FONTESCAPECHAR))) + THEN (DSPFONT (ELT FONTARRAY (NTHCHARCODE STRING (ADD I 1))) + WINDOW) + ELSE (PRINTCCODE C WINDOW]) + +(BKSYSOBJ.FINDEXEC + [LAMBDA NIL (* ; "Edited 18-Mar-2023 13:45 by rmk") + + (* ;; "Finds the first exec with an Interlisp read table.") + + (find W P in (OPENWINDOWS) suchthat (SETQ P (WINDOWPROP W 'PROCESS)) + (AND (STRPOS "EXEC" (PROCESSPROP P 'NAME) + 1 NIL T) + (STREQUAL "INTERLISP" (READTABLEPROP + (LISTGET (PROCESSPROP P 'PROFILE) + '*READTABLE*) + 'NAME]) + +(BKSYSOBJ.IMAGEBOXFN + [LAMBDA (OBJ IMAGESTREAM CURRENTX RIGHTMARGIN) (* ; "Edited 18-Mar-2023 13:04 by rmk") + + (* ;; "Calculate the height of each line, and the width of the widest line.") + + (* ;; + "Probably ought to compute the max height per line, at every font change, add it at each EOL.") + + (SETQ IMAGESTREAM (GETSTREAM IMAGESTREAM 'OUTPUT)) + (FOR I C (STRING _ (IMAGEOBJPROP OBJ 'OBJECTDATUM)) + (FONT _ (FONTCREATE DEFAULTFONT NIL NIL NIL IMAGESTREAM)) + (HEIGHT _ 0) + (LINELENGTH _ 0) + (MAXLINELENGTH _ 0) + (FONTARRAY _ (FONTMAPARRAY)) FROM 1 + DO (SELCHARQ (SETQ C (NTHCHARCODE STRING I)) + (EOL (ADD HEIGHT (FONTPROP FONT 'HEIGHT)) + (CL:WHEN (IGREATERP LINELENGTH MAXLINELENGTH) + (SETQ MAXLINELENGTH LINELENGTH)) + (SETQ LINELENGTH 0)) + (NIL (* ; "end of string") + (CL:WHEN (IGREATERP LINELENGTH MAXLINELENGTH) + (SETQ MAXLINELENGTH LINELENGTH)) + (RETURN (CREATE IMAGEBOX + XSIZE _ MAXLINELENGTH + YSIZE _ HEIGHT + YDESC _ (DIFFERENCE HEIGHT (FONTPROP FONT 'HEIGHT)) + XKERN _ 0))) + (IF (EQ C (CONSTANT (CHARCODE.DECODE FONTESCAPECHAR))) + THEN (SETQ FONT (FONTCREATE (ELT FONTARRAY (NTHCHARCODE STRING (ADD I 1))) + NIL NIL NIL IMAGESTREAM)) + ELSE (ADD LINELENGTH (CHARWIDTH C FONT]) +) + +(RPAQ? BKSYSOBJFNS (IMAGEFNSCREATE 'BKSYSOBJ.DISPLAYFN 'BKSYSOBJ.IMAGEBOXFN NIL NIL NIL + 'BKSYSOBJ.BUTTONEVENTINFN 'BKSYSOBJ.COPYBUTTONEVENTINFN)) +(DEFINEQ + +(MEDLEY-CONTRIB + [LAMBDA (REPO) (* ; "Edited 15-Mar-2023 08:05 by lmm") + (OPEN-URL (CONCAT "https://github.com/Interlisp/" REPO "/graphs/contributors"]) + +(OPEN-URL + [LAMBDA (URL) (* ; "Edited 24-Mar-2023 06:31 by lmm") + (ShellBrowse URL]) +) +(DECLARE%: DONTCOPY + (FILEMAP (NIL (1038 5085 (BKSYSOBJ 1048 . 1211) (BKSYSOBJ.BUTTONEVENTINFN 1213 . 1668) ( +BKSYSOBJ.COPYBUTTONEVENTINFN 1670 . 1923) (BKSYSOBJ.DISPLAYFN 1925 . 2572) (BKSYSOBJ.FINDEXEC 2574 . +3334) (BKSYSOBJ.IMAGEBOXFN 3336 . 5083)) (5264 5639 (MEDLEY-CONTRIB 5274 . 5490) (OPEN-URL 5492 . 5637 +))))) +STOP diff --git a/lispusers/DEMO-FEATURES.TEDIT b/lispusers/DEMO-FEATURES.TEDIT new file mode 100644 index 0000000000000000000000000000000000000000..1b4e2020e9c412a0a4cf336b830a66e2882ce18a GIT binary patch literal 7312 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 Dd>J-F literal 0 HcmV?d00001 diff --git a/lispusers/DEMO-PROJECT.TEDIT b/lispusers/DEMO-PROJECT.TEDIT new file mode 100644 index 0000000000000000000000000000000000000000..a9d4bb964b2c7d09a546b75217200d9ecc4bcd01 GIT binary patch literal 5486 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 Date: Sat, 24 Feb 2024 19:03:29 -0800 Subject: [PATCH 2/4] Add (FILES LAFITE) to UNIXMAIL -- must load lafite before loading UNIXMAIL (#1553) --- library/lafite/UNIXMAIL | 113 +++++++++++++++++----------------- library/lafite/UNIXMAIL.DFASL | Bin 23415 -> 23568 bytes 2 files changed, 56 insertions(+), 57 deletions(-) diff --git a/library/lafite/UNIXMAIL b/library/lafite/UNIXMAIL index dbeea409..87e92570 100644 --- a/library/lafite/UNIXMAIL +++ b/library/lafite/UNIXMAIL @@ -1,20 +1,13 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) -(FILECREATED "30-Sep-2021 16:06:26"  -|{DSK}kaplan>Local>medley3.5>git-medley>library>UNIXMAIL.;2| 82866 - |changes| |to:| (VARS UNIXMAILCOMS) - (FNS UNIX.POLLNEWMAIL UNIX.NEXTMESSAGE UNIXMAILER.OPENMAILBOX - UNIXMAILER.RETRIEVEMESSAGE UNIXMAILER.CLOSEMAILBOX UNIXSPOOL.OPENMAILBOX - UNIXSPOOL.RETRIEVEMESSAGE UNIXSPOOL.CLOSEMAILBOX UNIX.FLUSH.STREAM - UNIX.RETRIEVE.LINE \\UNIXMAIL.SEND \\UNIXMAIL.SEND.WRAPLINES \\SMTP-DUMP - \\UNIXMAIL.SEND.PARSE \\UNIXMAIL.CHECK.ABORT \\UNIXMAIL.MUNG.RECIPIENTS - \\UNIXMAIL.SMTP \\UNIXMAIL.SMTP.FLUSH \\UNIXMAIL.CHANGE.MODE - \\UNIXMAIL.AUTHENTICATE \\UNIXMAIL.LOGIN \\UNIXMAIL.PARSENAMES - \\UNIXMAIL.MAKEANSWERFORM \\UNIXMAIL.MESSAGE.FROM.SELF.P - \\UNIXMAIL.MESSAGE.P \\UNIXMAIL.REALADDRESS \\UNIXMAIL.FQNAME - \\UNIXMAIL.FIXMICROSOFT) +(FILECREATED "24-Feb-2024 10:26:07" |{DSK}larry>il>medley>library>lafite>UNIXMAIL.;3| 81776 - |previous| |date:| "10-Feb-2000 12:03:28" |{DSK}medley3.5>library>unixmail.;42|) + :EDIT-BY "lmm" + + :CHANGES-TO (VARS UNIXMAILCOMS) + + :PREVIOUS-DATE "30-Sep-2021 16:06:26" |{DSK}larry>il>medley>library>lafite>UNIXMAIL.;1| +) ; Copyright (c) 1989-1992, 1997, 1999, 1920, 2021 by ENVOS Corporation. @@ -22,7 +15,11 @@ (PRETTYCOMPRINT UNIXMAILCOMS) (RPAQQ UNIXMAILCOMS - ((DECLARE\: DOEVAL@COMPILE DONTCOPY (FILES (SOURCE) + ( + (* |;;| " LMM 2/24/24 need LAFITE to load") + + (FILES LAFITE) + (DECLARE\: DOEVAL@COMPILE DONTCOPY (FILES (SOURCE) LAFITEDECLS NSMAIL) (RECORDS UNIXMAILBOX UNIXMAILFILEINFO UNIXMAILPARSE)) (ALISTS (LAFITEMODELST UNIX)) @@ -90,6 +87,13 @@ '(CHANGE \\SENDMSG.CHANGE.MODE TO \\UNIXMAIL.CHANGE.MODE))))) (PROP FILETYPE UNIXMAIL))) + + + +(* |;;| " LMM 2/24/24 need LAFITE to load") + + +(FILESLOAD LAFITE) (DECLARE\: DOEVAL@COMPILE DONTCOPY (FILESLOAD (SOURCE) @@ -106,8 +110,8 @@ ) (ADDTOVAR LAFITEMODELST (UNIX 3 \\UNIXMAIL.SEND.PARSE \\UNIXMAIL.SEND \\UNIXMAIL.MAKEANSWERFORM - \\UNIXMAIL.AUTHENTICATE \\UNIXMAIL.MESSAGE.P - \\UNIXMAIL.MESSAGE.FROM.SELF.P \\UNIXMAIL.LOGIN)) + \\UNIXMAIL.AUTHENTICATE \\UNIXMAIL.MESSAGE.P + \\UNIXMAIL.MESSAGE.FROM.SELF.P \\UNIXMAIL.LOGIN)) @@ -133,9 +137,9 @@ (RPAQQ UNIXMAIL.MSOPS.LIST ((MAILER UNIX.POLLNEWMAIL UNIXMAILER.OPENMAILBOX UNIX.NEXTMESSAGE - UNIXMAILER.RETRIEVEMESSAGE UNIXMAILER.CLOSEMAILBOX) - (SPOOL UNIX.POLLNEWMAIL UNIXSPOOL.OPENMAILBOX UNIX.NEXTMESSAGE - UNIXSPOOL.RETRIEVEMESSAGE UNIXSPOOL.CLOSEMAILBOX))) + UNIXMAILER.RETRIEVEMESSAGE UNIXMAILER.CLOSEMAILBOX) + (SPOOL UNIX.POLLNEWMAIL UNIXSPOOL.OPENMAILBOX UNIX.NEXTMESSAGE + UNIXSPOOL.RETRIEVEMESSAGE UNIXSPOOL.CLOSEMAILBOX))) @@ -979,13 +983,13 @@ (* |;;| "This returns multiple-values, so it's a CL:LAMBDA (what the heck).") -(CL:DEFUN \\UNIXMAIL.SMTP.TCP.STREAMS () (* \; "Edited 27-Feb-99 13:55 by rmk:") +(CL:DEFUN \\UNIXMAIL.SMTP.TCP.STREAMS () (* \; "Edited 27-Feb-99 13:55 by rmk:") (* |;;| "Opens two streams representing the input and output streams of an SMTP TCP connection. On failure return NIL and a string describing the failure.") (SELECTQ UNIXMAIL.SEND.MODE (PROCESS (|if| (EQ (MACHINETYPE) - 'MAIKO) + 'MAIKO) |then| (* |;;| "UNIXMAIL.SEND.PROCESS can be a list of possibilities because the process may be in different places in different operating systems (e.g. solaris vs. sunos). If the first one doesn't exist at this time, we search the remaining ones and move the first one we find to the beginning of the list for next time. This could be done as an AFTERSYSOUTFORMS, but easy enough just to do it here.") @@ -993,36 +997,32 @@ (LET ((S (CREATE-PROCESS-STREAM (CONCAT (IF (NLISTP UNIXMAIL.SEND.PROCESS) THEN UNIXMAIL.SEND.PROCESS - ELSEIF (INFILEP (PACKFILENAME 'HOST 'DSK 'BODY - (CAR UNIXMAIL.SEND.PROCESS))) + ELSEIF (INFILEP (PACKFILENAME 'HOST 'DSK 'BODY (CAR + UNIXMAIL.SEND.PROCESS + ))) THEN (CAR UNIXMAIL.SEND.PROCESS) ELSE (FOR P IN (CDR UNIXMAIL.SEND.PROCESS) - WHEN (INFILEP (PACKFILENAME 'HOST - 'DSK - 'BODY P)) - DO (SETQ UNIXMAIL.SEND.PROCESS - (CONS P (DREMOVE P UNIXMAIL.SEND.PROCESS) - )) - (RETURN P))) + WHEN (INFILEP (PACKFILENAME 'HOST 'DSK 'BODY P)) + DO (SETQ UNIXMAIL.SEND.PROCESS + (CONS P (DREMOVE P UNIXMAIL.SEND.PROCESS))) + (RETURN P))) (IF UNIXMAIL.SEND.HOST THEN (CONCAT " " UNIXMAIL.SEND.HOST) ELSE ""))))) (CL:VALUES S S)) |else| (CL:VALUES NIL "this MACHINETYPE can't do Unix process-streams; change UNIXMAIL.SEND.MODE" - ))) + ))) (SOCKET (|if| (EQ (MACHINETYPE) - 'MAIKO) - |then| (LET ((S (OPENTCPSTREAM (OR UNIXMAIL.SEND.HOST (UNIX-GETPARM "HOSTNAME" - )) - 25))) - (CL:VALUES S S)) + 'MAIKO) + |then| (LET ((S (OPENTCPSTREAM (OR UNIXMAIL.SEND.HOST (UNIX-GETPARM "HOSTNAME")) + 25))) + (CL:VALUES S S)) |else| (LET ((S (TCP.OPEN UNIXMAIL.SEND.HOST 25 NIL 'ACTIVE 'INPUT T))) - (|if| S - |then| (CL:VALUES S (TCP.OTHER.STREAM S)) - |else| (CL:VALUES NIL - "TCP.OPEN failed; check your Lisp TCP configuration" - ))))) + (|if| S + |then| (CL:VALUES S (TCP.OTHER.STREAM S)) + |else| (CL:VALUES NIL + "TCP.OPEN failed; check your Lisp TCP configuration"))))) (ERROR "Unrecognized UNIXMAIL.SEND.MODE:" UNIXMAIL.SEND.MODE))) @@ -1368,23 +1368,22 @@ (SETQ LAFITESENDINGMENUITEMS (EDITE (CONS (CAR LAFITESENDINGMENUITEMS) (CDR LAFITESENDINGMENUITEMS)) - '(CHANGE \\SENDMSG.CHANGE.MODE TO \\UNIXMAIL.CHANGE.MODE) - ))) + '(CHANGE \\SENDMSG.CHANGE.MODE TO \\UNIXMAIL.CHANGE.MODE)))) (PUTPROPS UNIXMAIL FILETYPE :COMPILE-FILE) (PUTPROPS UNIXMAIL COPYRIGHT ("ENVOS Corporation" 1989 1990 1991 1992 1997 1999 1920 2021)) (DECLARE\: DONTCOPY - (FILEMAP (NIL (7835 26260 (UNIX.POLLNEWMAIL 7845 . 9795) (UNIX.NEXTMESSAGE 9797 . 9973) ( -UNIXMAILER.OPENMAILBOX 9975 . 14371) (UNIXMAILER.RETRIEVEMESSAGE 14373 . 15580) ( -UNIXMAILER.CLOSEMAILBOX 15582 . 16607) (UNIXSPOOL.OPENMAILBOX 16609 . 22826) ( -UNIXSPOOL.RETRIEVEMESSAGE 22828 . 24909) (UNIXSPOOL.CLOSEMAILBOX 24911 . 26258)) (26308 56798 ( -UNIX.FLUSH.STREAM 26318 . 26899) (UNIX.RETRIEVE.LINE 26901 . 28090) (\\UNIXMAIL.SEND 28092 . 38386) ( -\\UNIXMAIL.SEND.WRAPLINES 38388 . 42018) (\\SMTP-DUMP 42020 . 43290) (\\UNIXMAIL.SEND.PARSE 43292 . -46536) (\\UNIXMAIL.CHECK.ABORT 46538 . 47366) (\\UNIXMAIL.MUNG.RECIPIENTS 47368 . 52236) ( -\\UNIXMAIL.SMTP 52238 . 52843) (\\UNIXMAIL.SMTP.FLUSH 52845 . 55322) (\\UNIXMAIL.CHANGE.MODE 55324 . -56796)) (56886 60196 (\\UNIXMAIL.SMTP.TCP.STREAMS 56886 . 60196)) (60275 81847 ( -\\UNIXMAIL.AUTHENTICATE 60285 . 61976) (\\UNIXMAIL.LOGIN 61978 . 62323) (\\UNIXMAIL.PARSENAMES 62325 - . 64643) (\\UNIXMAIL.MAKEANSWERFORM 64645 . 69527) (\\UNIXMAIL.MESSAGE.FROM.SELF.P 69529 . 70658) ( -\\UNIXMAIL.MESSAGE.P 70660 . 70979) (\\UNIXMAIL.REALADDRESS 70981 . 75025) (\\UNIXMAIL.FQNAME 75027 . -75632) (\\UNIXMAIL.FIXMICROSOFT 75634 . 81845))))) + (FILEMAP (NIL (7090 25515 (UNIX.POLLNEWMAIL 7100 . 9050) (UNIX.NEXTMESSAGE 9052 . 9228) ( +UNIXMAILER.OPENMAILBOX 9230 . 13626) (UNIXMAILER.RETRIEVEMESSAGE 13628 . 14835) ( +UNIXMAILER.CLOSEMAILBOX 14837 . 15862) (UNIXSPOOL.OPENMAILBOX 15864 . 22081) ( +UNIXSPOOL.RETRIEVEMESSAGE 22083 . 24164) (UNIXSPOOL.CLOSEMAILBOX 24166 . 25513)) (25563 56053 ( +UNIX.FLUSH.STREAM 25573 . 26154) (UNIX.RETRIEVE.LINE 26156 . 27345) (\\UNIXMAIL.SEND 27347 . 37641) ( +\\UNIXMAIL.SEND.WRAPLINES 37643 . 41273) (\\SMTP-DUMP 41275 . 42545) (\\UNIXMAIL.SEND.PARSE 42547 . +45791) (\\UNIXMAIL.CHECK.ABORT 45793 . 46621) (\\UNIXMAIL.MUNG.RECIPIENTS 46623 . 51491) ( +\\UNIXMAIL.SMTP 51493 . 52098) (\\UNIXMAIL.SMTP.FLUSH 52100 . 54577) (\\UNIXMAIL.CHANGE.MODE 54579 . +56051)) (56141 59147 (\\UNIXMAIL.SMTP.TCP.STREAMS 56141 . 59147)) (59226 80798 ( +\\UNIXMAIL.AUTHENTICATE 59236 . 60927) (\\UNIXMAIL.LOGIN 60929 . 61274) (\\UNIXMAIL.PARSENAMES 61276 + . 63594) (\\UNIXMAIL.MAKEANSWERFORM 63596 . 68478) (\\UNIXMAIL.MESSAGE.FROM.SELF.P 68480 . 69609) ( +\\UNIXMAIL.MESSAGE.P 69611 . 69930) (\\UNIXMAIL.REALADDRESS 69932 . 73976) (\\UNIXMAIL.FQNAME 73978 . +74583) (\\UNIXMAIL.FIXMICROSOFT 74585 . 80796))))) STOP diff --git a/library/lafite/UNIXMAIL.DFASL b/library/lafite/UNIXMAIL.DFASL index e5b40c0b4957229bccafcd10b0f09c6bc01712c8..b24786b39577c8d57d2536d2a6c21f886d00d458 100644 GIT binary patch delta 8775 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 XiC;u%^3oCEbhXkwIGg9c`R4xt2dJ1z delta 8538 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 From f8521c612ef08292fc488e2d3c667bc2c866a20f Mon Sep 17 00:00:00 2001 From: Matt Heffron Date: Sat, 24 Feb 2024 19:14:31 -0800 Subject: [PATCH 3/4] The setting to NEVER wasn't suppressing asking. (#1550) The issue was incorrectly getting the ROOTFILENAME as where to attach the COPYRIGHT property. --- library/DATABASEFNS | 125 +++++++++++++++++++++------------------ library/DATABASEFNS.LCOM | Bin 7383 -> 7757 bytes 2 files changed, 66 insertions(+), 59 deletions(-) diff --git a/library/DATABASEFNS b/library/DATABASEFNS index 190d038b..e25c5366 100644 --- a/library/DATABASEFNS +++ b/library/DATABASEFNS @@ -1,13 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "19-Feb-2024 16:29:44" {LIB}DATABASEFNS.;15 17624 +(FILECREATED "20-Feb-2024 23:45:56" {DSK}e>Interlisp>medley>library>DATABASEFNS.;4 18445 :EDIT-BY "mth" - :CHANGES-TO (VARS DATABASEFNSCOMS) - (FNS DUMPDB) + :CHANGES-TO (FNS DUMPDB) - :PREVIOUS-DATE "27-Oct-2021 10:55:18" {DSK}e>Interlisp>medley>library>DATABASEFNS.;1) + :PREVIOUS-DATE "19-Feb-2024 16:29:44" {DSK}e>Interlisp>medley>library>DATABASEFNS.;1) (* ; " @@ -165,7 +164,8 @@ Copyright (c) 1986, 1990-1993, 2024 by Xerox Corporation. (DEFINEQ (DUMPDB - [LAMBDA (FILE PROPFLG) (* ; "Edited 7-Feb-2024 18:26 by mth") + [LAMBDA (FILE PROPFLG) (* ; "Edited 20-Feb-2024 23:45 by mth") + (* ; "Edited 7-Feb-2024 18:26 by mth") (* ; "Edited 27-Oct-2021 10:51 by larry") (* ; "Edited 24-Oct-2021 16:24 by rmk:") @@ -173,69 +173,76 @@ Copyright (c) 1986, 1990-1993, 2024 by Xerox Corporation. (* ;; "The FILE check is because MAKEFILE returns a list when it doesn't understand the options") - (DECLARE (GLOBALVARS MSFILETABLE SAVEDBFLG) - (SPECVARS DEFAULTDATABASECOPYRIGHTOWNER COPYRIGHTFLG DEFAULTCOPYRIGHTOWNER)) + (DECLARE (GLOBALVARS MSFILETABLE SAVEDBFLG COPYRIGHTFLG DEFAULTCOPYRIGHTOWNER) + (SPECVARS DEFAULTDATABASECOPYRIGHTOWNER)) (CL:WHEN (AND FILE (OR (LITATOM FILE) (STRINGP FILE))) - (PROG (DBFILE DBFN FLCPR (FL (NAMEFIELD FILE)) - (FNS (FILEFNSLST FILE)) - (COPYRIGHTFLG COPYRIGHTFLG) - (DEFAULTCOPYRIGHTOWNER DEFAULTCOPYRIGHTOWNER)) - (SETQ DBFN (PACKFILENAME 'EXTENSION 'DATABASE 'VERSION NIL 'BODY FILE)) - (CL:UNLESS (OR (EQ COPYRIGHTFLG 'NEVER) - (NULL DEFAULTDATABASECOPYRIGHTOWNER) - (GETPROP DBFN 'COPYRIGHT)) - (SELECTQ DEFAULTDATABASECOPYRIGHTOWNER - ((NONE NEVER) - (* ;; "Set the COPYRIGHT to NONE (I.e., never mention it again.)") + (LET ((SAVEDCOPYRIGHTFLG COPYRIGHTFLG) + (SAVEDDEFAULTCOPYRIGHTOWNER DEFAULTCOPYRIGHTOWNER)) + (CL:UNWIND-PROTECT + (PROG (DBFILE DBFN DBROOTFN FLCPR (FL (NAMEFIELD FILE)) + (FNS (FILEFNSLST FILE))) + (SETQ DBFN (PACKFILENAME 'EXTENSION 'DATABASE 'VERSION NIL 'BODY FILE)) + (SETQ DBROOTFN (ROOTFILENAME DBFN)) + (CL:UNLESS (OR (EQ COPYRIGHTFLG 'NEVER) + (NULL DEFAULTDATABASECOPYRIGHTOWNER) + (GETPROP DBROOTFN 'COPYRIGHT)) + (SELECTQ DEFAULTDATABASECOPYRIGHTOWNER + ((NONE NEVER) + (* ;; + "Set the COPYRIGHT to NONE (I.e., never mention it again.)") - (/PUT DBFN 'COPYRIGHT (LIST 'NONE))) - (SAME - (* ;; + (/PUT DBROOTFN 'COPYRIGHT (LIST 'NONE))) + (SAME + (* ;;  "Same as the source file. If it doesn't have one, then just normal handling") - (CL:WHEN (SETQ FLCPR (GETPROP FL 'COPYRIGHT)) - (/PUT DBFN 'COPYRIGHT (LIST (CAR FLCPR))))) - (DEFAULT - (* ;; "Use the general default for copyright") + (CL:WHEN (SETQ FLCPR (GETPROP FL 'COPYRIGHT)) + (/PUT DBROOTFN 'COPYRIGHT (LIST (CAR FLCPR))))) + (DEFAULT + (* ;; "Use the general default for copyright") - (SETQ COPYRIGHTFLG 'DEFAULT)) - (PROGN (SETQ COPYRIGHTFLG 'DEFAULT) + (SETQ COPYRIGHTFLG 'DEFAULT)) + (PROGN (SETQ COPYRIGHTFLG 'DEFAULT) - (* ;; + (* ;;  "Hopefully, DEFAULTDATABASECOPYRIGHTOWNER is one of the COPYRIGHTOWNERS keys") - (SETQ DEFAULTCOPYRIGHTOWNER DEFAULTDATABASECOPYRIGHTOWNER)))) - (COND - (FNS) - ((AND MSFILETABLE (TESTTABLE FL (CADR MSFILETABLE))) + (SETQ DEFAULTCOPYRIGHTOWNER DEFAULTDATABASECOPYRIGHTOWNER)))) + (COND + (FNS) + ((AND MSFILETABLE (TESTTABLE FL (CADR MSFILETABLE))) (* ;  "Always dump if this is a known file") - (SETQ PROPFLG NIL)) - (T (COND - (PROPFLG (/REMPROP FL 'DATABASE)) - (T (printout T T FILE " has no functions." T))) - (RETURN))) - (CL:WHEN [OR (NULL PROPFLG) - (EQ (GETPROP FL 'DATABASE) - 'YES) - (EQ SAVEDBFLG 'YES) - (AND MSFILETABLE (TESTTABLE FL (CADR MSFILETABLE] - (CL:WHEN MSFILETABLE - [STORETABLE FL MSFILETABLE (CAR (GETPROP FL 'FILEDATES]) - [SETQ DBFILE (PRETTYDEF NIL DBFN - `((P (PROGN (PRIN1 "Use LOADDB to load database files!" T) - (ERROR!))) - (E [PRINT (CAR (GETPROP ',FILE 'FILEDATES] - (DUMPDATABASE ',FNS] - [COND - (PROPFLG (PRINT (FULLNAME DBFILE) - T)) - (T (/PUT FL 'DATABASEFILENAME DBFILE) (* ; + (SETQ PROPFLG NIL)) + (T (COND + (PROPFLG (/REMPROP FL 'DATABASE)) + (T (printout T T FILE " has no functions." T))) + (RETURN))) + (CL:WHEN [OR (NULL PROPFLG) + (EQ (GETPROP FL 'DATABASE) + 'YES) + (EQ SAVEDBFLG 'YES) + (AND MSFILETABLE (TESTTABLE FL (CADR MSFILETABLE] + (CL:WHEN MSFILETABLE + [STORETABLE FL MSFILETABLE (CAR (GETPROP FL 'FILEDATES]) + [SETQ DBFILE + (PRETTYDEF NIL DBFN + `((P (PROGN (PRIN1 "Use LOADDB to load database files!" T) + (ERROR!))) + (E [PRINT (CAR (GETPROP ',FILE 'FILEDATES] + (DUMPDATABASE ',FNS] + [COND + (PROPFLG (PRINT (FULLNAME DBFILE) + T)) + (T (/PUT FL 'DATABASEFILENAME DBFILE) + (* ;  "Remember that we have this file valid already.") - (/PUT FL 'DATABASE 'YES] (* ; - "Take future note of the databae on a user call") - (RETURN DBFILE))))]) + (/PUT FL 'DATABASE 'YES] (* ; + "Take future note of the database on a user call") + (RETURN DBFILE)))) + (SETQ COPYRIGHTFLG SAVEDCOPYRIGHTFLG) + (SETQ DEFAULTCOPYRIGHTOWNER SAVEDDEFAULTCOPYRIGHTOWNER)))]) (LOADDB [LAMBDA (FILE ASKFLAG) (* ; "Edited 24-Oct-2021 17:44 by rmk:") @@ -370,7 +377,7 @@ Copyright (c) 1986, 1990-1993, 2024 by Xerox Corporation. ) (PUTPROPS DATABASEFNS COPYRIGHT ("Xerox Corporation" 1986 1990 1991 1992 1993 2024)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1778 6803 (DBFILE 1788 . 3433) (DBFILE1 3435 . 4945) (DBFILE2 4947 . 6169) (LOAD 6171 - . 6401) (LOADFROM 6403 . 6591) (MAKEFILE 6593 . 6801)) (6859 17017 (DUMPDB 6869 . 11052) (LOADDB -11054 . 15929) (MAKEDB 15931 . 17015))))) + (FILEMAP (NIL (1768 6793 (DBFILE 1778 . 3423) (DBFILE1 3425 . 4935) (DBFILE2 4937 . 6159) (LOAD 6161 + . 6391) (LOADFROM 6393 . 6581) (MAKEFILE 6583 . 6791)) (6849 17838 (DUMPDB 6859 . 11873) (LOADDB +11875 . 16750) (MAKEDB 16752 . 17836))))) STOP diff --git a/library/DATABASEFNS.LCOM b/library/DATABASEFNS.LCOM index 44c2991c81d6c2be9ee1ab226676b85859036f24..aa806c4cebcde11dab16bba5c1a9ae89e5cae494 100644 GIT binary patch delta 1741 zcmZux&2QsW5VuoWiBv?{Y`fL2&@y;;MN*MsKR+k7g;1TuN!)efZ0sadEK<8o*;Hav zpyj{;MR0-33WVVVNC?Eou^+2F?4^GJXa0=}i6av8o)f!88!68-^P4v_Z@&IA{(ST6 z!EGWJ>$?w%L?#r7YEsSAN)qIyo&852?7hD`g#9suzlhp|7C=%+qAV+>Oij5g!Gn)> zW9^;M_W0rM!5tIQwO*@JtH9nEqO6=R$bd__d3P8*KPT$P=^vQ&q$P^)Ac%aw}G@Cc3!?YDS-Iz!ki%XUli~c zomVRJ4;hynBTn{TT43ULhFtgl7GpSY{>`!Qc#!@1SomVd1!)GIelo~L?D-$l@5#!U zd%^0B#R*e9>dav2teM<@_r!>lTjJ=(B3FDZa`!#|tZ>m%LZ1z?Tz2N1dRq)US#I)g zO5_23JKD({l?Rz05+{qo(XBoHoU?woHGlnuQFf3CmvgT#onE^7WbX50;is^dgVf#q z@Uz_2@T=TB`-}bXyIgVdY>@eJgWK8Tu8v-bd~EQzr?29Xa=}Jc$ZN6&Z*+PAP+gxA zWs3E2+9)dNz&fmLwQQi8j$%6qHfwer)UpA7;302Su%>ERg@)Y5aSC9nL%wYs1htm#=&Rf7N~jHMQXMStj7#T2xB#!u6UiQs&1CQwV4 z6>zCsx}cQ!6I6VsZ}sh3g-w?#t6WM9HF+4JO8C#x>Krbn@YC$dL@_8-z0PLWX*2_N zOVJI$5?ehtKpMlp1eVJQSe6qSBaRh8q4Gse#f`vPNKr8HUYijyK53#CEI`}t+g-ri za0T>|SS!s?O-rQweHv7}+9nVK@UriCZNR+5B~%Qs-wy0H1F+0Mi30h2RK7U(3xxux zdO7@ixiQf}g3i)q&MblY)3m}8?o$_mIZK{`Lv z<0^Rv6fAhO<=9GO4htZ>l@f&1`tZaYs_W;!uk%@bQsnDl>mIXsB_;9!Gmg2% L>!;qeFBkp;3A2pb delta 1524 zcmZuxO=v4s6mD9q7_l_rwU4J#4xN+sVcapS~&SLI4=R5!Rocr6$e^_61 z$HXet5BE!otWY4jtynhIBq&G+NB7%1CLFV5-c;7Jyt z1uD3#?sWXP7PfkAudyA6-GH?bQD7nBCUr29Ki9Y3M#B6*VqNc~2$_E$U0GVL^uK?Q z`KRAkE9XB>D~~PV_tVPf4>EtHbo%eEck?;An&fgDJC!F^xzd|EclmKX`J}sc_EBFj zSuUBp+g(f9^B-pC+0AKFD2U(S$;Y|gX*C(=Hg3Ol_CksUnK^JP_57tcUcWDnpSx>s zOub2v{GQu`-Jrtt5Z1+*%o|I|<}pym7XDheuk@2qj+D(znT- zJY<^5XZfv6CHXF28b5Tt@rCg)b@fc@*B41nQ$|D*0)Ks}pvel{ZgpayrZyuCetlkm zB3%PMnSs+}Ks6o3ERK74kDwX`L~)3`Q}r3L1R5+J^J@o{5{Ow8r;uXl91@6P%80bl zJ1B-Kq7YE@G#*l#x_~KW(`L=oOwlhnBp6y`Of+lZnW#Dn$5_XuaJ&$w_6nasQ3C34 z8rRj2Vo+t^(z?fd7l?`FV9|{h?iIBR=&=Z>rNDdzfEqY_^M#*#q^be0cET9jqoVGZ zZ}dzDD3RxwtSu6yvJ5q+4XUNhx~y6phXt0`A`m0sl)fg2YF zgo+YW*@DQ~Wp0(PmMRk=RV=co1r#bLk8C`T51%>TE+AYXT~}-ky`c3=D+xrS7Yho6 zQVfNYLKF*vFyO=$98(I|F0MS0^;7|))aI{242C(wbqdwc?SW%rbJjE>-)4@U Date: Sun, 25 Feb 2024 19:59:10 -0800 Subject: [PATCH 4/4] Update APPS-INIT to update NOTECARDSDIRECTORIES appropriately (#1555) * Add to APPS-INIT code to always update NOTECARDSDIRECTORIES since automatic builds do not set this correctly * Add AROUNDEXITFN to reset NOTECARDSDIRS after returning from logout, etc. --- greetfiles/APPS-INIT | 65 +++++++++++++++++++++++++++++++------- greetfiles/APPS-INIT.LCOM | Bin 9040 -> 10334 bytes 2 files changed, 54 insertions(+), 11 deletions(-) diff --git a/greetfiles/APPS-INIT b/greetfiles/APPS-INIT index 8c83e70e..24dde3f9 100644 --- a/greetfiles/APPS-INIT +++ b/greetfiles/APPS-INIT @@ -1,11 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "16-Jun-2023 17:20:09" {DSK}frank>il>medley>gmedley>greetfiles>APPS-INIT.;11 21130 +(FILECREATED "25-Feb-2024 13:56:23" {DSK}frank>il>medley>gmedley>greetfiles>APPS-INIT.;17 23321 - :CHANGES-TO (FNS Apps.DoInit) + :CHANGES-TO (VARS APPS-INITCOMS) + (FNS Apps.DoInit Apps.AroundExitFn) - :PREVIOUS-DATE "19-Jan-2023 12:44:20" -{DSK}frank>il>medley>gmedley>greetfiles>APPS-INIT.;10) + :PREVIOUS-DATE "25-Feb-2024 13:14:02" +{DSK}frank>il>medley>gmedley>greetfiles>APPS-INIT.;16) (PRETTYCOMPRINT APPS-INITCOMS) @@ -16,8 +17,9 @@ (GLOBALVARS Apps.NotecardsActivated Apps.RoomsActivated) (INITVARS (Apps.NotecardsActivated NIL) (Apps.RoomsActivated NIL)) - (FNS Apps.InitNotecards Apps.DoInit Apps.CreateButtons Apps.CreateLabel Apps.ActivateCLOS - Apps.ActivateRooms Apps.ShowDoc XCL-USER::EXEC_INTERLISP) + (FNS Apps.InitNotecards Apps.SetUpNOTECARDSDIRECTORIES Apps.DoInit Apps.CreateButtons + Apps.CreateLabel Apps.ActivateCLOS Apps.ActivateRooms Apps.ShowDoc + XCL-USER::EXEC_INTERLISP Apps.AroundExitFn) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (Apps.DoInit))) (DECLARE%: FIRST DONTEVAL@LOAD DOCOPY (P (BKSYSBUF " "]) @@ -90,6 +92,33 @@ (if (NOT DoNotRefreshButtons) then (Apps.CreateButtons]) +(Apps.SetUpNOTECARDSDIRECTORIES + [LAMBDA NIL + + (* ;; "Find the location of the Notecards directory and call NC.SetUpNOTECARDSDIRECTORIES.") + + (* ;; " This is needed to make sure that lazy loading of Notecard types works.") + + (LET* [(LOC1 (CONCAT MEDLEYDIR "notecards>")) + (LOC2 (CONCAT MEDLEYDIR "..>notecards>")) + (LOC3 (CONCAT MEDLEYDIR "..>..>notecards>")) + (NCDIR (for LOC in (LIST LOC1 LOC2 LOC3) thereis (OR (INFILEP (CONCAT LOC + "system>NOTECARDS")) + (INFILEP (CONCAT LOC + "system>NOTECARDS.LCOM" + ] + (if NCDIR + then [SETQ NCDIR (OR (INFILEP (CONCAT NCDIR "system>NOTECARDS")) + (INFILEP (CONCAT NCDIR "system>NOTECARDS.LCOM"] + (SETQ NCDIR (SUBSTRING NCDIR 1 (IDIFFERENCE (STRPOS "system>NOTECARDS" NCDIR) + 1))) + (NC.SetUpNOTECARDSDIRECTORIES NCDIR) + T + else (PRIN1 "Warning: Notecards directory could not be found." T) + (PRIN1 "Hence, NOTECARDSDIRECTORIES is probably not set correctly" T) + (PRIN1 "and Notecards will not work properly." T) + NIL]) + (Apps.DoInit [LAMBDA NIL @@ -173,7 +202,16 @@ (* ;; " Make sure Notecards doesn't try to load its HASH file in NC.PostGreet") - (SETTOPVAL '\NC.SourceAccessFlg NIL]) + (SETTOPVAL '\NC.SourceAccessFlg NIL) + + (* ;; "Setup NOTECARDSDIRECTORIES.") + + (Apps.SetUpNOTECARDSDIRECTORIES) + + (* ;; "Add AROUNDEXITFN to ensure NOTECARDSDIRECTORIES get reset after LOGOUT, etc.") + + (SETQ AROUNDEXITFNS (LSUBST '(MEDLEY-INIT-VARS Apps.AroundExitFn) + 'MEDLEY-INIT-VARS AROUNDEXITFNS]) (Apps.CreateButtons [LAMBDA (DoDocsToo) (* ; "Edited 13-Dec-2022 12:51 by frank") @@ -366,6 +404,11 @@ YCOORD _ (IDIFFERENCE SCREENHEIGHT 460] (XCL:SET-DEFAULT-EXEC-TYPE 'INTERLISP) (XCL:SET-EXEC-TYPE 'INTERLISP]) + +(Apps.AroundExitFn + [LAMBDA (EVENT) + (if (MEMB EVENT '(AFTERLOGOUT AFTERSYSOUT AFTERSAVEVM)) + then (Apps.SetUpNOTECARDSDIRECTORIES]) ) (DECLARE%: DONTEVAL@LOAD DOCOPY @@ -376,8 +419,8 @@ (BKSYSBUF " ") ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1109 20996 (Apps.InitNotecards 1119 . 4981) (Apps.DoInit 4983 . 8227) ( -Apps.CreateButtons 8229 . 17053) (Apps.CreateLabel 17055 . 17865) (Apps.ActivateCLOS 17867 . 19216) ( -Apps.ActivateRooms 19218 . 20069) (Apps.ShowDoc 20071 . 20220) (XCL-USER::EXEC_INTERLISP 20222 . 20994 -))))) + (FILEMAP (NIL (1229 23187 (Apps.InitNotecards 1239 . 5101) (Apps.SetUpNOTECARDSDIRECTORIES 5103 . 6658 +) (Apps.DoInit 6660 . 10257) (Apps.CreateButtons 10259 . 19083) (Apps.CreateLabel 19085 . 19895) ( +Apps.ActivateCLOS 19897 . 21246) (Apps.ActivateRooms 21248 . 22099) (Apps.ShowDoc 22101 . 22250) ( +XCL-USER::EXEC_INTERLISP 22252 . 23024) (Apps.AroundExitFn 23026 . 23185))))) STOP diff --git a/greetfiles/APPS-INIT.LCOM b/greetfiles/APPS-INIT.LCOM index 67ca0727b00a31fdb89f21bdc9f5145f599640b8..b3253ecfef408d8361e93c6ddf0f004ea0ca90c2 100644 GIT binary patch delta 1677 zcmZ`)&u`mQ9FM!PQ3KUdq6)eReKA5L5{c|*J5Hmj!nK{&t78Y-$(Uf$(!^U$vp7mT zMuboEXBMAu46AtLIvM-x^nv-`e$Tno#0l8Ll^17+J zidA)Tkgb@=^?HMX8t7d=oM5>hJnXi$kNvRH%|W?lYYpA1J9!l&1O04dPAId4flpND z;M47+;DHzYOtDmP{4b?m9XVcD@0pgXDYC6Ps%~qFYuUQyKv^x(*&2voDo8^O1TZWG z-z0wX2)Gy!1Z)hr9HgFJNu^SE@t+Ff2OU4s)G|Zejc3qiG&5S+*KZzeZf>U2mk%zT z=8x9X)N|ESH}T^qj?RZi*QgKX!B%6x>791s+rO5|60U@sQn+~Q2*-g_-*sGDH}`Vv z+`WX0kiLQTi)9+%XCrU z{s2a3e%L(h3=;8K8~c-*I3!M>ZYo_r@QgRui#y)JDP3ERSgF` zp1SVpvf&txn*-`Y>QXdV{f4rm>-2T%N+i)=>^~oCHBs;V7`>Zlx3z+*RQDSPDubS$}c*TrB76ZjLr} z14S!BR<5|3ZCHC&-37U_fdl8ZGa1BKZfK2aF8T-ldi6rD(eJNw>+~e^R_K3(9|Og( foaj$F6YVf>Zk*SgvvhQic_aFq*~M-6h5771Z%C&X delta 372 zcmcZ?aKUXtxQL;du2*TEu91O}v4Wwwm63s!vEjsQUkO7^1tlW`U9Uu_oRN{0sezS& z!NdzL{q^kAjmb$(?2v=*9B-I&_GLs zBMptLOiX}&m{@JgXs}s{$%TFLM;m|xmhTLZ}K&T z@Xb1kqAZhdsD7OMLQPu;>^R5dlFTw-C^-B02P;f|s3