It works but now it fails in eieio (was: [COMMIT] Correct the initialisation of enriched-display-table if #'frame-width gives 0)
Aidan Kehoe
kehoea at parhasard.net
Sun Mar 28 08:58:01 EDT 2010
Ar an séú lá is fiche de mí Márta, scríobh Mats Lidell:
> (Related. It would be interesting to get a intro in how to read the
> backtrace below. It there something strange in .../inversion.elc!?)
No, there’s nothing strange in inversion.elc. What’s happening is that the
compilation of eieio-opt.el is evaluating (require 'eieio), since #'require
is always surrounded by an implicit (eval-and-compile ...) block. eieio.elc
loads cl-macs.elc successfully; it then calls (require 'inversion)
successfully. The invalid read syntax is encountered within eieio.elc
itself, specifically the expansion of the defmethod macro calls.
I’ve committed a change that addresses this for me locally in
http://mid.gmane.org/19375.20526.589842.781078@parhasard.net .
> /src/xemacs/packages/xemacs-packages/eieio $ LANG=C make
> /src/xemacs/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 (expand-file-name "mule" lisp-directory) lisp-directory))' -l /src/xemacs/packages/package-compile.el -- xemacs-base edebug cedet-common speedbar -- -f batch-byte-compile eieio-opt.el
>
> Loading /src/xemacs/packages/package-compile.el...
> Loading /src/xemacs/share/xemacs-21.5-b29/lisp/auto-autoloads.elc...
> Requiring /src/xemacs/share/xemacs-21.5-b29/lisp/bytecomp.elc...
> Loading /src/xemacs/share/xemacs-21.5-b29/lisp/cl-macs.elc...
> Requiring /src/xemacs/share/xemacs-21.5-b29/lisp/byte-optimize.elc...
> Loading /src/xemacs/packages/xemacs-packages/speedbar/auto-autoloads.elc...
> Loading /src/xemacs/packages/xemacs-packages/cedet-common/auto-autoloads.elc...
> Loading /src/xemacs/packages/xemacs-packages/edebug/auto-autoloads.elc...
> Loading /src/xemacs/packages/xemacs-packages/xemacs-base/auto-autoloads.elc...
> Compiling /src/xemacs/packages/xemacs-packages/eieio/eieio-opt.el...
> Requiring /src/xemacs/packages/xemacs-packages/eieio/eieio.elc...
> Loading /src/xemacs/share/xemacs-21.5-b29/lisp/cl-macs.elc...
> Requiring /src/xemacs/packages/xemacs-packages/cedet-common/inversion.elc...
> While compiling toplevel forms in file /src/xemacs/packages/xemacs-packages/eieio/eieio-opt.el:
> !! Invalid read syntax (("#[...] used with wrong number of elements"))
> backtrace(nil t)
> # bind (error-info)
> byte-compile-report-error((invalid-read-syntax "#[...] used with wrong number of elements"))
> # bind (error-info)
> #<compiled-function (from "/src/xemacs/share/xemacs-21.5-b29/lisp/bytecomp.elc") (error-info) "...(4)" [error-info byte-compile-report-error] 2 0xc1d>((invalid-read-syntax "#[...] used with wrong number of elements"))
> # (unwind-protect ...)
> # (unwind-protect ...)
> # (unwind-protect ...)
> # (unwind-protect ...)
> # (unwind-protect ...)
> # (unwind-protect ...)
> # (unwind-protect ...)
> # (unwind-protect ...)
> (load-internal "[internal]")
> load-internal("eieio" nil require nil binary)
> # bind (handler path nosuffix nomessage noerror filename)
> load("eieio" nil require nil)
> # (unwind-protect ...)
> require(eieio)
> eval((require (quote eieio)))
> # bind (form)
> byte-compile-file-form-eval-boundary((require (quote eieio)))
> # bind (byte-compile-current-form handler form)
> byte-compile-file-form((require (quote eieio)))
> # (unwind-protect ...)
> #<compiled-function (from "/src/xemacs/share/xemacs-21.5-b29/lisp/bytecomp.elc") nil "...(56)" [byte-compile-unresolved-functions filename byte-compile-inbuffer byte-compile-outbuffer goto-char point-max 1 " \n
> " nil looking-at ";" byte-compile-file-form read byte-compile-flush-pending byte-compile-insert-header byte-compile-warn-about-unresolved-functions] 4 0xc1e>()
> # (unwind-protect ...)
> call-with-condition-handler(#<compiled-function (from "/src/xemacs/share/xemacs-21.5-b29/lisp/bytecomp.elc") (error-info) "...(4)" [error-info byte-compile-report-error] 2 0xc1d> #<compiled-function (from "/src/xemacs/share/xemacs-21.5-b29/lisp/bytecomp.elc") nil "...(56)" [byte-compile-unresolved-functions filename byte-compile-inbuffer byte-compile-outbuffer goto-char point-max 1 " \n
> " nil looking-at ";" byte-compile-file-form read byte-compile-flush-pending byte-compile-insert-header byte-compile-warn-about-unresolved-functions] 4 0xc1e>)
> # (unwind-protect ...)
> # bind (byte-compile-warnings-beginning byte-compile-point-max-prev byte-compile-log-buffer byte-compile-macro-environment byte-compile-function-environment byte-compile-autoload-environment byte-compile-unresolved-functions byte-compile-bound-variables byte-compile-free-references byte-compile-free-assignments byte-compile-verbose byte-optimize byte-compile-emacs19-compatibility byte-compile-checks-on-load byte-compile-dynamic byte-compile-dynamic-docstrings byte-compile-warnings byte-compile-file-domain byte-compile-outbuffer float-output-format case-fold-search print-length print-level byte-compile-constants byte-compile-variables byte-compile-tag-number byte-compile-depth byte-compile-maxdepth byte-compile-output byte-compile-force-escape-quoted byte-compile-using-dynamic eval filename byte-compile-inbuffer)
> byte-compile-from-buffer(#<buffer " *Compiler Input*"> "/src/xemacs/packages/xemacs-packages/eieio/eieio-opt.el")
> # bind (byte-compile-current-file target-file input-buffer output-buffer byte-compile-dest-file load filename)
> byte-compile-file("eieio-opt.el")
> byte-code("..." [file byte-compile-file t] 2)
> # (condition-case ... . ((error (byte-code "~~!~!~~~!~~~!~~~ ~\"~~~~ @~N~~ @!~~~ A\"~~~!~~" [file err princ ">>Error occurred processing " ": " fboundp display-error nil error-message mapc #<compiled-function (from "/src/xemacs/share/xemacs-21.5-b29/lisp/bytecomp.elc") (x) "...(8)" [x princ " " prin1] 2 0xcb1> "\n"] 3))))
> # bind (file)
> batch-byte-compile-1("eieio-opt.el")
> # bind (error file-to-process)
> batch-byte-compile-one-file()
> # bind (error)
> batch-byte-compile()
> # bind (arg)
> command-line-do-funcall("-f")
> # bind (dir file-count line end-of-options file-p arg tem)
> command-line-1()
> # bind (command-line-args-left)
> command-line()
> # bind (error-data)
> normal-top-level()
> # (condition-case ... . error)
> # (catch top-level ...)
> >>Error occurred processing eieio-opt.el: Invalid read syntax: #[...] used with wrong number of elements
>
> Done
> make: *** [eieio-opt.elc] Error 1
> ----------------------------------------------------------------------
>
> Yours
> --
> %% Mats
--
“Apart from the nine-banded armadillo, man is the only natural host of
Mycobacterium leprae, although it can be grown in the footpads of mice.”
-- Kumar & Clark, Clinical Medicine, summarising improbable leprosy research
More information about the XEmacs-Patches
mailing list