Building packages with 21.4

Vin Shelton acs at alumni.princeton.edu
Sun Dec 2 22:40:44 EST 2007


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 at 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 at 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



More information about the XEmacs-Beta mailing list