Neither XEmacs 21.4 nor 21.5 can find a module in the system module
directory. The way that the Makefiles are set up now, that is
${libdir}/${instvardir}/${configuration}/modules (e.g., on my system,
that is /usr/local/lib/xemacs-21.5-b6/i686-pc-linux/modules).
However, module-load-path is set in dump-paths.el by evaluating
(paths-find-module-directory roots). That function is defined in
setup-paths.el with this body:
(paths-find-architecture-directory roots "modules"
nil configure-module-directory)
However, that function evaluates to
${libdir}/${instvardir}/${configuration}; i.e., it is missing the final
"/modules" component, causing XEmacs to fail to see modules in that
directory. The immediate problem is that
paths-find-architecture-directory, defined in find-paths.el, doesn't
look for the right combination of "base" and "system-configuration".
In
fact, the first test looks plain wrong. It is
(paths-find-version-directory roots
(concat base system-configuration)
envvar default)
But since neither "base" nor "system-configuration" contain a
"/"
character, concatenating them does not seem useful. Furthermore, the
system-configuration should contain the base, not the other way around,
given the way the paths are set up currently. So shouldn't that first
test be
(paths-find-version-directory roots
(paths-construct-path
(list system-configuration base)
envvar default)
instead? That works for the system module case. Does it break anything
else?
--
Jerry James <james(a)xemacs.org>