From ef24b9815d5144a31d798b7f4303bf4dbea7d884 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Sat, 5 Mar 2022 15:10:01 -0800 Subject: [PATCH] Fix MEDLEYDIR when NOERROR specified to not error and return correct path (#721) --- sources/MEDLEYDIR | 55 ++++++++++++++++++++++------------------- sources/MEDLEYDIR.LCOM | Bin 4213 -> 4232 bytes 2 files changed, 30 insertions(+), 25 deletions(-) diff --git a/sources/MEDLEYDIR b/sources/MEDLEYDIR index 1c702062..b263e293 100644 --- a/sources/MEDLEYDIR +++ b/sources/MEDLEYDIR @@ -1,10 +1,10 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "18-Feb-2022 12:46:00" {DSK}larry>medley>sources>MEDLEYDIR.;2 6060 +(FILECREATED " 5-Mar-2022 12:43:54" {DSK}larry>medley>sources>MEDLEYDIR.;2 6280 - :CHANGES-TO (VARS MEDLEY-INIT-VARS) + :CHANGES-TO (FNS MEDLEYDIR) - :PREVIOUS-DATE "13-Feb-2022 15:20:26" {DSK}larry>medley>sources>MEDLEYDIR.;1) + :PREVIOUS-DATE "18-Feb-2022 12:46:00" {DSK}larry>medley>sources>MEDLEYDIR.;1) (PRETTYCOMPRINT MEDLEYDIRCOMS) @@ -62,33 +62,38 @@ NIL]) (MEDLEYDIR - [LAMBDA (DIRNAME FILENAME OUTPUT NOERROR) (* ; - "Edited 2-Dec-2021 20:23 by kaplan") + [LAMBDA (DIRNAME FILENAME OUTPUT NOERROR) (* ; "Edited 5-Mar-2022 12:43 by larry") + (* ; "Edited 2-Dec-2021 20:23 by kaplan") + (DECLARE (GLOBALVARS MEDLEYDIR)) (DECLARE (GLOBALVARS MEDLEYDIR)) (if (NULL DIRNAME) then (if (OR (NOT (BOUNDP 'MEDLEYDIR)) - (NOT MEDLEYDIR)) - then (OR (SETQ MEDLEYDIR (DIRECTORYNAME (OR (UNIX-GETENV "MEDLEYDIR") - T))) - (DIRECTORYNAME T)) - elseif (STRPOS "/" MEDLEYDIR) - then (SETQ MEDLEYDIR (DIRECTORYNAME MEDLEYDIR)) - else MEDLEYDIR) + (NOT MEDLEYDIR)) + then (OR (SETQ MEDLEYDIR (DIRECTORYNAME (OR (UNIX-GETENV "MEDLEYDIR") + T))) + (DIRECTORYNAME T)) + elseif (STRPOS "/" MEDLEYDIR) + then (SETQ MEDLEYDIR (DIRECTORYNAME MEDLEYDIR)) + else MEDLEYDIR) elseif (LISTP DIRNAME) - then (for X Y in DIRNAME when (SETQ Y (MEDLEYDIR X FILENAME OUTPUT - NOERROR)) collect Y) + then (for X Y in DIRNAME when (SETQ Y (MEDLEYDIR X FILENAME OUTPUT NOERROR)) collect Y) elseif FILENAME - then (SETQ FILENAME (CONCAT (MEDLEYDIR DIRNAME) - FILENAME)) - (if OUTPUT - then FILENAME - else (OR NOERROR (INFILEP FILENAME) - (ERROR "No such medley file" FILENAME))) + then [if (NULL (SETQ DIRNAME (MEDLEYDIR DIRNAME NIL OUTPUT NOERROR))) + then (OR NOERROR (SHOULDNT)) + NIL + else (SETQ FILENAME (CONCAT DIRNAME FILENAME)) + (if OUTPUT + then FILENAME + else (OR (INFILEP FILENAME) + (if NOERROR + then NIL + else (ERROR "No such medley file" FILENAME] else (OR (DIRECTORYNAME (CONCAT (MEDLEYDIR) - DIRNAME ">")) - (if NOERROR - then NIL - else (ERROR "No such medley directory" DIRNAME]) + DIRNAME ">") + NIL OUTPUT) + (if NOERROR + then NIL + else (ERROR "No such medley directory" DIRNAME]) ) (RPAQ? MEDLEYDIR ) @@ -125,5 +130,5 @@ (ADDTOVAR GLOBALVARS MEDLEYDIR MEDLEY-INIT-VARS) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1383 4565 (MEDLEY-INIT-VARS 1393 . 3007) (MEDLEYDIR 3009 . 4563))))) + (FILEMAP (NIL (1375 4785 (MEDLEY-INIT-VARS 1385 . 2999) (MEDLEYDIR 3001 . 4783))))) STOP diff --git a/sources/MEDLEYDIR.LCOM b/sources/MEDLEYDIR.LCOM index 4ff1e512a7e91daf9af1f3a335fa91c5b86ee588..06cddd436aa15400faa0abff386ed23e9d8112cc 100644 GIT binary patch delta 634 zcmZWm%TC)s6tyd8LO^X6EKpaMS)fEB!83`Ii9sm#cv2!cc4RxPKtkeSw@GT(?>Nq;X8tclVJp%N%;Lp48gr{r2tXqiq9{`D_{(zW@gw$*b=dSn$Wi7fmj zzMKAV|5gyDn&YjnLbPV$@O>waAqw7S7R0k)IkSDCH2WHxi{U+CJj;G$<6}Rs<`U?Q z7Cw22bo{`=-@_PuF69$qGeKr!xUVJK_>P6Q3EE67@MwLGH^AAjdWLSgfU7jE#g$YR$tRme z9*%2wEeB)~2j8-*McPR5>4Z3))JX6%D{F)TGKX+-w%>;%-#hfr!5fVH{nO#-97SW) W0Iegy^fm3v;LwkLx*qZwDf0)!h?q$L delta 574 zcmY*Vze~eF7)@KXHljEvc2M}tAgz*eckNx82-=ulHP9yIlKNv%R9dtMb#WEJ$cN)RD{iBVw&qQk45|2#Hm z*+A9dTfQ~8zPaoVE}%aErO|0NAsJ9Al@#cn-SoO3E6D>KCt#!$VS_SJ|eg3%Uy-*!8mS`Yo8;Bw;i)F8+p zOaVElr8Y+Iskuq*eM*uhYU7g&DO|azJe@{$w00e}m>FmKabJpcsU=()ne(qR3HQc7s3@lPzCC?;Fj--BgbrU zz`72W>sY2A&aV3V$xsp^@@v9O2iu7T)do!IpS+?c<+!LNU}*k-kA}hXMceg&(%^P_ qv#6Jo@}yTw0>*-mX`03~$mf=4uwDUWO98C0U^};zW_Wa%L)mYjONABy