(Adding asdf-devel to the recipients — the problem is wrong (asdf::default-source-registry) when XDG_DATA_DIRS is empty.)
Well, ASDF ought to have worked even in absence of XDG_DATA_DIRS, and you discovered a genuine bug in ASDF. It turns out, split-string was not designed to return correct results when passed either NIL or "", and this caused ASDF to fail to treat the default properly for XDG_DATA_DIRS.
I've pushed a fix as ASDF 3.0.2.9, but that's a pretty bad bug you've discovered, which defeats the default configuration.
Robert: when do you instead to release 3.0.3 ? Otherwise, I could do a Debian package for 3.0.2.9. (PS: I took the liberty of also committing my load-systems* patch).
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org A competent and self-confident person is incapable of jealousy in anything. Jealousy is invariably a symptom of neurotic insecurity. — Robert Heinlein, "Time Enough For Love"
On Mon, Sep 23, 2013 at 1:05 AM, Diogo F. S. Ramos diogofsr@gmail.com wrote:
1- what does env return?
I think the problem lies here.
My environment does not export XDG_DATA_DIRS. If I try it inside gnome, which exports it, everything works nicely.
According to the XDG Base Directory Specification[1], if XDG_DATA_DIRS is empty or not set, the defaults should be used. More specifically:
$XDG_DATA_DIRS defines the preference-ordered set of base directories to search for data files in addition to the $XDG_DATA_HOME base directory. The directories in $XDG_DATA_DIRS should be seperated with a colon ':'.
If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.
Maybe something in the stack is not implementing this characteristic of XDG.
[1] http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html