Christoph Wedler <wedler(a)fmi.uni-passau.de> writes in xemacs-beta(a)xemacs.org:
In order to make the generated auto-autoload files also work with
XEmacs-20.{3,4},
O.K.
I would suggest to add the following line as the first line of each
generated auto-autoload file:
(unless (fboundp 'package-provide) (fset 'package-provide
'ignore))
Not O.K. Why should this be done by autoload generation?
The `package-provide' call is due to _pkg.el:
;;;###autoload
(package-provide 'gnus
:version 1.34
:type 'regular)
Any backwards compatibility on the `package-provide' should go there.
If there's a nit to be picked with the auto-autoloads files
themselves, I would start with the top:
;;; DO NOT MODIFY THIS FILE
(if (featurep 'gnus-autoloads) (error "Already loaded"))
I put that there because I don't want those files being reloaded
without careful thought -- one must unload the feature first before
reloading the autoloads.
You might say that these files are not supposed to be loaded by
XEmacs-20.3, but the point is: XEmacs-20.3 *does* load files in
~/.xemacs/lisp/*/ automatically. And if someone (e.g., package authors)
want to use both XEmacs-20 and XEmacs-21, the files in these directories
should work with both XEmacs-20 and XEmacs-21.
Fair enough.
(Well, they don't because files with some macros compiled in
XEmacs-21
don't run in XEmacs-20, but that is another story...)
There's a flag for that. Martin's changes for 21.2.5 might have
introduced more bytecode incompatibilities, if so there should be a
flag for that too.