Bug in UIOP XDG implementation

Faré fahree at gmail.com
Sat Mar 28 07:34:59 UTC 2015


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 at 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:
>
> 1) 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."
>
> 2) 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
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-configuration-search-paths.patch
Type: text/x-diff
Size: 21854 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20150328/44a8525e/attachment.patch>


More information about the asdf-devel mailing list