From 9e6eba2cd9e9695ce9104074655f0d4ff062c99e Mon Sep 17 00:00:00 2001 From: rmkaplan <69548581+rmkaplan@users.noreply.github.com> Date: Mon, 20 Jan 2025 12:40:00 -0800 Subject: [PATCH] Clicking See for pdf files will do the ShellOpen (#1930) * Click See on a pdf file will do the ShellOpen instead of crashing into Tedit. prc will inherit this behavior * Loads PDFSTREAM if not already loaded --- lispusers/COMPAREDIRECTORIES | 159 +++++++++++++++++------------- lispusers/COMPAREDIRECTORIES.LCOM | Bin 41295 -> 41558 bytes 2 files changed, 89 insertions(+), 70 deletions(-) diff --git a/lispusers/COMPAREDIRECTORIES b/lispusers/COMPAREDIRECTORIES index de95802d..c37aeb31 100644 --- a/lispusers/COMPAREDIRECTORIES +++ b/lispusers/COMPAREDIRECTORIES @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 1-May-2024 14:53:20" {WMEDLEY}COMPAREDIRECTORIES.;260 131326 +(FILECREATED "20-Jan-2025 11:00:54" {WMEDLEY}COMPAREDIRECTORIES.;263 131893 :EDIT-BY rmk - :CHANGES-TO (FNS COMPAREDIRECTORIES) + :CHANGES-TO (VARS COMPAREDIRECTORIESCOMS) - :PREVIOUS-DATE "26-Mar-2024 21:42:47" {WMEDLEY}COMPAREDIRECTORIES.;259) + :PREVIOUS-DATE "23-Dec-2024 23:54:13" {WMEDLEY}COMPAREDIRECTORIES.;262) (PRETTYCOMPRINT COMPAREDIRECTORIESCOMS) @@ -15,6 +15,8 @@ [ (* ;; "Compare the contents of two directories.") + (FILES (SYSLOAD) + PDFSTREAM) (FNS COMPAREDIRECTORIES COMPAREDIRECTORIES.INFOS COMPAREDIRECTORIES.CANDIDATES CDENTRIES.SELECT COMPAREDIRECTORIES.INFOS.TYPE MATCHNAME CD.INSURECDVALUE CD.UPDATEWIDTHS) @@ -59,6 +61,9 @@ (* ;; "Compare the contents of two directories.") + +(FILESLOAD (SYSLOAD) + PDFSTREAM) (DEFINEQ (COMPAREDIRECTORIES @@ -1955,6 +1960,8 @@ (CD-MENUFN [LAMBDA (TBITEM MENUITEM CDBROWSER KEY) + (* ;; "Edited 23-Dec-2024 23:53 by rmk") + (* ;; "Edited 21-May-2022 21:59 by rmk") (* ;; "Edited 27-Feb-2022 12:47 by rmk: FILELABELFN, if provided, can be used to calculate abbreviated labels for the file, for example, to strip off any long common prefixes.") @@ -1968,52 +1975,64 @@ (* ; "Close the previous ones") (CLOSEWITH.DOIT WINDOW)) (LET (CHILDREN) - (SETQ CHILDREN (SELECTQ MENUITEM - (Compare (IF (AND FILE1 FILE2) - THEN (CD-COMPARE-FILES FILE1 FILE2 LABEL1 LABEL2 TYPE - (WINDOWPROP WINDOW 'REGION)) - ELSE (FLASHWINDOW T) - (PRIN3 "Only one file" T))) - (See% left (IF FILE1 - THEN (TEDIT-SEE FILE1 - (RELCREATEREGION - 700 700 'RIGHT 'TOP `(,WINDOW 0.5) - (IPLUS (FETCH (REGION BOTTOM) - OF (WINDOWPROP WINDOW 'REGION)) - -1) - T) - NIL - (CONCAT "SEE window for " LABEL1)) - ELSE (FLASHWINDOW T) - (PRIN3 "No file to print" T))) - (See% right (IF FILE2 - THEN (TEDIT-SEE FILE2 - (RELCREATEREGION - 700 700 'LEFT 'TOP `(,WINDOW 0.5) - (IPLUS (FETCH (REGION BOTTOM) - OF (WINDOWPROP WINDOW 'REGION)) - -1) - NIL) - NIL - (CONCAT "SEE window for " LABEL2)) - ELSE (FLASHWINDOW T) - (PRIN3 "No file to print" T))) - ((See See% both) - (EXAMINEFILES FILE1 FILE2 LABEL1 LABEL2 - (RELCREATEREGION 1400 700 'LEFT 'TOP `(,WINDOW 0.5 -701) - (IPLUS (FETCH (REGION BOTTOM) - OF (WINDOWPROP WINDOW 'REGION)) - -1) - NIL))) - (Copy% -> (CDBROWSER-COPY CDBROWSER TBITEM 'LEFT)) - (Copy% <- (CDBROWSER-COPY CDBROWSER TBITEM 'RIGHT)) - (Delete% <- (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT T)) - (|Delete ALL <-| - (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT NIL)) - (Delete% -> (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT T)) - (|Delete ALL ->| - (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT NIL)) - (SHOULDNT))) + (SETQ CHILDREN + (SELECTQ MENUITEM + (Compare (IF (AND FILE1 FILE2) + THEN (CD-COMPARE-FILES FILE1 FILE2 LABEL1 LABEL2 TYPE (WINDOWPROP + WINDOW + 'REGION)) + ELSE (FLASHWINDOW T) + (PRIN3 "Only one file" T))) + (See% left (IF FILE1 + THEN (if (PDFFILEP FILE1) + then (SEE-PDF FILE1) + else (TEDIT-SEE FILE1 (RELCREATEREGION + 700 700 'RIGHT 'TOP `(,WINDOW 0.5) + (IPLUS (FETCH (REGION BOTTOM) + OF (WINDOWPROP WINDOW + 'REGION)) + -1) + T) + NIL + (CONCAT "SEE window for " LABEL1))) + ELSE (FLASHWINDOW T) + (PRIN3 "No file to print" T))) + (See% right (IF FILE2 + THEN (if (PDFFILEP FILE2) + then (SEE-PDF FILE2) + else (TEDIT-SEE FILE2 (RELCREATEREGION + 700 700 'LEFT 'TOP `(,WINDOW 0.5) + (IPLUS (FETCH (REGION BOTTOM) + OF (WINDOWPROP WINDOW + 'REGION)) + -1) + NIL) + NIL + (CONCAT "SEE window for " LABEL2))) + ELSE (FLASHWINDOW T) + (PRIN3 "No file to print" T))) + ((See See% both) + (IF (PDFFILEP FILE1) + then (SEE-PDF FILE1) + (CL:WHEN (PDFFILEP FILE2) + (SEE-PDF FILE2)) + elseif (PDFFILEP FILE2) + then (SEE-PDF FILE2) + else (EXAMINEFILES FILE1 FILE2 LABEL1 LABEL2 + (RELCREATEREGION 1400 700 'LEFT 'TOP `(,WINDOW 0.5 -701) + (IPLUS (FETCH (REGION BOTTOM) OF (WINDOWPROP WINDOW + 'REGION)) + -1) + NIL)))) + (Copy% -> (CDBROWSER-COPY CDBROWSER TBITEM 'LEFT)) + (Copy% <- (CDBROWSER-COPY CDBROWSER TBITEM 'RIGHT)) + (Delete% <- (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT T)) + (|Delete ALL <-| + (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'LEFT NIL)) + (Delete% -> (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT T)) + (|Delete ALL ->| + (CDBROWSER-DELETE-FILE CDBROWSER TBITEM 'RIGHT NIL)) + (SHOULDNT))) (CLOSEWITH CHILDREN WINDOW) (MOVEWITH CHILDREN WINDOW]) @@ -2202,25 +2221,25 @@ (MOVD? 'NILL 'TEDIT.FILEDATE) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2526 22889 (COMPAREDIRECTORIES 2536 . 7871) (COMPAREDIRECTORIES.INFOS 7873 . 10831) ( -COMPAREDIRECTORIES.CANDIDATES 10833 . 14218) (CDENTRIES.SELECT 14220 . 18995) ( -COMPAREDIRECTORIES.INFOS.TYPE 18997 . 20123) (MATCHNAME 20125 . 20805) (CD.INSURECDVALUE 20807 . 22421 -) (CD.UPDATEWIDTHS 22423 . 22887)) (22890 33512 (CDFILES 22900 . 28914) (CDFILES.MATCH 28916 . 30541) -(CDFILES.PATS 30543 . 33510)) (33513 51334 (CDPRINT 33523 . 36040) (CDPRINT.HEADER 36042 . 36939) ( -CDPRINT.LINE 36941 . 40173) (CDPRINT.MAXWIDTHS 40175 . 44290) (CDPRINT.COLHEADERS 44292 . 45577) ( -CDPRINT.COLUMNS 45579 . 50699) (CDTEDIT 50701 . 51332)) (51335 60456 (CDMAP 51345 . 52777) (CDENTRY -52779 . 53088) (CDSUBSET 53090 . 54529) (CDMERGE 54531 . 58515) (CDMERGE.COMMON 58517 . 59832) ( -CD.SORT 59834 . 60454)) (60457 67995 (BINCOMP 60467 . 64756) (EOLTYPE 64758 . 67320) (EOLTYPE.SHOW -67322 . 67993)) (68523 81050 (FIND-UNCOMPILED-FILES 68533 . 72176) (FIND-UNSOURCED-FILES 72178 . 74562 -) (FIND-SOURCE-FILES 74564 . 76302) (FIND-COMPILED-FILES 76304 . 78181) (FIND-UNLOADED-FILES 78183 . -79036) (FIND-LOADED-FILES 79038 . 79466) (FIND-MULTICOMPILED-FILES 79468 . 81048)) (81051 89482 ( -CREATED-AS 81061 . 85858) (SOURCE-FOR-COMPILED-P 85860 . 88787) (COMPILE-SOURCE-DATE-DIFF 88789 . -89480)) (89483 100246 (FIX-DIRECTORY-DATES 89493 . 92943) (FIX-EQUIV-DATES 92945 . 94470) ( -COPY-COMPARED-FILES 94472 . 96293) (COPY-MISSING-FILES 96295 . 98452) (COMPILED-ON-SAME-SOURCE 98454 - . 100244)) (100440 108278 (CDBROWSER 100450 . 104377) (CDBROWSER.STRINGS 104379 . 108276)) (108440 -110176 (CD.TABLEITEM 108450 . 108670) (CD.TABLEITEM.PRINTFN 108672 . 108871) (CD.TABLEITEM.COPYFN -108873 . 109931) (CDTABLEBROWSER.HEADING.REPAINTFN 109933 . 110174)) (110177 130832 ( -CDTABLEBROWSER.WHENSELECTEDFN 110187 . 110655) (CD.COMMANDSELECTEDFN 110657 . 115758) (CD-MENUFN -115760 . 120071) (CD-COMPARE-FILES 120073 . 123425) (CDBROWSER-COPY 123427 . 127096) ( -CDBROWSER-DELETE-FILE 127098 . 130311) (CD-SWAPDIRS 130313 . 130830))))) + (FILEMAP (NIL (2622 22985 (COMPAREDIRECTORIES 2632 . 7967) (COMPAREDIRECTORIES.INFOS 7969 . 10927) ( +COMPAREDIRECTORIES.CANDIDATES 10929 . 14314) (CDENTRIES.SELECT 14316 . 19091) ( +COMPAREDIRECTORIES.INFOS.TYPE 19093 . 20219) (MATCHNAME 20221 . 20901) (CD.INSURECDVALUE 20903 . 22517 +) (CD.UPDATEWIDTHS 22519 . 22983)) (22986 33608 (CDFILES 22996 . 29010) (CDFILES.MATCH 29012 . 30637) +(CDFILES.PATS 30639 . 33606)) (33609 51430 (CDPRINT 33619 . 36136) (CDPRINT.HEADER 36138 . 37035) ( +CDPRINT.LINE 37037 . 40269) (CDPRINT.MAXWIDTHS 40271 . 44386) (CDPRINT.COLHEADERS 44388 . 45673) ( +CDPRINT.COLUMNS 45675 . 50795) (CDTEDIT 50797 . 51428)) (51431 60552 (CDMAP 51441 . 52873) (CDENTRY +52875 . 53184) (CDSUBSET 53186 . 54625) (CDMERGE 54627 . 58611) (CDMERGE.COMMON 58613 . 59928) ( +CD.SORT 59930 . 60550)) (60553 68091 (BINCOMP 60563 . 64852) (EOLTYPE 64854 . 67416) (EOLTYPE.SHOW +67418 . 68089)) (68619 81146 (FIND-UNCOMPILED-FILES 68629 . 72272) (FIND-UNSOURCED-FILES 72274 . 74658 +) (FIND-SOURCE-FILES 74660 . 76398) (FIND-COMPILED-FILES 76400 . 78277) (FIND-UNLOADED-FILES 78279 . +79132) (FIND-LOADED-FILES 79134 . 79562) (FIND-MULTICOMPILED-FILES 79564 . 81144)) (81147 89578 ( +CREATED-AS 81157 . 85954) (SOURCE-FOR-COMPILED-P 85956 . 88883) (COMPILE-SOURCE-DATE-DIFF 88885 . +89576)) (89579 100342 (FIX-DIRECTORY-DATES 89589 . 93039) (FIX-EQUIV-DATES 93041 . 94566) ( +COPY-COMPARED-FILES 94568 . 96389) (COPY-MISSING-FILES 96391 . 98548) (COMPILED-ON-SAME-SOURCE 98550 + . 100340)) (100536 108374 (CDBROWSER 100546 . 104473) (CDBROWSER.STRINGS 104475 . 108372)) (108536 +110272 (CD.TABLEITEM 108546 . 108766) (CD.TABLEITEM.PRINTFN 108768 . 108967) (CD.TABLEITEM.COPYFN +108969 . 110027) (CDTABLEBROWSER.HEADING.REPAINTFN 110029 . 110270)) (110273 131399 ( +CDTABLEBROWSER.WHENSELECTEDFN 110283 . 110751) (CD.COMMANDSELECTEDFN 110753 . 115854) (CD-MENUFN +115856 . 120638) (CD-COMPARE-FILES 120640 . 123992) (CDBROWSER-COPY 123994 . 127663) ( +CDBROWSER-DELETE-FILE 127665 . 130878) (CD-SWAPDIRS 130880 . 131397))))) STOP diff --git a/lispusers/COMPAREDIRECTORIES.LCOM b/lispusers/COMPAREDIRECTORIES.LCOM index 11d21d730f552a18090fde386f197644d9d30fdd..96d8992c17f30b10f45237b7e8c736d81bcb9cef 100644 GIT binary patch delta 1452 zcmZux&u<$=6po!zf!p#kkN~ATtz;>#x@Ko~W`9@_(sp-UZ?)bvJL`msN~qLZ#}L_7 zuv8EcmOu#tE>tU_Il?s=NBRO;7FF?%xh!c|f@;vXG@B7}&n|%*| zEWFQ}N#V%;~?o$?BhRm))67 z5-;9Qw{5aCY!~jbe(`Q6ezKvg;3`(k#QQYnjA%c7Lz=SCU=)4CY=OUw>L({Eh?Lb=$HluW^X+h{tT zo!lz}f^`UNH*0KQUvhj82%>P+@mM?HWq6jq1aeY{ZHq07cSOa&V?u9%tjIYq;s`~D z5JC-bnHSk;b{f{8lO#YCFuj`$nmg$0f$1I7~6 zU4u39@{z6{vP9e`w?vwB%n~We5lh4`ZU6KLYZFUA+$VEHQY?Pi9Z^Mvz`4}m-J%+- zSRVh(J^&S0lV) zb8z$H@(Lt*nu`%4XX(U(NEkw&H*8-`#tN_~D#LqxGJuTutws@Gg{IrEB4wsnN`W%0 z_PWbMKvYg~M6`JHmGCZ+G?seMSrzixGZX(+Iu+mBM6(>tUVI*_O(QfL5TD+1W;m9#F|3-t+prDG p4j9C}E%t0Fvw(|^$7fgzb{=f?PrR1uB*nl%RgU7hdwd@E=^xWi zexKg$&jHapEBAD2P!5DQP1dBw-kqgOMjdJzGjwlrs{|=+nog6td%s=G$^Q9I1{X$0NRQ7fBC^_0|+CGTKV0ncRy;y3jCzg z^`rbcBNPjlb+H8R0EA#_%lcOk|w83Zfj86`>H-|y7|i4x$*1M%U_=* z&;kZU8Z^KAK%1J%cOP87E)U*O2X9N2_Li@oIfdV!v*%_D`^(hNgNfsCSR4nn()suAKKjF%uRQZK(p1w~E=p@Uc zAEs?E4F-OcsPe>J6I46tMM0bbcijB)xAQaHvP#Q&Y01RD!(1Eu;HpgeN=V&Lx*r3x zQSF$^Bp_~hoiG+fg%mJuf)r8NF)6NvNeqk;_%w`FPhuW%ko1AtHef@;R98aaiDJWI z-%Ej7MoHf(I$rT9w~q6P1zj1&45-1O6?v*%DHDghpiFG*NSRptmBff?91|wgD24NX zzx!f`I}Buat&P>PIouDj^=y=ZhhwaNcprF?Yl&hNN^k)Y;LL$Yw2(!emsm?WvIwg{ z%>0P7qyuwlrN$gA$8huB!VVOEs}f_TTe^!Y7;zv?x@apk>T*z7wg8_GN4J4G*y$_- z%Ge}~Vj`1_h)c?_t--C^BitJ71Ipm;RF}I}iLYmCqx`c+Z`@?K>WfCh1l=}B9UEkU zRy1vUu(3MahPB}qt|eveBnWXFKP?`@+F(6{(GWJb1{)*XTN~Z4&sHveg#%=(LMjBhkJX!XSS%iet6^Nc3s4)6A8))i_I|i9^B