[asdf-devel] Pushed :here-directive topic branch

Robert Goldman rpgoldman at sift.info
Wed Nov 24 14:46:46 UTC 2010


On 11/23/10 Nov 23 -11:54 PM, Faré wrote:
> On 23 November 2010 23:24, Robert Goldman <rpgoldman at sift.info> wrote:
>> This branch has patches that add the :here directive to Faré's
>> configuration DSL.  This allows for configuration files to have contents
>> like:
>>
>> (:source-registry
>>   (:tree (:here "src/lisp/"))
>>   (:tree (:here "extlib/lisp"))
>>   (:directory (:here "outlier/")))
>>
> I like the idea, and your patch looks mostly good, but
> 1- you should probably be using (default-directory) instead of
> *default-pathname-defaults*

I will modify the code accordingly.

> 2- why not bind *default-pathname-defaults* instead of a new variable?
>   NB: that would change the meaning of default-directory - may or may
> not be a good thing.

I'd rather not do that, unless you think it's really important.  I like
having the distinctive *here-directory* special because it's guaranteed
not to mutate parts of the state that I don't understand.  I am not
confident that by modifying *d-p-d* I won't break something elsewhere.

I could be persuaded to kill the new variable in favor of using *d-p-d*,
but I'm not persuaded yet...

> 3- you can wrap the whole body of process-source-registry (pathname
> &key ...) in a
>    (let ((*proper-variable* (pathname-directory-pathname pathname))) ...)

I wasn't confident of what would happen in the third branch of the COND
--- the one with

(inherit-source-registry inherit :register register)

if I did that.  If you're sure I won't mess something up that way, I'll
make the change.  I'm looking at the test suite, and I'm pretty sure I
could bork ASDF by messing up I-S-R without the test suite noticing.
> 
> When you merge into master, don't forget to bump up the version number.

Will do.

Happy Thanksgiving!  Good luck on your travels!

R





More information about the asdf-devel mailing list