From e7dccf76a9a80368f662518c5608d6522627f921 Mon Sep 17 00:00:00 2001 From: Matt Heffron Date: Mon, 10 Jun 2024 18:48:53 -0700 Subject: [PATCH] This fixes GITFNS prc not showing any changed files if they included .git in the full name. GITFNS also ignored changed files at the top-level of the repo. This is fixed also. --- lispusers/GITFNS | 189 ++++++++++++++++++++++-------------------- lispusers/GITFNS.LCOM | Bin 51051 -> 51324 bytes 2 files changed, 99 insertions(+), 90 deletions(-) diff --git a/lispusers/GITFNS b/lispusers/GITFNS index 8309c5df..14127904 100644 --- a/lispusers/GITFNS +++ b/lispusers/GITFNS @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "20-May-2024 22:13:04" {WMEDLEY}GITFNS.;530 131382 +(FILECREATED "10-Jun-2024 18:43:43" {DSK}matt>Interlisp>medley>LISPUSERS>GITFNS.;4 132087 - :EDIT-BY rmk + :EDIT-BY "mth" - :CHANGES-TO (FNS GIT-PULL-REQUESTS) + :CHANGES-TO (FNS GIT-GET-PROJECT GIT-COMMAND-TO-FILE GIT-BRANCHES-COMPARE-DIRECTORIES) - :PREVIOUS-DATE "13-May-2024 19:31:18" {WMEDLEY}GITFNS.;529) + :PREVIOUS-DATE "10-Jun-2024 16:48:20" {DSK}matt>Interlisp>medley>LISPUSERS>GITFNS.;3) (PRETTYCOMPRINT GITFNSCOMS) @@ -294,24 +294,24 @@ (* ; "Edited 13-May-2022 10:40 by rmk") (* ; "Edited 9-May-2022 20:02 by rmk") (* ; "Edited 8-May-2022 11:38 by rmk") - (CL:WHEN (SETQ PROJECT (IF (TYPE? GIT-PROJECT PROJECT) - THEN PROJECT - ELSEIF (CDR (ASSOC (OR (U-CASE PROJECT) + (CL:WHEN (SETQ PROJECT (if (type? GIT-PROJECT PROJECT) + then PROJECT + elseif (CDR (ASSOC (OR (U-CASE PROJECT) GIT-DEFAULT-PROJECT) GIT-PROJECTS)) - ELSEIF NOERROR - THEN NIL - ELSE (ERROR "NOT A GIT-PROJECT" PROJECT))) + elseif NOERROR + then NIL + else (ERROR "NOT A GIT-PROJECT" PROJECT))) (SELECTQ FIELD - (PROJECTNAME (FETCH PROJECTNAME OF PROJECT)) - (WHOST (FETCH WHOST OF PROJECT)) - (GITHOST (FETCH GITHOST OF PROJECT)) - (EXCLUSIONS (FETCH EXCLUSIONS OF PROJECT)) + (PROJECTNAME (fetch PROJECTNAME of PROJECT)) + (WHOST (fetch WHOST of PROJECT)) + (GITHOST (fetch GITHOST of PROJECT)) + (EXCLUSIONS (fetch EXCLUSIONS of PROJECT)) (DEFAULTSUBDIRS - (FETCH DEFAULTSUBDIRS OF PROJECT)) - (CLONEPATH (FETCH CLONEPATH OF PROJECT)) - (MAINBRANCH [OR (FETCH MAINBRANCH OF PROJECT) - (REPLACE MAINBRANCH OF PROJECT WITH (OR (GIT-BRANCH-EXISTS? 'origin/main + (fetch DEFAULTSUBDIRS of PROJECT)) + (CLONEPATH (fetch CLONEPATH of PROJECT)) + (MAINBRANCH [OR (fetch MAINBRANCH of PROJECT) + (replace MAINBRANCH of PROJECT with (OR (GIT-BRANCH-EXISTS? 'origin/main T PROJECT) (GIT-BRANCH-EXISTS? 'origin/master NIL PROJECT @@ -1078,6 +1078,8 @@ (GIT-BRANCH-DIFF [LAMBDA (BRANCH1 BRANCH2 PROJECT) + (* ;; "Edited 10-Jun-2024 16:43 by mth") + (* ;; "Edited 2-May-2024 11:28 by mth") (* ;; "Edited 29-Sep-2022 10:52 by rmk") @@ -1117,10 +1119,10 @@ (SETQ RLINES NIL) (CL:WHEN (LISTP RESULTFILE) (SETQ ERRORFILE (CADR RESULTFILE)) - (SETQ ELINES (GIT-RESULT-TO-LINES ERRORFILE)) + (SETQ ELINES (GIT-RESULT-TO-LINES ERRORFILE T)) (DELFILE ERRORFILE) (SETQ RESULTFILE (CAR RESULTFILE))) - (SETQ RLINES (GIT-RESULT-TO-LINES RESULTFILE)) + (SETQ RLINES (GIT-RESULT-TO-LINES RESULTFILE T)) (DELFILE RESULTFILE) (CL:WHEN ELINES (if [AND (STRPOS "warning: inexact rename detection was skipped due to too many files." @@ -1141,30 +1143,32 @@ (GO RETRY)) (ERROR "Incomplete branch differences" (LIST BRANCH1 BRANCH2))) else (for L in ELINES do (PRINTOUT T L T)))) - (RETURN (SORT (for L in RLINES + (RETURN (SORT (for (L FN) in RLINES collect (SELCHARQ (CHCON1 L) (A (CL:IF (EQ (CHARCODE TAB) (NTHCHARCODE L 2)) - (LIST 'ADDED (SUBSTRING L 3)) + (LIST 'ADDED (SETQ FN (SUBSTRING L 3))) (ERROR "ADDED NOT RECOGNIZED" L))) (D (CL:IF (EQ (CHARCODE TAB) (NTHCHARCODE L 2)) - (LIST 'DELETED (SUBSTRING L 3)) + (LIST 'DELETED (SETQ FN (SUBSTRING L 3))) (ERROR "DELETED NOT RECOGNIZED" L))) (M (CL:IF (SETQ POS (STRPOS " " L)) - (LIST 'CHANGED (SUBSTRING L (ADD1 POS))) + [LIST 'CHANGED (SETQ FN (SUBSTRING L (ADD1 POS] (ERROR "CHANGED NOT RECOGNIZED" L))) (C (if (AND (EQ (CHARCODE TAB) (NTHCHARCODE L 5)) (SETQ POS (STRPOS " " L 7))) - then (LIST 'COPIED (SUBSTRING L 6 (SUB1 POS)) + then (LIST 'COPIED (SETQ FN (SUBSTRING L 6 + (SUB1 POS))) (OR (FIXP (SUBATOM L 2 4)) (HELP "C without a number" L))) else (HELP "COPY NOT RECOGNIZED" L))) (R (if (AND (EQ (CHARCODE TAB) (NTHCHARCODE L 5)) (SETQ POS (STRPOS " " L 7))) - then (LIST 'RENAMED (SUBSTRING L 6 (SUB1 POS)) + then (LIST 'RENAMED (SETQ FN (SUBSTRING L 6 + (SUB1 POS))) (SUBSTRING L (ADD1 POS)) (OR (FIXP (SUBATOM L 2 4)) (HELP "R without a number" L))) @@ -1175,7 +1179,8 @@ " Ignore remaining files? " ))) (ERROR!))) - (HELP "Unrecognized git-diff code " L))) + (HELP "Unrecognized git-diff code " L)) + unless (STREQUAL ".git/" (SUBSTRING FN 1 5))) T]) (GIT-COMMIT-DIFFS @@ -1816,7 +1821,8 @@ (LIST DIR1 DIR2 MAPPINGS))]) (GIT-BRANCHES-COMPARE-DIRECTORIES - [LAMBDA (BRANCH1 BRANCH2 LOCAL PROJECT) (* ; "Edited 1-May-2024 14:58 by rmk") + [LAMBDA (BRANCH1 BRANCH2 LOCAL PROJECT) (* ; "Edited 10-Jun-2024 18:42 by mth") + (* ; "Edited 1-May-2024 14:58 by rmk") (* ; "Edited 26-Sep-2023 22:40 by rmk") (* ; "Edited 10-Jun-2023 17:28 by rmk") (* ; "Edited 12-Sep-2022 14:41 by rmk") @@ -1825,23 +1831,26 @@ (* ; "Edited 9-May-2022 15:14 by rmk") (* ; "Edited 3-May-2022 23:04 by rmk") (SETQ PROJECT (GIT-GET-PROJECT PROJECT)) - (SETQ BRANCH1 (IF BRANCH1 - THEN (GITORIGIN BRANCH1 LOCAL) - ELSE (GIT-WHICH-BRANCH PROJECT))) + (SETQ BRANCH1 (if BRANCH1 + then (GITORIGIN BRANCH1 LOCAL) + else (GIT-WHICH-BRANCH PROJECT))) (LET (CDVALUE DIRS NENTRIES MAPPINGS (SHORT1 (GIT-SHORT-BRANCH-NAME BRANCH1)) (SHORT2 (GIT-SHORT-BRANCH-NAME BRANCH2))) - (PRINTOUT T "Comparing all " (L-CASE (FETCH PROJECTNAME OF PROJECT) + (PRINTOUT T "Comparing all " (L-CASE (fetch PROJECTNAME of PROJECT) T) " subdirectories of " SHORT1 " and " SHORT2 T) (PRINTOUT T "Fetching differences" T) (SETQ DIRS (GIT-GET-DIFFERENT-FILES BRANCH1 BRANCH2 NIL NIL PROJECT)) (SETQ MAPPINGS (CADDR DIRS)) - (IF DIRS - THEN (TERPRI T) + (if DIRS + then (TERPRI T) + + (* ;; "INCLUDEDFILES parameter to COMPAREDIRECTORIES needs to allow both top-level files, and leading dot filenames.") + [SETQ CDVALUE (COMPAREDIRECTORIES (CAR DIRS) (CADR DIRS) '(> < ~= -* *-) - '*>*.* + '(*.* *>*.* .* *>.*) (GIT-GET-PROJECT PROJECT 'EXCLUSIONS) NIL NIL NIL NIL (LIST (PACKFILENAME 'HOST NIL 'BODY (CAR DIRS)) @@ -1857,30 +1866,30 @@ (FUNCTION (LAMBDA (CDE) (DECLARE (USEDFREE INFO1 INFO2)) (LET [(MAP (CL:UNLESS INFO2 - (FIND M IN MAPPINGS - SUCHTHAT (STRING.EQUAL (CAR M) - (FETCH (CDINFO FULLNAME) - OF INFO1) + (find M in MAPPINGS + suchthat (STRING.EQUAL (CAR M) + (fetch (CDINFO FULLNAME) + of INFO1) FILEDIRCASEARRAY)))] (CL:WHEN MAP (HELP 'MAP MAP)) (CL:WHEN INFO1 - (CHANGE (FETCH (CDINFO FULLNAME) OF INFO1) + (change (fetch (CDINFO FULLNAME) of INFO1) (SLASHIT (PACKFILENAME.STRING 'VERSION NIL 'BODY DATUM) T))) (CL:WHEN INFO2 - (CHANGE (FETCH (CDINFO FULLNAME) OF INFO2) + (change (fetch (CDINFO FULLNAME) of INFO2) (SLASHIT (PACKFILENAME.STRING 'VERSION NIL 'BODY DATUM) T))) - (IF MAP - THEN + (if MAP + then (* ;; "This handles renames and copies. We want the nominal source of a rename to be in the first column, even though the target location is the one that was fetched.") - (REPLACE (CDENTRY INFO2) OF CDE - WITH (CREATE CDINFO + (replace (CDENTRY INFO2) of CDE + with (create CDINFO FULLNAME _ (CADR MAP) DATE _ (CL:IF (EQ 'R (CADDR MAP)) " <-" @@ -1889,27 +1898,27 @@ AUTHOR _ "" TYPE _ "" EOL _ "")) - (REPLACE (CDENTRY DATEREL) OF CDE - WITH (CADDR MAP] + (replace (CDENTRY DATEREL) of CDE + with (CADDR MAP] (TERPRI T) - (IF (FETCH (CDVALUE CDENTRIES) OF CDVALUE) - THEN (SETQ LAST-BRANCH-CDVALUE CDVALUE) - (CDBROWSER CDVALUE (CONCAT (L-CASE (FETCH PROJECTNAME OF PROJECT) + (if (fetch (CDVALUE CDENTRIES) of CDVALUE) + then (SETQ LAST-BRANCH-CDVALUE CDVALUE) + (CDBROWSER CDVALUE (CONCAT (L-CASE (fetch PROJECTNAME of PROJECT) T) " " SHORT1 " vs " SHORT2 " " - (LENGTH (FETCH (CDVALUE CDENTRIES) OF CDVALUE)) + (LENGTH (fetch (CDVALUE CDENTRIES) of CDVALUE)) " files") (LIST SHORT1 SHORT2) `(LABELFN GIT-CD-LABELFN BRANCH1 ,BRANCH1 BRANCH2 ,BRANCH2 PROJECT ,PROJECT) GIT-CDBROWSER-SEPARATE-DIRECTIONS `(Compare See)) - (SETQ NENTRIES (LENGTH (FETCH (CDVALUE CDENTRIES) OF CDVALUE))) + (SETQ NENTRIES (LENGTH (fetch (CDVALUE CDENTRIES) of CDVALUE))) (LIST NENTRIES (CL:IF (EQ NENTRIES 1) 'difference 'differences)) - ELSE '(0 differences)) - ELSE '(0 differences]) + else '(0 differences)) + else '(0 differences]) (GIT-WORKING-COMPARE-DIRECTORIES [LAMBDA (SUBDIRS SELECT EXCLUDEDFILES FIXDIRECTORYDATES UPDATE PROJECT) @@ -2338,7 +2347,7 @@ (RESULTFILE (CONCAT "{UNIX}/tmp/" PROJECTNAME "-" DATE "-" RAND "-result")) (ERRORFILE (CONCAT "{UNIX}/tmp/" PROJECTNAME "-" DATE "-" RAND "-error")) COMPLETIONCODE) - [SETQ COMPLETIONCODE (PROCESS-COMMAND (CONCAT (CDGITDIR PROJECT) + [SETQ COMPLETIONCODE (PROCESS-COMMAND (CONCAT (CDGITDIR PROJECT) CMD " > " (STRIPHOST RESULTFILE) " 2> " (STRIPHOST ERRORFILE] @@ -2365,12 +2374,12 @@ (FILEPOS "unknown command %"" ESTREAM 0 1))) (FILEPOS "' is not a git command." ESTREAM (NCHARS CMD))) (SETQ COMPLETIONCODE 1)))) - (IF (EQ 0 COMPLETIONCODE) - THEN (IF (AND RESULTFILE ERRORFILE) - THEN (LIST RESULTFILE ERRORFILE) - ELSEIF RESULTFILE - ELSE ERRORFILE) - ELSE (DELFILE RESULTFILE) + (if (EQ 0 COMPLETIONCODE) + then (if (AND RESULTFILE ERRORFILE) + then (LIST RESULTFILE ERRORFILE) + elseif RESULTFILE + else ERRORFILE) + else (DELFILE RESULTFILE) (DELFILE ERRORFILE) (CL:UNLESS NOERROR (ERROR (CONCAT "Command failed: " CMD))) @@ -2402,33 +2411,33 @@ (PUTPROPS GITFNS FILETYPE :TCOMPL) (DECLARE%: DONTCOPY - (FILEMAP (NIL (4187 20766 (GIT-CLONEP 4197 . 5525) (GIT-INIT 5527 . 6157) (GIT-MAKE-PROJECT 6159 . -13824) (GIT-GET-PROJECT 13826 . 15751) (GIT-PUT-PROJECT-FIELD 15753 . 17394) (GIT-PROJECT-PATH 17396 - . 18440) (FIND-ANCESTOR-DIRECTORY 18442 . 18791) (GIT-FIND-CLONE 18793 . 19874) (GIT-MAINBRANCH 19876 - . 20271) (GIT-MAINBRANCH? 20273 . 20764)) (26229 30851 (PRC-COMMAND 26239 . 30849)) (30907 33695 ( -ALLSUBDIRS 30917 . 32203) (MEDLEYSUBDIRS 32205 . 32898) (GITSUBDIRS 32900 . 33693)) (33696 38486 ( -TOGIT 33706 . 35112) (FROMGIT 35114 . 36095) (GIT-DELETE-FILE 36097 . 36943) (MYMEDLEY-DELETE-FILES -36945 . 38484)) (38487 41490 (MYMEDLEYSUBDIR 38497 . 38953) (GITSUBDIR 38955 . 39398) (STRIPDIR 39400 - . 39771) (STRIPHOST 39773 . 40013) (STRIPNAME 40015 . 40768) (STRIPWHERE 40770 . 41488)) (41491 43393 - (GFILE4MFILE 41501 . 41864) (MFILE4GFILE 41866 . 42435) (GIT-REPO-FILENAME 42437 . 43391)) (43442 -53693 (GIT-COMMIT 43452 . 44278) (GIT-PUSH 44280 . 45040) (GIT-PULL 45042 . 45794) (GIT-APPROVAL 45796 - . 46145) (GIT-GET-FILE 46147 . 48169) (GIT-FILE-EXISTS? 48171 . 48445) (GIT-REMOTE-UPDATE 48447 . -49171) (GIT-REMOTE-ADD 49173 . 49480) (GIT-FILE-DATE 49482 . 50529) (GIT-FILE-HISTORY 50531 . 52465) ( -GIT-PRINT-FILE-HISTORY 52467 . 53517) (GIT-FETCH 53519 . 53691)) (53723 64496 (GIT-BRANCH-DIFF 53733 - . 60133) (GIT-COMMIT-DIFFS 60135 . 60808) (GIT-BRANCH-RELATIONS 60810 . 64494)) (64541 82978 ( -GIT-BRANCH-NUM 64551 . 65124) (GIT-CHECKOUT 65126 . 66301) (GIT-WHICH-BRANCH 66303 . 66601) ( -GIT-MAKE-BRANCH 66603 . 68932) (GIT-BRANCHES 68934 . 71424) (GIT-BRANCH-EXISTS? 71426 . 72297) ( -GIT-PICK-BRANCH 72299 . 72789) (GIT-BRANCH-MENU 72791 . 73672) (GIT-BRANCH-WHENSELECTEDFN 73674 . -75839) (GIT-PULL-REQUESTS 75841 . 79359) (GIT-SHORT-BRANCH-NAME 79361 . 79652) (GIT-LONG-NAME 79654 . -79971) (GIT-PRC-BRANCHES 79973 . 82976)) (83008 86343 (GIT-MY-CURRENT-BRANCH 83018 . 83388) ( -GIT-MY-BRANCHP 83390 . 83895) (GIT-MY-NEXT-BRANCH 83897 . 84391) (GIT-MY-BRANCHES 84393 . 86341)) ( -86389 90464 (GIT-ADD-WORKTREE 86399 . 88006) (GIT-REMOVE-WORKTREE 88008 . 88938) (GIT-LIST-WORKTREES -88940 . 89744) (WORKTREEDIR 89746 . 90462)) (90512 123216 (GIT-GET-DIFFERENT-FILES 90522 . 96946) ( -GIT-BRANCHES-COMPARE-DIRECTORIES 96948 . 103801) (GIT-WORKING-COMPARE-DIRECTORIES 103803 . 109199) ( -GIT-COMPARE-WORKTREE 109201 . 113179) (GITCDOBJBUTTONFN 113181 . 117671) (GIT-CD-LABELFN 117673 . -118755) (GIT-CD-MENUFN 118757 . 121197) (GIT-WORKING-COMPARE-FILES 121199 . 121819) ( -GIT-BRANCHES-COMPARE-FILES 121821 . 122985) (GIT-PR-COMPARE 122987 . 123214)) (123286 131315 (CDGITDIR - 123296 . 123983) (GIT-COMMAND 123985 . 125543) (GITORIGIN 125545 . 126242) (GIT-INITIALS 126244 . -126548) (GIT-COMMAND-TO-FILE 126550 . 130039) (GIT-RESULT-TO-LINES 130041 . 130648) (STRIPLOCAL 130650 - . 131313))))) + (FILEMAP (NIL (4282 20861 (GIT-CLONEP 4292 . 5620) (GIT-INIT 5622 . 6252) (GIT-MAKE-PROJECT 6254 . +13919) (GIT-GET-PROJECT 13921 . 15846) (GIT-PUT-PROJECT-FIELD 15848 . 17489) (GIT-PROJECT-PATH 17491 + . 18535) (FIND-ANCESTOR-DIRECTORY 18537 . 18886) (GIT-FIND-CLONE 18888 . 19969) (GIT-MAINBRANCH 19971 + . 20366) (GIT-MAINBRANCH? 20368 . 20859)) (26324 30946 (PRC-COMMAND 26334 . 30944)) (31002 33790 ( +ALLSUBDIRS 31012 . 32298) (MEDLEYSUBDIRS 32300 . 32993) (GITSUBDIRS 32995 . 33788)) (33791 38581 ( +TOGIT 33801 . 35207) (FROMGIT 35209 . 36190) (GIT-DELETE-FILE 36192 . 37038) (MYMEDLEY-DELETE-FILES +37040 . 38579)) (38582 41585 (MYMEDLEYSUBDIR 38592 . 39048) (GITSUBDIR 39050 . 39493) (STRIPDIR 39495 + . 39866) (STRIPHOST 39868 . 40108) (STRIPNAME 40110 . 40863) (STRIPWHERE 40865 . 41583)) (41586 43488 + (GFILE4MFILE 41596 . 41959) (MFILE4GFILE 41961 . 42530) (GIT-REPO-FILENAME 42532 . 43486)) (43537 +53788 (GIT-COMMIT 43547 . 44373) (GIT-PUSH 44375 . 45135) (GIT-PULL 45137 . 45889) (GIT-APPROVAL 45891 + . 46240) (GIT-GET-FILE 46242 . 48264) (GIT-FILE-EXISTS? 48266 . 48540) (GIT-REMOTE-UPDATE 48542 . +49266) (GIT-REMOTE-ADD 49268 . 49575) (GIT-FILE-DATE 49577 . 50624) (GIT-FILE-HISTORY 50626 . 52560) ( +GIT-PRINT-FILE-HISTORY 52562 . 53612) (GIT-FETCH 53614 . 53786)) (53818 64938 (GIT-BRANCH-DIFF 53828 + . 60575) (GIT-COMMIT-DIFFS 60577 . 61250) (GIT-BRANCH-RELATIONS 61252 . 64936)) (64983 83420 ( +GIT-BRANCH-NUM 64993 . 65566) (GIT-CHECKOUT 65568 . 66743) (GIT-WHICH-BRANCH 66745 . 67043) ( +GIT-MAKE-BRANCH 67045 . 69374) (GIT-BRANCHES 69376 . 71866) (GIT-BRANCH-EXISTS? 71868 . 72739) ( +GIT-PICK-BRANCH 72741 . 73231) (GIT-BRANCH-MENU 73233 . 74114) (GIT-BRANCH-WHENSELECTEDFN 74116 . +76281) (GIT-PULL-REQUESTS 76283 . 79801) (GIT-SHORT-BRANCH-NAME 79803 . 80094) (GIT-LONG-NAME 80096 . +80413) (GIT-PRC-BRANCHES 80415 . 83418)) (83450 86785 (GIT-MY-CURRENT-BRANCH 83460 . 83830) ( +GIT-MY-BRANCHP 83832 . 84337) (GIT-MY-NEXT-BRANCH 84339 . 84833) (GIT-MY-BRANCHES 84835 . 86783)) ( +86831 90906 (GIT-ADD-WORKTREE 86841 . 88448) (GIT-REMOVE-WORKTREE 88450 . 89380) (GIT-LIST-WORKTREES +89382 . 90186) (WORKTREEDIR 90188 . 90904)) (90954 123925 (GIT-GET-DIFFERENT-FILES 90964 . 97388) ( +GIT-BRANCHES-COMPARE-DIRECTORIES 97390 . 104510) (GIT-WORKING-COMPARE-DIRECTORIES 104512 . 109908) ( +GIT-COMPARE-WORKTREE 109910 . 113888) (GITCDOBJBUTTONFN 113890 . 118380) (GIT-CD-LABELFN 118382 . +119464) (GIT-CD-MENUFN 119466 . 121906) (GIT-WORKING-COMPARE-FILES 121908 . 122528) ( +GIT-BRANCHES-COMPARE-FILES 122530 . 123694) (GIT-PR-COMPARE 123696 . 123923)) (123995 132020 (CDGITDIR + 124005 . 124692) (GIT-COMMAND 124694 . 126252) (GITORIGIN 126254 . 126951) (GIT-INITIALS 126953 . +127257) (GIT-COMMAND-TO-FILE 127259 . 130744) (GIT-RESULT-TO-LINES 130746 . 131353) (STRIPLOCAL 131355 + . 132018))))) STOP diff --git a/lispusers/GITFNS.LCOM b/lispusers/GITFNS.LCOM index f267d0f62cac87360f00b2d3bd2e948ea65e6efd..e081865deb0c7ec98b4d8b765aeea57791cfeca6 100644 GIT binary patch delta 2013 zcma)7Pi)&{6rWp-X<@KwbfFyr-aMGnPRZ=gpZ|p^#f`uG*-|^RU0A10RklQJR5z)z zl(8X{+b&3Gngtx;z;<3!!3n8c5E9%GyKn^w300h##Ixf@O)1iHh+m$6zu)`4=g%*H zemefogYgIN_e3FmX`_`U0-+#kSt@0z%tMO5)m~d~`i(lYTfjr&Bh$V7@x_()S|hhs z>vnVHR=3gdo440;4*}OeJZ&+s9v(trgg+UWN6&5NL*sGt(WO%68 zy68D^P+^UqPNYJ5-eHEvOyCdbUE*P+)!uXV3Zg^=O@&03nP_-!5%{(43J=+Q$*_vd zMeC5lu|)0cZStV@!rYu=SosnQe(s#QF^#fShrL&}7u>Xo-uGEovQ*0wVW0Kqb1rTD z!fjnVOrT&va6k9qSmULKv(~H0G45J3aR@)(T{;?Gw&%GU%|vi(c9T0EoO<^{@5(Xz z5oOX{G&Vl$>oTX z^v9#r(&WnN)0^C*fl@NcZE~O2eRGuA`(NtnDD`^XpWo?gv9*EV)&5jmwY2){-m(`) zxls4>JN>25@Zq81QiOREb4Q{kulCj57G5Z=K8qS54msN&xJ1OzqX;S)-S&xA<&Ff9tPim31EiJAhQF$bbbhEo)A)aWLBWMVn_9ibM2cvP!fMMPcB>VeUf33)f_&Y%v#faR||9aNS(LqKOhLf}#^}m}Si47L@hS zbG00XqKeZA_mv40CxY@UT$EH0z%WgW2-T5J@aS2%Oz{kA!RrjhbS;==Z;WYTu*9Zb z!6(JvsdZY-)^Zm31gNqce8Q%Bs-yt#z@27yrM=OG8nianZZY}j6wSo6G){y{+axqa;xeVkNn|r`-kW(dCQ9Pi;}5Vs?%3`Zswz`Et`*0Q zY)2uDkcET<8>&jPVAUO>OKKZfAVe1I5I>;(2S{upmIwiN#*SkHQkl)XIq%$a&%N)> z{o|qM*9V@5*W0q>PZjq4vLrK*D%DaE>NODI;Cjl4B#oONu2d_{ zo!w@s(Oiusa?x})@U}vwMevHFLPQD@J*c2iqcjvMeX!GLUI_xm`7`-s(r+18^Y&NY zo@!SxMHCSj)d&OvA`}ZPwD6zey13}|MH5LQY#E`P5rHuWC#5{cIuP0>RFffSM9|pA zO=xUyK``E3te^f<${x>tub= z8|!^M`DDdjS=*glow0js>Dk#y;nvgyKHtCNz7A8u?J4_}^^Wke{nPqe?a;LOlINQl z^X$2b*P)#i?##KwVl{NsWryZmb<*9aP91gU$_@n~j|<&fSm+3k>V3>bI>LiuHS)jW zN^V@+oErpQD^^oSUG;EO?nZZhkTJgX^d#l-D5oR5TC9eTy0;yxr(BX_H9Fu_Uz~RQ z-RLUE-cQH3p1GJ)n*GVfrH#(Sk1o42@pZ9k9d$Ryr857NTKkujy}$8!`_J>{g*We< zJACrngpcbg#EoPIxJJOREYo@&xT-@a`))pKSh!{oHq+ry4mi^XRH{NYXJyPRaEbLX zRns7w-w5T*6sVj#YosL7F;La9FUH%)!K$o5Iv2-lXNAp(0gBH1VhVaW7E`!1BBm(# z)laQZG9FFjegVLAHWI@4&@EFKQrcJ~FsFv0M@IOV7S*+Z7S%@6Q*}HiWeSAj*dGGa z5j3qFP(mSRSQ#q;R8j%oxGQ6O-0p&`wsrT%3Y)1^C>=q79Cuh|^04tT*q6uszCb#6b3&U-2DPl=#Py8T0R{)(bY zAckSD(z;jQZ9xHQyW8)V8W^ZB;xZLUv44*)Of&osoJhvF{aS3{4ApTTE3}2!`4?oa zdF^8CvY^K0&g5@#Qy^0kctZxFXJC z?jS9wmI}?50}$TZi$4np<=)l36^|FsScaw5rNEN?+5NhG;ULp19sIK7ktpe9z9fRP SuxqDP`@6@NT=41RFW_%x6vV0k