[asdf-devel] patch for component-relative-pathname

Robert Goldman rpgoldman at sift.info
Fri Feb 19 20:36:36 UTC 2010


On 2/19/10 Feb 19 -2:19 PM, Faré wrote:
>> 2.  SPLIT-PATH-STRING --- this is the one I think might need a ticket.
>> I confess I'm bamboozled by this one.  It's called on (component-name
>> component), not on a pathname.  Can you explain why the COMPONENT-NAME
>> would end up being a string that looks like a pathname?
>>
>> This SPLIT-PATH-STRING stuff looks like a relatively recent gwking
>> addition (if I understand the output of git blame correctly).  I don't
>> see what use case it was introduced for.  Anyone else have a clue?  I
>> see this docstring for component-name:
>>
> gwking might have done the checkin, but I am the one who wrote the code at ITA,
> where we wanted to be able to use "foo/bar" as the name of a component,
> instead of having all those ugly :pathname #.(make-pathname ...)
> ALL OVER THE DAMN PLACE for hundreds of components.
> 
>> "Component name: designator for a string composed of portable pathname
>> characters"
>>
>> but I have never seen at component-name that was anything other than a
>> simple name, never something with directory separators.  Is this ever
>> used in the wild?  Or was this something that was added in an excess of
>> enthusiasm and that should just be killed (like the undocumented
>> tripartite FEATURE form)?
>>
> Yes, we use it a lot at ITA, and ASDF-DEPENDENCY-GROVEL
> and XCVB's ASDF front-end and backend use it, too.
> 
> This change is 100% backwards compatible, since the behavior before then was
> "undefined" when the #\/ character appeared in a name.
> Now it's defined and portable.

OK, so it's defined and portable.  Great.  Now let's get it documented,
and it will be great!

A good way to dodge the (until now) busted module dependencies, too! ;-)

I'll try to get those docstrings committed, and maybe add one for
component-name.

r




More information about the asdf-devel mailing list