Eli, I can implement the functions for Windows and OSX. I believe all Unices have implemented the XDG Base Directory Specification. But we do have a problem: once this is implemented for all operating systems, XDG will become a meaningless package name and prefix. Maybe we should not have a prefix at all and find sensible names not used by Emacs at the moment. I propose that xdg-config-dir becomes instead user-emacs-config-directory and gets to be initialised according to the operating system's best practices. Defaulting to ~/.emacs.d/config. user-emacs-cache-directory defaults to ~/.emacs.d/cache and user-emacs-data-directory to ~/.emacs.d/data. The defaults would only be used iff the operating system determination functions return nil. user-emacs-directory could either be an alias of user-emacs-data-directory or default to it. locate-user-emacs--file would then make sense, and no names should be changed. I think I should make these functions with the same interface of locate-user-emacs-file, and give it analog behaviour. In my opinion, the chain of user-init-file should be (in order of precedence): 1. (locate-user-emacs-config-file "init.el") 2. (locate-user-emacs-file "init.el") 3. ~/.emacs.d/init.el 4. ~/.emacs (and the rest of the present order, like terminal specific files). Would that seem sensible to you? Francisco Colaço