It works but now it fails in eieio

Eric M. Ludlam eric at siege-engine.com
Sun Mar 28 11:26:18 EDT 2010


Hi,

   If you know how to make this change in eieio-comp.el to work in both 
XEmacs 21.5 and older versions, I'll include it in my releases.

Thanks
Eric

On 03/28/2010 08:58 AM, Aidan Kehoe wrote:
>
>   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
>



More information about the XEmacs-Patches mailing list