>>>> "Stephen" == Stephen J Turnbull
Raymond> Unfortunately, my load-path didn't include anything from
Raymond> my ~/.xemacs packages, so ilisp couldn't really find out
Raymond> where it was loaded from.
Stephen> This is what surprised me. AFAIK the library loading code does _not_
Stephen> normally look at the package path variables; these are used to
Stephen> determine what goes into the load path. The load path is determined
Stephen> by taking certain defaults from paths.h (normally empty),
Stephen> EMACSLOADPATH, certain places relative to the XEmacs binary file, and
Stephen> then groveling over the various package paths. The latter operation
Stephen> is quite expensive (large numbers of stat calls), so the result is
Stephen> then cached in `load-path'. But it was my understanding that they
Stephen> would only be entered in `load-path' if Lisp libraries were found
Some further investigation now shows the problem. My
~/.xemacs/xemacs-packages and subdirectories are in my load-path. The
problem is that ilisp tries to find the file ilisp.elc in my
load-path; ilisp.el is there, but it was never compiled. Thus, ilisp
finds itself using the wrong path.
This is a bug in either ilisp or the Makefile for ilisp since ilisp.el
never gets compiled. I'll send this off to the ilisp maintainers.
I like Martin's solution though. (Haven't tested it yet.)