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