Re: Re: [cclan-list] Order of *CENTRAL-REGISTRY* traversal

Nikodemus Siivola <[email protected]>
Newsgroups gmane.lisp.steel-bank.devel,gmane.lisp.cclan.general
Message-ID <[email protected]>
On Wed, 7 Dec 2005, Max-Gerd Retzlaff wrote:

>   | (push #p"lispdir:systems;" asdf:*central-registry*)
>   | (push #p"sbcldir:systems;" asdf:*central-registry*)
>   | (push #p"coding:systems;" asdf:*central-registry*)

Are you intentionally overriding the SBCL-provided directories
in *central-registry*?

In any case it seems to me that changing the way *central-registry*
works is a bad idea and a good way to increase the amount of pain
in the world.

So, I revise my position completely (always good for a laugh):

  1) Keep *central-registry* and *module-provider-functions* traversal
     as is.

  2) Make ASDF add its provider function the _end_ of *m-p-f*, so that ASDF
     modules will not accidentally override contribs. (Not all contribs
     have .asd files.)

  3) Add sysdef-contrib-search-function to the head of
     *system-definition-search-functions* that looks in
     (MERGE-PATHNAMES "systems/" (TRUENAME (POSIX-GETENV "SBCL_HOME")))
     -- and remove the corresponding entry from *central-registry*.
     This is also needed with 2) for consistency between (OOS 'LOAD-OP X)
     and (REQUIRE X).

  4) Document all of this properly.

End result: current overriding behaviour for user-space components, but 
overriding a contrib takes extra work: you need to add new functions to 
*m-p-f* and *s-d-s-f* to do that, instead of just pushing on 
*central-registry*.

How does that sound?

Cheers,

  -- Nikodemus              Schemer: "Buddha is small, clean, and serious."
                   Lispnik: "Buddha is big, has hairy armpits, and laughs."


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.