Order of *CENTRAL-REGISTRY* traversal

Nikodemus Siivola <[email protected]>
Newsgroups gmane.lisp.steel-bank.devel,gmane.lisp.cclan.general
Message-ID <[email protected]>
(This is parallel to my earlier note about 
SB-EXT:*MODULE-PROVIDER-FUNCTIONS* traversal.)

Currently ASDF traverses *CENTRAL-REGISTRY* head-to-tail: new locations 
pushed to the front take precendence and older ones serve as fallbacks. 
The behaviour undocumented.

I believe that this is an unfortunate design as it means that a seemingly
innocent PUSH can lead to totally different set of libraries being loaded
as would be without. The system is unstable: a single idiomatic operation
can have large and impossible to predict consequences.

I would like to change ASDF to traverse it tail to head instead, so that 
(PUSH <DIR> *CENTRAL-REGISTRY*) can only make a previously failing (OOS 
'LOAD-OP :FOO) succeed, but not alter the behaviour of a succeeding 
operation.

This _would_ cause migration work for people whose setups deliberately 
operate on the head or tail already. However, I doubt this is much 
depended on outside personal initialization files since the current 
behaviour is not only undocumented but unstable.

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.