Hi, Michael -
I have been trying to update 21.4 so that it can build the packages.
Here is the minimalist patch I have been trying:
Index: lisp/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.266.2.103
diff -a -u -r1.266.2.103 ChangeLog
--- lisp/ChangeLog 2007/11/23 17:22:07 1.266.2.103
+++ lisp/ChangeLog 2007/12/03 02:06:06
@@ -1,3 +1,9 @@
+2007-12-02 Vin Shelton <acs(a)xemacs.org>
+
+ * autoload.el (make-autoload): Add defclass and defmethod as
+ defmacro-like operators. This is needed to enable compilation of
+ packages that depend on eieio.
+
2007-11-22 Vin Shelton <acs(a)xemacs.org>
* about.el (about-hacker-contribution): Updated my bio.
Index: lisp/autoload.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/autoload.el,v
retrieving revision 1.5.2.2
diff -a -u -r1.5.2.2 autoload.el
--- lisp/autoload.el 2002/08/20 11:34:34 1.5.2.2
+++ lisp/autoload.el 2007/12/03 02:06:07
@@ -42,9 +42,10 @@
(defun make-autoload (form file)
"Turn a definition generator FORM into an autoload for source file FILE.
Returns nil if FORM is not a defun, define-skeleton, define-derived-mode,
-or defmacro."
+defmacro, defclass or defmethod."
(let ((car (car-safe form)))
- (if (memq car '(defun define-skeleton defmacro define-derived-mode))
+ (if (memq car '(defun define-skeleton defmacro define-derived-mode
+ defclass defmethod))
(let ((macrop (eq car 'defmacro))
name doc)
(setq form (cdr form)
@@ -117,6 +118,8 @@
(put 'defmacro 'doc-string-elt 3)
(put 'define-skeleton 'doc-string-elt 3)
(put 'define-derived-mode 'doc-string-elt 4)
+(put 'defclass 'doc-string-elt 4)
+(put 'defmethod 'doc-string-elt 3)
(defun autoload-trim-file-name (file)
"Returns a relative pathname of FILE including the last directory."
This patch gets me further, but ultimately the package build fails here:
[ -d ecb ] && make -w -C ecb bytecompile
make[2]: Entering directory
`/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/ecb'
/opt/bin/xemacs -no-autoloads -vanilla -batch -eval '(setq
stack-trace-on-error t load-always-display-messages t
load-ignore-out-of-date-elc-files t load-show-full-path-in-messages
t)' -eval '(setq load-path (list lisp-directory))' -l
/opt/build/xemacs-packages-2007-12-02-21.4/package-compile.el --
xemacs-base semantic cedet-common eieio fsf-compat edit-utils jde
mail-lib eshell ediff xemacs-devel speedbar c-support os-utils -- -l
compile -l ecb-util -l ecb-eshell -l ecb-layout -l tree-buffer -l
esh-mode -l em-dirs -l jde-help -l semantic -l semantic-load -l
semanticdb -l sendmail -l ediff-init -l hideshow -l speedbar -f
batch-byte-compile auto-autoloads.el
Loading /opt/xemacs/lib/xemacs-21.4.21/lisp/auto-autoloads...
Loading
/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/os-utils/auto-autoloads...
Loading
/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/c-support/auto-autoloads...
Loading
/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/speedbar/auto-autoloads...
Loading
/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/xemacs-devel/auto-autoloads...
Loading
/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/ediff/auto-autoloads...
Loading
/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/eshell/auto-autoloads...
Loading
/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/mail-lib/auto-autoloads...
Loading
/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/jde/lisp/auto-autoloads...
# bind (
stack-trace-on-signal debug-on-signal stack-trace-on-error debug-on-error)
signal(void-function (tempo-define-template))
# bind (data error-symbol)
signal-error(void-function (tempo-define-template))
# bind (error-data)
normal-top-level()
# (condition-case ... . error)
# (catch top-level
...)
^GSymbol's function definition is void: tempo-define-template
xemacs exiting
.
make[2]: *** [auto-autoloads.elc] Error 255
make[2]: Leaving directory
`/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages/ecb'
make[1]: *** [ecb/bytecompile.target] Error 2
make[1]: Leaving directory
`/opt/build/xemacs-packages-2007-12-02-21.4/xemacs-packages'
make: *** [xemacs-packages/bytecompile.target] Error 2
tempo-define-template is defined in the edit-utils package and that's
correctly REQUIRE'd. It looks to me like 21.4 can't handle something
in the jde autoloads, but I couldn't figure out what the actual
problem was. Can you please take a look at the 21.4 autoload.el file
and figure out what's missing?
Regards,
Vin
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta