Skip to content

Commit 1df0e1b

Browse files
authored
Fix MEDLEYDIR to handle filename if given (#2268)
1 parent 90fdcb9 commit 1df0e1b

File tree

2 files changed

+35
-26
lines changed

2 files changed

+35
-26
lines changed

sources/MEDLEYDIR

Lines changed: 35 additions & 26 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 "18-Aug-2025 11:19:10" {DSK}<home>frank>il>xmedley>sources>MEDLEYDIR.;2 11928
3+
(FILECREATED "23-Aug-2025 17:25:03" {DSK}<home>larry>il>medley>sources>MEDLEYDIR.;36 12210
44

5-
:EDIT-BY "FGH"
5+
:EDIT-BY "lmm"
66

77
:CHANGES-TO (FNS MEDLEYDIR)
88

9-
:PREVIOUS-DATE "11-Jul-2025 00:17:20" {DSK}<home>frank>il>xmedley>sources>MEDLEYDIR.;1)
9+
:PREVIOUS-DATE "18-Aug-2025 11:19:10" {DSK}<home>larry>il>medley>sources>MEDLEYDIR.;34)
1010

1111

1212
(PRETTYCOMPRINT MEDLEYDIRCOMS)
@@ -99,7 +99,8 @@
9999
NIL])
100100

101101
(MEDLEYDIR
102-
[LAMBDA (DIRNAME FILENAME OUTPUT NOERROR) (* ; "Edited 18-Aug-2025 11:15 by FGH")
102+
[LAMBDA (DIRNAME FILENAME OUTPUT NOERROR) (* ; "Edited 23-Aug-2025 17:21 by lmm")
103+
(* ; "Edited 18-Aug-2025 11:15 by FGH")
103104
(* ; "Edited 29-Jun-2023 22:48 by rmk")
104105
(* ; "Edited 18-Oct-2022 17:49 by lmm")
105106
(* ; "Edited 5-Mar-2022 12:43 by larry")
@@ -108,20 +109,40 @@
108109
(* ;; "RMK: MEDLEYDIR defaults to DSK")
109110

110111
(COND
111-
((NULL DIRNAME)
112+
((NULL DIRNAME) (* ;
113+
 "Call to (MEDLEYDIR) or (MEDLEYDIR NIL ...) just set it ")
112114
(if (OR (NOT (BOUNDP 'MEDLEYDIR))
113115
(NOT MEDLEYDIR))
114-
then [SETQ MEDLEYDIR (DIRECTORYNAME (if (SETQ MEDLEYDIR (UNIX-GETENV "MEDLEYDIR"))
115-
then (DIRECTORYNAME (PACKFILENAME 'BODY MEDLEYDIR
116-
'HOST
117-
'DSK))
118-
else (DIRECTORYNAME T]
116+
then (SETQ MEDLEYDIR (DIRECTORYNAME (if (SETQ MEDLEYDIR (UNIX-GETENV "MEDLEYDIR"))
117+
then (PACKFILENAME 'BODY MEDLEYDIR 'HOST
118+
'DSK)
119+
else T)))
119120
elseif (STRPOS "/" MEDLEYDIR)
120121
then (SETQ MEDLEYDIR (DIRECTORYNAME MEDLEYDIR))
121122
else MEDLEYDIR))
122-
[(EQUAL DIRNAME "login") (* ; "special case for login dir")
123+
((LISTP DIRNAME)
124+
125+
(* ;; "(MEDLEYDIR a list -- recurse")
126+
127+
(for X Y in DIRNAME when (SETQ Y (MEDLEYDIR X FILENAME OUTPUT NOERROR)) collect Y))
128+
[FILENAME
129+
130+
(* ;; " if FILENAME, find it as a file. ")
131+
132+
(if (NULL (SETQ DIRNAME (MEDLEYDIR DIRNAME NIL OUTPUT NOERROR)))
133+
then (OR NOERROR (SHOULDNT))
134+
NIL
135+
else (SETQ FILENAME (CONCAT DIRNAME FILENAME))
136+
(if OUTPUT
137+
then FILENAME
138+
else (OR (INFILEP FILENAME)
139+
(if NOERROR
140+
then NIL
141+
else (ERROR "No such medley file" FILENAME]
142+
((EQUAL DIRNAME "login") (* ; "special case for login dir")
123143
(DIRECTORYNAME (OR (UNIX-GETENV "LOGINDIR")
124-
(UNIX-GETENV "HOME"]
144+
(UNIX-GETENV "HOME")
145+
DIRNAME)))
125146
[(EQUAL DIRNAME "loadups") (* ; "special case for loadups dir")
126147
(OR (DIRECTORYNAME (UNIX-GETENV "MEDLEY_LOADUPS_DIR"))
127148
(DIRECTORYNAME (CONCAT (MEDLEYDIR)
@@ -130,18 +151,6 @@
130151
(if NOERROR
131152
then NIL
132153
else (ERROR "Cannot find medley loadups directory" (MEDLEYDIR]
133-
((LISTP DIRNAME)
134-
(for X Y in DIRNAME when (SETQ Y (MEDLEYDIR X FILENAME OUTPUT NOERROR)) collect Y))
135-
[FILENAME (if (NULL (SETQ DIRNAME (MEDLEYDIR DIRNAME NIL OUTPUT NOERROR)))
136-
then (OR NOERROR (SHOULDNT))
137-
NIL
138-
else (SETQ FILENAME (CONCAT DIRNAME FILENAME))
139-
(if OUTPUT
140-
then FILENAME
141-
else (OR (INFILEP FILENAME)
142-
(if NOERROR
143-
then NIL
144-
else (ERROR "No such medley file" FILENAME]
145154
(T (OR (DIRECTORYNAME (CONCAT (MEDLEYDIR)
146155
DIRNAME ">")
147156
NIL OUTPUT)
@@ -236,6 +245,6 @@
236245
(ADDTOVAR GLOBALVARS MEDLEYDIR MEDLEY-INIT-VARS \SAVE.MEDLEYDIR DIRECTORIES SYSOUTCOMMITS)
237246
)
238247
(DECLARE%: DONTCOPY
239-
(FILEMAP (NIL (1675 9296 (MEDLEY-INIT-VARS 1685 . 5163) (MEDLEYDIR 5165 . 8096) (MEDLEYSUBSTDIR 8098
240-
. 9076) (SET-SYSOUT-COMMIT 9078 . 9294)))))
248+
(FILEMAP (NIL (1675 9578 (MEDLEY-INIT-VARS 1685 . 5163) (MEDLEYDIR 5165 . 8378) (MEDLEYSUBSTDIR 8380
249+
. 9358) (SET-SYSOUT-COMMIT 9360 . 9576)))))
241250
STOP

sources/MEDLEYDIR.LCOM

-15 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)