# [armedbear-devel] asdf and windows vs unix on abcl

Mark Evenson evenson.not.org at gmail.com
Fri Oct 21 06:41:25 UTC 2011

On Oct 21, 2011, at 03:37 , Faré wrote:

>>> I suppose the solution is that the test of unixness vs windowsness
>>> should happen at runtime. Crazy.
>>
>> We place :WINDOWS and :UNIX in *FEATURES* depending on where we end up executing, so forms like
>>
>>        (when (find :unix *features*)
>>           (run-process "ls"))
>>
>> should do the right sorts of things.  If you have other suggestions about how to manage this, please make them.
>>
> You're doing the right thing. I suppose you're also doing some magic
> to properly parse C:\foo\bar\ on Windows and /c/foo/bar on Unix.

The underlying JVM abstraction (java.io.File) helps a bit with smoothing over these differences, but the essential difference is that the DOS drive letter (e.g. "C:") is mapped to the Pathanme DEVICE component IFF we're executing on Windows.  And the ABCL Pathanme name string *always* canonicalizes the directory separator to forward slashes ("/") regardless of runtime platform.  In general, we try to DWIM on most operations but there are some corner cases, such as deserializing name strings on different platforms where the implementation can run into lacunae.

> ASDF just wasn't prepared to that (and neither was XCVB). Please test
> 2.017.22, I'd like to release it as 2.018, at the end of the month.

Hmmm. We were gonna release abcl-1.0.0 on October 22, 2011 for ECLM.  Should we trying upgrading to 2.017.22 before the release?  I need to look at the changes in ASDF…