[asdf-devel] ASDF::COERCE-NAME string-downcases symbols, but lets strings untouched

Robert Goldman rpgoldman at sift.info
Sat Nov 21 14:13:51 UTC 2009


Nikodemus Siivola wrote:
> 2009/11/21 Tobias C. Rittweiler <tcr at freebits.de>:
>> (defun coerce-name (name)
>>  (typecase name
>>    (component (component-name name))
>>    (symbol (string-downcase (symbol-name name)))
>>    (string name)
>>    (t (sysdef-error "~@<invalid component designator ~A~@:>" name))))
>>
>> I first thought this was some bad kludge to support modern-mode. But
>> vc-annotate told me that was introduced by Nikodemus.
> 
> Digging a little deeper would have shown that I just normalized the
> whitespace there... :)
> 
> The original commit that introduces COERCE-NAME is
> 4a6a10eda91d50d929d6e95285dddc7b7cdc553c by Dan B, and contains the
> STRING-DOWNCASE in its current form -- but the comments on that commit
> do not shed any light on the why, unfortunately.

Given that it's Dan B, it's unlikely to have been to support Allegro
mlisp, but it's a nice side-effect.

I'd be sorry to see this change.

The only thing I can think of about the non-downcased strings is that
the assumption was that the strings are inconvenient enough that they
are effectively a way of specifying an intention to override the default.

But that's just speculation.  Could equally well be a simple oversight.

Best,
r




More information about the asdf-devel mailing list