[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New file system interface problem: Help please!



>Hi-
>   This change in the file system interface has me extremely
>confused, and has held me up for nearly a week now. Since my
>application opens about 80 different files in about 30 different
>directories, it's kind of important that I get this. Can someone
>PLEASE explain the following behaviour to me, and show me how to do
>the surely-trivial thing that I want to do?
>
>? (setf (logical-pathname-translations "rules")
>    '(("**:""ccl:PSystem;Generated Rules;Aphasia Battery")))
>
>[...]

Try:

(setf (logical-pathname-translations "rules")
  '(("**;*.*" "ccl:PSystem;Generated Rules;Aphasia Battery;**;*.*")))

Common Lisp logical directories work via pattern matching. It finds the first
translation whose CAR matches the pathname to be translated, and fills in the
matched componenets in the CADR.

For example, in the pathname #4P"rules:2 phon-disc;Phon-Disc FRuleKit.fasl":
"**;" matches "2 phon-disc;
"*.*" matches "Phon-Disk FRuleKit.fasl"

So #4P"rules:2 phon-disc;Phon-Disc FRuleKit.fasl" translates to
   #4P"ccl:PSystem;Generated Rules;Aphasia Battery;2 phon-disc;Phon-Disc FRuleKit.fasl"

which is furthur translated according to the logical-pathname-translations for
the "CCL" logical host which MCL sets up when it starts.