>>>> "Andy" == Andy Piper
<andy(a)xemacs.org> writes:
Andy> How many packages are actually likely to get feature creep
Andy> that is backwardsly incompatible?
It depends on how far back you want to be compatible. Also whether
the particular creeping feature was used by the package in question
before.
I think it's very difficult to assess ex ante, but we have seen these
problems already. I think the mule-base problems with setting
environment are indicative of the kind of problems you can run into.
Emacs Lisp has never really had a module concept, so APIs are a
sometime thing. I know that the ETL Mule developers have never really
hesitated to change de facto APIs and then fix things that break. And
we spend significant effort synching with the FSF's Emacs; a lot of
this is due to the fact that APIs are evolved, not defined, rather
than actual new functionality.
Also, people who for whatever reason are using an old XEmacs might
want to use a newly-released package. This didn't use to really be a
problem, since people who went off, downloaded, installed, and
customized new libraries in their .emacs were pretty sophisticated.
But the package-user interface makes this a lot easier.
Andy> It seems to me you could pick a small subset (mule-base,
Andy> xemacs-base?) of packages that you want to tie to a specific
Andy> major number whilst letting the others freefall.
If it's really an issue of _tie_ then they should not be packages,
they should be in the core.
I think package installation should normally check for XEmacs version
on an relatively advisory basis, eg "Warning: this package was
developed under XEmacs 21.8 and using it with an earlier version of
XEmacs or with a non-XEmacs GNU Emacs is untested and may involve some
breakage." In general, at run-time packages should rather be doing
(require 'feature); it's only where APIs change that a warning is
needed.
If breakage is actually reported, the package maintainer would have
the choice of fixing the breakage or upgrading the warning from
"untested and may involve some breakage" to "unsupported and has been
reported to involve significant breakage; you should only install this
package if you are willing to deal with that breakage yourself."
--
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."