[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SYS:SITE; A novice adminstrator's question
Date: Thu, 1 Aug 1991 09:58-0700
From: Chucko@charon.arc.nasa.gov (Charles R. Fry)
This is correct; the translation for SYS:SITE;*.*.* comes from the
namespace and there is no way to override it (believe me, I've tried!).
Actually, you're supposed to be able to override it by supplying
a :SITE-RULE in your FS:SET-LOGICAL-PATHNAME-HOST:
(fs:set-logical-pathname-host "SYS"
:site-rules '((:lispm (#p"SYS:SITE;**;*.*.*" :translate-wild))
(:unix42 (#p"SYS:SITE;**;*.*.*" :translate-wild))
(:vms4 (#P"SYS:SITE;**;*.*.*" :vms-heuristicate ((#\- #\_))))
(:vms4.4 (#P"SYS:SITE;**;*.*.*" :vms-heuristicate))))
(The particular rule above will be chosen based on which system the
:TRANSLATIONS argument will map it to).
See SYS:IO;LOGPATH.LISP for more info.
Unfortunately, there's a bug in the :enter-translation-rule-internal
method. The last line should read (list*-in-area pathname-area rule bucket)
followed by 5 close-parens.
Also, in the :set-translation-rules-internal-1 method, it should loop
over (reverse tran-rules) instead of tran-rules.
This bug prevents the :SITE-RULES from overriding the system-supplied
rules.
Sorry 'bout that.
PS: In the case of SYS:SITE;, it's probably a BAD IDEA to override it
like this. But the bug affects anyone who wants to have more specific
control over how the pathnames map for a particular filesystem.