Unfortunately, setenv only affects subprocesses, not the XEmacs
process
itself. And since XEmacs is the process loading my DLL, Windows looks at
its PATH, not PATHs for subprocesses.
What a hoax!
We could modify setenv to take an optional boolean arg that would
indicate whether this change affects the Xemacs process, or just
subprocesses. Default would be false, and just affect the subprocesses
(the current behavior). True would cause a change to the XEmacs process
as well as causing XEmacs to reload that environment variable into the
lisp variable for the environment.
Thoughts?
Sounds alright to me.
One of the things I've been considering for a while is writing
lisp
primitives that allow you to manipulate the windows registry. This would
then allow you to muck with AppPaths under windows which I think would
achieve what you want. Windows-specific though...
... in Win9x you need to edit autoexec.bat and reboot (that's a bit like Unix).
But if you change the default environment in .emacs you need to restart
xemacs for changes to take effect. That's an installer type thing. Perhaps
the dll's should have been installed in the first place?
/J. Haglund