[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.