OK, I've now waded through the morass associated with locating and
actually using ~/.xemacs. I now know why I didn't try to touch this
mess before, but now it's time to clean up.
The problem:
`user-init-directory' (for startup staging reasons) is relative to
(concat "~" init-file-user). Here's its docstring:
Identity of user whose `.emacs' file is or was read.
The value is nil if no init file is being used; otherwise, it may be either
the null string, meaning that the init file was taken from the user that
originally logged in, or it may be a string containing a user's name.
In either of the latter cases, `(concat \"~\" init-file-user
\"/\")'
evaluates to the name of the directory in which the `.emacs' file was
searched for.
Setting `init-file-user' does not prevent Emacs from loading
`site-start.el'. The only way to do that is to use `--no-site-file'.
Some clients of `user-init-directory' (including code I wrote) just
use (paths-construct-path "~" user-init-directory) to do the trick,
but there are some other variants in core Lisp and the packages. This
leads to different parts of XEmacs having a potentially different idea
of where ~/.xemacs really is.
BUT NOONE EVER NOTICED!
I conclude from this that `init-file-user' is really too arcane to
matter. The logic behind it is too twisted for me to really grok, and
therefore probably to most users and many developers.
Here's what I want to do:
- zap `init-file-user'
- set user-init-directory (effectively) to "~/.xemacs"
- fix the two packages that need adjustment
Any objections?
--
Cheers =8-} Chipsy
Friede, Völkerverständigung und überhaupt blabla