Hi Rodney,
On 1/17/06, Rodney Sparapani <rsparapa(a)mcw.edu> wrote:
Well, I unpacked ESS into site-lisp with 21.5 on OS X and it does find
it. I don't see why 21.4
on Windows should be different. And, if it was different, then what is
the purpose of the
variable inhibit-site-lisp? I think this is a bug. Oh, and I tried the
site-packages trick
and it didn't find it; only site-packages/lisp was there. But, now I
see why that wouldn't work.
You have the directory site-packages/lisp/fsf-compat. No non-xemacs
package has a directory
structure like that. A non-xemacs packages would have
site-packages/ess/lisp or some-such.
So we need to either fix site-lisp or make the search in site-packages
also find site-packages/*/lisp
Here's the situation as I see it in the current 21.4 Windows native install kit.
site-lisp is supported but only to a directory depth of 1. Here's my test:
# I ran this under a cygwin shell even though my XEmacs is native
# XEmacs installed root is e:/XEmacs
cd /cygdrive/e/XEmacs
mkdir -p site-lisp/ess/lisp
cd /cygdrive/e/XEmacs/site-lisp
cat > foo1.el <<EOF
(message "foo1")
(sit-for 5)
EOF
cat >ess/lisp/foo2.el <<EOF
(message "foo2")
(sit-for 5)
EOF
xemacs -vanilla
(load-library "foo1") # this produced the expected "foo1" message
(load-library "foo2") # this produced the error: "Cannot open load file:
foo2"
Indeed, looking at the load-path reveals:
e:\\XEmacs\\site-lisp
e:\\XEmacs\\site-lisp\ess
but not site-lisp/ess/lisp
I believe the XEmacs startup code only searches site-lisp to 1 level
down for directories to add to load-path. According to my
experiments, this is the same behavior that XEmacs exhibits on Linux,
when configured --with-site-lisp.
I do not intend to change this behavior in the near-term, but as I
wrote, a patch could be considered.
Regards,
Vin