Note that we purport to respect the XDG base directory specification as to where configuration files are located, where data files are located, where output file caches are located. Mentions of XDG variables refer to that document.
This specification allows the user to specify some environment variables to customize how applications behave to his preferences.
On Windows platforms, even when not using Cygwin, and starting with ASDF 3.1.5, we still do a best effort at following the XDG base directory specification, even though it doesn’t exactly fit common practice for Windows applications. However, we replace the fixed Unix paths ~/.local, /usr/local and /usr with their rough Windows equivalent Local AppData, AppData, Common AppData, etc. Since support for querying the Windows registry is not possible to do in reasonable amounts of portable Common Lisp code, ASDF 3 relies on the environment variables that Windows usually exports, and are hopefully in synch with the Windows registry. If you care about the details, see uiop/configuration.lisp and don’t hesitate to suggest improvements.