diff --git a/.github/workflows/doHCFILES.yml b/.github/workflows/doHCFILES.yml index 20f53da6..2d37f7c0 100644 --- a/.github/workflows/doHCFILES.yml +++ b/.github/workflows/doHCFILES.yml @@ -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 }} diff --git a/internal/MEDLEY-UTILS b/internal/MEDLEY-UTILS index 2502fd6b..14fce7b9 100644 --- a/internal/MEDLEY-UTILS +++ b/internal/MEDLEY-UTILS @@ -1,12 +1,10 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "28-Mar-2025 08:53:43" {DSK}larry>il>medley>internal>MEDLEY-UTILS.;2 30243 +(FILECREATED "16-May-2025 15:37:36" {DSK}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}larry>il>medley>internal>MEDLEY-UTILS.;1) + :PREVIOUS-DATE "16-May-2025 13:51:08" {DSK}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 "~%%~%%") - (CL:FORMAT S "Index page for ~a~%%" (SETQ SLASHED (SLASHIT BASE))) - (CL:FORMAT S "~%%") - (CL:FORMAT S "~%%") - (CL:FORMAT S "

Index page for ~a

~%%" 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 "~%%~%%") + (CL:FORMAT S "Index page for ~a~%%" (SETQ SLASHED (SLASHIT BASE))) + (CL:FORMAT S "~%%") + (CL:FORMAT S "~%%") + (CL:FORMAT S "

Index page for ~a

~%%" SLASHED) + (CL:UNLESS (EQ LEVEL 1) + (CL:FORMAT S "
~%%~%%
~%%" - )) - (CL:FORMAT S "

This is an index of the files just to link them in.~%%

    ~%%") - (FOR FULLNAME IN (DIRECTORY (CONCAT BASE "*.*;")) - DO (IF (EQ (NTHCHAR FULLNAME -1) - '>) - THEN - (* ;; "A directory") + )) + (CL:FORMAT S "

    This is an index of the files just to link them in.~%%

      ~%%") + (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 "
    • ~a/
    • ~%%" 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 "
    • ~a/
    • ~%%" 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 "
    • ~a
    • ~%%" SHORTNAME SHORTNAME))) - (CL:FORMAT S "
    ~%%")) - (NCONC SUBDIRS (FOR D IN SUBDIRS join (MAKE-INDEX-HTMLS D (OR TOP BASE) - (ADD1 LEVEL]) + else (CL:FORMAT S "
  • ~a
  • ~%%" SHORTNAME SHORTNAME))) + (CL:FORMAT S "
~%%")) + (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 "~%%~%%") - (CL:FORMAT S "Index page for ~a~%%" (SETQ SLASHED (SLASHIT BASE))) - (CL:FORMAT S "~%%") - (CL:FORMAT S "~%%") - (CL:FORMAT S "

Index page for ~a

~%%" 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 "~%%~%%") + (CL:FORMAT S "Index page for ~a~%%" (SETQ SLASHED (SLASHIT BASE))) + (CL:FORMAT S "~%%") + (CL:FORMAT S "~%%") + (CL:FORMAT S "

Index page for ~a

~%%" SLASHED) + (CL:UNLESS (EQ LEVEL 1) + (CL:FORMAT S "
~%%~%%
~%%" - )) - (CL:FORMAT S "

This is an index of the files just to link them in.~%%

    ~%%") - (FOR FULLNAME IN (DIRECTORY (CONCAT BASE "*.*;")) - DO (IF (EQ (NTHCHAR FULLNAME -1) - '>) - THEN - (* ;; "A directory") + )) + (CL:FORMAT S "

    This is an index of the files just to link them in.~%%

      ~%%") + (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 "
    • ~a/
    • ~%%" 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 "
    • ~a/
    • ~%%" 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 "
    • ~a
    • ~%%" SHORTNAME SHORTNAME))) - (CL:FORMAT S "
    ~%%")) - (NCONC SUBDIRS (FOR D IN SUBDIRS join (MAKE-INDEX-HTMLS D (OR TOP BASE) - (ADD1 LEVEL]) + else (CL:FORMAT S "
  • ~a
  • ~%%" SHORTNAME SHORTNAME))) + (CL:FORMAT S "
~%%")) + (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 diff --git a/internal/MEDLEY-UTILS.DFASL b/internal/MEDLEY-UTILS.DFASL index 0b7a1154..405c8cc7 100644 Binary files a/internal/MEDLEY-UTILS.DFASL and b/internal/MEDLEY-UTILS.DFASL differ diff --git a/scripts/clean_hcfiles.sh b/scripts/clean_hcfiles.sh index 9c7f9e3f..d7218cad 100755 --- a/scripts/clean_hcfiles.sh +++ b/scripts/clean_hcfiles.sh @@ -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".~*~ diff --git a/scripts/do_hcfiles.sh b/scripts/do_hcfiles.sh index 075a9731..0246a0db 100755 --- a/scripts/do_hcfiles.sh +++ b/scripts/do_hcfiles.sh @@ -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_+ \