From c413d158a91f43a95c7a37350113ad1642991c10 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Tue, 28 Oct 2025 15:17:02 -0700 Subject: [PATCH 1/2] COMPAREDIRECTORIES and GITFNS keep information for seeing and comparing even after files have moved --- lispusers/COMPAREDIRECTORIES | 185 +++++++++++++++++++----------- lispusers/COMPAREDIRECTORIES.LCOM | Bin 42070 -> 42586 bytes lispusers/EXAMINEDEFS | 19 +-- lispusers/EXAMINEDEFS.LCOM | Bin 5695 -> 5735 bytes lispusers/GITFNS | 156 ++++++++----------------- lispusers/GITFNS.LCOM | Bin 51656 -> 50970 bytes 6 files changed, 175 insertions(+), 185 deletions(-) diff --git a/lispusers/COMPAREDIRECTORIES b/lispusers/COMPAREDIRECTORIES index cfe48dc53..39684b68f 100644 --- a/lispusers/COMPAREDIRECTORIES +++ b/lispusers/COMPAREDIRECTORIES @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "25-Oct-2025 23:59:24" {MEDLEY}COMPAREDIRECTORIES.;2 135376 +(FILECREATED "28-Oct-2025 14:52:05" {WMEDLEY}COMPAREDIRECTORIES.;280 138241 :EDIT-BY rmk - :CHANGES-TO (FNS CDBROWSER-COPY) + :CHANGES-TO (FNS CDBROWSER-COPY CDBROWSER) - :PREVIOUS-DATE "22-Oct-2025 08:32:01" {WMEDLEY}COMPAREDIRECTORIES.;272) + :PREVIOUS-DATE "28-Oct-2025 14:34:57" {WMEDLEY}COMPAREDIRECTORIES.;279) (PRETTYCOMPRINT COMPAREDIRECTORIESCOMS) @@ -1707,6 +1707,8 @@ (CDBROWSER [LAMBDA (CDVALUE TITLE COLHEADINGS BROWSERPROPS SEPARATEDIRECTIONS MENUITEMS) + (* ;; "Edited 28-Oct-2025 14:49 by rmk") + (* ;; "Edited 28-Jan-2022 17:01 by rmk: a table browser for the differences in CDVALUE.") (* ;; "Creates a table browser for the differences in CDVALUE.") @@ -1752,7 +1754,7 @@ [SETQ BROWSER (TB.MAKE.BROWSER (FOR PAIR IN STRINGS COLLECT (CD.TABLEITEM PAIR)) WINDOW `(PRINTFN CD.TABLEITEM.PRINTFN COPYFN CD.TABLEITEM.COPYFN USERDATA - ,(APPEND BROWSERPROPS (LIST 'CDVALUE CDVALUE] + (,@BROWSERPROPS (CDVALUE ,@CDVALUE] (ATTACHMENU (CREATE MENU TITLE _ " CD commands " MENUFONT _ DEFAULTFONT @@ -1893,7 +1895,8 @@ 'DON'T]) (CD.COMMANDSELECTEDFN - [LAMBDA (MENUITEM MENU KEY) (* ; "Edited 6-Mar-2022 19:52 by rmk") + [LAMBDA (MENUITEM MENU KEY) (* ; "Edited 28-Oct-2025 14:34 by rmk") + (* ; "Edited 6-Mar-2022 19:52 by rmk") (* ; "Edited 24-Feb-2022 19:52 by rmk") (* ; "Edited 5-Feb-2022 17:23 by rmk") (* ; "Edited 27-Jan-2022 17:46 by rmk") @@ -1944,7 +1947,8 @@ (LABEL1 (OR (CAR LABELS) FILE1)) (LABEL2 (OR (CADR LABELS) - FILE2))) + FILE2)) + TEMP) (DECLARE (SPECVARS . T)) (* ;; @@ -1958,6 +1962,16 @@ OF (FETCH (CDENTRY INFO2) OF CDENTRY))) (SETQ FILE2 NIL)) + (CL:WHEN (SETQ TEMP (SGETMULTI (fetch (TABLEBROWSER + TBUSERDATA) + of CDBROWSER) + 'ORIGINALFILES FILE1)) + (SETQ FILE1 TEMP)) + (CL:WHEN (SETQ TEMP (SGETMULTI (fetch (TABLEBROWSER + TBUSERDATA) + of CDBROWSER) + 'ORIGINALFILES FILE2)) + (SETQ FILE2 TEMP)) (* ;; "If USERDATA contains a LABELFN, then it is applied to the files and the rest of the USERDATA to produce abbreviated labels for titles and headers.") @@ -1969,6 +1983,8 @@ (CD-MENUFN [LAMBDA (TBITEM MENUITEM CDBROWSER KEY) + (* ;; "Edited 28-Oct-2025 11:53 by rmk") + (* ;; "Edited 26-Mar-2025 09:39 by rmk") (* ;; "Edited 18-Feb-2025 23:36 by rmk") @@ -2058,20 +2074,22 @@ 'REGION)) -1) NIL)))) - (Copy% -> (CDBROWSER-COPY CDBROWSER TBITEM 'LEFT)) - (Copy% <- (CDBROWSER-COPY CDBROWSER TBITEM 'RIGHT)) - (Delete% <- (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT T)) + (Copy% -> (CDBROWSER-COPY CDBROWSER TBITEM KEY 'LEFT)) + (Copy% <- (CDBROWSER-COPY CDBROWSER TBITEM KEY 'RIGHT)) + (Delete% <- (CDBROWSER-DELETE-FILE CDBROWSER TBITEM KEY 'LEFT T)) (|Delete ALL <-| - (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT NIL)) - (Delete% -> (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT T)) + (CDBROWSER-DELETE-FILE CDBROWSER TBITEM KEY 'LEFT NIL)) + (Delete% -> (CDBROWSER-DELETE-FILE CDBROWSER TBITEM KEY 'RIGHT T)) (|Delete ALL ->| - (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT NIL)) + (CDBROWSER-DELETE-FILE CDBROWSER TBITEM KEY 'RIGHT NIL)) (SHOULDNT))) (CLOSEWITH CHILDREN WINDOW) (MOVEWITH CHILDREN WINDOW]) (CD-COMPARE-FILES - [LAMBDA (FILE1 FILE2 LABEL1 LABEL2 TYPE PARENTREGION) (* ; "Edited 22-May-2022 14:41 by rmk") + [LAMBDA (FILE1 FILE2 LABEL1 LABEL2 TYPE PARENTREGION CDBROWSER) + (* ; "Edited 28-Oct-2025 10:42 by rmk") + (* ; "Edited 22-May-2022 14:41 by rmk") (PROG NIL (SETQ FILE1 (OR (STREAMP FILE1) (INFILEP FILE1))) @@ -2094,7 +2112,7 @@ `(,PARENTREGION 0.125) (IPLUS (FETCH (REGION BOTTOM) OF PARENTREGION ) - 20) + 70) NIL)))) (COMPILED (FLASHWINDOW T) (PRIN3 "Cannot compare compiled files" T)) @@ -2123,7 +2141,8 @@ NIL]) (CDBROWSER-COPY - [LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 25-Oct-2025 23:58 by rmk") + [LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 28-Oct-2025 14:42 by rmk") + (* ; "Edited 25-Oct-2025 23:58 by rmk") (* ; "Edited 24-May-2022 15:49 by rmk") (* ; "Edited 25-Apr-2022 09:24 by rmk") (* ; "Edited 5-Feb-2022 17:27 by rmk") @@ -2137,7 +2156,7 @@ (* ;; "Returns NIL if the copy fails.") (CL:UNLESS (TB.ITEM.DELETED? CDBROWSER TBITEM) - (PROG* ((CDVALUE (LISTGET (TB.USERDATA CDBROWSER) + (PROG* ((CDVALUE (GETMULTI (TB.USERDATA CDBROWSER) 'CDVALUE)) (SOURCEDIR (FETCH (CDVALUE CDDIR1) OF CDVALUE)) (DESTDIR (FETCH (CDVALUE CDDIR2) OF CDVALUE)) @@ -2197,7 +2216,8 @@ (RETURN RESULT)))]) (CDBROWSER-DELETE-FILE - [LAMBDA (CDBROWSER TBITEM SIDE ONLYONE SAVE) (* ; "Edited 25-Apr-2022 09:06 by rmk") + [LAMBDA (CDBROWSER TBITEM KEY SIDE ONLYONE SAVE DONTMARK) (* ; "Edited 28-Oct-2025 13:30 by rmk") + (* ; "Edited 25-Apr-2022 09:06 by rmk") (* ; "Edited 5-Feb-2022 17:46 by rmk") (* ; "Edited 18-Jan-2022 23:02 by rmk") (* ; "Edited 19-Dec-2021 23:33 by rmk") @@ -2210,38 +2230,58 @@ (* ;; "If SAVE, then the files are renamed to a deleted directory, not actually expunged, so that they can be restored if needed. The deleted directory is defined by sticking deleted> on the front of FILE's directory.") + (DECLARE (USEDFREE LABEL1 LABEL2 PWINDOW)) (CL:UNLESS (TB.ITEM.DELETED? CDBROWSER TBITEM) - [LET ((CDENTRY (CADR (FETCH TIDATA OF TBITEM))) - FILE OTHERFILE) - (SETQ FILE (FETCH (CDINFO FULLNAME) OF (FETCH (CDENTRY INFO1) OF CDENTRY))) - (SETQ OTHERFILE (FETCH (CDINFO FULLNAME) OF (FETCH (CDENTRY INFO2) OF CDENTRY))) - (CL:WHEN (EQ SIDE 'RIGHT) - (SWAP FILE OTHERFILE)) - (CL:WHEN FILE - (FOR F INSIDE (IF (FILENAMEFIELD.STRING FILE 'VERSION) - THEN [IF ONLYONE - THEN FILE - ELSE (DREVERSE (FILDIR (PACKFILENAME.STRING 'VERSION "*" - 'BODY FILE] - ELSE FILE) - COLLECT + [LET + ((CDENTRY (CADR (fetch TIDATA of TBITEM))) + FILE OTHERFILE DELFILES) + (SETQ FILE (fetch (CDINFO FULLNAME) of (fetch (CDENTRY INFO1) of CDENTRY))) + (SETQ OTHERFILE (fetch (CDINFO FULLNAME) of (fetch (CDENTRY INFO2) of CDENTRY))) + (CL:WHEN (EQ SIDE 'RIGHT) + (SWAP FILE OTHERFILE) + (SWAP LABEL1 LABEL2)) + (SETQ DELFILES (if (FILENAMEFIELD.STRING FILE 'VERSION) + then [if ONLYONE + then (MKLIST FILE) + else (DREVERSE (FILDIR (PACKFILENAME.STRING 'VERSION "*" + 'BODY FILE] + else FILE)) + (CL:WHEN DELFILES + (GIVE.TTY.PROCESS PWINDOW) + (CLEARW T) + (FLASHWINDOW T) + (CL:WHEN [OR (EQ KEY 'MIDDLE) + (EQ 'Y (ASKUSER NIL 'N (CONCAT "Delete " (CL:IF (CDR DELFILES) + "ALL versions of " + "") + LABEL1 " ? "] + (for F in DELFILES + collect (* ;; "Delete the earlier ones first, if it goes bad, you don't want them to persist. This preserves the original version numbers, maybe it should start fresh from 1 (or from whatever might have been deleted before).") - (IF SAVE - THEN (CL:UNLESS (RENAMEFILE F (PACKFILENAME.STRING - 'DIRECTORY - (CONCAT "deleted>" (FILENAMEFIELD.STRING - F - 'DIRECTORY)) - 'BODY F)) - (ERROR "Could not delete " F)) - ELSE (DELFILE FILE)) - F FINALLY + (* ;; "Save copies locally in this browser, for potential Undelete. Undelete would have to match all of the versions") + + (CL:UNLESS (if SAVE + then (PUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER + ) + 'ORIGINALFILES + (RENAMEFILE F (PACKFILENAME.STRING + 'DIRECTORY + (CONCAT "deleted>" + (FILENAMEFIELD.STRING + F + 'DIRECTORY)) + 'BODY F))) + else (PUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER) + 'ORIGINALFILES FILE (COPYFILE FILE '{NODIRCORE})) + (DELFILE FILE)) + (ERROR "Could not delete " F)) + F finally (* ;; "Perhaps only mark it as deleted if both files are gone?") - (TB.DELETE.ITEM CDBROWSER TBITEM)))])]) + (CL:UNLESS DONTMARK (TB.DELETE.ITEM CDBROWSER TBITEM)))))])]) (CD-SWAPDIRS [LAMBDA (FILE FROMDIR TODIR KEEPVERSION) (* ; "Edited 2-Feb-2022 19:10 by rmk") @@ -2258,38 +2298,43 @@ (RPAQ? CD-LINELENGTH NIL) -(RPAQQ CDTABLEBROWSER.MENUITEMS ((Compare CD-MENUFN) - (Copy% -> CD-MENUFN) - (Copy% <- CD-MENUFN) - (See% left CD-MENUFN) - (See% right CD-MENUFN) - (See% both CD-MENUFN) - (See CD-MENUFN))) +(RPAQQ CDTABLEBROWSER.MENUITEMS + ((Compare CD-MENUFN) + (Copy% -> CD-MENUFN) + (Copy% <- CD-MENUFN) + (See% left CD-MENUFN) + (See% right CD-MENUFN) + (See% both CD-MENUFN) + (See CD-MENUFN) + (Delete% <- CD-MENUFN) + (|Delete ALL <-| CD-MENUFN) + (Delete% -> CD-MENUFN) + (|Delete ALL ->| CD-MENUFN))) (FILESLOAD (SYSLOAD) COMPARESOURCES COMPARETEXT) (MOVD? 'NILL 'TEDIT.FILEDATE) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2655 23634 (COMPAREDIRECTORIES 2665 . 8000) (COMPAREDIRECTORIES.INFOS 8002 . 11231) ( -COMPAREDIRECTORIES.CANDIDATES 11233 . 14618) (CDENTRIES.SELECT 14620 . 19522) ( -COMPAREDIRECTORIES.INFOS.TYPE 19524 . 20868) (MATCHNAME 20870 . 21550) (CD.INSURECDVALUE 21552 . 23166 -) (CD.UPDATEWIDTHS 23168 . 23632)) (23635 34340 (CDFILES 23645 . 29742) (CDFILES.MATCH 29744 . 31369) -(CDFILES.PATS 31371 . 34338)) (34341 52359 (CDPRINT 34351 . 36868) (CDPRINT.HEADER 36870 . 37767) ( -CDPRINT.LINE 37769 . 41198) (CDPRINT.MAXWIDTHS 41200 . 45315) (CDPRINT.COLHEADERS 45317 . 46602) ( -CDPRINT.COLUMNS 46604 . 51724) (CDTEDIT 51726 . 52357)) (52360 61481 (CDMAP 52370 . 53802) (CDENTRY -53804 . 54113) (CDSUBSET 54115 . 55554) (CDMERGE 55556 . 59540) (CDMERGE.COMMON 59542 . 60857) ( -CD.SORT 60859 . 61479)) (61482 69020 (BINCOMP 61492 . 65781) (EOLTYPE 65783 . 68345) (EOLTYPE.SHOW -68347 . 69018)) (69548 82075 (FIND-UNCOMPILED-FILES 69558 . 73201) (FIND-UNSOURCED-FILES 73203 . 75587 -) (FIND-SOURCE-FILES 75589 . 77327) (FIND-COMPILED-FILES 77329 . 79206) (FIND-UNLOADED-FILES 79208 . -80061) (FIND-LOADED-FILES 80063 . 80491) (FIND-MULTICOMPILED-FILES 80493 . 82073)) (82076 90507 ( -CREATED-AS 82086 . 86883) (SOURCE-FOR-COMPILED-P 86885 . 89812) (COMPILE-SOURCE-DATE-DIFF 89814 . -90505)) (90508 101271 (FIX-DIRECTORY-DATES 90518 . 93968) (FIX-EQUIV-DATES 93970 . 95495) ( -COPY-COMPARED-FILES 95497 . 97318) (COPY-MISSING-FILES 97320 . 99477) (COMPILED-ON-SAME-SOURCE 99479 - . 101269)) (101465 109303 (CDBROWSER 101475 . 105402) (CDBROWSER.STRINGS 105404 . 109301)) (109465 -111201 (CD.TABLEITEM 109475 . 109695) (CD.TABLEITEM.PRINTFN 109697 . 109896) (CD.TABLEITEM.COPYFN -109898 . 110956) (CDTABLEBROWSER.HEADING.REPAINTFN 110958 . 111199)) (111202 134851 ( -CDTABLEBROWSER.WHENSELECTEDFN 111212 . 111680) (CD.COMMANDSELECTEDFN 111682 . 116783) (CD-MENUFN -116785 . 123011) (CD-COMPARE-FILES 123013 . 126365) (CDBROWSER-COPY 126367 . 131115) ( -CDBROWSER-DELETE-FILE 131117 . 134330) (CD-SWAPDIRS 134332 . 134849))))) + (FILEMAP (NIL (2668 23647 (COMPAREDIRECTORIES 2678 . 8013) (COMPAREDIRECTORIES.INFOS 8015 . 11244) ( +COMPAREDIRECTORIES.CANDIDATES 11246 . 14631) (CDENTRIES.SELECT 14633 . 19535) ( +COMPAREDIRECTORIES.INFOS.TYPE 19537 . 20881) (MATCHNAME 20883 . 21563) (CD.INSURECDVALUE 21565 . 23179 +) (CD.UPDATEWIDTHS 23181 . 23645)) (23648 34353 (CDFILES 23658 . 29755) (CDFILES.MATCH 29757 . 31382) +(CDFILES.PATS 31384 . 34351)) (34354 52372 (CDPRINT 34364 . 36881) (CDPRINT.HEADER 36883 . 37780) ( +CDPRINT.LINE 37782 . 41211) (CDPRINT.MAXWIDTHS 41213 . 45328) (CDPRINT.COLHEADERS 45330 . 46615) ( +CDPRINT.COLUMNS 46617 . 51737) (CDTEDIT 51739 . 52370)) (52373 61494 (CDMAP 52383 . 53815) (CDENTRY +53817 . 54126) (CDSUBSET 54128 . 55567) (CDMERGE 55569 . 59553) (CDMERGE.COMMON 59555 . 60870) ( +CD.SORT 60872 . 61492)) (61495 69033 (BINCOMP 61505 . 65794) (EOLTYPE 65796 . 68358) (EOLTYPE.SHOW +68360 . 69031)) (69561 82088 (FIND-UNCOMPILED-FILES 69571 . 73214) (FIND-UNSOURCED-FILES 73216 . 75600 +) (FIND-SOURCE-FILES 75602 . 77340) (FIND-COMPILED-FILES 77342 . 79219) (FIND-UNLOADED-FILES 79221 . +80074) (FIND-LOADED-FILES 80076 . 80504) (FIND-MULTICOMPILED-FILES 80506 . 82086)) (82089 90520 ( +CREATED-AS 82099 . 86896) (SOURCE-FOR-COMPILED-P 86898 . 89825) (COMPILE-SOURCE-DATE-DIFF 89827 . +90518)) (90521 101284 (FIX-DIRECTORY-DATES 90531 . 93981) (FIX-EQUIV-DATES 93983 . 95508) ( +COPY-COMPARED-FILES 95510 . 97331) (COPY-MISSING-FILES 97333 . 99490) (COMPILED-ON-SAME-SOURCE 99492 + . 101282)) (101478 109356 (CDBROWSER 101488 . 105455) (CDBROWSER.STRINGS 105457 . 109354)) (109518 +111254 (CD.TABLEITEM 109528 . 109748) (CD.TABLEITEM.PRINTFN 109750 . 109949) (CD.TABLEITEM.COPYFN +109951 . 111009) (CDTABLEBROWSER.HEADING.REPAINTFN 111011 . 111252)) (111255 137725 ( +CDTABLEBROWSER.WHENSELECTEDFN 111265 . 111733) (CD.COMMANDSELECTEDFN 111735 . 117908) (CD-MENUFN +117910 . 124210) (CD-COMPARE-FILES 124212 . 127739) (CDBROWSER-COPY 127741 . 132599) ( +CDBROWSER-DELETE-FILE 132601 . 137204) (CD-SWAPDIRS 137206 . 137723))))) STOP diff --git a/lispusers/COMPAREDIRECTORIES.LCOM b/lispusers/COMPAREDIRECTORIES.LCOM index 0fb8ccd9401cc917cbd3dd6e39301f4bf3f71ba5..0e235f6ea5e64adf3d9386c82f423986a1b98d48 100644 GIT binary patch delta 1973 zcmZuy&2Jk;6!&gQ)3~kc1j|a@A|6)SItNEPvmf5IqADBjy4iZYX(~_|h?JFSR#1|VN}g?}T!z+pNW#UMx4<1ssKP9S zlT;a*2wIkqEYYssefkjOj768#%BGvnu~HpY(K27PZJ^542h;P9SWzuG8&2gd+swJ9 zUNH?w(nq6_2e(hC0uWK967kM+bMol6S;&@L^R&gP<+Oo*9&saLUYR6>ds*-qZSx_w z{wkkX@m_rGkBOX})k`JQF*YmfH^Sp8RLo)tyno+p&S_A^Y|y6;c_0E5O{Z$%vA-iw zFzfz;Lf)B$(7g%ot@hFM)Jq}!9qWt--#gaH+SJ;ZeIPPP_7u6!n02qn(!xz-8G(QUsKWvnsXp+l7&DxPwA zW?X_~5>$Ef`OClU+pCP);muzuaO2*)SK3^DbI%9gjXiZ^Zz!~DK@a<}e{_puz0`tK z;{4`cSKs5>1WK;uh#(2rSmxyP3W%Brd0Q_p)hx$gH4rn{n#DQ8w9Se+7qmfCRMalj z{lGy~L@4RGg1>R}qB(~(u$&VhVm^Ag;CB*4ni;w$TimyO{{jm7wt3664WJl-<@mA^ zP*r`bcdBSmDw|b<4Qvta(l%9~vNj5nVhgs02~<+yT*a-LLk9$#mNU}jnqD$27dxU# z!`^139YGRV9HvJkVOz-v#gYVdB?5-fg9jzv@7HG93M?|C4x%i;Y11uR%)v@!z`?B5 zp@gcmr$#f%NGOrMP?SePQGlvrodJr2WQmn4K#A5@BN7au7j!lqUdjVR8oTmKzlQ%4(7TpV7BhEhInOxI;DB1ZtEXI}H^ zNL3NsfQUY>fg*di!hXO`svy>Tgr^Ge{+W(PDH3+bYC>dBzW#EXW(J^>6+l*)xe9aZ zNFK!2XovK^=r9!Im}|Zf5NG?i%ZNK>o4j+_N#c%S7f`^vf1Mtp$VEoBY IKR;{z5A1X62><{9 delta 1401 zcmZuwO>7%Q6!zMsN!?&l6r!j>@M@woKG@os**{wdvhj}b*6UrfYsZaLR3NrUAk;;e z6KY)!ASBd^WJDv%p}q9Ltzbnxw6wh-K;lpifP{L03lax7a^k?-jblU9J+4lK*~zApNx0kimx3N7vBDT{FGU%ao3{# zPWM_;%=A{X1~dZhV-gcekcTRF8+M&nQ6Mr@_)7R7P;xU6`*2)*-kZ-%z81sp_|8~# z-?mRQCpQw#W2qy@#;Vdz!oE|D<8|V6O8nEy6xI)g-e&Xh#pcw;f#!5-GPXb{g`&ev zzlpgS1a+Uk*f1T))8QMD5kFs;n~))$27}<4Ns9aDr~0$+eLW%mx>%MD3jI<~n(E)Y z^iAT)tA}H;1B+%dthM!pPtC`JG{Hl%8U^(gGz`SFscpHk$vf8lrhdVtGr}$ z#{!B4Z8y}_fEqd`o9<}_)B@hHyggT-8iSfytc(<@F=~RU`>hIg?KiN*ZYdyn6^d3i zXqq+4_5&aW8=|eVeJwGf(&5h#mj53h;hc6+BQmxyn3yIuKbh;Pu;f`Qz?3{Jb3d>> z7Z}sP#h=uN8j6#P+^DXOl!`o1GG(Nsd1$!yNuX4LvKQ2W5@XoS!zk=QoyUEW?0=eD({V!w{ZVvh`o7yHpX z7*g=Ncw9PiEG~Z7o|R1T=Qit&Rdx;!+?>h8^~&kg-L(%Y5?+<~E$hqYy;MZjP8dCS zM`VtU$mFFaLSv-pPY)a;>3ut5`&}<}r@C{EXAMINEDEFS.;59 17123 +(FILECREATED "28-Oct-2025 14:24:17" {WMEDLEY}EXAMINEDEFS.;60 17313 :EDIT-BY rmk - :CHANGES-TO (FNS EXAMINEDEFS) + :CHANGES-TO (FNS EXAMINEFILES) - :PREVIOUS-DATE " 6-Apr-2025 23:54:50" {WMEDLEY}EXAMINEDEFS.;57) + :PREVIOUS-DATE "25-Oct-2025 10:24:30" {WMEDLEY}EXAMINEDEFS.;59) (PRETTYCOMPRINT EXAMINEDEFSCOMS) @@ -173,7 +173,8 @@ (EDITE DEF2]) (EXAMINEFILES - [LAMBDA (FILE1 FILE2 TITLE1 TITLE2 REGION) (* ; "Edited 19-Jul-2023 13:48 by rmk") + [LAMBDA (FILE1 FILE2 TITLE1 TITLE2 REGION) (* ; "Edited 28-Oct-2025 14:23 by rmk") + (* ; "Edited 19-Jul-2023 13:48 by rmk") (* ; "Edited 1-Feb-2022 23:15 by rmk") (* ; "Edited 25-Jan-2022 10:08 by rmk") (* ; "Edited 2-Jan-2022 23:15 by rmk") @@ -183,7 +184,8 @@ (CL:UNLESS REGION (SETQ REGION (GETREGION))) - (LIST (AND (INFILEP FILE1) + (LIST (AND (OR (STREAMP FILE1) + (INFILEP FILE1)) (TEDIT-SEE FILE1 (RELCREATEREGION `(,REGION 0.5 -1) REGION 'RIGHT @@ -191,7 +193,8 @@ `(,REGION 0.5) (FETCH (REGION TOP) OF REGION)) NIL TITLE1)) - (AND (INFILEP FILE2) + (AND (OR (STREAMP FILE2) + (INFILEP FILE2)) (TEDIT-SEE FILE2 (RELCREATEREGION `(,REGION 0.5 1) REGION 'LEFT @@ -284,6 +287,6 @@ (FILESLOAD (SYSLOAD) COMPARETEXT VERSIONDEFS) (DECLARE%: DONTCOPY - (FILEMAP (NIL (665 16892 (EXAMINEDEFS 675 . 11290) (EXAMINEFILES 11292 . 12774) (TEDITDEF 12776 . -15098) (EXVV 15100 . 16890))))) + (FILEMAP (NIL (666 17082 (EXAMINEDEFS 676 . 11291) (EXAMINEFILES 11293 . 12964) (TEDITDEF 12966 . +15288) (EXVV 15290 . 17080))))) STOP diff --git a/lispusers/EXAMINEDEFS.LCOM b/lispusers/EXAMINEDEFS.LCOM index 4db3ff8c8dcb30b16ff0ffbf65926f996960a94c..afc886acbce4571a7eaec1dc69d45b8adbe246e0 100644 GIT binary patch delta 435 zcmZvXzfQtX7{%Mchy*92gNgB^E;OM{zuW(H0p)^CDs9?g+zg6?A#q~&2{e*E1g?a| zjnyac6?_eE(IAOT-=F*a&N+9{_-edf?|E8$H`bWJY>*W&DcyV zL;?Ae_oG24jCh8JM<|_s6k+{L*L4NM!T5f-k!QZ5R_i5yp7K`C+fdks2*pf3*>((& zYf^C|*Y}r>DuN{CS7F@Gw6=hYWBGLcDZf<@3Q3Z-+S7_C(rsnY+$o!B@my=k)8eCc z_GA%+S(s}X=OEKU%A=nIDes1H51xmxSGpwd2w5)DT_$ktHO%q;QH-r9vR9OYE*Ao& yuJ|k&KAL%)fD8)}@8qydl(Q-H!tO;bZa@OB8@jE+cb5%Fh2{V5Oq$PjUn<`RAZf<{ delta 382 zcmZvXze>YU6vl}nNQs*+g76WSM3Rtub8pf{2aCC>kGITFNS.;565 135222 +(FILECREATED "28-Oct-2025 14:10:06" {WMEDLEY}GITFNS.;569 131593 :EDIT-BY rmk - :CHANGES-TO (FNS GIT-WORKING-COMPARE-DIRECTORIES GIT-CD-MENUFN GIT-MAKE-PROJECT GIT-CLONEP) + :CHANGES-TO (FNS GIT-WORKING-COMPARE-DIRECTORIES GIT-BRANCHES-COMPARE-DIRECTORIES) - :PREVIOUS-DATE "25-Oct-2025 10:37:40" {WMEDLEY}GITFNS.;562) + :PREVIOUS-DATE "28-Oct-2025 13:32:16" {WMEDLEY}GITFNS.;568) (PRETTYCOMPRINT GITFNSCOMS) @@ -59,7 +59,7 @@ (* ;; "File correspondents") (FNS ALLSUBDIRS MEDLEYSUBDIRS GITSUBDIRS) - (FNS TOGIT FROMGIT GIT-DELETE-FILE MYMEDLEY-DELETE-FILES) + (FNS TOGIT FROMGIT) (FNS MYMEDLEYSUBDIR GITSUBDIR STRIPDIR STRIPHOST STRIPNAME STRIPWHERE) (FNS GFILE4MFILE MFILE4GFILE GIT-REPO-FILENAME) @@ -720,46 +720,6 @@ (CONCAT GF " cannot be copied")) T) DEST]) - -(GIT-DELETE-FILE - [LAMBDA (FILE PROJECT) (* ; "Edited 8-May-2022 09:27 by rmk") - (* ; "Edited 18-Jan-2022 23:07 by rmk") - (* ; "Edited 19-Dec-2021 16:11 by rmk") - (* ; "Edited 16-Dec-2021 13:00 by rmk") - - (* ;; "This deletes a file in the local checkout git directory {UNIX}... FILE has to already be a full file name, for safety.") - - (* ;; "Since git files are on UNIX, we don't have to worry about older version numbers. ") - - (* ;; "We could make this undoable by copying it to deleted/, but git also can restore.") - - (GIT-CLONEP FILE NIL T) - (DELFILE FILE]) - -(MYMEDLEY-DELETE-FILES - [LAMBDA (FILE PROJECT) (* ; "Edited 13-May-2022 10:40 by rmk") - (* ; "Edited 8-May-2022 23:31 by rmk") - - (* ;; "FILE is presumably the latest version of a file in the MyMedley directory, and we are presumably removing all versions of that file. If we left older versions, we would really trash ourselves.") - - (* ;; "But to guard against mistakes, %"deletion%" consists of moving all versions of the file from its current location to a deleted/ subdirectory of MEDLEYDIR, one that does not correspond to a git subdirectory.") - - (SETQ FILE (CONTRACT.PH FILE (FETCH WHOST OF PROJECT))) - (CL:WHEN (EQ (FILENAMEFIELD (FETCH WHOST OF PROJECT) - 'HOST) - (FILENAMEFIELD FILE 'HOST)) - (FOR F IN (DREVERSE (FILDIR (PACKFILENAME 'VERSION '* 'BODY FILE))) - COLLECT - - (* ;; - "Delete the earlier ones first, if it goes bad, you don't want them to persist") - - (CL:UNLESS (RENAMEFILE F (PACKFILENAME 'DIRECTORY (CONCAT "deleted>" - (FILENAMEFIELD F - 'DIRECTORY)) - 'BODY F)) - (ERROR "Could not delete " F)) - F))]) ) (DEFINEQ @@ -1846,7 +1806,8 @@ (LIST DIR1 DIR2 MAPPINGS))]) (GIT-BRANCHES-COMPARE-DIRECTORIES - [LAMBDA (BRANCH1 BRANCH2 LOCAL PROJECT) (* ; "Edited 2-Oct-2025 23:12 by rmk") + [LAMBDA (BRANCH1 BRANCH2 LOCAL PROJECT) (* ; "Edited 28-Oct-2025 14:01 by rmk") + (* ; "Edited 2-Oct-2025 23:12 by rmk") (* ; "Edited 12-Jun-2024 22:52 by mth") (* ; "Edited 10-Jun-2024 18:42 by mth") (* ; "Edited 1-May-2024 14:58 by rmk") @@ -1938,8 +1899,10 @@ (LENGTH (fetch (CDVALUE CDENTRIES) of CDVALUE)) " files") (LIST SHORT1 SHORT2) - `(LABELFN GIT-CD-LABELFN BRANCH1 ,BRANCH1 BRANCH2 ,BRANCH2 PROJECT - ,PROJECT) + `((LABELFN . GIT-CD-LABELFN) + (BRANCH1 ,@BRANCH1) + (BRANCH2 ,@BRANCH2) + (PROJECT ,@PROJECT)) GIT-CDBROWSER-SEPARATE-DIRECTIONS `(Compare See)) (SETQ NENTRIES (LENGTH (fetch (CDVALUE CDENTRIES) of CDVALUE))) @@ -1952,6 +1915,8 @@ (GIT-WORKING-COMPARE-DIRECTORIES [LAMBDA (SUBDIRS SELECT EXCLUDEDFILES FIXDIRECTORYDATES UPDATE PROJECT) + (* ;; "Edited 28-Oct-2025 14:00 by rmk") + (* ;; "Edited 25-Oct-2025 23:32 by rmk") (* ;; "Edited 29-Apr-2025 15:14 by rmk") @@ -2031,9 +1996,12 @@ do (SETQ TITLE (CONCAT WPROJ " vs. " BRANCH2 " " SUBDIR " " (LENGTH (fetch (CDVALUE CDENTRIES) of CDVAL)) " files")) - [CDBROWSER CDVAL TITLE `(,WPROJ ,BRANCH2) - `(BRANCH1 ,WPROJ BRANCH2 ,BRANCH2 SUBDIR ,SUBDIR LABELFN - GIT-CD-LABELFN PROJECT ,PROJECT) + [CDBROWSER CDVAL TITLE `(,WPROJ ,@BRANCH2) + `((BRANCH1 ,@WPROJ) + (BRANCH2 ,@BRANCH2) + (SUBDIR ,@SUBDIR) + (LABELFN . GIT-CD-LABELFN) + (PROJECT ,@PROJECT)) GIT-CDBROWSER-SEPARATE-DIRECTIONS `(Compare See "" Copy% <- (|Delete ALL <-| GIT-CD-MENUFN) ,@(CL:UNLESS (GIT-MAINBRANCH? BRANCH2 PROJECT T) @@ -2213,7 +2181,8 @@ (OR LABEL2 FILE2]) (GIT-CD-MENUFN - [LAMBDA (TBITEM MENUITEM CDBROWSER KEY) (* ; "Edited 25-Oct-2025 23:44 by rmk") + [LAMBDA (TBITEM MENUITEM CDBROWSER KEY) (* ; "Edited 28-Oct-2025 11:50 by rmk") + (* ; "Edited 25-Oct-2025 23:44 by rmk") (* ; "Edited 21-Sep-2022 21:34 by rmk") (* ; "Edited 22-May-2022 19:13 by rmk") (* ; "Edited 8-May-2022 09:26 by rmk") @@ -2221,35 +2190,9 @@ (* ;; "MENUITEM is of the form (display-atom . extrainfo). The selector for the selectq is either the CAR of the extrainfo or the display atom") - (DECLARE (USEDFREE FILE1 FILE2 LABEL2 TYPE CDENTRY)) + (DECLARE (USEDFREE FILE1 FILE2 LABEL2 TYPE CDENTRY USERDATA PWINDOW)) (SELECTQ (OR (CADDR MENUITEM) (CAR MENUITEM)) - (Delete% -> (FLASHWINDOW PWINDOW) - (GIVE.TTY.PROCESS PWINDOW) - (CL:WHEN [OR (EQ KEY 'MIDDLE) - (EQ 'Y (ASKUSER NIL 'N (CONCAT "Delete " LABEL2 " ? "] - (GIT-DELETE-FILE FILE2 (LISTGET USERDATA 'PROJECT)) - (TB.DELETE.ITEM CDBROWSER TBITEM))) - (|Delete ALL <-| - (FLASHWINDOW PWINDOW) - (GIVE.TTY.PROCESS PWINDOW) - (if (NAMEFIELD LABEL1 T) - then (CL:WHEN [OR (EQ KEY 'MIDDLE) - (EQ 'Y (ASKUSER NIL 'N (CONCAT "Delete ALL versions of " - (NAMEFIELD LABEL1 T) - " ? "] - (MYMEDLEY-DELETE-FILES FILE1 (LISTGET USERDATA 'PROJECT)) - (TB.DELETE.ITEM CDBROWSER TBITEM)) - else (PRINTOUT T "Nothing to delete"))) - (Delete% BOTH (FLASHWINDOW PWINDOW) - (GIVE.TTY.PROCESS PWINDOW) - (CL:WHEN (EQ 'Y (ASKUSER NIL 'N (CONCAT - "Delete all Medley and git versions of " - (NAMEFIELD LABEL1 T) - " ? "))) - (GIT-DELETE-FILE FILE2 (LISTGET USERDATA 'PROJECT)) - (MYMEDLEY-DELETE-FILES FILE1 (LISTGET USERDATA 'PROJECT)) - (TB.DELETE.ITEM CDBROWSER TBITEM))) (Copy% -> (CDBROWSER-COPY CDBROWSER TBITEM 'LEFT (CADDDR MENUITEM))) (SHOULDNT]) @@ -2451,33 +2394,32 @@ (PUTPROPS GITFNS FILETYPE :TCOMPL) (DECLARE%: DONTCOPY - (FILEMAP (NIL (4243 21049 (GIT-CLONEP 4253 . 5684) (GIT-INIT 5686 . 6316) (GIT-MAKE-PROJECT 6318 . -14107) (GIT-GET-PROJECT 14109 . 16034) (GIT-PUT-PROJECT-FIELD 16036 . 17677) (GIT-PROJECT-PATH 17679 - . 18723) (FIND-ANCESTOR-DIRECTORY 18725 . 19074) (GIT-FIND-CLONE 19076 . 20157) (GIT-MAINBRANCH 20159 - . 20554) (GIT-MAINBRANCH? 20556 . 21047)) (26512 31441 (PRC-COMMAND 26522 . 31439)) (31497 34285 ( -ALLSUBDIRS 31507 . 32793) (MEDLEYSUBDIRS 32795 . 33488) (GITSUBDIRS 33490 . 34283)) (34286 39076 ( -TOGIT 34296 . 35702) (FROMGIT 35704 . 36685) (GIT-DELETE-FILE 36687 . 37533) (MYMEDLEY-DELETE-FILES -37535 . 39074)) (39077 42080 (MYMEDLEYSUBDIR 39087 . 39543) (GITSUBDIR 39545 . 39988) (STRIPDIR 39990 - . 40361) (STRIPHOST 40363 . 40603) (STRIPNAME 40605 . 41358) (STRIPWHERE 41360 . 42078)) (42081 44316 - (GFILE4MFILE 42091 . 42787) (MFILE4GFILE 42789 . 43358) (GIT-REPO-FILENAME 43360 . 44314)) (44365 -54620 (GIT-COMMIT 44375 . 45201) (GIT-PUSH 45203 . 45963) (GIT-PULL 45965 . 46717) (GIT-APPROVAL 46719 - . 47068) (GIT-GET-FILE 47070 . 48985) (GIT-FILE-EXISTS? 48987 . 49261) (GIT-REMOTE-UPDATE 49263 . -50098) (GIT-REMOTE-ADD 50100 . 50407) (GIT-FILE-DATE 50409 . 51456) (GIT-FILE-HISTORY 51458 . 53392) ( -GIT-PRINT-FILE-HISTORY 53394 . 54444) (GIT-FETCH 54446 . 54618)) (54650 66130 (GIT-BRANCH-DIFF 54660 - . 61549) (GIT-COMMIT-DIFFS 61551 . 62442) (GIT-BRANCH-RELATIONS 62444 . 66128)) (66175 84914 ( -GIT-BRANCH-NUM 66185 . 66758) (GIT-CHECKOUT 66760 . 68046) (GIT-WHICH-BRANCH 68048 . 68455) ( -GIT-MAKE-BRANCH 68457 . 71036) (GIT-BRANCHES 71038 . 73633) (GIT-BRANCH-EXISTS? 73635 . 74506) ( -GIT-PICK-BRANCH 74508 . 74998) (GIT-BRANCH-MENU 75000 . 75881) (GIT-BRANCH-WHENSELECTEDFN 75883 . -77422) (GIT-PULL-REQUESTS 77424 . 81295) (GIT-SHORT-BRANCH-NAME 81297 . 81588) (GIT-LONG-NAME 81590 . -81907) (GIT-PRC-BRANCHES 81909 . 84912)) (84944 88392 (GIT-MY-CURRENT-BRANCH 84954 . 85324) ( -GIT-MY-BRANCHP 85326 . 85944) (GIT-MY-NEXT-BRANCH 85946 . 86440) (GIT-MY-BRANCHES 86442 . 88390)) ( -88438 92513 (GIT-ADD-WORKTREE 88448 . 90055) (GIT-REMOVE-WORKTREE 90057 . 90987) (GIT-LIST-WORKTREES -90989 . 91793) (WORKTREEDIR 91795 . 92511)) (92561 126762 (GIT-GET-DIFFERENT-FILES 92571 . 99479) ( -GIT-BRANCHES-COMPARE-DIRECTORIES 99481 . 106920) (GIT-WORKING-COMPARE-DIRECTORIES 106922 . 112559) ( -GIT-COMPARE-WORKTREE 112561 . 116539) (GITCDOBJBUTTONFN 116541 . 121031) (GIT-CD-LABELFN 121033 . -122115) (GIT-CD-MENUFN 122117 . 124743) (GIT-WORKING-COMPARE-FILES 124745 . 125365) ( -GIT-BRANCHES-COMPARE-FILES 125367 . 126531) (GIT-PR-COMPARE 126533 . 126760)) (126832 135155 (CDGITDIR - 126842 . 127529) (GIT-COMMAND 127531 . 129089) (GITORIGIN 129091 . 129788) (GIT-INITIALS 129790 . -130094) (GIT-COMMAND-TO-FILE 130096 . 133581) (GIT-RESULT-TO-LINES 133583 . 134488) (STRIPLOCAL 134490 - . 135153))))) + (FILEMAP (NIL (4196 21002 (GIT-CLONEP 4206 . 5637) (GIT-INIT 5639 . 6269) (GIT-MAKE-PROJECT 6271 . +14060) (GIT-GET-PROJECT 14062 . 15987) (GIT-PUT-PROJECT-FIELD 15989 . 17630) (GIT-PROJECT-PATH 17632 + . 18676) (FIND-ANCESTOR-DIRECTORY 18678 . 19027) (GIT-FIND-CLONE 19029 . 20110) (GIT-MAINBRANCH 20112 + . 20507) (GIT-MAINBRANCH? 20509 . 21000)) (26465 31394 (PRC-COMMAND 26475 . 31392)) (31450 34238 ( +ALLSUBDIRS 31460 . 32746) (MEDLEYSUBDIRS 32748 . 33441) (GITSUBDIRS 33443 . 34236)) (34239 36640 ( +TOGIT 34249 . 35655) (FROMGIT 35657 . 36638)) (36641 39644 (MYMEDLEYSUBDIR 36651 . 37107) (GITSUBDIR +37109 . 37552) (STRIPDIR 37554 . 37925) (STRIPHOST 37927 . 38167) (STRIPNAME 38169 . 38922) ( +STRIPWHERE 38924 . 39642)) (39645 41880 (GFILE4MFILE 39655 . 40351) (MFILE4GFILE 40353 . 40922) ( +GIT-REPO-FILENAME 40924 . 41878)) (41929 52184 (GIT-COMMIT 41939 . 42765) (GIT-PUSH 42767 . 43527) ( +GIT-PULL 43529 . 44281) (GIT-APPROVAL 44283 . 44632) (GIT-GET-FILE 44634 . 46549) (GIT-FILE-EXISTS? +46551 . 46825) (GIT-REMOTE-UPDATE 46827 . 47662) (GIT-REMOTE-ADD 47664 . 47971) (GIT-FILE-DATE 47973 + . 49020) (GIT-FILE-HISTORY 49022 . 50956) (GIT-PRINT-FILE-HISTORY 50958 . 52008) (GIT-FETCH 52010 . +52182)) (52214 63694 (GIT-BRANCH-DIFF 52224 . 59113) (GIT-COMMIT-DIFFS 59115 . 60006) ( +GIT-BRANCH-RELATIONS 60008 . 63692)) (63739 82478 (GIT-BRANCH-NUM 63749 . 64322) (GIT-CHECKOUT 64324 + . 65610) (GIT-WHICH-BRANCH 65612 . 66019) (GIT-MAKE-BRANCH 66021 . 68600) (GIT-BRANCHES 68602 . 71197 +) (GIT-BRANCH-EXISTS? 71199 . 72070) (GIT-PICK-BRANCH 72072 . 72562) (GIT-BRANCH-MENU 72564 . 73445) ( +GIT-BRANCH-WHENSELECTEDFN 73447 . 74986) (GIT-PULL-REQUESTS 74988 . 78859) (GIT-SHORT-BRANCH-NAME +78861 . 79152) (GIT-LONG-NAME 79154 . 79471) (GIT-PRC-BRANCHES 79473 . 82476)) (82508 85956 ( +GIT-MY-CURRENT-BRANCH 82518 . 82888) (GIT-MY-BRANCHP 82890 . 83508) (GIT-MY-NEXT-BRANCH 83510 . 84004) + (GIT-MY-BRANCHES 84006 . 85954)) (86002 90077 (GIT-ADD-WORKTREE 86012 . 87619) (GIT-REMOVE-WORKTREE +87621 . 88551) (GIT-LIST-WORKTREES 88553 . 89357) (WORKTREEDIR 89359 . 90075)) (90125 123133 ( +GIT-GET-DIFFERENT-FILES 90135 . 97043) (GIT-BRANCHES-COMPARE-DIRECTORIES 97045 . 104672) ( +GIT-WORKING-COMPARE-DIRECTORIES 104674 . 110470) (GIT-COMPARE-WORKTREE 110472 . 114450) ( +GITCDOBJBUTTONFN 114452 . 118942) (GIT-CD-LABELFN 118944 . 120026) (GIT-CD-MENUFN 120028 . 121114) ( +GIT-WORKING-COMPARE-FILES 121116 . 121736) (GIT-BRANCHES-COMPARE-FILES 121738 . 122902) ( +GIT-PR-COMPARE 122904 . 123131)) (123203 131526 (CDGITDIR 123213 . 123900) (GIT-COMMAND 123902 . +125460) (GITORIGIN 125462 . 126159) (GIT-INITIALS 126161 . 126465) (GIT-COMMAND-TO-FILE 126467 . +129952) (GIT-RESULT-TO-LINES 129954 . 130859) (STRIPLOCAL 130861 . 131524))))) STOP diff --git a/lispusers/GITFNS.LCOM b/lispusers/GITFNS.LCOM index bab7dfcc933210d33787ba9e69c4647ac1d9dff4..da2bc98b7f8783b479ba3cdfc38fb8c749b7fedc 100644 GIT binary patch delta 1725 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 From b589a3fe078893554b33e00ad9fbed927e85eb61 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Tue, 28 Oct 2025 17:42:28 -0700 Subject: [PATCH 2/2] Lost an edit --- lispusers/COMPAREDIRECTORIES | 23 +++++++++++++---------- lispusers/COMPAREDIRECTORIES.LCOM | Bin 42586 -> 42849 bytes 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/lispusers/COMPAREDIRECTORIES b/lispusers/COMPAREDIRECTORIES index 39684b68f..aaa0e7ec9 100644 --- a/lispusers/COMPAREDIRECTORIES +++ b/lispusers/COMPAREDIRECTORIES @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "28-Oct-2025 14:52:05" {WMEDLEY}COMPAREDIRECTORIES.;280 138241 +(FILECREATED "28-Oct-2025 17:40:13" {WMEDLEY}COMPAREDIRECTORIES.;284 138494 :EDIT-BY rmk - :CHANGES-TO (FNS CDBROWSER-COPY CDBROWSER) + :CHANGES-TO (FNS CDBROWSER-COPY CD-MENUFN) - :PREVIOUS-DATE "28-Oct-2025 14:34:57" {WMEDLEY}COMPAREDIRECTORIES.;279) + :PREVIOUS-DATE "28-Oct-2025 14:52:05" {WMEDLEY}COMPAREDIRECTORIES.;280) (PRETTYCOMPRINT COMPAREDIRECTORIESCOMS) @@ -1983,7 +1983,7 @@ (CD-MENUFN [LAMBDA (TBITEM MENUITEM CDBROWSER KEY) - (* ;; "Edited 28-Oct-2025 11:53 by rmk") + (* ;; "Edited 28-Oct-2025 17:35 by rmk") (* ;; "Edited 26-Mar-2025 09:39 by rmk") @@ -2012,7 +2012,8 @@ (Compare (IF (AND FILE1 FILE2) THEN (CD-COMPARE-FILES FILE1 FILE2 LABEL1 LABEL2 TYPE (WINDOWPROP WINDOW - 'REGION)) + 'REGION) + CDBROWSER) ELSE (FLASHWINDOW T) (PRIN3 "Only one file" T))) (See% left (IF FILE1 @@ -2141,7 +2142,7 @@ NIL]) (CDBROWSER-COPY - [LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 28-Oct-2025 14:42 by rmk") + [LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 28-Oct-2025 17:39 by rmk") (* ; "Edited 25-Oct-2025 23:58 by rmk") (* ; "Edited 24-May-2022 15:49 by rmk") (* ; "Edited 25-Apr-2022 09:24 by rmk") @@ -2197,7 +2198,9 @@ (CL:UNLESS DESTFILE (SETQ DESTFILE (CD-SWAPDIRS SOURCEFILE SOURCEDIR DESTDIR))) [SETQ RESULT (if UNIXDEST - then [PSEUDOFILENAME (PACKFILENAME 'HOST 'DSK 'BODY + then (SPUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER) + 'ORIGINALFILES DESTFILE (COPYFILE DESTFILE '{NODIRCORE)) + [PSEUDOFILENAME (PACKFILENAME 'HOST 'DSK 'BODY (COPYFILE SOURCEFILE (PACKFILENAME 'HOST 'UNIX @@ -2333,8 +2336,8 @@ CREATED-AS 82099 . 86896) (SOURCE-FOR-COMPILED-P 86898 . 89825) (COMPILE-SOURCE- COPY-COMPARED-FILES 95510 . 97331) (COPY-MISSING-FILES 97333 . 99490) (COMPILED-ON-SAME-SOURCE 99492 . 101282)) (101478 109356 (CDBROWSER 101488 . 105455) (CDBROWSER.STRINGS 105457 . 109354)) (109518 111254 (CD.TABLEITEM 109528 . 109748) (CD.TABLEITEM.PRINTFN 109750 . 109949) (CD.TABLEITEM.COPYFN -109951 . 111009) (CDTABLEBROWSER.HEADING.REPAINTFN 111011 . 111252)) (111255 137725 ( +109951 . 111009) (CDTABLEBROWSER.HEADING.REPAINTFN 111011 . 111252)) (111255 137978 ( CDTABLEBROWSER.WHENSELECTEDFN 111265 . 111733) (CD.COMMANDSELECTEDFN 111735 . 117908) (CD-MENUFN -117910 . 124210) (CD-COMPARE-FILES 124212 . 127739) (CDBROWSER-COPY 127741 . 132599) ( -CDBROWSER-DELETE-FILE 132601 . 137204) (CD-SWAPDIRS 137206 . 137723))))) +117910 . 124259) (CD-COMPARE-FILES 124261 . 127788) (CDBROWSER-COPY 127790 . 132852) ( +CDBROWSER-DELETE-FILE 132854 . 137457) (CD-SWAPDIRS 137459 . 137976))))) STOP diff --git a/lispusers/COMPAREDIRECTORIES.LCOM b/lispusers/COMPAREDIRECTORIES.LCOM index 0e235f6ea5e64adf3d9386c82f423986a1b98d48..259db4090bc4f600d4785cfa1bdb3a4089a5cd7f 100644 GIT binary patch delta 2224 zcmZ`)O>7%Q6!yA5X#)*OTSDrV^u z8C9qSBUE83REcy&>8X{<1tCC9ssIuPpEy)P6&$IM5QqyB2gHF(CE)Fk6DI**cHaBm zd-KiA_nseq8~^!1{QXLgdQ1|J5w`fsxF9WltSzK^|NF=Cg1hq6f8fHSAm^qVe3pdYUGMW&%6qYu5I*uQ zwUYgBg}4*puX>-g^1`V1SL<-%QRIyM87^*i>|ea`ceBk~;m)@+6WL((ct9xD(kl_r zUWeR0A2Hq2ao2Wj^Hc7+os8wZt0}V)ru|>i!5KZ;rc*9Txw6AAI#aQO3o^q`e{57y zM3~~IjA_%&gCaA?7Pu2xk_=9smkK${1%-KUTpik?5PY|*LxP6ZzPLhsqsbJ=<}x;) zb__d}<;5A0iMY`vX(||}^(oUbCe4E3fTR(yjY8Hobl0$r<0iL2QdD@sw49QS6s#Pd z28l^fFrA{qOLjKMEP_PR;21`#n482kZ2~U*nuv&O6=7+z2B6~B09EM%q%^oj&U8~) z5tt-FmRnif1;*$mdW>ir=uu69=0<)LH|X%AN_uTGsvsrXv=~s_cCw&5`RJIGDqS=v zB^?@6OmCt=(sDPACSDU!*rsbD_?jIWMCv*-_FqJU;I`c~h=^eU!L+mv&}4j1eA}s_ zZX2oa0r8Z_=Bj5K zI^Z_h`uX{n7OG>tqbOt%M#UpCq*RfNp_nvC`U1OHyHKfLgtPSpNCG1y2pR(_%ii#{ zLFBzTifCFG)r*6ZLei?k+1gwc8g-aos9k6zfr#S0xodpu4i$8f5(T`k7QY#ZAKV>_ zZJp4AhQGcfJO~EEL@?0?;{)IC@@`#kH3c~n_=Bi&|H_uPmtsFe6O;FSVwoo%^9M({ zubsWKB=k-UjPwWbW#9+4`^f$NAa!Mw9~ck@ILsz^G6E9i!FFWu!M*)$KDb*b54U+A zCJ)Dhw6T@_e7Kxw2YHEjqCC{*i3%Uu*NzLkZ;jc$Jzmkv2vyJXl3VXA{nO)p>5aty z{?&Wvoyg0pdY18mqW<-@(JgIX9d71G&L|kJal~|uDF}3eN zKXW1$Ox=j83|zYuOg?`vU{qZTr>G4_cO0Gt%COs`C2APE)tTOqQW!nWwRhM96ao$0knD zFpQ-k=bS|8OA$h!qj1UM$SBKg1E_+Hsb>mC^v{7!KsGr1p|~!BsKBxHO-nEM_vd&= wZ|Fy5ypbflTz_q@0vGBHI8#MqzE-Uy@qdUw5=Q|Ve!nFBDRA%hjjx~h7aEc%rvLx| delta 1951 zcmZuyU1%It6wa=-O=DYA5L<)AlZ8SP-8lE&`7Nav3;_riq2sSDD;zPhUvG^eR;zL33HQ<}zi=O#QvPt)4=6>hzn|r=< z_Rn9ke>}|IsvZ+BO7x;2ufH*x5!Sy_)_32$Y{v4ZE$_@>9d z$qe=~3{rB?xBl)>R?)Vyo%b`VeD&rlqO=`sJ@0Ql7xy?xJvK9s_)w>mxx<^C-05a)@)Og%&xbpC{%dC-Gr)H` zFAeM@mY%=jmwV~?H_ldz?OWHvI)8s$7>iz>3Qzan(W^21$#xe$m!Jt)KM{G`srRR; z_hM{dk99w%$8c2gNzAZ#g7>bS8x|#)a;ME1D=2}?R4Cf6pPmHpOK!zBoB(7ha(C@) zRv`E|la&dI|CwPU|W9KcPm~oiY$XjRPaqRUpB_^y-fgL!klOk z=&prn!k&StY|o%b`wXHAfoWJl9y0BWhQCZz9 zMrEYrSq=k=WyfvZFD0KzskDy&cLKMf+FTSQP}T?SReeqwK@%DQLf;|3~mulW5B#5Q)svnEO?6+wd=Ms2Cqs)26X zkiT>TBuz@J5{e);o<|Ev3O3gq4?vPxSJY@8qwtDiBhz++M)M$1CC!HIC^lB!J`e2> z7m{QmUQY~T2~lDYxTuUY8S@L?w}( z;77+FN(d?{%(GNmXtj|o)_im2wPtOo?*dlU;DRtBL0%Ea5Nb(*T&S<>_2p{gIxIAr zkOM}9$Y}^DM(3OcEYz23&}zU+v%cKQ0VN0@3L~l#hxOquByn7Scc7*{XnyD(;Sbk; z9L#)%`{l@(9__ZvFWA zW>0Mwzu4^gh(E$jJkJL=a@no-_{7Fw_P<&F`o`t9NN^G(@rWp+bc_xNi77a5g%QKF z&A=S70&@x&j!3vQLRH~`L0KL&QqcX$3hsMgsDLy*b|DdPJK7fv zRglJxTc&LQMFy4=Vr8HzPUB;;Q(1$uZ&nO9jRh);U9Q+9ZI5QyvHgi~pmX?PUL{&l zA#os@9L|hCqn8cK^HD+~|L0Dl9ZIg?8dp(!0!*8pA1=O7Ar4YicM+=6*o~s(QaAkP zOF)$8F31F^IMx*imq^L=0~C&yxS@g!e-bE8Wn>{T*X~|=Srh~m;C$n)r7A2pS}<3` c!%DqYMOEUc=Wu-R5K0jNN*{cA_lKwd2hw%(F#rGn