I'm not sure it can be solved immediately, but I'd might as well make
an note of it for those who ponder on the packaging system.
I just submitted a patch for a new builtin function in XEmacs,
partially in order to be able to completely sync a lisp file in a
package with Emacs21.
Now, should the code in the package assume this new function is
available? Should it detect lack of the function, and add a
workaround, for it?
If packages aren't allowed to use new functionality in XEmacs, the
bit-rot of xemacs-packages will only increase and maintainance will be
a nightmare. IMHO this must be avoided, packages must be allowed to
assume recent features in XEmacs.
If packages are allowed to use new functionality in XEmacs, newer
packages won't work in older XEmacses. I see one reasonable solution
to this: Stuff code for older releases into a library, and make sure
this library is updated if any other packages is downloaded. Maybe
this is what APEL does? If so, I think the packaging system must make
sure that recent APEL version is installed if other packages are
upgraded.
If the current package system already handle this situation, please
point it out because I haven't seen it.