Skip to content

Commit aae53a7

Browse files
authored
Adjustments to GITFNS (#2321)
prc status is C if changes requested, prc comparison runs in its own process, initial changes for gwc to treat the clone as UNIX, not DSK, so branch-switching doesn't cause files from other branches to pile up. * COMPAREDIRECTORIES: don't fail on empty directory * Bug in slashit * gwc copies to UNIX--doesn't track Medley version numbers when it copies to the clone
1 parent 54f8b88 commit aae53a7

File tree

8 files changed

+443
-400
lines changed

8 files changed

+443
-400
lines changed

library/UNIXUTILS

Lines changed: 109 additions & 101 deletions
Large diffs are not rendered by default.

library/UNIXUTILS.DFASL

-325 Bytes
Binary file not shown.

lispusers/COMPAREDIRECTORIES

Lines changed: 82 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED "24-Aug-2025 13:38:35" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;268 133743
3+
(FILECREATED "25-Oct-2025 23:59:24" {MEDLEY}<lispusers>COMPAREDIRECTORIES.;2 135376
44

55
:EDIT-BY rmk
66

7-
:CHANGES-TO (FNS CDENTRIES.SELECT CDPRINT.LINE)
7+
:CHANGES-TO (FNS CDBROWSER-COPY)
88

9-
:PREVIOUS-DATE "26-Mar-2025 09:41:31" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;267)
9+
:PREVIOUS-DATE "22-Oct-2025 08:32:01" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;272)
1010

1111

1212
(PRETTYCOMPRINT COMPAREDIRECTORIESCOMS)
@@ -160,6 +160,8 @@
160160
(COMPAREDIRECTORIES.INFOS
161161
[LAMBDA (DIR INCLUDEDFILES EXCLUDEDFILES ALLVERSIONS DEPTH USEDIRECTORYDATE INCLUDEAUTHOR)
162162

163+
(* ;; "Edited 21-Oct-2025 14:26 by rmk")
164+
163165
(* ;; "Edited 29-Sep-2023 17:25 by rmk")
164166

165167
(* ;; "Edited 22-May-2022 14:17 by rmk")
@@ -168,43 +170,45 @@
168170

169171
(* ;; "Each entry is a list of the form (matchname . CDINFOS). CDINFOS is guaranteed to be a singleton, unless ALLVERSIONS. ")
170172

171-
(FOR FULLNAME TYPE LDATE STREAM (STARTPOS _ (ADD1 (NCHARS DIR)))
172-
IN (CDFILES DIR INCLUDEDFILES EXCLUDEDFILES ALLVERSIONS DEPTH)
173-
COLLECT
173+
(CL:WHEN (DIRECTORYNAMEP DIR)
174+
[FOR FULLNAME TYPE LDATE STREAM (STARTPOS _ (ADD1 (NCHARS DIR)))
175+
IN (CDFILES DIR INCLUDEDFILES EXCLUDEDFILES ALLVERSIONS DEPTH)
176+
COLLECT
174177

175-
(* ;; "GDATE/IDATE in case Y2K")
178+
(* ;; "GDATE/IDATE in case Y2K")
176179

177-
(SETQ STREAM (OPENSTREAM FULLNAME 'INPUT)) (* ;
180+
(SETQ STREAM (OPENSTREAM FULLNAME 'INPUT)) (* ;
178181
 "So all the GETFILEINFO's, FILEDATES, etc. don't have to do the directory searching.")
179182
(* ;
180183
 "Is it a Lisp file? Get it's internal filecreated date. ")
181-
(CL:MULTIPLE-VALUE-SETQ (TYPE LDATE)
182-
(COMPAREDIRECTORIES.INFOS.TYPE STREAM))
183-
(PROG1 (LIST (MATCHNAME FULLNAME STARTPOS)
184-
(CREATE CDINFO
185-
FULLNAME _ (FULLNAME STREAM)
186-
DATE _ (GDATE (IDATE (IF (OR USEDIRECTORYDATE (NULL LDATE))
187-
THEN (GETFILEINFO STREAM 'CREATIONDATE)
188-
ELSE (SETFILEINFO STREAM 'CREATIONDATE LDATE)
189-
LDATE)))
190-
LENGTH _ (GETFILEINFO STREAM 'LENGTH)
191-
AUTHOR _ (AND INCLUDEAUTHOR (GETFILEINFO STREAM 'AUTHOR))
192-
TYPE _ TYPE
193-
EOL _ (EOLTYPE STREAM)))
194-
(CLOSEF? STREAM))
195-
FINALLY
196-
197-
(* ;; "Sort to get all entries with the same matchname adjacent. Presumably we would only need to collect multiples if ALLVERSIONS, but in a case-sensitive file system we might see files with names that differ in case. We have deliberately given them a case-insensitive matchname, so we can expose this issue in the display.")
198-
199-
(* ;; "If we see (MN X)(MN Y), smash the Y in after the X")
200-
201-
(RETURN (FOR ITAIL I VAL MN ON (SORT $$VAL T)
202-
DO (SETQ I (CAR ITAIL))
203-
(SETQ MN (CAR I))
204-
[WHILE (EQ MN (CAADR ITAIL)) DO (POP ITAIL)
205-
(PUSH (CDR I)
206-
(CADR (CAR ITAIL]
207-
(PUSH VAL I) FINALLY (RETURN (DREVERSE VAL])
184+
(CL:MULTIPLE-VALUE-SETQ (TYPE LDATE)
185+
(COMPAREDIRECTORIES.INFOS.TYPE STREAM))
186+
(PROG1 (LIST (MATCHNAME FULLNAME STARTPOS)
187+
(CREATE CDINFO
188+
FULLNAME _ (FULLNAME STREAM)
189+
DATE _ (GDATE (IDATE (IF (OR USEDIRECTORYDATE (NULL LDATE))
190+
THEN (GETFILEINFO STREAM 'CREATIONDATE)
191+
ELSE (SETFILEINFO STREAM 'CREATIONDATE
192+
LDATE)
193+
LDATE)))
194+
LENGTH _ (GETFILEINFO STREAM 'LENGTH)
195+
AUTHOR _ (AND INCLUDEAUTHOR (GETFILEINFO STREAM 'AUTHOR))
196+
TYPE _ TYPE
197+
EOL _ (EOLTYPE STREAM)))
198+
(CLOSEF? STREAM))
199+
FINALLY
200+
201+
(* ;; "Sort to get all entries with the same matchname adjacent. Presumably we would only need to collect multiples if ALLVERSIONS, but in a case-sensitive file system we might see files with names that differ in case. We have deliberately given them a case-insensitive matchname, so we can expose this issue in the display.")
202+
203+
(* ;; "If we see (MN X)(MN Y), smash the Y in after the X")
204+
205+
(RETURN (FOR ITAIL I VAL MN ON (SORT $$VAL T)
206+
DO (SETQ I (CAR ITAIL))
207+
(SETQ MN (CAR I))
208+
[WHILE (EQ MN (CAADR ITAIL)) DO (POP ITAIL)
209+
(PUSH (CDR I)
210+
(CADR (CAR ITAIL]
211+
(PUSH VAL I) FINALLY (RETURN (DREVERSE VAL])])
208212

209213
(COMPAREDIRECTORIES.CANDIDATES
210214
[LAMBDA (INFOS1 INFOS2)
@@ -335,7 +339,9 @@
335339
CDE])
336340

337341
(COMPAREDIRECTORIES.INFOS.TYPE
338-
[LAMBDA (FILE) (* ; "Edited 28-Sep-2023 23:09 by rmk")
342+
[LAMBDA (FILE) (* ; "Edited 22-Oct-2025 08:29 by rmk")
343+
(* ; "Edited 20-Sep-2025 12:59 by rmk")
344+
(* ; "Edited 28-Sep-2023 23:09 by rmk")
339345
(* ; "Edited 22-May-2022 14:27 by rmk")
340346
(* ; "Edited 25-Apr-2022 09:02 by rmk")
341347
(* ; "Edited 4-Jan-2022 13:10 by rmk")
@@ -404,7 +410,8 @@
404410
(DEFINEQ
405411

406412
(CDFILES
407-
[LAMBDA (DIR INCLUDEDFILES EXCLUDEDFILES ALLVERSIONS DEPTH)(* ; "Edited 17-Jun-2023 23:04 by rmk")
413+
[LAMBDA (DIR INCLUDEDFILES EXCLUDEDFILES ALLVERSIONS DEPTH)(* ; "Edited 20-Oct-2025 23:25 by rmk")
414+
(* ; "Edited 17-Jun-2023 23:04 by rmk")
408415
(* ; "Edited 3-Oct-2022 12:03 by rmk")
409416
(* ; "Edited 25-Apr-2022 08:42 by rmk")
410417
(* ; "Edited 5-Mar-2022 15:05 by rmk")
@@ -426,8 +433,7 @@
426433

427434
(* ;; "EXCLUDEDFILES is a filepattern with * meaning everything, COM means *.LCOM and *.DFASL")
428435

429-
[SETQ EXCLUDEDFILES `(*>.DS_Store
430-
,@(MKLIST EXCLUDEDFILES]
436+
[SETQ EXCLUDEDFILES `(*>.DS�Store ,@(MKLIST EXCLUDEDFILES]
431437
(CL:UNLESS (EQMEMB '.* INCLUDEDFILES) (* ;
432438
 "Excluded dot files unless specifically asked for")
433439
[SETQ EXCLUDEDFILES `(.* ,@(MKLIST EXCLUDEDFILES])
@@ -2117,13 +2123,17 @@
21172123
NIL])
21182124

21192125
(CDBROWSER-COPY
2120-
[LAMBDA (CDBROWSER TBITEM SOURCE) (* ; "Edited 24-May-2022 15:49 by rmk")
2126+
[LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 25-Oct-2025 23:58 by rmk")
2127+
(* ; "Edited 24-May-2022 15:49 by rmk")
21212128
(* ; "Edited 25-Apr-2022 09:24 by rmk")
21222129
(* ; "Edited 5-Feb-2022 17:27 by rmk")
21232130
(* ; "Edited 2-Feb-2022 22:18 by rmk")
21242131

21252132
(* ;; "Copies the file identified as SOURCE (LEFT or RIGHT) in CDENTRY to the other file of the end. If the destination file is missing, it is assumed to be a new/unversioned file of the same name as the source but with the directory prefix switched. CDVALUE needed to know what directory prefixes are involved.")
21262133

2134+
(* ;;
2135+
 "if UNIXDEST, coerces the true destination file to host UNIX--suppresses Medley version numbers")
2136+
21272137
(* ;; "Returns NIL if the copy fails.")
21282138

21292139
(CL:UNLESS (TB.ITEM.DELETED? CDBROWSER TBITEM)
@@ -2167,7 +2177,17 @@
21672177
(CLEARW T)
21682178
(CL:UNLESS DESTFILE
21692179
(SETQ DESTFILE (CD-SWAPDIRS SOURCEFILE SOURCEDIR DESTDIR)))
2170-
(SETQ RESULT (COPYFILE SOURCEFILE (PACKFILENAME.STRING 'VERSION NIL 'BODY DESTFILE)))
2180+
[SETQ RESULT (if UNIXDEST
2181+
then [PSEUDOFILENAME (PACKFILENAME 'HOST 'DSK 'BODY
2182+
(COPYFILE SOURCEFILE (PACKFILENAME
2183+
'HOST
2184+
'UNIX
2185+
'VERSION NIL
2186+
'BODY
2187+
(TRUEFILENAME
2188+
DESTFILE]
2189+
else (COPYFILE SOURCEFILE (PACKFILENAME.STRING 'VERSION NIL
2190+
'BODY DESTFILE]
21712191
(PRIN3 (IF RESULT
21722192
THEN (TB.DELETE.ITEM CDBROWSER TBITEM)
21732193
(CONCAT "Copied to " RESULT)
@@ -2251,25 +2271,25 @@
22512271

22522272
(MOVD? 'NILL 'TEDIT.FILEDATE)
22532273
(DECLARE%: DONTCOPY
2254-
(FILEMAP (NIL (2673 23163 (COMPAREDIRECTORIES 2683 . 8018) (COMPAREDIRECTORIES.INFOS 8020 . 10978) (
2255-
COMPAREDIRECTORIES.CANDIDATES 10980 . 14365) (CDENTRIES.SELECT 14367 . 19269) (
2256-
COMPAREDIRECTORIES.INFOS.TYPE 19271 . 20397) (MATCHNAME 20399 . 21079) (CD.INSURECDVALUE 21081 . 22695
2257-
) (CD.UPDATEWIDTHS 22697 . 23161)) (23164 33786 (CDFILES 23174 . 29188) (CDFILES.MATCH 29190 . 30815)
2258-
(CDFILES.PATS 30817 . 33784)) (33787 51805 (CDPRINT 33797 . 36314) (CDPRINT.HEADER 36316 . 37213) (
2259-
CDPRINT.LINE 37215 . 40644) (CDPRINT.MAXWIDTHS 40646 . 44761) (CDPRINT.COLHEADERS 44763 . 46048) (
2260-
CDPRINT.COLUMNS 46050 . 51170) (CDTEDIT 51172 . 51803)) (51806 60927 (CDMAP 51816 . 53248) (CDENTRY
2261-
53250 . 53559) (CDSUBSET 53561 . 55000) (CDMERGE 55002 . 58986) (CDMERGE.COMMON 58988 . 60303) (
2262-
CD.SORT 60305 . 60925)) (60928 68466 (BINCOMP 60938 . 65227) (EOLTYPE 65229 . 67791) (EOLTYPE.SHOW
2263-
67793 . 68464)) (68994 81521 (FIND-UNCOMPILED-FILES 69004 . 72647) (FIND-UNSOURCED-FILES 72649 . 75033
2264-
) (FIND-SOURCE-FILES 75035 . 76773) (FIND-COMPILED-FILES 76775 . 78652) (FIND-UNLOADED-FILES 78654 .
2265-
79507) (FIND-LOADED-FILES 79509 . 79937) (FIND-MULTICOMPILED-FILES 79939 . 81519)) (81522 89953 (
2266-
CREATED-AS 81532 . 86329) (SOURCE-FOR-COMPILED-P 86331 . 89258) (COMPILE-SOURCE-DATE-DIFF 89260 .
2267-
89951)) (89954 100717 (FIX-DIRECTORY-DATES 89964 . 93414) (FIX-EQUIV-DATES 93416 . 94941) (
2268-
COPY-COMPARED-FILES 94943 . 96764) (COPY-MISSING-FILES 96766 . 98923) (COMPILED-ON-SAME-SOURCE 98925
2269-
. 100715)) (100911 108749 (CDBROWSER 100921 . 104848) (CDBROWSER.STRINGS 104850 . 108747)) (108911
2270-
110647 (CD.TABLEITEM 108921 . 109141) (CD.TABLEITEM.PRINTFN 109143 . 109342) (CD.TABLEITEM.COPYFN
2271-
109344 . 110402) (CDTABLEBROWSER.HEADING.REPAINTFN 110404 . 110645)) (110648 133218 (
2272-
CDTABLEBROWSER.WHENSELECTEDFN 110658 . 111126) (CD.COMMANDSELECTEDFN 111128 . 116229) (CD-MENUFN
2273-
116231 . 122457) (CD-COMPARE-FILES 122459 . 125811) (CDBROWSER-COPY 125813 . 129482) (
2274-
CDBROWSER-DELETE-FILE 129484 . 132697) (CD-SWAPDIRS 132699 . 133216)))))
2274+
(FILEMAP (NIL (2655 23634 (COMPAREDIRECTORIES 2665 . 8000) (COMPAREDIRECTORIES.INFOS 8002 . 11231) (
2275+
COMPAREDIRECTORIES.CANDIDATES 11233 . 14618) (CDENTRIES.SELECT 14620 . 19522) (
2276+
COMPAREDIRECTORIES.INFOS.TYPE 19524 . 20868) (MATCHNAME 20870 . 21550) (CD.INSURECDVALUE 21552 . 23166
2277+
) (CD.UPDATEWIDTHS 23168 . 23632)) (23635 34340 (CDFILES 23645 . 29742) (CDFILES.MATCH 29744 . 31369)
2278+
(CDFILES.PATS 31371 . 34338)) (34341 52359 (CDPRINT 34351 . 36868) (CDPRINT.HEADER 36870 . 37767) (
2279+
CDPRINT.LINE 37769 . 41198) (CDPRINT.MAXWIDTHS 41200 . 45315) (CDPRINT.COLHEADERS 45317 . 46602) (
2280+
CDPRINT.COLUMNS 46604 . 51724) (CDTEDIT 51726 . 52357)) (52360 61481 (CDMAP 52370 . 53802) (CDENTRY
2281+
53804 . 54113) (CDSUBSET 54115 . 55554) (CDMERGE 55556 . 59540) (CDMERGE.COMMON 59542 . 60857) (
2282+
CD.SORT 60859 . 61479)) (61482 69020 (BINCOMP 61492 . 65781) (EOLTYPE 65783 . 68345) (EOLTYPE.SHOW
2283+
68347 . 69018)) (69548 82075 (FIND-UNCOMPILED-FILES 69558 . 73201) (FIND-UNSOURCED-FILES 73203 . 75587
2284+
) (FIND-SOURCE-FILES 75589 . 77327) (FIND-COMPILED-FILES 77329 . 79206) (FIND-UNLOADED-FILES 79208 .
2285+
80061) (FIND-LOADED-FILES 80063 . 80491) (FIND-MULTICOMPILED-FILES 80493 . 82073)) (82076 90507 (
2286+
CREATED-AS 82086 . 86883) (SOURCE-FOR-COMPILED-P 86885 . 89812) (COMPILE-SOURCE-DATE-DIFF 89814 .
2287+
90505)) (90508 101271 (FIX-DIRECTORY-DATES 90518 . 93968) (FIX-EQUIV-DATES 93970 . 95495) (
2288+
COPY-COMPARED-FILES 95497 . 97318) (COPY-MISSING-FILES 97320 . 99477) (COMPILED-ON-SAME-SOURCE 99479
2289+
. 101269)) (101465 109303 (CDBROWSER 101475 . 105402) (CDBROWSER.STRINGS 105404 . 109301)) (109465
2290+
111201 (CD.TABLEITEM 109475 . 109695) (CD.TABLEITEM.PRINTFN 109697 . 109896) (CD.TABLEITEM.COPYFN
2291+
109898 . 110956) (CDTABLEBROWSER.HEADING.REPAINTFN 110958 . 111199)) (111202 134851 (
2292+
CDTABLEBROWSER.WHENSELECTEDFN 111212 . 111680) (CD.COMMANDSELECTEDFN 111682 . 116783) (CD-MENUFN
2293+
116785 . 123011) (CD-COMPARE-FILES 123013 . 126365) (CDBROWSER-COPY 126367 . 131115) (
2294+
CDBROWSER-DELETE-FILE 131117 . 134330) (CD-SWAPDIRS 134332 . 134849)))))
22752295
STOP

lispusers/COMPAREDIRECTORIES.LCOM

221 Bytes
Binary file not shown.

lispusers/EXAMINEDEFS

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
22

3-
(FILECREATED " 6-Apr-2025 23:54:50" {WMEDLEY}<lispusers>EXAMINEDEFS.;57 16827
3+
(FILECREATED "25-Oct-2025 10:24:30" {WMEDLEY}<lispusers>EXAMINEDEFS.;59 17123
44

55
:EDIT-BY rmk
66

7-
:CHANGES-TO (FNS TEDITDEF)
7+
:CHANGES-TO (FNS EXAMINEDEFS)
88

9-
:PREVIOUS-DATE "31-Mar-2025 13:53:38" {WMEDLEY}<lispusers>EXAMINEDEFS.;56)
9+
:PREVIOUS-DATE " 6-Apr-2025 23:54:50" {WMEDLEY}<lispusers>EXAMINEDEFS.;57)
1010

1111

1212
(PRETTYCOMPRINT EXAMINEDEFSCOMS)
@@ -20,7 +20,8 @@
2020
(DEFINEQ
2121

2222
(EXAMINEDEFS
23-
[LAMBDA (NAME TYPE SOURCE1 SOURCE2 TITLE1 TITLE2 REGION) (* ; "Edited 31-Mar-2025 13:53 by rmk")
23+
[LAMBDA (NAME TYPE SOURCE1 SOURCE2 TITLE1 TITLE2 REGION) (* ; "Edited 25-Oct-2025 10:24 by rmk")
24+
(* ; "Edited 31-Mar-2025 13:53 by rmk")
2425
(* ; "Edited 18-Feb-2025 22:56 by rmk")
2526
(* ; "Edited 6-Dec-2024 20:51 by rmk")
2627
(* ; "Edited 13-Oct-2023 11:11 by rmk")
@@ -148,6 +149,8 @@
148149
DEFAULTFONT)))
149150
(TEXTHEIGHT 600))
150151
(DECLARE (SPECVARS COMPARETEXT.ALLCHUNKS))
152+
(SETQ TITLE1 (CONCAT NAME " from " TITLE1))
153+
(SETQ TITLE2 (CONCAT NAME " from " TITLE2))
151154
(* ;
152155
 "Reuse an existing CT graph window for this DEF")
153156
(OR [FIND W IN (OPENWINDOWS)
@@ -281,6 +284,6 @@
281284
(FILESLOAD (SYSLOAD)
282285
COMPARETEXT VERSIONDEFS)
283286
(DECLARE%: DONTCOPY
284-
(FILEMAP (NIL (662 16596 (EXAMINEDEFS 672 . 10994) (EXAMINEFILES 10996 . 12478) (TEDITDEF 12480 .
285-
14802) (EXVV 14804 . 16594)))))
287+
(FILEMAP (NIL (665 16892 (EXAMINEDEFS 675 . 11290) (EXAMINEFILES 11292 . 12774) (TEDITDEF 12776 .
288+
15098) (EXVV 15100 . 16890)))))
286289
STOP

lispusers/EXAMINEDEFS.LCOM

83 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)