"Stephen J. Turnbull" wrote:
>>>>> "Ben" == Ben Wing <ben(a)666.com> writes:
Ben> speaking of this ... long ago i realized that xemacs-base
Ben> and mule-base definitely belong in the core, not as packages.
What's the rationale? Is it just the build and runtime problems due
to missing libraries when bootstrapping, or is it something else?
it has to do with maintainability. much of the stuff in xemacs-base really is
part of the core [e.g. advice.el, comint.el, shell.el, etc.]. much of the core
depends on xemacs-base, and xemacs-base depends on the core, and these two
things are closely tied together. but there's an artificial separation here
that makes it very difficult and cumbersome to make changes in xemacs-base,
since we have to worry about keeping compatibility with old versions of xemacs
and can't use other new core functions in them, etc. the whole purpose of the
package system is to allow independent chunks to be maintained and upgraded
independently, but in this case xemacs-base is *NOT* an independent package
since it's so bound up with the core. any potential gain from being able to
upgrade it independently is far outweighed by the loss caused by the difficulty
in working on its code.
the fact that some files do not seem part of the core is irrelevant. we simply
move those files out -- or perhaps, move everything in xemacs-base that's really
part of the core into the core, and leave the remainder.
Ben> what do others think of this?
I'm not sure. Many of those files do not implement "core"
functionality (eg, canna.el and mule-diag.el), and can use standard
APIs as documented in Lispref.
Certainly, it's annoying to have build problems (eg, Norbert Koch's
make check failures) because commonly used libraries are in packages.
But I think it's better to fix that problem by having a subset of
packages distributed with XEmacs sources, and keep the logical
distinction between "core" libraries (which are implemented via
internal APIs we reserve the right to change on a whim) and "package"
libraries, which use only public APIs.
I don't know how to implement this for CVS, though, or if it even
needs to be. I have thought about it for the tarballs. Note that it
is not a problem for the netinstaller.
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."
--
ben
I'm sometimes slow in getting around to reading my mail, so if you
want to reach me faster, call 520-661-6661.
See
http://www.666.com/ben/chronic-pain/ for the hell I've been
through.