1
0
mirror of synced 2026-04-19 17:42:55 +00:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Frank Halasz
04d98d232f Fix Issue 2139 (large parts of Medley tree not showing up in files.interlisp.org) and more improvements to files.interlisp.org (#2156)
Here is what this PR does:

Fix Issue 2139: (MAKE-INDEX-HTMLS) was not handling pseudohosts correctly and an errant LI pseudohost was causing MAKE-INDEX-HTMLS to terminate early. Adjusted MAKE-INDEX-HTML so it uses psuedohosts only for the top level directory and everything further down in the tree uses the truenames relative to the top-level pseudohost, Results in a MAKE-INDEX-HTMLS run that works in the presence of random pseudohosts and in a collection of index.html files without difficult to understand and out of context references to pseudohosts.

Remove loadups/build directory from all HCFILES runs (on desktop and via github actions)

Added maiko source code and removed maiko lde executables from HCFILES outputs for github actions - thus adding maiko code and removing maiki executables @ files.interlisp.org.

Fixed scripts/clean_hcfiles.sh so that it actually cleans off all of the index.html files - was missing some.

.github/workflow directory was being left out of HCFILES. Put it back it.
2025-05-26 10:18:10 -07:00
Frank Halasz
9dc408c81a Expand the (PSEUDOHOSTS) function so that it can be used cleanly with RESETSAVE (#2154)
Expanded the (PSEUDOHOSTS) function to have an argument, which is a list of replacement pseudohost pair to replace the current list of pseudohosts.  Still returns the current list of pseudohosts as before.  Designed to be used cleanly with RESETSAVE.
2025-05-22 17:49:05 -07:00
8 changed files with 212 additions and 160 deletions

View File

@@ -52,6 +52,12 @@ jobs:
- name: Checkout Medley repo
uses: actions/checkout@v4
- name: Checkout maiko
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/maiko
path: ./maiko
- name: Checkout notecards
uses: actions/checkout@v4
with:
@@ -79,6 +85,7 @@ jobs:
--repo ${{ github.repository_owner }}/maiko \
--pattern '*-linux.x86_64.tgz'
tar -xzf /tmp/maiko.tgz
touch ./maiko/linux.x86_64/.skip
env:
GH_TOKEN: ${{ secrets.MU_TOKEN }}

View File

@@ -1,12 +1,10 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "28-Mar-2025 08:53:43" {DSK}<home>larry>il>medley>internal>MEDLEY-UTILS.;2 30243
(FILECREATED "16-May-2025 15:37:36" {DSK}<home>frank>il>qmedley>internal>MEDLEY-UTILS.;8 31221
:EDIT-BY "lmm"
:CHANGES-TO (FNS MAKE-INDEX-HTMLS)
:CHANGES-TO (FNS MAKE-FULLER-DB)
:PREVIOUS-DATE "14-Jul-2024 12:51:12" {DSK}<home>larry>il>medley>internal>MEDLEY-UTILS.;1)
:PREVIOUS-DATE "16-May-2025 13:51:08" {DSK}<home>frank>il>qmedley>internal>MEDLEY-UTILS.;7)
(PRETTYCOMPRINT MEDLEY-UTILSCOMS)
@@ -128,79 +126,89 @@
"Welcome to Fuller sysout"])
(MAKE-INDEX-HTMLS
[LAMBDA (BASE TOP LEVEL) (* ; "Edited 29-Apr-2024 14:18 by lmm")
[LAMBDA (BASE TOP LEVEL ROOT.NAME) (* ; "Edited 29-Apr-2024 14:18 by lmm")
(* ; "Edited 26-Apr-2024 16:15 by lmm")
(* ; "Edited 20-Apr-2024 12:34 by lmm")
(* ; "Edited 13-Apr-2024 21:18 by lmm")
[OR BASE (SETQ BASE (PSEUDOFILENAME (MEDLEYDIR]
(* ; "Edited 13-Apr-2024 21:18 by lmm")
(* ; " Edited 16-May-2025 13:17 by fgh")
[OR BASE (SETQ BASE (TRUEFILENAME (MEDLEYDIR]
(OR (DIRECTORYNAMEP BASE)
(ERROR BASE "not a directory name"))
(OR (AND (NUMBERP LEVEL)
(IGREATERP LEVEL 0))
(SETQ LEVEL 1))
(LET* ((SUBDIRS NIL)
(DEST (PACKFILENAME 'NAME "index" 'EXTENSION "html" 'VERSION NIL 'BODY BASE))
(PSEUDOHOST (EQ (NTHCHAR BASE (CL:1- 0))
'}))
SLASHED SHORTNAME)
(CL:WITH-OPEN-FILE
(S DEST :DIRECTION :OUTPUT :IF-EXISTS :NEW-VERSION :IF-DOES-NOT-EXIST :CREATE)
(CL:FORMAT S "<HTML>~%%<HEAD>~%%")
(CL:FORMAT S "<TITLE>Index page for ~a</TITLE>~%%" (SETQ SLASHED (SLASHIT BASE)))
(CL:FORMAT S "<SCRIPT>~%%")
(CL:FORMAT S " function up_onclick(){~%%")
(CL:FORMAT S " var newLoc = location.href.replace(/\/index.html$/i, %"%");~%%")
(CL:FORMAT S " location = newLoc.replace(/\/[^\/]+\/?$/, %"%");~%%")
(CL:FORMAT S " }~%%")
(CL:FORMAT S "</SCRIPT>~%%")
(CL:FORMAT S "</HEAD>~%%")
(CL:FORMAT S "<BODY><H1>Index page for ~a</H1>~%%" SLASHED)
(CL:UNLESS (EQ LEVEL 1)
(CL:FORMAT S
(OR ROOT.NAME (SETQ ROOT.NAME 'MEDLEY))
(RESETLST
(if (EQ LEVEL 1)
then (RESETSAVE (PSEUDOHOSTS T))
(PSEUDOHOST ROOT.NAME BASE))
(SETQ BASE (PSEUDOFILENAME BASE))
[LET*
((SUBDIRS NIL)
(DEST (PACKFILENAME 'NAME "index" 'EXTENSION "html" 'VERSION NIL 'BODY BASE))
(PSEUDOHOST (EQ (NTHCHAR BASE (CL:1- 0))
'}))
SLASHED SHORTNAME)
(CL:WITH-OPEN-FILE
(S DEST :DIRECTION :OUTPUT :IF-EXISTS :NEW-VERSION :IF-DOES-NOT-EXIST :CREATE)
(CL:FORMAT S "<HTML>~%%<HEAD>~%%")
(CL:FORMAT S "<TITLE>Index page for ~a</TITLE>~%%" (SETQ SLASHED (SLASHIT BASE)))
(CL:FORMAT S "<SCRIPT>~%%")
(CL:FORMAT S " function up_onclick(){~%%")
(CL:FORMAT S " var newLoc = location.href.replace(/\/index.html$/i, %"%");~%%")
(CL:FORMAT S " location = newLoc.replace(/\/[^\/]+\/?$/, %"%");~%%")
(CL:FORMAT S " }~%%")
(CL:FORMAT S "</SCRIPT>~%%")
(CL:FORMAT S "</HEAD>~%%")
(CL:FORMAT S "<BODY><H1>Index page for ~a</H1>~%%" SLASHED)
(CL:UNLESS (EQ LEVEL 1)
(CL:FORMAT S
"<DIV>~%%<BUTTON TYPE=%"BUTTON%" ONCLICK=%"up_onclick()%">Go up one level</BUTTON>~%%</DIV>~%%"
))
(CL:FORMAT S "<P>This is an index of the files just to link them in.~%%<UL>~%%")
(FOR FULLNAME IN (DIRECTORY (CONCAT BASE "*.*;"))
DO (IF (EQ (NTHCHAR FULLNAME -1)
'>)
THEN
(* ;; "A directory")
))
(CL:FORMAT S "<P>This is an index of the files just to link them in.~%%<UL>~%%")
(for FULLNAME in (DIRECTORY (CONCAT BASE "*.*;"))
do (if (EQ (NTHCHAR FULLNAME -1)
'>)
then
(* ;; "A directory")
(IF (NOT (DIRECTORYNAMEP FULLNAME))
THEN (HELP "NOT DIRNAME"))
(SETQ SHORTNAME (MKATOM (SUBSTRING FULLNAME
(+ (NCHARS BASE)
(IF PSEUDOHOST
THEN 2
ELSE 1))
-2)))
(CL:UNLESS (OR (MEMB SHORTNAME '(.git))
(STRPOS ".git" FULLNAME)
(INFILEP (CONCAT FULLNAME ".skip")))
(if (NOT (DIRECTORYNAMEP FULLNAME))
then (HELP (CONCAT "NOT DIRNAME " FULLNAME)))
(SETQ SHORTNAME (MKATOM (SUBSTRING FULLNAME
(+ (NCHARS BASE)
(if PSEUDOHOST
then 2
else 1))
-2)))
(CL:UNLESS (OR (MEMB SHORTNAME '(.git))
(MEMB SHORTNAME '(.GIT))
[AND (STRPOS ".git" (L-CASE FULLNAME))
(NOT (STRPOS ".github" (L-CASE FULLNAME]
(INFILEP (CONCAT FULLNAME ".skip")))
(* ;; ".skip in the directory itself -- don't index any of it")
(* ;; ".skip in the directory itself -- don't index any of it")
(SETQ SUBDIRS (NCONC1 SUBDIRS FULLNAME))
(CL:FORMAT S "<LI><A HREF=%"~a/%">~a/</A></LI>~%%" SHORTNAME SHORTNAME))
ELSEIF (MEMB [SETQ SHORTNAME (MKATOM (SUBSTRING FULLNAME (ADD1 (NCHARS BASE))
(SUB1 (OR (STRPOS ".;" FULLNAME)
(STRPOS ";" FULLNAME)
(HELP
"No ; in non-directory"
]
'(index.html .skip))
THEN
(* ;; "dont index the index")
(SETQ SUBDIRS (NCONC1 SUBDIRS FULLNAME))
(CL:FORMAT S "<LI><A HREF=%"~a/%">~a/</A></LI>~%%" SHORTNAME SHORTNAME))
elseif (MEMB [SETQ SHORTNAME (MKATOM (SUBSTRING FULLNAME (ADD1 (NCHARS BASE))
(SUB1 (OR (STRPOS ".;" FULLNAME)
(STRPOS ";" FULLNAME)
(HELP (CONCAT
"No ; in non-directory "
FULLNAME]
'(index.html .skip))
then
(* ;; "dont index the index")
ELSEIF (MEMB (FILENAMEFIELD SHORTNAME 'EXTENSION)
'(IMPTR SKIP skip imptr))
THEN
(* ;; " don't enuerate ANY.SKIP ANY.IMPTR etc")
elseif (MEMB (FILENAMEFIELD SHORTNAME 'EXTENSION)
'(IMPTR SKIP skip imptr))
then
(* ;; " don't enuerate ANY.SKIP ANY.IMPTR etc")
ELSE (CL:FORMAT S "<LI><A HREF=%"~a%">~a</A></LI>~%%" SHORTNAME SHORTNAME)))
(CL:FORMAT S "</UL></BODY></HTML>~%%"))
(NCONC SUBDIRS (FOR D IN SUBDIRS join (MAKE-INDEX-HTMLS D (OR TOP BASE)
(ADD1 LEVEL])
else (CL:FORMAT S "<LI><A HREF=%"~a%">~a</A></LI>~%%" SHORTNAME SHORTNAME)))
(CL:FORMAT S "</UL></BODY></HTML>~%%"))
(NCONC SUBDIRS (for D in SUBDIRS join (MAKE-INDEX-HTMLS D (OR TOP BASE)
(ADD1 LEVEL])])
(MEDLEY-FIX-LINKS
[LAMBDA (UNIXPATH) (* ; "Edited 18-Jan-2021 12:01 by larry")
@@ -293,11 +301,11 @@
(PHASES (OR SUBSETS '(TEDIT PRETTY INDEX HRULE]
(FILESLOAD PDFSTREAM SKETCH)
(FONTSET 'STANDARD)
(WHILE DIRLIST
DO
(SETQ BASE (POP DIRLIST))
(FOR SRCPATH IN (DIRECTORY (CONCAT BASE "*.*;"))
DO (PROG* [(SRC (UNPACKFILENAME SRCPATH))
(while DIRLIST
do
(SETQ BASE (pop DIRLIST))
(for SRCPATH in (DIRECTORY (CONCAT BASE "*.*;"))
do (PROG* [(SRC (UNPACKFILENAME SRCPATH))
[EXT (U-CASE (LISTGET SRC 'EXTENSION]
(DIR (LISTGET SRC 'DIRECTORY))
FRDY LDGP DEST (NOV (PACKFILENAME `(VERSION NIL ,@SRC]
@@ -330,13 +338,13 @@
(CL:WHEN (INFILEP (CONCAT DEST ".skip"))
(PRINTOUT T "Explicit .skip " DEST T)
(RETURN))
(IF (MEMB 'TEDIT PHASES)
THEN (CL:WHEN [OR (MEMB EXT '(TEDIT TED SKETCH BRAVO))
(if (MEMB 'TEDIT PHASES)
then (CL:WHEN [OR (MEMB EXT '(TEDIT TED SKETCH BRAVO))
(CAR (NLSETQ (TEDIT.FORMATTEDFILEP SRCPATH]
(IF (EQ REDO 'TEST)
THEN (CL:FORMAT T "Testing open ~a..." SRCPATH)
(if (EQ REDO 'TEST)
then (CL:FORMAT T "Testing open ~a..." SRCPATH)
(CLOSEF? (OPENTEXTSTREAM SRCPATH))
ELSE (OR [NLSETQ (CL:WITH-OPEN-STREAM (S (OPENTEXTSTREAM SRCPATH)
else (OR [NLSETQ (CL:WITH-OPEN-STREAM (S (OPENTEXTSTREAM SRCPATH)
)
(TEDIT.FORMAT.HARDCOPY S DEST T NIL NIL
NIL 'PDF]
@@ -353,79 +361,89 @@
(PRINTOUT T "DONE" T))])
(MAKE-INDEX-HTMLS
[LAMBDA (BASE TOP LEVEL) (* ; "Edited 29-Apr-2024 14:18 by lmm")
[LAMBDA (BASE TOP LEVEL ROOT.NAME) (* ; "Edited 29-Apr-2024 14:18 by lmm")
(* ; "Edited 26-Apr-2024 16:15 by lmm")
(* ; "Edited 20-Apr-2024 12:34 by lmm")
(* ; "Edited 13-Apr-2024 21:18 by lmm")
[OR BASE (SETQ BASE (PSEUDOFILENAME (MEDLEYDIR]
(* ; "Edited 13-Apr-2024 21:18 by lmm")
(* ; " Edited 16-May-2025 13:17 by fgh")
[OR BASE (SETQ BASE (TRUEFILENAME (MEDLEYDIR]
(OR (DIRECTORYNAMEP BASE)
(ERROR BASE "not a directory name"))
(OR (AND (NUMBERP LEVEL)
(IGREATERP LEVEL 0))
(SETQ LEVEL 1))
(LET* ((SUBDIRS NIL)
(DEST (PACKFILENAME 'NAME "index" 'EXTENSION "html" 'VERSION NIL 'BODY BASE))
(PSEUDOHOST (EQ (NTHCHAR BASE (CL:1- 0))
'}))
SLASHED SHORTNAME)
(CL:WITH-OPEN-FILE
(S DEST :DIRECTION :OUTPUT :IF-EXISTS :NEW-VERSION :IF-DOES-NOT-EXIST :CREATE)
(CL:FORMAT S "<HTML>~%%<HEAD>~%%")
(CL:FORMAT S "<TITLE>Index page for ~a</TITLE>~%%" (SETQ SLASHED (SLASHIT BASE)))
(CL:FORMAT S "<SCRIPT>~%%")
(CL:FORMAT S " function up_onclick(){~%%")
(CL:FORMAT S " var newLoc = location.href.replace(/\/index.html$/i, %"%");~%%")
(CL:FORMAT S " location = newLoc.replace(/\/[^\/]+\/?$/, %"%");~%%")
(CL:FORMAT S " }~%%")
(CL:FORMAT S "</SCRIPT>~%%")
(CL:FORMAT S "</HEAD>~%%")
(CL:FORMAT S "<BODY><H1>Index page for ~a</H1>~%%" SLASHED)
(CL:UNLESS (EQ LEVEL 1)
(CL:FORMAT S
(OR ROOT.NAME (SETQ ROOT.NAME 'MEDLEY))
(RESETLST
(if (EQ LEVEL 1)
then (RESETSAVE (PSEUDOHOSTS T))
(PSEUDOHOST ROOT.NAME BASE))
(SETQ BASE (PSEUDOFILENAME BASE))
[LET*
((SUBDIRS NIL)
(DEST (PACKFILENAME 'NAME "index" 'EXTENSION "html" 'VERSION NIL 'BODY BASE))
(PSEUDOHOST (EQ (NTHCHAR BASE (CL:1- 0))
'}))
SLASHED SHORTNAME)
(CL:WITH-OPEN-FILE
(S DEST :DIRECTION :OUTPUT :IF-EXISTS :NEW-VERSION :IF-DOES-NOT-EXIST :CREATE)
(CL:FORMAT S "<HTML>~%%<HEAD>~%%")
(CL:FORMAT S "<TITLE>Index page for ~a</TITLE>~%%" (SETQ SLASHED (SLASHIT BASE)))
(CL:FORMAT S "<SCRIPT>~%%")
(CL:FORMAT S " function up_onclick(){~%%")
(CL:FORMAT S " var newLoc = location.href.replace(/\/index.html$/i, %"%");~%%")
(CL:FORMAT S " location = newLoc.replace(/\/[^\/]+\/?$/, %"%");~%%")
(CL:FORMAT S " }~%%")
(CL:FORMAT S "</SCRIPT>~%%")
(CL:FORMAT S "</HEAD>~%%")
(CL:FORMAT S "<BODY><H1>Index page for ~a</H1>~%%" SLASHED)
(CL:UNLESS (EQ LEVEL 1)
(CL:FORMAT S
"<DIV>~%%<BUTTON TYPE=%"BUTTON%" ONCLICK=%"up_onclick()%">Go up one level</BUTTON>~%%</DIV>~%%"
))
(CL:FORMAT S "<P>This is an index of the files just to link them in.~%%<UL>~%%")
(FOR FULLNAME IN (DIRECTORY (CONCAT BASE "*.*;"))
DO (IF (EQ (NTHCHAR FULLNAME -1)
'>)
THEN
(* ;; "A directory")
))
(CL:FORMAT S "<P>This is an index of the files just to link them in.~%%<UL>~%%")
(for FULLNAME in (DIRECTORY (CONCAT BASE "*.*;"))
do (if (EQ (NTHCHAR FULLNAME -1)
'>)
then
(* ;; "A directory")
(IF (NOT (DIRECTORYNAMEP FULLNAME))
THEN (HELP "NOT DIRNAME"))
(SETQ SHORTNAME (MKATOM (SUBSTRING FULLNAME
(+ (NCHARS BASE)
(IF PSEUDOHOST
THEN 2
ELSE 1))
-2)))
(CL:UNLESS (OR (MEMB SHORTNAME '(.git))
(STRPOS ".git" FULLNAME)
(INFILEP (CONCAT FULLNAME ".skip")))
(if (NOT (DIRECTORYNAMEP FULLNAME))
then (HELP (CONCAT "NOT DIRNAME " FULLNAME)))
(SETQ SHORTNAME (MKATOM (SUBSTRING FULLNAME
(+ (NCHARS BASE)
(if PSEUDOHOST
then 2
else 1))
-2)))
(CL:UNLESS (OR (MEMB SHORTNAME '(.git))
(MEMB SHORTNAME '(.GIT))
[AND (STRPOS ".git" (L-CASE FULLNAME))
(NOT (STRPOS ".github" (L-CASE FULLNAME]
(INFILEP (CONCAT FULLNAME ".skip")))
(* ;; ".skip in the directory itself -- don't index any of it")
(* ;; ".skip in the directory itself -- don't index any of it")
(SETQ SUBDIRS (NCONC1 SUBDIRS FULLNAME))
(CL:FORMAT S "<LI><A HREF=%"~a/%">~a/</A></LI>~%%" SHORTNAME SHORTNAME))
ELSEIF (MEMB [SETQ SHORTNAME (MKATOM (SUBSTRING FULLNAME (ADD1 (NCHARS BASE))
(SUB1 (OR (STRPOS ".;" FULLNAME)
(STRPOS ";" FULLNAME)
(HELP
"No ; in non-directory"
]
'(index.html .skip))
THEN
(* ;; "dont index the index")
(SETQ SUBDIRS (NCONC1 SUBDIRS FULLNAME))
(CL:FORMAT S "<LI><A HREF=%"~a/%">~a/</A></LI>~%%" SHORTNAME SHORTNAME))
elseif (MEMB [SETQ SHORTNAME (MKATOM (SUBSTRING FULLNAME (ADD1 (NCHARS BASE))
(SUB1 (OR (STRPOS ".;" FULLNAME)
(STRPOS ";" FULLNAME)
(HELP (CONCAT
"No ; in non-directory "
FULLNAME]
'(index.html .skip))
then
(* ;; "dont index the index")
ELSEIF (MEMB (FILENAMEFIELD SHORTNAME 'EXTENSION)
'(IMPTR SKIP skip imptr))
THEN
(* ;; " don't enuerate ANY.SKIP ANY.IMPTR etc")
elseif (MEMB (FILENAMEFIELD SHORTNAME 'EXTENSION)
'(IMPTR SKIP skip imptr))
then
(* ;; " don't enuerate ANY.SKIP ANY.IMPTR etc")
ELSE (CL:FORMAT S "<LI><A HREF=%"~a%">~a</A></LI>~%%" SHORTNAME SHORTNAME)))
(CL:FORMAT S "</UL></BODY></HTML>~%%"))
(NCONC SUBDIRS (FOR D IN SUBDIRS join (MAKE-INDEX-HTMLS D (OR TOP BASE)
(ADD1 LEVEL])
else (CL:FORMAT S "<LI><A HREF=%"~a%">~a</A></LI>~%%" SHORTNAME SHORTNAME)))
(CL:FORMAT S "</UL></BODY></HTML>~%%"))
(NCONC SUBDIRS (for D in SUBDIRS join (MAKE-INDEX-HTMLS D (OR TOP BASE)
(ADD1 LEVEL])])
)
(PUTPROPS MEDLEY-UTILS FILETYPE :COMPILE-FILE)
@@ -532,9 +550,9 @@
(ADDTOVAR LAMA )
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1104 12495 (GATHER-INFO 1114 . 6496) (MAKE-FULLER-DB 6498 . 7407) (MAKE-INDEX-HTMLS
7409 . 11864) (MEDLEY-FIX-LINKS 11866 . 12259) (MEDLEY-FIX-DATES 12261 . 12493)) (13674 16462 (
MAKE-EXPORTS-ALL 13684 . 14743) (MAKE-WHEREIS-HASH 14745 . 15934) (MAKE-WHEREIS-LOOPS 15936 . 16460))
(16463 25195 (HCFILES 16473 . 20736) (MAKE-INDEX-HTMLS 20738 . 25193)) (25445 30057 (RECOMPILE-ONE
25455 . 27352) (RECMPL 27354 . 27957) (COMPILE-SETUP 27959 . 28583) (REMAKEFILES 28585 . 30055)))))
(FILEMAP (NIL (1086 12975 (GATHER-INFO 1096 . 6478) (MAKE-FULLER-DB 6480 . 7389) (MAKE-INDEX-HTMLS
7391 . 12344) (MEDLEY-FIX-LINKS 12346 . 12739) (MEDLEY-FIX-DATES 12741 . 12973)) (14154 16942 (
MAKE-EXPORTS-ALL 14164 . 15223) (MAKE-WHEREIS-HASH 15225 . 16414) (MAKE-WHEREIS-LOOPS 16416 . 16940))
(16943 26173 (HCFILES 16953 . 21216) (MAKE-INDEX-HTMLS 21218 . 26171)) (26423 31035 (RECOMPILE-ONE
26433 . 28330) (RECMPL 28332 . 28935) (COMPILE-SETUP 28937 . 29561) (REMAKEFILES 29563 . 31033)))))
STOP

Binary file not shown.

View File

@@ -1,12 +1,10 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "31-Dec-2024 11:45:23" {WMEDLEY}<library>PSEUDOHOSTS.;177 29713
(FILECREATED "16-May-2025 12:07:44" {DSK}<home>frank>il>qmedley>library>PSEUDOHOSTS.;2 31408
:EDIT-BY rmk
:CHANGES-TO (FNS PSEUDOHOSTS)
:CHANGES-TO (FNS TRUEDEVICE)
:PREVIOUS-DATE "25-Dec-2024 07:38:10" {WMEDLEY}<library>PSEUDOHOSTS.;176)
:PREVIOUS-DATE "31-Dec-2024 11:45:23" {DSK}<home>frank>il>qmedley>library>PSEUDOHOSTS.;1)
(PRETTYCOMPRINT PSEUDOHOSTSCOMS)
@@ -151,10 +149,32 @@
DEV)))])
(PSEUDOHOSTS
[LAMBDA NIL (* ; "Edited 17-Jan-2022 18:15 by rmk")
(FOR DEV IN \FILEDEVICES WHEN (TYPE? FDEV (FETCH (PHDEVICE TARGETDEV) OF DEV))
COLLECT (LIST (FETCH (FDEV DEVICENAME) OF DEV)
(FETCH (PHDEVICE PREFIX) OF DEV])
[LAMBDA (NEW.HOSTS) (* ; "Edited 17-Jan-2022 18:15 by rmk")
(* ; "Edited 16-May-2025 9:16 by fgh")
(* ;; "")
(* ;; " Returns existing list of PSEUDOHOST pairs. If NEW.HOSTS is T, all current pseudohosts are removed by calling (PSEUDOHOST HOST NIL) on each current pseudohost in turn. Otherwise, NEW.HOSTS should be a list of (HOST PREFIX) pairs and all current pseudohosts are r(PSEUDOHOSTSemoved (as above) and the NEW.HOSTS pairs are used to create new pseudohosts by calling (PSEUDOHOST HOST PREFIX) sequentially in reverse order of the NEW.HOSTS list. Reverse order to ensure that (PSEUDOHOSTS (PSEUDOHOSTS)) doesn't impact the ordering in the PSEUDOHOST list. This function is designed to be used cleanly with RESETSAVE.")
(* ;; "")
(LET [(CURRENT.HOSTS (for DEV in \FILEDEVICES when (type? FDEV (fetch (PHDEVICE TARGETDEV)
of DEV))
collect (LIST (fetch (FDEV DEVICENAME) of DEV)
(fetch (PHDEVICE PREFIX) of DEV]
[COND
((EQ NEW.HOSTS T)
(for HOST in CURRENT.HOSTS do (PSEUDOHOST (CAR HOST)
NIL)))
[[AND (LISTP NEW.HOSTS)
(for HOST in NEW.HOSTS always (AND (LISTP HOST)
(NOT (CDDR HOST]
(for HOST in CURRENT.HOSTS do (PSEUDOHOST (CAR HOST)
NIL))
(for HOST in (REVERSE NEW.HOSTS) do (PSEUDOHOST (CAR HOST)
(CADR HOST]
(NEW.HOSTS (ERROR (CONCAT "PSEUDOHOSTS: Argument not valid:" NEW.HOSTS]
CURRENT.HOSTS])
(TARGETHOST
[LAMBDA (HOST) (* ; "Edited 14-Dec-2024 15:26 by rmk")
@@ -562,13 +582,13 @@
EXPORTS.ALL)
)
(DECLARE%: DONTCOPY
(FILEMAP (NIL (1318 12059 (PSEUDOHOST 1328 . 7036) (PSEUDOHOSTP 7038 . 7867) (PSEUDOHOSTS 7869 . 8230)
(TARGETHOST 8232 . 9101) (TRUEDEVICE 9103 . 10059) (TRUEFILENAME 10061 . 11186) (PSEUDOFILENAME 11188
. 12057)) (12087 18102 (EXPAND.PH 12097 . 13350) (CONTRACT.PH 13352 . 16063) (UNSLASHIT 16065 . 17811
) (GETHOSTINFO.PH 17813 . 18100)) (18103 19004 (CDPSEUDO 18113 . 19002)) (19005 27025 (OPENFILE.PH
19015 . 20088) (GETFILENAME.PH 20090 . 20379) (DIRECTORYNAMEP.PH 20381 . 21005) (CLOSEFILE.PH 21007 .
21474) (REOPENFILE.PH 21476 . 22041) (DELETEFILE.PH 22043 . 22327) (OPENP.PH 22329 . 22624) (
UNREGISTERFILE.PH 22626 . 23168) (REGISTERFILE.PH 23170 . 23704) (GENERATEFILES.PH 23706 . 24750) (
GETFILEINFO.PH 24752 . 25054) (SETFILEINFO.PH 25056 . 25255) (NEXTFILEFN.PH 25257 . 25803) (
FILEINFOFN.PH 25805 . 26080) (RENAMEFILE.PH 26082 . 27023)))))
(FILEMAP (NIL (1331 13754 (PSEUDOHOST 1341 . 7049) (PSEUDOHOSTP 7051 . 7880) (PSEUDOHOSTS 7882 . 9925)
(TARGETHOST 9927 . 10796) (TRUEDEVICE 10798 . 11754) (TRUEFILENAME 11756 . 12881) (PSEUDOFILENAME
12883 . 13752)) (13782 19797 (EXPAND.PH 13792 . 15045) (CONTRACT.PH 15047 . 17758) (UNSLASHIT 17760 .
19506) (GETHOSTINFO.PH 19508 . 19795)) (19798 20699 (CDPSEUDO 19808 . 20697)) (20700 28720 (
OPENFILE.PH 20710 . 21783) (GETFILENAME.PH 21785 . 22074) (DIRECTORYNAMEP.PH 22076 . 22700) (
CLOSEFILE.PH 22702 . 23169) (REOPENFILE.PH 23171 . 23736) (DELETEFILE.PH 23738 . 24022) (OPENP.PH
24024 . 24319) (UNREGISTERFILE.PH 24321 . 24863) (REGISTERFILE.PH 24865 . 25399) (GENERATEFILES.PH
25401 . 26445) (GETFILEINFO.PH 26447 . 26749) (SETFILEINFO.PH 26751 . 26950) (NEXTFILEFN.PH 26952 .
27498) (FILEINFOFN.PH 27500 . 27775) (RENAMEFILE.PH 27777 . 28718)))))
STOP

Binary file not shown.

Binary file not shown.

View File

@@ -23,8 +23,8 @@ main() {
cat >"${shellfile}" <<-'EOF'
#!/bin/sh
git status --porcelain "$1" | grep --quiet --no-messages "??"
if [ $? -eq 0 ]
x=$(git ls-files "$1" 2>/dev/null)
if [ -z "$x" ]
then
rm -f "$1"
rm -f "$1".~*~

View File

@@ -38,6 +38,13 @@ main() {
"
EOF
# Make sure loadups/build is not included in HCFILES
if [ -d "${MEDLEYDIR}/loadups/build" ]
then
touch "${MEDLEYDIR}/loadups/build/.skip"
fi
/bin/sh "${MEDLEYDIR}/scripts/medley/medley.command" \
--config - \
--id hcfiles_+ \