From 2cd4dde3de2d1912edf0acc96ed9314f1dc6766f Mon Sep 17 00:00:00 2001 From: Frank Halasz Date: Sun, 26 Apr 2026 23:02:39 -0700 Subject: [PATCH] Fix Issue# 2562 - SEE-PDF fails if there is a space in the given filename --- library/UNIXUTILS | 36 +++++++++++++++++++++--------------- library/UNIXUTILS.DFASL | Bin 8023 -> 8147 bytes 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/library/UNIXUTILS b/library/UNIXUTILS index d8dce663..c7cd0b08 100644 --- a/library/UNIXUTILS +++ b/library/UNIXUTILS @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED "31-Mar-2026 00:14:19" {WMEDLEY}UNIXUTILS.;58 21269 +(FILECREATED "26-Apr-2026 22:53:52" {DSK}frank>il>medley>library>UNIXUTILS.;4 21786 - :EDIT-BY rmk + :EDIT-BY "FGH" - :CHANGES-TO (FNS UNIX-FILE-NAME) + :CHANGES-TO (FNS ShellOpen SLASHIT) - :PREVIOUS-DATE "29-Mar-2026 00:26:43" {WMEDLEY}UNIXUTILS.;57) + :PREVIOUS-DATE "31-Mar-2026 00:14:19" {DSK}frank>il>medley>library>UNIXUTILS.;3) (PRETTYCOMPRINT UNIXUTILSCOMS) @@ -148,7 +148,8 @@ "true"]) (ShellOpen - [LAMBDA (FilenameOrURL) (* ; "Edited 28-Dec-2025 18:26 by rmk") + [LAMBDA (FilenameOrURL) (* ; "Edited 26-Apr-2026 22:48 by FGH") + (* ; "Edited 28-Dec-2025 18:26 by rmk") (* ; "Edited 10-Sep-2025 15:29 by rmk") (* ; "Edited 4-May-2025 11:14 by rmk") @@ -210,7 +211,8 @@ 'NAME NEWNAME 'EXTENSION EXTENSION)) (TARGETFILE.UNIX (SLASHIT (PACKFILENAME.STRING 'HOST NIL 'DIRECTORY TMPDIR 'NAME NEWNAME 'EXTENSION - EXTENSION))) + EXTENSION) + NIL NIL NIL T)) (UNIXFILE NIL)) (DECLARE (SPECVARS UNIXFILE)) (if (OR VERSION.SPECIFIED (NOT UNVERSIONED.EXISTS)) @@ -220,8 +222,8 @@ (CL:WITH-OPEN-STREAM (SHELLSTREAM (OPENSTREAM (CONCAT "{CORE}SHELLOUT" (RAND 1000 9999)) 'BOTH)) - (ShellCommand (CONCAT OPENER " '" UNIXFILE "'" - " >>/tmp/ShellOpener-warnings-$$.txt") + (ShellCommand (PRINT (CONCAT OPENER " '" UNIXFILE "'" + " >>/tmp/ShellOpener-warnings-$$.txt")) SHELLSTREAM) (if (EQ (GETFILEPTR SHELLSTREAM) 0) @@ -245,7 +247,8 @@ 0))) DO (BLOCK) FINALLY (RETURN CODE]) (SLASHIT - [LAMBDA (X LCASEDIRS NOHOST KEEPDOT) (* ; "Edited 17-Jan-2026 23:15 by rmk") + [LAMBDA (X LCASEDIRS NOHOST KEEPDOT NO.QUOTE.SPACE) (* ; "Edited 26-Apr-2026 22:48 by FGH") + (* ; "Edited 17-Jan-2026 23:15 by rmk") (* ; "Edited 4-Nov-2025 10:10 by rmk") (* ; "Edited 22-Oct-2025 13:05 by rmk") (* ; "Edited 25-Sep-2025 09:57 by rmk") @@ -258,7 +261,10 @@ (* ;; "This is a first approximation to a utility that converts a filename X on a host whose files physically reside in the local Unix file system into the strings that shell commands can use to reference that file. For now, this just involves replacing directory brackets with /, removing the host, perhaps lower-casing the directory, and perhaps removing a final dot. It probably should be extended to deal with version number translation, for now it just keeps the ; version. ") (LET [LASTDIRPOS SLASHED (DIRPOS (ADD1 (OR (STRPOS "}" X) - 0] + 0))) + (REPLACE.SPACE (if NO.QUOTE.SPACE + then (CONS (CHARCODE SPACE)) + else (APPEND (CHARCODE (\ SPACE] [SETQ SLASHED (CONCATCODES (for I C from DIRPOS while (SETQ C (NTHCHARCODE X I)) join (SELCHARQ C ((< >) @@ -266,7 +272,7 @@ (CONS (CHARCODE /))) (/ (SETQ LASTDIRPOS I) (CONS C)) - (SPACE (APPEND (CHARCODE (\ SPACE)))) + (SPACE REPLACE.SPACE) (CONS C] (CL:WHEN (AND LCASEDIRS LASTDIRPOS) (SETQ LASTDIRPOS (ADD1 (IDIFFERENCE LASTDIRPOS DIRPOS))) @@ -367,8 +373,8 @@ (PUTPROPS UNIXUTILS FILETYPE CL:COMPILE-FILE) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1170 1543 (ShellCommand 1170 . 1543)) (1545 1942 (ShellWhich 1545 . 1942)) (2052 21191 -(ShellBrowser 2062 . 3834) (ShellBrowse 3836 . 4521) (ShellOpener 4523 . 6211) (ShellOpen 6213 . 11982 -) (PROCESS-COMMAND 11984 . 12597) (SLASHIT 12599 . 15623) (UNIX-FILE-NAME 15625 . 19510) ( -UNIX-TMP-FILE-NAME 19512 . 21189))))) + (FILEMAP (NIL (1207 1580 (ShellCommand 1207 . 1580)) (1582 1979 (ShellWhich 1582 . 1979)) (2089 21708 +(ShellBrowser 2099 . 3871) (ShellBrowse 3873 . 4558) (ShellOpener 4560 . 6248) (ShellOpen 6250 . 12212 +) (PROCESS-COMMAND 12214 . 12827) (SLASHIT 12829 . 16140) (UNIX-FILE-NAME 16142 . 20027) ( +UNIX-TMP-FILE-NAME 20029 . 21706))))) STOP diff --git a/library/UNIXUTILS.DFASL b/library/UNIXUTILS.DFASL index f4489675716c690696bdf097f7a9d6de5670af56..9626abe19249bf8ba3f52f5e1467b577be9f2e5b 100644 GIT binary patch delta 1375 zcmaJ=O>Em#9QU*H(Iic`kfvpAlN!caSikM2V^PU!oU93PY%g{-kh)E!NtF<1g=o_> zF_dn6Y}ztd_S6v6m1D9<`bcY?dBNQ$jLfXoEFB8)wgk=5S`+fX> z|CiYB*YLeV*Iw?4Xo(M|v&)4{c&WH>G9S(v;X)>DWX^^w6W;krr?z~$xR_y=az=(- zEM^u?WzsA+H6pxQ9O1^fDVF0xK|U1ZoQDNXde)|$KAB!PJB;isvgZsIHz0^QCPNe4 zw>Pgc+)aWxR!ks;gy7N{}O%+l4@zsHkrpj!RKQfbIIH zyRHKegfDm+;3$0H>2@g98x|x{pTI{RKXAaV=hhbasWwclm}g{^uv<~1vZklv@+_)R zAt@r#B}kGYw%CIRJ7=Rho}%ihArm*>dC43LAi=7lMtzTY4#W|%DRa6yr`rn9>J9n$ z1E39&4tzv0CZsgf_cqkM!ypXLdk?sdn`vNXP#Qf8fAmfRw${l3AVS_ZhW-bRhfBTz z@E5%5ll%`EhK$`db(*GtIah@MKV@c?e-&=~rW_9$&~m_FSAWTcQbE@;8c5AJaecEA zTX`qH75Us?9T;CGT9#;@7cJS1xW{9gNfLbg=6WP18`I4b9oLnP4`n0VTuW{mW2AB2 zFB@acYI0L1uq+#Fv+~BrEkxQklKK6={ILFg%XxfI|MdsBgSB&@c0SnO5_WV zh@1Q*!d^n$W5P8OyD8d+-U1M5D_-KX1uafV(DX<=r79ZDR9{;y+cm_*q7j-#syh`` zB|(giYAUKUK$NXzrf_qItc)I+Q}ib~{GxlJ)J9QOlc_@V*vtfe6QF}sH>vHUx=3~6 zN?keM`LBt(jkgx^iBo?Q88g%$XqZdZWBB6{l?eXEsozM32XF7T8h%Dhi6R-)cP;9h zrx{<8?Hcx1pRyNlvZ%W7V<5b(fl#P5Z} zy;r~>+~^H;?;jxY5WZZD96d@#Q1_st@5nxup^4brx(y&;>VSFnHcXDgQXdC~>b1Uo jcV7U delta 1388 zcmaJ=Urbw77{BM^V#0oCU zFlCd)MQXI3jP$b1M2&F|J|H!5f>B>IzD{RkFFu&~YHEzrWZCeXbLY&WF}eBv{Lc6N zzVCeZJKsJ1L-5Vs@`+?LB19)&9x2W}SIU*n1hXPPk(GHtay`lU&C=p>X*$o&&K2|Q zbSa-(%FnRJ-2KU1soyi`@v(!00k=2c9yX7KB;mm@c{%^$Ozun{if2*$bb-YgeJsiF z_|5xQY8&)NpS;TW{)_NZ#d-Gsd#kVMP6L|r*6-+>X`1uZ4;ZgA;1vAP@(oz8e{i4& z0292?yrlDRL;kwZatwGU)RprTMRV#4SUsV6-L*>_c^&;Oq9+hz$X*tuaV*2Y&b)Z9C z0TFcAl*-EKtlU(9PuT)(oF5nwXu_R`W1)q&frCJZ|+kyloo+ z_PYOJ4*)@^v<;y7_&xCLwr=nT{HjfG++r9~?RQnCX$q*>8U*;OFyq`XbhZ0Tw-}&B z!1;D(*@S3;ncQ>Kj4wV>jjcYf>{%aS3fFk6RX-{ack<9YGSpp-JjrZ zDto(eC1Jswgejg-_Wtf^jqnj~hgTZa!rJj_VRdfXHmdN-O_CGWPQ%s0YeiRlexJCF z?fzmb@G(uC&oS~R*=XvQ ze~_OLy+xE`cqziE2wrLGd&1Fz&9AkDFYhOmsjC{ac^{&x#N5R36%Bm}vxZY*I3#0I zX%^q;q=*quuJ%Snhb-w?1R76<(rD8oo)}I9)?rO`5!GTKY$`?G&Tq8}aGf`zBJb5I zlw21(HUO~0pO0{kBWln9{xuc{A?bue_5f&sB|8ULc-6iR9)sS_z@Z-UWI%5h>VgrY zCk~NX-@*%>&m46yWM<&7w&}pG%7A%r(|vAuyVC=D>n_Jp+=kqh1|#tOuBpC9?S$#$ hgX#)?a(X@zlA{bB&g-P1$FX_wUNx8VT_&}^{}&!ihk5`2