Vin Shelton <acs(a)xemacs.org> writes:
Thanks for your help. I should have mentioned that, based on your
earlier suggestions I had previously tried to make
`paths-find-emacs-root' return a list. At that time, I came across an
error like this one during dumping:
Loading e:\acs\software\src\xemacs-21.4-2005-12-23\lisp\dump-paths.el...***
Error in XEmacs initialization
(wrong-type-argument stringp
("e:\\acs\\software\\src\\xemacs-21.4-2005-12-23\\"))
[...]
I assume you've converted the callers of what was
paths-find-emacs-root. It's hard to tell from looking at the
patch---I'm getting lost in a maze of revision changes since 21.4.
However, I can't see any change for (what I hope is) this code:
(defun paths-find-emacs-roots (invocation-directory
invocation-name
root-p)
"Find all plausible installation roots for XEmacs.
This is a list of plausible directories in which to search for the important
directories used by XEmacs at run-time, for example `exec-directory',
`data-directory' and `lisp-directory'.
ROOT-P is a function that tests whether a root is plausible."
(let* ((potential-invocation-root
(paths-find-emacs-root invocation-directory invocation-name))
(invocation-roots
(and potential-invocation-root
(list potential-invocation-root)))
...)))
You need to change the LET* binding to something like:
(let* ((invocation-roots
(paths-find-invocation-roots invocation-directory invocation-name))
...)
...)
Maybe I'm misunderstanding something---let me know if this helps.
Based on your encouragement, this time I investigated further and
figured out that `paths-find-emacs-roots' was returning a list whose
first element was a list.
That would be breaking the contract of `paths-find-emacs-roots'.
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla