From 8b826f600815ada426aab309c6b8d11e77a76c13 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Fri, 31 Jan 2025 09:05:37 -0800 Subject: [PATCH 1/2] Optional call to CDPSEUDO to make a cd command --- library/PSEUDOHOSTS | 29 ++++++++++++++++------------- library/PSEUDOHOSTS.LCOM | Bin 8999 -> 9033 bytes library/PSEUDOHOSTS.TEDIT | Bin 7949 -> 9406 bytes 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/library/PSEUDOHOSTS b/library/PSEUDOHOSTS index fb7718303..48ab68b26 100644 --- a/library/PSEUDOHOSTS +++ b/library/PSEUDOHOSTS @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "31-Dec-2024 11:45:23" {WMEDLEY}PSEUDOHOSTS.;177 29713 +(FILECREATED "30-Jan-2025 23:33:12" {WMEDLEY}PSEUDOHOSTS.;178 29824 :EDIT-BY rmk - :CHANGES-TO (FNS TRUEDEVICE) + :CHANGES-TO (FNS PSEUDOHOST) - :PREVIOUS-DATE "25-Dec-2024 07:38:10" {WMEDLEY}PSEUDOHOSTS.;176) + :PREVIOUS-DATE "31-Dec-2024 11:45:23" {WMEDLEY}PSEUDOHOSTS.;177) (PRETTYCOMPRINT PSEUDOHOSTSCOMS) @@ -39,7 +39,9 @@ (DEFINEQ (PSEUDOHOST - [LAMBDA (HOST PREFIX) + [LAMBDA (HOST PREFIX CDSUFFIX) + + (* ;; "Edited 30-Jan-2025 23:32 by rmk") (* ;; "Edited 2-Nov-2023 10:53 by rmk") @@ -134,6 +136,7 @@ DATUM))) (SETQ \FILEDEVICES (DREMOVE PHHOST \FILEDEVICES)) (\DEFINEDEVICE HOST NIL))] + (CL:WHEN CDSUFFIX (CDPSEUDO HOST CDSUFFIX)) HOST]) (PSEUDOHOSTP @@ -562,13 +565,13 @@ EXPORTS.ALL) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1318 12059 (PSEUDOHOST 1328 . 7036) (PSEUDOHOSTP 7038 . 7867) (PSEUDOHOSTS 7869 . 8230) - (TARGETHOST 8232 . 9101) (TRUEDEVICE 9103 . 10059) (TRUEFILENAME 10061 . 11186) (PSEUDOFILENAME 11188 - . 12057)) (12087 18102 (EXPAND.PH 12097 . 13350) (CONTRACT.PH 13352 . 16063) (UNSLASHIT 16065 . 17811 -) (GETHOSTINFO.PH 17813 . 18100)) (18103 19004 (CDPSEUDO 18113 . 19002)) (19005 27025 (OPENFILE.PH -19015 . 20088) (GETFILENAME.PH 20090 . 20379) (DIRECTORYNAMEP.PH 20381 . 21005) (CLOSEFILE.PH 21007 . -21474) (REOPENFILE.PH 21476 . 22041) (DELETEFILE.PH 22043 . 22327) (OPENP.PH 22329 . 22624) ( -UNREGISTERFILE.PH 22626 . 23168) (REGISTERFILE.PH 23170 . 23704) (GENERATEFILES.PH 23706 . 24750) ( -GETFILEINFO.PH 24752 . 25054) (SETFILEINFO.PH 25056 . 25255) (NEXTFILEFN.PH 25257 . 25803) ( -FILEINFOFN.PH 25805 . 26080) (RENAMEFILE.PH 26082 . 27023))))) + (FILEMAP (NIL (1318 12170 (PSEUDOHOST 1328 . 7147) (PSEUDOHOSTP 7149 . 7978) (PSEUDOHOSTS 7980 . 8341) + (TARGETHOST 8343 . 9212) (TRUEDEVICE 9214 . 10170) (TRUEFILENAME 10172 . 11297) (PSEUDOFILENAME 11299 + . 12168)) (12198 18213 (EXPAND.PH 12208 . 13461) (CONTRACT.PH 13463 . 16174) (UNSLASHIT 16176 . 17922 +) (GETHOSTINFO.PH 17924 . 18211)) (18214 19115 (CDPSEUDO 18224 . 19113)) (19116 27136 (OPENFILE.PH +19126 . 20199) (GETFILENAME.PH 20201 . 20490) (DIRECTORYNAMEP.PH 20492 . 21116) (CLOSEFILE.PH 21118 . +21585) (REOPENFILE.PH 21587 . 22152) (DELETEFILE.PH 22154 . 22438) (OPENP.PH 22440 . 22735) ( +UNREGISTERFILE.PH 22737 . 23279) (REGISTERFILE.PH 23281 . 23815) (GENERATEFILES.PH 23817 . 24861) ( +GETFILEINFO.PH 24863 . 25165) (SETFILEINFO.PH 25167 . 25366) (NEXTFILEFN.PH 25368 . 25914) ( +FILEINFOFN.PH 25916 . 26191) (RENAMEFILE.PH 26193 . 27134))))) STOP diff --git a/library/PSEUDOHOSTS.LCOM b/library/PSEUDOHOSTS.LCOM index 77789e6cb76c93e1ac5aed19f2707df2f0ffeecd..2b51bab9efa8e3bf41347b422cb4d815222c0be6 100644 GIT binary patch delta 302 zcmZ4PcG7J^gs_3GS7M&7k%5t^f|0S6v9Xn*(Zp=ydJ9bjE+r##gruRFm5HU5v4N68 zQc-Gher`c#PHKumYDGa&v8t6qK(K45i@%3|aEL-?o`RBFsE>~VvTi*+Jtc*d#1fzu ztj3xsX>w_}dHT3I2e~?ixVnfbC>djM+2r+%%Ip>jMwS*vCX?eC6{HaMYARR-1i6NJ z`iBPVx&V!sEYD~)`7+}%E+YkJm*7x0H_wR4)0i|^n5VO=LS~+Vl3S>cj{>rOJv}`og_Oh+ zpeC#an<;5>X}Ed%xH<>9I)*U0x=fzVXvL;rWNB__JUNz8!2n@_rh-*K5YQ_B&|qB` z#}HQqB_mTLhnia%TUZ$yOkT^V%xE_GBIB{iOPEwyL)aM^m?ocNiedadS)18_@z~}V R=EICE4gw4so2^*+Jvwh3i&Dt)Su+`2nVm6JiGyAr_PIbu!9$#+pac zv{WM&NFYF}WF+_lELc{Sx?sVcC1Tb727UzRJ2UrY+|z_aTtNC#4 zf@_75kUb}oJ>hubGs}yuU|(FncKybqt+%FUM77r0XpDcDerhJswiNy_a(vHng%xbY z1L;L6q0zh}oKOq{f7j{BURkVl>KnDyPggr#A$Kh|wjvpdVzrjyf;ZSTS(ZfP3)}a? zD2VMySRx!s+p%2d9*MH)-yaMtua|%}uy&+yA~Em-37cK%IZ%;$@FdyO5=w`mjC=mJ zPx+BC*@PmDH+xP%96xYmSP`T>(?i;OGPDC{lR|Dv*WatmHT(H2oNzpxxl|baIvXFi zhLq?qa40Eve|+qyoa&|-4Xk~#)@2Y@NZGIi&l*Tkl$EWDsC90a%A)VMl49;Uw#>eO zQWkz7s1DK^RK#dFe{(_Gl*LAyYBm0S{)su?UEiqJ>R&Xgb#Z6(?fm&9h{=6KO_5P4 z?_2cA;hnPB+ji`2svhg33Ui1usZ$b&hN`hnzfT(wSP@i&`z!TYtN!H!G}y|Q)%TD~ zSrohLiI#IYr9bHVeo5>(t}6l=#ev7(iJli%5mhS=X)r8L$RHpIPG8Ux) z{PkRwDvimsa&yKdqtU`JIo{TD<|%cIsj|F%LDf1KuH<048kCQ`YYm1jwbklJ5?`eq zv(p2Wm)on|dUbid))ALI8VqzHn|KoCr8UgtC@qmcyyD7T>5BW>`hmb~Cm8O1ibvvL z?K+zQ4m5Wn=Ot%%HRDu7mqPPg4lR4f+Mf*WB0?z>n3c?Am~@X5#@SOCF8 z2;~oA9?IBE$b#x3bJJmPLK*R_06C_Rb66nYU4>|?vkFn!Oi}zaxc2jtLRc5xghF%{ zCl#VQ!CR25t#sYBRb5$W&NTAp+_j@6Mam?a-#-Hw9R<9G#e_gT2C?G2t~h5D@}fdm zAkY6P1*Ip2zHtrVT4#YJMx2ErQLZ;A90JIz^st@{EGCL^MIms5f^a0VP9`S|{u3I^$0rU81>`B#oP(u8B3zjl0>b2vC3K8}}#(ydaF zR6CM`qw%)Vr$cehaHH>*Uk-5w3gMFqi}MOmwPt{QW%b)uj9H#PY$-iyoq_0b@!YUhEK3cdtNKDds=X(rgZ0S+7=&K&n1n}2}C1jjvu=vwgY0MGj3fTfm! zFjrE5&wn~qH-UhstF2?|D@9*BoDuwRXJMt!1N|bUei#8q7w$B+V5)x+iaJ5QfLLbM fC0;9_F#6}>;wiI6zo)mH{>mfj*qZU=-k<*i47$JM delta 1602 zcmZXUO>0v@6o%*Co3=J>Vq1gxFsWDDN{T3Ls!~58ngmkPBqX;#AegpFFk)zhst|A| zSP;gI_y=?;cPHAN3s>Sw@He;?1Q*VGl5{{NzyD-3O${c5G|)$i1bRd0A_Sxr+pm?CO?vy#i# z%F2|eKP404Avmr7CSyU%un^Rao=+`Wj=ncAAEsIf2b;=P0W+V6DL{W;IMKCsnN7lg zD$Zn#NtTJr z^AZL)?ZLw}gI1F3I1}lYL>4dUvUug$OEluul|a%3bj-xCp0ZaTs5*nwFc89pfuM3( z`%KQlfF{CZmWdQNr@{=>W86B zNZES_xPN4TqyUq(kjw+XV8soXP>>2cw2KuPm`<886h*4zD3@4a{QBn~4MUHe(wOS7 zEluYz(pX6?pSKVSfJvVAYfj$N;QS95QA@xROpptJ9tU~!do`N;GW+xbo0TNTr%qvR tj%eDg5hUf{?~dF~v4)Rs4FbFr0$iT}Czti|*LDw{n^Vr*R_~sC{0DRoY5o8J From be74dba54559cc78c9921162cbf126d685496871 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sun, 2 Feb 2025 12:11:57 -0800 Subject: [PATCH 2/2] PSEUDOHOST errors if it doesn't succeed, unless NOERROR --- library/PSEUDOHOSTS | 59 +++++++++++++++++++++++--------------- library/PSEUDOHOSTS.LCOM | Bin 9033 -> 9258 bytes library/PSEUDOHOSTS.TEDIT | Bin 9406 -> 9750 bytes 3 files changed, 36 insertions(+), 23 deletions(-) diff --git a/library/PSEUDOHOSTS b/library/PSEUDOHOSTS index 48ab68b26..1c4f42a36 100644 --- a/library/PSEUDOHOSTS +++ b/library/PSEUDOHOSTS @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "30-Jan-2025 23:33:12" {WMEDLEY}PSEUDOHOSTS.;178 29824 +(FILECREATED " 2-Feb-2025 11:14:36" {WMEDLEY}PSEUDOHOSTS.;181 30614 :EDIT-BY rmk - :CHANGES-TO (FNS PSEUDOHOST) + :CHANGES-TO (FNS PSEUDOHOST TRUEFILENAME) - :PREVIOUS-DATE "31-Dec-2024 11:45:23" {WMEDLEY}PSEUDOHOSTS.;177) + :PREVIOUS-DATE "30-Jan-2025 23:33:12" {WMEDLEY}PSEUDOHOSTS.;178) (PRETTYCOMPRINT PSEUDOHOSTSCOMS) @@ -39,7 +39,9 @@ (DEFINEQ (PSEUDOHOST - [LAMBDA (HOST PREFIX CDSUFFIX) + [LAMBDA (HOST PREFIX CDSUFFIX NOERROR) + + (* ;; "Edited 2-Feb-2025 10:05 by rmk") (* ;; "Edited 30-Jan-2025 23:32 by rmk") @@ -62,8 +64,10 @@ (CHARCODE })) (SETQ HOST (SUBSTRING HOST 1 -2))) (SETQ HOST (U-CASE (MKATOM HOST))) - [if PREFIX - then (SETQ PREFIX (TRUEFILENAME PREFIX)) + (if PREFIX + then (CL:UNLESS (SETQ PREFIX (TRUEFILENAME PREFIX NOERROR)) + (RETFROM (FUNCTION PSEUDOHOST) + NIL)) (CL:WHEN (PSEUDOHOSTP HOST) (* ;  "Redefining: first clear out the previous one") (PSEUDOHOST HOST NIL)) @@ -90,6 +94,8 @@ (UNIX (SETQ PREFIX (SLASHIT PREFIX))) NIL) (SETQ TARGETDEVICE (OR (\GETDEVICEFROMHOSTNAME TARGETHOST) + (AND NOERROR (RETFROM (FUNCTION PSEUDOHOST) + NIL)) (ERROR "UNKNOWN TARGET HOST" TARGETHOST))) (* ;; "Save the last directory marker to pack on if needed.") @@ -135,9 +141,14 @@ (DREMOVE (ASSOC PREFIX DATUM) DATUM))) (SETQ \FILEDEVICES (DREMOVE PHHOST \FILEDEVICES)) - (\DEFINEDEVICE HOST NIL))] - (CL:WHEN CDSUFFIX (CDPSEUDO HOST CDSUFFIX)) - HOST]) + (\DEFINEDEVICE HOST NIL))) + elseif NOERROR + else (ERROR (CONCAT "PREFIX FOR PSEUDOHOST " HOST " NOT FOUND"))) + (CL:WHEN (AND PREFIX CDSUFFIX) + (CDPSEUDO HOST CDSUFFIX)) + (CL:WHEN PREFIX (* ; + "If no prefix, we didn't get a pseudohost") + HOST)]) (PSEUDOHOSTP [LAMBDA (HOST) (* ; "Edited 16-Dec-2024 21:15 by rmk") @@ -186,7 +197,8 @@ else DEV]) (TRUEFILENAME - [LAMBDA (FILE) (* ; "Edited 1-Oct-2023 20:16 by rmk") + [LAMBDA (FILE NOERROR) (* ; "Edited 2-Feb-2025 09:12 by rmk") + (* ; "Edited 1-Oct-2023 20:16 by rmk") (* ; "Edited 26-Jul-2023 07:53 by rmk") (* ; "Edited 26-Jan-2022 23:33 by rmk") (* ; "Edited 25-Jan-2022 08:47 by rmk") @@ -198,10 +210,11 @@ FILE)) (SETQ DEVICE (FETCH (STREAM DEVICE) OF FILE)) ELSE (SETQ FILENAME (\ADD.CONNECTED.DIR FILE)) - (SETQ DEVICE (\GETDEVICEFROMNAME FILENAME))) - (CL:IF (TYPE? PHDEVICE DEVICE) - (EXPAND.PH FILENAME DEVICE) - FILENAME)]) + (SETQ DEVICE (\GETDEVICEFROMNAME FILENAME NOERROR))) + (CL:WHEN DEVICE + (CL:IF (TYPE? PHDEVICE DEVICE) + (EXPAND.PH FILENAME DEVICE) + FILENAME))]) (PSEUDOFILENAME [LAMBDA (FILE) (* ; "Edited 26-Jul-2023 12:34 by rmk") @@ -565,13 +578,13 @@ EXPORTS.ALL) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1318 12170 (PSEUDOHOST 1328 . 7147) (PSEUDOHOSTP 7149 . 7978) (PSEUDOHOSTS 7980 . 8341) - (TARGETHOST 8343 . 9212) (TRUEDEVICE 9214 . 10170) (TRUEFILENAME 10172 . 11297) (PSEUDOFILENAME 11299 - . 12168)) (12198 18213 (EXPAND.PH 12208 . 13461) (CONTRACT.PH 13463 . 16174) (UNSLASHIT 16176 . 17922 -) (GETHOSTINFO.PH 17924 . 18211)) (18214 19115 (CDPSEUDO 18224 . 19113)) (19116 27136 (OPENFILE.PH -19126 . 20199) (GETFILENAME.PH 20201 . 20490) (DIRECTORYNAMEP.PH 20492 . 21116) (CLOSEFILE.PH 21118 . -21585) (REOPENFILE.PH 21587 . 22152) (DELETEFILE.PH 22154 . 22438) (OPENP.PH 22440 . 22735) ( -UNREGISTERFILE.PH 22737 . 23279) (REGISTERFILE.PH 23281 . 23815) (GENERATEFILES.PH 23817 . 24861) ( -GETFILEINFO.PH 24863 . 25165) (SETFILEINFO.PH 25167 . 25366) (NEXTFILEFN.PH 25368 . 25914) ( -FILEINFOFN.PH 25916 . 26191) (RENAMEFILE.PH 26193 . 27134))))) + (FILEMAP (NIL (1331 12960 (PSEUDOHOST 1341 . 7775) (PSEUDOHOSTP 7777 . 8606) (PSEUDOHOSTS 8608 . 8969) + (TARGETHOST 8971 . 9840) (TRUEDEVICE 9842 . 10798) (TRUEFILENAME 10800 . 12087) (PSEUDOFILENAME 12089 + . 12958)) (12988 19003 (EXPAND.PH 12998 . 14251) (CONTRACT.PH 14253 . 16964) (UNSLASHIT 16966 . 18712 +) (GETHOSTINFO.PH 18714 . 19001)) (19004 19905 (CDPSEUDO 19014 . 19903)) (19906 27926 (OPENFILE.PH +19916 . 20989) (GETFILENAME.PH 20991 . 21280) (DIRECTORYNAMEP.PH 21282 . 21906) (CLOSEFILE.PH 21908 . +22375) (REOPENFILE.PH 22377 . 22942) (DELETEFILE.PH 22944 . 23228) (OPENP.PH 23230 . 23525) ( +UNREGISTERFILE.PH 23527 . 24069) (REGISTERFILE.PH 24071 . 24605) (GENERATEFILES.PH 24607 . 25651) ( +GETFILEINFO.PH 25653 . 25955) (SETFILEINFO.PH 25957 . 26156) (NEXTFILEFN.PH 26158 . 26704) ( +FILEINFOFN.PH 26706 . 26981) (RENAMEFILE.PH 26983 . 27924))))) STOP diff --git a/library/PSEUDOHOSTS.LCOM b/library/PSEUDOHOSTS.LCOM index 2b51bab9efa8e3bf41347b422cb4d815222c0be6..5609e62d615e3b57428473f4816164a5b159dc76 100644 GIT binary patch delta 1272 zcmZuxON$g&6z<13jvWI75#N%Ja^pn0t$T0XdNd(SP1UXG!tScdt!j0!4Mav%vdG4z z(0{;%Qi6-P4R5Y z-R*OmOE5NM&QQ3|zT)S7wuPPr_SS0qLtz}A{ql)k)ei;(3;SO_y0`!S0N>i`T}jfh zinIzV6~lU8&H9J7b=+qVw#({S`|2fBda6uV7EaU_hJ{u)(tKL>V@gtAY7g7J`k(fn zCj_!wX`So(c}E_5dA!|PtN-fU?sQJqSG#umO+D*gJQej?^xW-yf8Tr`G*Uh9{?WS_ zy*yIY!?l0sKVFCq&VFrtwww0{=6J%qeh+`%+hfcv3|&;i&<1)zyqjj}EeOXaGHBw72oRUoi7x_; z3wH!|&gJnQIDutMT<{|kF{u80{iFJujgOg2R*SZ;LXuCj*n%q zdHvhQnG3=WV0~uMq6=8p=wA>}kokK4!Rw8*d!8*88Y$>z=|Z;9da&MVb?W3~B%f?I s`#1}mO}w-J)8AxjwO%>nVA zC7=hdqTosCK|I-$(vyFJ2p&9n_UKHurCTwF$;|J~d+#^D_ujkCf%p8@3`Nb=&4*2b z2nRwfN-a!wACL>W(SXT1(T}ZIvzTd7wEOYu(kR|)wd%07`DlCV{|>C)m|XDuKsbr8 zGvVg1%hos$(;#`jd~Ln~R-A~Ne$-2wuCzm);-k`W6%rLu{aR~y{2QQ@)qWx z)KV^^r8YnCP*buLP$cPNMxfZJXQD3GfA^=yKXazMc9=3 z2)heR_Sf~(mj+Cysvy$GcUtN~3`}F-ia-ows1S^E$wygL)B<4|I6;&aX$pYq;QEPh zvMAY5#fb})7)KlxRzTQ<<4C=ZYz`fE#;QtrNC{_ zs!cGv7C|2mP;U_Q0M)8(x6JIofy3c{&i{ALt#Mww9!6%MWa^e>TEQ?<563!0fJ3_I z$3O3L4Z@f!U>|{_=h{7Nf^dPr0TCT=84w0|NIgMW8(P#xXkw2xFbn01 zUfVGXW~B;!YTIg&@8OS}bC-k9Z1lV_LoRM8$G?f78?A?f$JoV$QobaXg2B9_4FHsu zfZ#rk92s%&A7>K2zH!{g4}xU&`9XFjx9y6A*LNi+0%eDek0+=9{o delta 95 zcmV-l0HFVtOuk95nFO<;1XuzFZy;@9Yh{xH2WPX}2W0}YKMJD+lN}N*vlkCp0ki86 zAP)f{lMEok0eF+pAS;tFA(#P(v&kXB0RbPAiz8|Q8nYTC@c|2FO|bv~6i@)!db$m* BAC&+A