1
0
mirror of synced 2026-01-12 00:42:56 +00:00

Converted EXV to a command exv (#1981)

As requested
This commit is contained in:
rmkaplan 2025-01-27 11:44:46 -08:00 committed by GitHub
parent 015868e9a6
commit a1a67959d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 34 additions and 46 deletions

View File

@ -1,18 +1,20 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "12-Dec-2024 15:09:08" {WMEDLEY}<lispusers>EXAMINEDEFS.;53 16442
(FILECREATED "20-Jan-2025 22:00:44" {WMEDLEY}<lispusers>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}<lispusers>EXAMINEDEFS.;51)
:PREVIOUS-DATE "12-Dec-2024 15:09:08" {WMEDLEY}<lispusers>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

Binary file not shown.

Binary file not shown.