From a1a67959d1cfe31a27b58af69cb4158c8e954c7e Mon Sep 17 00:00:00 2001 From: rmkaplan <69548581+rmkaplan@users.noreply.github.com> Date: Mon, 27 Jan 2025 11:44:46 -0800 Subject: [PATCH] Converted EXV to a command exv (#1981) As requested --- lispusers/EXAMINEDEFS | 80 +++++++++++++++--------------------- lispusers/EXAMINEDEFS.LCOM | Bin 5628 -> 5518 bytes lispusers/EXAMINEDEFS.TEDIT | Bin 6046 -> 6138 bytes 3 files changed, 34 insertions(+), 46 deletions(-) diff --git a/lispusers/EXAMINEDEFS b/lispusers/EXAMINEDEFS index a23e48b9..927f9ce4 100644 --- a/lispusers/EXAMINEDEFS +++ b/lispusers/EXAMINEDEFS @@ -1,18 +1,20 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "12-Dec-2024 15:09:08" {WMEDLEY}EXAMINEDEFS.;53 16442 +(FILECREATED "20-Jan-2025 22:00:44" {WMEDLEY}EXAMINEDEFS.;54 16352 :EDIT-BY rmk - :CHANGES-TO (FNS EXVV) + :CHANGES-TO (FNS EXVV EXV) + (COMMANDS exv) (VARS EXAMINEDEFSCOMS) - :PREVIOUS-DATE " 6-Dec-2024 21:30:42" {WMEDLEY}EXAMINEDEFS.;51) + :PREVIOUS-DATE "12-Dec-2024 15:09:08" {WMEDLEY}EXAMINEDEFS.;53) (PRETTYCOMPRINT EXAMINEDEFSCOMS) -(RPAQQ EXAMINEDEFSCOMS ((FNS EXAMINEDEFS EXAMINEFILES TEDITDEF EXV EXVV) +(RPAQQ EXAMINEDEFSCOMS ((FNS EXAMINEDEFS EXAMINEFILES TEDITDEF EXVV) + (COMMANDS exv) (INITVARS (EXAMINEDEFS-PROCESS-LIST) (EXAMINEWITH 'COMPARETEXT)) (FILES (SYSLOAD) @@ -234,55 +236,41 @@ ELSE (PRINTDEF DEF 3 NIL NIL NIL TSTREAM))) TSTREAM]) -(EXV - [LAMBDA (NAME TYPE FILE VERSION) (* ; "Edited 6-Dec-2024 21:24 by rmk") - - (* ;; "Compares the current incore version with the definition on version VERSION of FILE. TYPE defaults to functions, FILE defaults to (CAR (WHEREIS)), VERSION defaults to newest.") - - (CL:WHEN (VERSIONP TYPE) - (SETQ VERSION TYPE) - (SETQ TYPE NIL)) - - (* ;; "NAME (VARS) (SOURCE1) (V1) (SOURCE2) (V2) ") - - (CL:UNLESS FILE - (CL:WHEN (AND (VERSIONP FILE) - (NOT (VERSIONP VERSION))) - (SETQ VERSION FILE)) - (SETQ FILE (OR (CAR (WHEREIS NAME TYPE T)) - (ERROR "Can't find " FILE " definition of " NAME)))) - (CL:UNLESS VERSION - (SETQ VERSION 'NEWEST)) - (SETQ FILE (FINDFILEVERSION FILE VERSION)) - (EXAMINEDEFS NAME TYPE NIL FILE]) - (EXVV - [LAMBDA (NAME TYPE FILE VERSION1 VERSION2) (* ; "Edited 12-Dec-2024 15:09 by rmk") + [LAMBDA (NAME TYPE FILE VERSION1 VERSION2) (* ; "Edited 20-Jan-2025 21:56 by rmk") + (* ; "Edited 12-Dec-2024 15:09 by rmk") (* ;; "Compares the definitions of NAME as TYPE on 2 different versions of FILE. TYPE and FILE can be elided, defaulting to NIL and WHEREIS respectively. Versions default to newest.") - (* ;; "(EXVV 'FOO -1 -2) will compare the newest and second-newest function definitions of FOO") + (* ;; "If only one version specification, compares with the current (like the EXV command)") - (if (AND (VERSIONP VERSION1) - (VERSIONP VERSION2)) - elseif (VERSIONP TYPE) - then (SETQ VERSION1 TYPE) - (SETQ TYPE NIL) - (CL:WHEN (VERSIONP FILE) - (SETQ VERSION2 FILE) - (SETQ FILE NIL)) - elseif (VERSIONP FILE) - then (CL:WHEN (VERSIONP VERSION1) - (SETQ VERSION2 VERSION1)) - (SETQ VERSION1 FILE) - (SETQ FILE NIL)) + (* ;; "(EXVV 'FOO -1 -2) will compare the newest and second-newest function definitions of FOO.") + + (CL:UNLESS (AND (VERSIONP VERSION1) + (VERSIONP VERSION2)) (* ; "Both versions, arguments are good") + (if (VERSIONP TYPE) + then (SETQ VERSION1 TYPE) (* ; "TYPE and FILE are NIL") + (SETQ TYPE NIL) + (CL:WHEN (VERSIONP FILE) + (SETQ VERSION2 FILE) + (SETQ FILE NIL)) + elseif (VERSIONP FILE) + then (CL:WHEN (VERSIONP VERSION1) (* ; "Type is good, FILE is NIL") + (SETQ VERSION2 VERSION1)) + (SETQ VERSION1 FILE) + (SETQ FILE NIL))) (CL:UNLESS FILE - (SETQ FILE (OR (CAR (WHEREIS NAME TYPE T)) + (SETQ FILE (OR (CAR (WHEREIS NAME (OR TYPE '(FNS FUNCTIONS)) + T)) (ERROR "Can't find " FILE " definition of " NAME)))) - (EXAMINEDEFS NAME TYPE (FINDFILEVERSION FILE (OR VERSION1 -1)) - (FINDFILEVERSION FILE (OR VERSION2 -1]) + (if (AND VERSION1 VERSION2) + then (EXAMINEDEFS NAME TYPE (FINDFILEVERSION FILE VERSION1) + (FINDFILEVERSION FILE VERSION2)) + else (EXAMINEDEFS NAME TYPE NIL (FINDFILEVERSION FILE (OR VERSION1 VERSION2 -1]) ) +(DEFCOMMAND exv (NAME TYPE FILE VERSION) (EXVV NAME TYPE FILE VERSION)) + (RPAQ? EXAMINEDEFS-PROCESS-LIST ) (RPAQ? EXAMINEWITH 'COMPARETEXT) @@ -290,6 +278,6 @@ (FILESLOAD (SYSLOAD) COMPARETEXT VERSIONDEFS) (DECLARE%: DONTCOPY - (FILEMAP (NIL (664 16288 (EXAMINEDEFS 674 . 10603) (EXAMINEFILES 10605 . 12087) (TEDITDEF 12089 . -14255) (EXV 14257 . 15125) (EXVV 15127 . 16286))))) + (FILEMAP (NIL (736 16121 (EXAMINEDEFS 746 . 10675) (EXAMINEFILES 10677 . 12159) (TEDITDEF 12161 . +14327) (EXVV 14329 . 16119))))) STOP diff --git a/lispusers/EXAMINEDEFS.LCOM b/lispusers/EXAMINEDEFS.LCOM index 72f5dfe15fdf3f58c1a451ff639c5ae334e53c68..3433abf86f6d97073df520178e236bf9676d496d 100644 GIT binary patch delta 557 zcmZvY%}T>S6om~)#UNO0iv>|GsXqzQFq0;=%|e=HCJ-^HO=?@gP0@%&OgBYzp}v7A z^8jvLSBkIWg9tj2E-ZF7Gjr~_+;hLL-KX8>PF6$3gI-+JkY<3UnFyJ>{&J<~bp=ET zSEq`&YU(c^+s!|!s;Uy4_lD6q%yJu&sED%T9#T7?R*MplW({Pju$j^UmrDlg3R@YV z-L?X<-S9liCm}?)H|$Y~>g6=EQL{gAd3{dmMC0@|9wDhfi3u(0UDA23Gq1`}5Y zR}(dk`~`o3f5KIxuN6NCCNB4$ckW5vD6v0%bJ#M?nP!7?cC@OUOUba9%U%s|LRsdIwf>Xpc&U+xqkavo9kW60= z%D0$CMt`G-%h=nY7*qvl$hCU2)$BCeEoj&2JF5Y2?Y34sKzW*eio+G(r-_iaNu50< z>eP03@t-SlhG{)Sj^4vKO#2&tX2K+qlpS!5Byq?#645Xx&}&^cO0!WFQizwAHR^Wg X1Wg(|fjq}+QM%CgiI+GgiRqIMb-JHl diff --git a/lispusers/EXAMINEDEFS.TEDIT b/lispusers/EXAMINEDEFS.TEDIT index 0f99168f29b8a7db924b57a8a885977c4ed13ae5..f21a8f2c992d3fdbadc9cfab0cce9549374aa6ae 100644 GIT binary patch delta 1254 zcmZva&q^Cn6vodaHj|01*l2`Wp%*IBA~v{Da8Vdz1R*h)2$i~0JJl>EQ(_TYkby$G zbm8p#36m466osD-hQX=%d=i-cU?~j3X!ymP1;f*RG%(Re=#mBRxMB;W z%Iiz-PuVFaakbW~k=tnbz1~)XDkQ%dD(^PC?X7LUMP-5X0G%Y7rc%4J(d=%Ee=@nM z?o?oV0;`kUR_7fjS)EGXRfj7U$hH5E5xYrflP)A(K%xRYvhN9mq8_vH^8bL7B~WXD zVjN-7K1~Ejk0tk0v$2-q`VgQ23zWdG?Fu$-0YEF&*Ab$qw$Um|vZ_wJ1f!PFjj|uoXWRL4xAqoLT<_ z5sHKE{uj>ft}dGAnmdSb$b0?WbNAePzCXpM;>&N`Sac4&o;i~)6wFrbs@J~k_IrcH z#Fv)yGkf+zt1|*0A!TX z=^RA}>L5TZWkDzi5$TVKs4C_nf=G~*!9w>lTab`(;JFEa8ZoC!got#Z6spTyC8XmM zml_Gmvj}S?(@2>n_PhfahvyM@nedP`Nd%ZDO9b~95t)XrQ6UjN!QI6xx-TI)E|N3^Fb~lS!mN#9K79N>sHX z8hM?fxnqs&LM9fCtd#x}E?Sd1WN&jLngbd!qrpLR)*u9320%uJ=Zu96Br?T(K>CD- rpP