Stelian Ionescu wrote:
On Tue, 2009-07-07 at 12:31 +0200, Tobias C. Rittweiler wrote:
I think it's bitten pretty much all of us that we at least once tried to push a non-directory-designating filename to *CENTRAL-REGISTRY*.
It's a common pitfalls for newcomers.
Couldn't ASDF signal a warning when it encounters such a thing while grovelling through the registry?
Why not simply deprecate(or unexport *CENTRAL-REGISTRY*) and add a function REGISTER-ASDF-DIRECTORY that does all necessary checks ?
This interface actually wouldn't be as powerful as the ability to set a variable. The ability to set a variable lets us effectively UN-register an ASDF directory just as easily as to register one, and also permits us to arbitrarily reorder the directories assigned to the variable.
If this had been done originally, it might have worked, but at this point the breakage of backward compatibility, etc. seems like a real problem.
It might be possible to provide an ADDITIONAL interface like this as a safer way to add new directories (we'd probably want to offer at-end and at-start as options, so that you could either shadow or backstop existing ASDF directories, the way emacs-lisp's add-hook works), but I don't think we could kill the old variable-based interface.
best, r