Bug in UIOP XDG implementation

Jason Miller jason at milr.com
Fri Mar 27 17:42:51 UTC 2015


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




More information about the asdf-devel mailing list