From e6435f6661758b4469091c7e17220dc32eec1ab8 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Mon, 25 Oct 2021 15:56:55 -0700 Subject: [PATCH] Add GATHER-INFO to internal/library/MEDLEYUTILS --- internal/library/MEDLEY-UTILS | 124 ++++++++++++++++++++++++++--- internal/library/MEDLEY-UTILS.LCOM | Bin 1966 -> 5569 bytes 2 files changed, 111 insertions(+), 13 deletions(-) diff --git a/internal/library/MEDLEY-UTILS b/internal/library/MEDLEY-UTILS index ba8860da3..c292f4a4a 100644 --- a/internal/library/MEDLEY-UTILS +++ b/internal/library/MEDLEY-UTILS @@ -1,28 +1,124 @@ -(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "INTERLISP") -(FILECREATED "28-Mar-2021 10:17:29"  -|{DSK}larry>ilisp>medley>internal>library>MEDLEY-UTILS.;4| 3190 +(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) + +(FILECREATED "25-Oct-2021 14:54:43" |{DSK}larry>medley>internal>library>MEDLEY-UTILS.;14| 9472 |changes| |to:| (VARS MEDLEY-UTILSCOMS) + (FNS GATHER-INFO) - |previous| |date:| "24-Mar-2021 15:45:15" -|{DSK}larry>ilisp>medley>internal>library>MEDLEY-UTILS.;3|) + |previous| |date:| "23-Oct-2021 14:53:16" +|{DSK}larry>medley>internal>library>MEDLEY-UTILS.;2|) (PRETTYCOMPRINT MEDLEY-UTILSCOMS) -(RPAQQ MEDLEY-UTILSCOMS ((FNS MEDLEY-FIX-LINKS MEDLEY-FIX-DATES) +(RPAQQ MEDLEY-UTILSCOMS ((FNS GATHER-INFO MEDLEY-FIX-LINKS MEDLEY-FIX-DATES) (VARS MEDLEY-FIX-DIRS) (FNS MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH))) (DEFINEQ +(GATHER-INFO + (LAMBDA (PHASE) (* \; + "Edited 24-Oct-2021 09:43 by larry") + (SELECTQ PHASE + (ALL (SETQ SYSFILES (UNION SYSFILES FILELST)) + (SETQ FILELST NIL) + (FILESLOAD (SOURCE) + SYSEDIT) + (|for| I |from| 1 |to| 4 |do| (GATHER-INFO I))) + (1 (SETQ LOADEDFILES (|for| X |in| LOADEDFILELST |collect| (FILENAMEFIELD + X + 'NAME))) + (FILESLOAD FILESETS) + (SETQ ALLFILESETSFILES (|for| X |in| FILESETS |join| (APPEND (EVAL X)))) + (SETQ SOURCES (|for| X |in| (DIRECTORY (MEDLEYDIR "sources" "*.*;" T)) + |when| (NOT (MEMB (FILENAMEFIELD X 'EXTENSION) + '(LCOM DFASL TEDIT TXT))) + |collect| (FILENAMEFIELD X 'NAME)))) + (-1 (PRINTOUT T " loaded files not in SYSFILES or FILELST: " + (|for| X |in| LOADEDFILES |when| (NOT (OR (FMEMB X SYSFILES) + (FMEMB X FILELST))) + |collect| X) + T) + (PRINTOUT T "Sources not loaded: " (CL:SET-DIFFERENCE SOURCES (APPEND ALLFILESETSFILES + LOADEDFILES)) + T) + (PRINTOUT T "Files in FILESETS not loaded " (CL:SET-DIFFERENCE ALLFILESETSFILES + LOADEDFILES) + T)) + (2 (SETQ DEFINEDFNS (LET ((DEFD NIL)) + (MAPATOMS (FUNCTION (CL:LAMBDA (X) + (CL:WHEN (GETD X) + (CL:SETQ DEFD (CONS X DEFD)))))) + DEFD)) + (|for| X |in| DEFINEDFNS |when| (CCODEP X) + |do| (LET ((Y (PUTPROP X 'CCC (CALLSCCODE X)))) + (|for| REV |in| '(BLOCK-CALLED-BY CALLED-BY SPECIAL-BY GLOBAL-BY) + |as| VAL |in| Y + |do| (|for| S |in| VAL + |do| (PUTPROP S REV (CONS X (GETPROP S REV))))))) + (SETQ CALLEDFNS NIL) + (MAPATOMS (FUNCTION (LAMBDA (X) + (|if| (AND (NOT (GETD X)) + (GETPROP X 'CALLED-BY)) + |then| (CL:PUSH X CALLEDFNS)))))) + (-2 (PRINTOUT T "Functions called and not defined" CALLEDFNS T)) + (3 (|for| X |in| SYSFILES + |do| + (LOAD X 'PROP) + (PUTPROP X 'CONTENT (READFILE X)) + (|for| EXR |in| (GETPROP X 'CONTENT) + |do| (SELECTQ (CAR EXR) + (DEFINEQ (|for| DFN |in| (CDR EXR) + |do| (|if| (EQUAL (CADR DFN) + (GETPROP (CAR DFN) + 'EXPR)) + |then| (PRINTOUT T (CAR DFN) + " ") + (PUTPROP (CAR DFN) + 'EXPR + (CADR DFN)) + |else| (PRINTOUT T (CAR DFN) + "* ")))) + NIL))) + (SETQ ALLCONTENT (|for| X |in| SYSFILES |collect| (CONS X (GETPROP + X + 'CONTENT)))) + (* \; " don't edit with SEDIT") + (LET (DUPS) + (|for| X |in| SYSFILES + |do| (|for| FN |in| (FILEFNSLST X) + |do| (|if| (GETPROP FN 'WHEREIS) + |then| (NCONC1 (GETPROP FN 'WHEREIS) + X) + (OR (FMEMB FN DUPS) + (SETQ DUPS (CONS FN DUPS))) + |else| (PUTPROP FN 'WHEREIS (LIST X))))) + (SETQ DUPFNS DUPS)) + (SETQ NO-SOURCE (|for| X |in| DEFINEDFNS |when| (NOT (GETPROP X 'EXPR)) + |collect| X))) + (-3 (PRINTOUT T "Functions compiled but no expr" NO-SOURCE T) + (PRINTOUT T "Functions on more than one file: " DUPFNS T)) + (4 (PRINTOUT T T "STARTING MASTERSCOPE PHASE ON " (DATE) + T) + (FILESLOAD (SOURCE) + SYSEDIT) + (|for| X |in| SYSFILES |do| (MSNOTICEFILE X)) + (|for| X |in| SYSFILES |do| (PRINTOUT T T "Analyzing " X T) + (MASTERSCOPE `(ANALYZE ON ,(KWOTE X))))) + (-4 "No queries yet") + (HELP)))) + (MEDLEY-FIX-LINKS - (LAMBDA (UNIXPATH) (* \; "Edited 18-Jan-2021 12:01 by larry") + (LAMBDA (UNIXPATH) (* \; + "Edited 18-Jan-2021 12:01 by larry") (OR UNIXPATH (SETQ UNIXPATH (UNIX-GETENV "MEDLEYDIR")) - (ERROR "No Directory")) (* \; "Edited 18-Jan-2021 11:45 by larry") + (ERROR "No Directory")) (* \; + "Edited 18-Jan-2021 11:45 by larry") (|ShellCommand| (CONCAT "cd " UNIXPATH " && /bin/sh scripts/fixlinks && /bin/sh /tmp/doit")))) (MEDLEY-FIX-DATES - (LAMBDA (DIRS) (* \; "Edited 28-Jan-2021 12:15 by larry") + (LAMBDA (DIRS) (* \; + "Edited 28-Jan-2021 12:15 by larry") (|for| X |in| (OR DIRS MEDLEY-FIX-DIRS) |join| (FIX-DIRECTORY-DATES (MEDLEYDIR (PRINT X T)))))) ) @@ -32,7 +128,8 @@ (DEFINEQ (MAKE-EXPORTS-ALL - (LAMBDA NIL (* \; "Edited 9-Mar-2021 16:11 by larry") + (LAMBDA NIL (* \; + "Edited 9-Mar-2021 16:11 by larry") (* "Edited May 3, 2018 by Ron Kaplan--relative to MEDLEYDIR/lispcore/. Don't know why it does the CORE/RENAME") (*  "Edited Aug 17 94 by Sybalsky -- point it to /king/export/lispcore as the truth directory.") @@ -45,7 +142,8 @@ (GATHEREXPORTS EXPORTFILES (MEDLEYDIR "tmp" "exports.all" T)))) (MAKE-WHEREIS-HASH - (LAMBDA NIL (* \; "Edited 24-Mar-2021 13:26 by larry") + (LAMBDA NIL (* \; + "Edited 24-Mar-2021 13:26 by larry") (LET ((FILING.ENUMERATION.DEPTH 1) HASHFILE) (DRIBBLE (MEDLEYDIR "tmp" "whereis.dribble" T)) @@ -59,6 +157,6 @@ (DRIBBLE)))) ) (DECLARE\: DONTCOPY - (FILEMAP (NIL (567 1272 (MEDLEY-FIX-LINKS 577 . 966) (MEDLEY-FIX-DATES 968 . 1270)) (1430 3167 ( -MAKE-EXPORTS-ALL 1440 . 2389) (MAKE-WHEREIS-HASH 2391 . 3165))))) + (FILEMAP (NIL (618 7420 (GATHER-INFO 628 . 6522) (MEDLEY-FIX-LINKS 6524 . 7047) (MEDLEY-FIX-DATES 7049 + . 7418)) (7578 9449 (MAKE-EXPORTS-ALL 7588 . 8604) (MAKE-WHEREIS-HASH 8606 . 9447))))) STOP diff --git a/internal/library/MEDLEY-UTILS.LCOM b/internal/library/MEDLEY-UTILS.LCOM index e6a1ca48113a0fab5d67d1dee8c3c6bbe7ff8d4b..4b376dc9b68d78921a6f83cea361f2642f3a79cd 100644 GIT binary patch literal 5569 zcmbtY+ix3L8IO~e-FoS+otEyd3FR1{0HKweta$(l{{@H#;1O|oLE?q5z#Fjq&N(xlN!pc=wyDPF z@}2K|_sfYF^)DdARs(O(KvYNE(!=x%!cD8iHl@ALDq;!U{%EgnR#v| zG!t66FoS>ZKDAPg)n_6zah2S;!>z7ZPJ}JP496csDRYztP;E1W1@qohUtCfMN0waOfksbV&2KFeIZf6qf?t&sH_Hwk zr3h}P1BK|@6*`c~ZOxnxZ@P@ zFjGL4URAK+=Tb+*@wyZc{**eZ;uX{UOVURM`uIE`aiz? z=-jUjwlp#B|8{5exBDmGe>C&EsCe!!1s;(`C>lCn^3^r}^NsOSH(RkgU%9#Xi`lvH zpUnAs+DD9oTgA~Q`6-6C#i*Enb?)trv3T>&YZDy$GY)0hA@*rML+@hHQ7vrEjpyxW z=j-_hTY2r~i=$tKYL|Ty*cpcP_^KUPugy>F$T(upw_>$O?b(Sn`}$~X&o9;@lhMCc z8vE~4)_yeMSF-byt#nj-&b~4?zGJ^I-{xy=cI_#s{8n}=&34)6g8-*c9DpN=glbps zQvMc>7woGIK76OPFtKCfOZEb2jn!V5*jHw2S026p&|X-q#YXRSW+|=Ti$)@hZAQ_= zCiC^>Ml^cfoEt|kwd&l7*j^;`Ire)baaEPrjEOZGowo(XO;osI$LGd#UklZ)P3*6x*pE2rwV9WK@OIyp_ zL7t`#@(N5VVE)IK?aNPcf!_pN;6Eov*`VSkTd#beF|VH1={ahVKjb!j3dPf~?U~21 zFbia&`9?r8l%e;yz#O*x1caqi$R{DvId%4j*`Kb~aKf@PVu^9fx*j*I$JFUpd z{=ZMY%giCdD5Ggb5mmCTn~39bRwgCQL5buP?6Qu9lteHqR}74m6v4nk4J0F(cta^Q zg^+R*DLIy1H42E`sH-F?;|6D%4=_y!fYpqLLsAj#QECAorA`+W#YZgV0%K(g0>WJ~ z#GH>=%uX?jnd}q-G<)eYmz79)lc&<0Dk6DX$QT6~#ft0$A!|(!h&h&Ika0|>O0sDm zR~EE!BC?`)Zzc!%xcD!iWJXA$mYoEC9SMgQHqfivjuMg{@rU+ zq9=bPmmvi+@95QJ(O6s4E4o$CiIVk1u4FRaAti(AfZ2`$6L`WQH3ubV<+5%SWul}! zeiS7=MIn1~RzM6#CgT{DkENAhaJpGUO{1c!EUluZQO|Cnh%sT@M1qitMnx}F?aB^j zDYp*A8j(&BBB`j1XhkHs*c@)hBDZS)+O!%hT1g7E7A<`kGzzXw%djmJW|ExFkz1QK zHFa5)iEU9A%Mi`d%$-;1A`HOUaVsQv4=SYTjCLRTcDX`w8HH@2_SX%EPtK0Hf!H*DaC}VHv!TBI%sykC{cI3Qa?oQ(P+i zt57Hq6;64kn3hQjrf_CaA}MH;iivtuiWZt4t1{e!$`(o#K^7`G2l69O8(Yn$1LY+> z3?uRI;DC=toGweMznrE8B9sAX1EXN|$eRbve!Dp!51T^)tFlN04ei>)FSfh)(AXht z_IUp57y(QwjijeIMC77?N&}G~asA7f2TILbwL-428yD8ntrp)NY5iq`Tb) z&J0PT`9{0jY=90GnvbuVc3~qqZ5I5tfjDKoU}z>f2y(-;SJ@~5Z>A)HzyWD@xlyBn zXP7&^-3Bfa;I1IR=^gazfTDNu9k3K83ZjMJE-*$p1aM8&)a!d{qC${UB8j7ZFQGTl z924FTS(EBEl{X@baBb<@%Mcafp)lZAVy1{;bdJ>HKwJXG^aOP!!fv;@W^5--!`g8C zehmJ(jYzkSModP!4y_!=SdL_wb8qG+{)FfD6}G^N5C(!Q3gI3)t!AfF=M;eaN?R_yQn3+TWEu*#lZf}abvtnpjpD^PfeQ;{agki#Yj>{?T4Ye~w;v1#*WYNr z)oFL{4}yEwhx-q%H+pRtDph-(%AeXRthm_5Q^By;e+bhc0%sN>O-Nh}Fiz8~%Xpb6 z=-z1G1}NHNd2tXAC)x$1c-HNsV+xukWQjqUiaE_ual;06ffFp z7QPT!mUL^gq*t^mg5Xk7FIU&0th7r^P+4F92*hwd8V#Lgn2F)+A`?(_<^1i@ry6d9 z#6XyI&h)W=H0K$3_pf)^Z~Nj?@ROOH##yB7uwPl?t)XJ9(kC|fD9Rb0G3oS_;t}}> zp5XF%CYhw+BzX~uwBz{@^0KcQ#0Y;vpE0~k0zgznqDbzQlb}rD3$13q*&Zylb_XpQ^r1JVKO{Ls9RwZJzo&qbY#T|8!_m0x;b`>RdwZQG zqBY+HG3AP0t?nSOF%$Q+$DRP$(^oiNDQmZGJ+^^RM&CIC+0z5@0~r?vHwEh8ct;Dq zulfEQ4^v!^xfNRoT4f@E1bK=c4+ow-r*T(s-!qYgI_<%OgF&-Dz}S24yzXz`>o=Q2 jn&+?|78k>T+IP;wz-v&<>UZH5mvafI8A_d8XH;~ zC`_KhsNqyoP?TDhnO|C51F^~qWR(e$-%WuYw=x9!9iLw%jcYV{eO+CATqA+u9HHyu z>E|7+VC7=LJ6TuY2P5xfHNhP~^1k3DM&8Yvgjkq>ob4iVlOKv$v%2{OEAUQM6jcR^ Sxr;^s$pxY^th|1nKD+=$J$YyV