Dear Jason,
I've re-read http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html And indeed you're right that I failed to follow it properly.
Please try this patch and tell me if it works for you on Windows (NB: I don't have Windows).
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The last ten percent of any reform is the most difficult to achieve. Moreover, it is often harmful. — John McCarthy
On Fri, Mar 27, 2015 at 1:42 PM, Jason Miller jason@milr.com wrote:
Hi,
With $XDG_CONFIG_DIRS unset, (uiop:user-configuration-directories) returns only $XDG_CONFIG_HOME/common-lisp/
However, with it set to "/etc/xdg" it returns a list that starts with "/etc/xdg/common-lisp"
There are two problems with this:
The XDG Base Directory Specification says that "If $XDG_CONFIG_DIRS is either not set or empty, a value equal to /etc/xdg should be used."
My understanding of uiop:user-configuration-directories is that it's
listed in order of importance, but, from the XDG spec:
"The base directory defined by $XDG_CONFIG_HOME is considered more important than any of the base directories defined by $XDG_CONFIG_DIRS"
So, what I think is correct is that with $XDG_CONFIG_DIRS set it should return a list starting with $XDG_CONFIG_HOME, followed by the lists in $XDG_CONFIG_DIRS, and with it not set, should return a list of $XDG_CONFIG_HOME followed by /etc/xdg/common-lisp/
Even if that's not correct, due to #1 the current implementation is definitely wrong.
Regards, Jason