emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lexbind


From: Tom Tromey
Subject: Re: lexbind
Date: Sun, 20 Feb 2011 11:39:44 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Stefan> Just a heads up that the lexbind-new branch is moving forward.

Very cool.

Stefan> It's not yet ready for inclusion (still a few things to clean up and
Stefan> a few more to change), but I finally got it to run mpc.el (compiled
Stefan> using lexical-binding).

I checked it out and did a make bootstrap.
It failed as appended.

Tom

Compiling /space/tromey/EmacsBzr/Git/emacs/lisp/emacs-lisp/chart.el
Debugger entered--Lisp error: (wrong-type-argument listp "Forgot to expand 
macro eieio-object-p")
  error-message-string("Forgot to expand macro eieio-object-p")
  byte-compile-report-error("Forgot to expand macro eieio-object-p")
  byte-compile-form((eieio-object-p (car local-args)))
  byte-compile-one-arg((not (eieio-object-p (car local-args))))
  byte-compile-form((not (eieio-object-p (car local-args))))
  byte-compile-if((if (not (eieio-object-p (car local-args))) (signal (quote 
no-method-definition) (list (quote shared-initialize) local-args)) (let 
((scoped-class (quote eieio-default-superclass)) 
(eieio-generic-call-next-method-list nil) (eieio-generic-call-key 
method-primary) (eieio-generic-call-methodname (quote shared-initialize)) 
(eieio-generic-call-arglst local-args)) (apply (quote (lambda (obj slots) "Set 
slots of OBJ with SLOTS which is a list of name/value pairs.\nCalled from the 
constructor routine." (let ((scoped-class ...)) (while slots (let ... ...) 
(setq slots ...))))) local-args))))
  byte-compile-form((if (not (eieio-object-p (car local-args))) (signal (quote 
no-method-definition) (list (quote shared-initialize) local-args)) (let 
((scoped-class (quote eieio-default-superclass)) 
(eieio-generic-call-next-method-list nil) (eieio-generic-call-key 
method-primary) (eieio-generic-call-methodname (quote shared-initialize)) 
(eieio-generic-call-arglst local-args)) (apply (quote (lambda (obj slots) "Set 
slots of OBJ with SLOTS which is a list of name/value pairs.\nCalled from the 
constructor routine." (let ((scoped-class ...)) (while slots (let ... ...) 
(setq slots ...))))) local-args))) nil)
  byte-compile-top-level((progn (if (not (eieio-object-p (car local-args))) 
(signal (quote no-method-definition) (list (quote shared-initialize) 
local-args)) (if nil (apply (quote no-applicable-method) (car local-args) 
(quote shared-initialize) local-args) (let ((scoped-class (quote 
eieio-default-superclass)) (eieio-generic-call-next-method-list nil) 
(eieio-generic-call-key method-primary) (eieio-generic-call-methodname (quote 
shared-initialize)) (eieio-generic-call-arglst local-args)) (apply (quote 
(lambda (obj slots) "Set slots of OBJ with SLOTS which is a list of name/value 
pairs.\nCalled from the constructor routine." (let ... ...))) local-args))))) 
nil lambda)
  byte-compile-lambda((lambda (&rest local-args) "Set slots of OBJ with SLOTS 
which is a list of name/value pairs.\nCalled from the constructor routine." (if 
(not (eieio-object-p (car local-args))) (signal (quote no-method-definition) 
(list (quote shared-initialize) local-args)) (if nil (apply (quote 
no-applicable-method) (car local-args) (quote shared-initialize) local-args) 
(let ((scoped-class (quote eieio-default-superclass)) 
(eieio-generic-call-next-method-list nil) (eieio-generic-call-key 
method-primary) (eieio-generic-call-methodname (quote shared-initialize)) 
(eieio-generic-call-arglst local-args)) (apply (quote (lambda (obj slots) "Set 
slots of OBJ with SLOTS which is a list of name/value pairs.\nCalled from the 
constructor routine." (let ... ...))) local-args))))))
  (let ((byte-compile-free-references nil) (byte-compile-warnings nil)) 
(byte-compile-lambda (\` (lambda (&rest local-args) (\, doc-string) (if (not 
(eieio-object-p (car local-args))) (signal (quote no-method-definition) (list 
(\, ...) local-args)) (if (\, (if ... nil ...)) (apply (quote 
no-applicable-method) (car local-args) (\, ...) local-args) (let (... ... ... 
... ...) (apply ... local-args))))))))
  eieio-defgeneric-form-primary-only-one(shared-initialize "Set slots of OBJ 
with SLOTS which is a list of name/value pairs.\nCalled from the constructor 
routine." eieio-default-superclass (lambda (obj slots) "Set slots of OBJ with 
SLOTS which is a list of name/value pairs.\nCalled from the constructor 
routine." (let ((scoped-class (aref obj object-class))) (while slots (let ((rn 
(eieio-initarg-to-attribute (object-class-fast obj) (car slots)))) (if (not rn) 
(slot-missing obj (car slots) (quote oset) (car (cdr slots))) (eieio-oset obj 
rn (car (cdr slots))))) (setq slots (cdr (cdr slots)))))))
  (fset method (eieio-defgeneric-form-primary-only-one method doc-string (car 
entry) (cdr entry)))
  (let* ((doc-string (documentation method)) (M (get method (quote 
eieio-method-tree))) (entry (car (aref M method-primary)))) (fset method 
(eieio-defgeneric-form-primary-only-one method doc-string (car entry) (cdr 
entry))))
  eieio-defgeneric-reset-generic-form-primary-only-one(shared-initialize)
  (if (generic-primary-only-one-p method) 
(eieio-defgeneric-reset-generic-form-primary-only-one method) 
(eieio-defgeneric-reset-generic-form-primary-only method))
  (if (generic-primary-only-p method) (if (generic-primary-only-one-p method) 
(eieio-defgeneric-reset-generic-form-primary-only-one method) 
(eieio-defgeneric-reset-generic-form-primary-only method)) 
(eieio-defgeneric-reset-generic-form method))
  (progn (if (generic-primary-only-p method) (if (generic-primary-only-one-p 
method) (eieio-defgeneric-reset-generic-form-primary-only-one method) 
(eieio-defgeneric-reset-generic-form-primary-only method)) 
(eieio-defgeneric-reset-generic-form method)))
  (if eieio-optimize-primary-methods-flag (progn (if (generic-primary-only-p 
method) (if (generic-primary-only-one-p method) 
(eieio-defgeneric-reset-generic-form-primary-only-one method) 
(eieio-defgeneric-reset-generic-form-primary-only method)) 
(eieio-defgeneric-reset-generic-form method))))
  (when eieio-optimize-primary-methods-flag (if (generic-primary-only-p method) 
(if (generic-primary-only-one-p method) 
(eieio-defgeneric-reset-generic-form-primary-only-one method) 
(eieio-defgeneric-reset-generic-form-primary-only method)) 
(eieio-defgeneric-reset-generic-form method)))
  eieio-defmethod(shared-initialize (((obj eieio-default-superclass) slots) 
"Set slots of OBJ with SLOTS which is a list of name/value pairs.\nCalled from 
the constructor routine." (let ((scoped-class (aref obj object-class))) (while 
slots (let ((rn (eieio-initarg-to-attribute (object-class-fast obj) (car 
slots)))) (if (not rn) (slot-missing obj (car slots) (quote oset) (car (cdr 
slots))) (eieio-oset obj rn (car (cdr slots))))) (setq slots (cdr (cdr 
slots)))))))
  (defmethod shared-initialize ((obj eieio-default-superclass) slots) "Set 
slots of OBJ with SLOTS which is a list of name/value pairs.\nCalled from the 
constructor routine." (let ((scoped-class (aref obj object-class))) (while 
slots (let ((rn (eieio-initarg-to-attribute (object-class-fast obj) (car 
slots)))) (if (not rn) (slot-missing obj (car slots) (quote oset) (car (cdr 
slots))) (eieio-oset obj rn (car (cdr slots))))) (setq slots (cdr (cdr 
slots))))))
  (progn (if (fboundp (quote compiled-function-arglist)) (defalias (quote 
eieio-compiled-function-arglist) (quote compiled-function-arglist)) (defun 
eieio-compiled-function-arglist (func) "Return the argument list for the 
compiled function FUNC." (aref func 0))) (defvar eieio-hook nil "*This hook is 
executed, then cleared each time `defclass' is called.") (defvar 
eieio-error-unsupported-class-tags nil "Non-nil to throw an error if an 
encountered tag is unsupported.\nThis may prevent classes from CLOS 
applications from being used with EIEIO\nsince EIEIO does not support all CLOS 
tags.") (defvar eieio-skip-typecheck nil "*If non-nil, skip all slot 
typechecking.\nSet this to t permanently if a program is functioning well to 
get a\nsmall speed increase.  This variable is also used internally to 
handle\ndefault setting for optimization purposes.") (defvar 
eieio-optimize-primary-methods-flag t "Non-nil means to optimize the method 
dispatch on primary methods.") (defvar this nil "Inside a method, this variable 
is the object in question.\nDO NOT SET THIS YOURSELF unless you are trying to 
simulate friendly slots.\n\nNote: Embedded methods are no longer supported.  
The variable THIS is\nstill set for CLOS methods for the sake of routines 
like\n`call-next-method'.") (defvar scoped-class nil "This is set to a class 
when a method is running.\nThis is so we know we are allowed to check private 
parts or how to\nexecute a `call-next-method'.  DO NOT SET THIS YOURSELF!") 
(defvar eieio-initializing-object nil "Set to non-nil while initializing an 
object.") (defconst eieio-unbound (if (and (boundp (quote eieio-unbound)) 
(symbolp eieio-unbound)) eieio-unbound (make-symbol "unbound")) "Uninterned 
symbol representing an unbound slot in an object.") (defvar 
eieio-default-superclass nil) (defconst class-symbol 1 "Class's symbol 
(self-referencing.).") (defconst class-parent 2 "Class parent slot.") (defconst 
class-children 3 "Class children class slot.") (defconst class-symbol-obarray 4 
"Obarray permitting fast access to variable position indexes.") (defconst 
class-public-a 5 "Class attribute index.") (defconst class-public-d 6 "Class 
attribute defaults index.") (defconst class-public-doc 7 "Class documentation 
strings for attributes.") (defconst class-public-type 8 "Class type for a 
slot.") (defconst class-public-custom 9 "Class custom type for a slot.") 
(defconst class-public-custom-label 10 "Class custom group for a slot.") 
(defconst class-public-custom-group 11 "Class custom group for a slot.") 
(defconst class-public-printer 12 "Printer for a slot.") (defconst 
class-protection 13 "Class protection for a slot.") (defconst 
class-initarg-tuples 14 "Class initarg tuples list.") (defconst 
class-class-allocation-a 15 "Class allocated attributes.") (defconst 
class-class-allocation-doc 16 "Class allocated documentation.") (defconst 
class-class-allocation-type 17 "Class allocated value type.") (defconst 
class-class-allocation-custom 18 "Class allocated custom descriptor.") 
(defconst class-class-allocation-custom-label 19 "Class allocated custom 
descriptor.") (defconst class-class-allocation-custom-group 20 "Class allocated 
custom group.") (defconst class-class-allocation-printer 21 "Class allocated 
printer for a slot.") (defconst class-class-allocation-protection 22 "Class 
allocated protection list.") (defconst class-class-allocation-values 23 "Class 
allocated value vector.") (defconst class-default-object-cache 24 "Cache index 
of what a newly created object would look like.\nThis will speed up 
instantiation time as only a `copy-sequence' will\nbe needed, instead of 
looping over all the values and setting them\nfrom the default.") (defconst 
class-options 25 "Storage location of tagged class options.\nStored outright 
without modifications or stripping.") (defconst class-num-slots 26 "Number of 
slots in the class definition object.") (defconst object-class 1 "Index in an 
object vector where the class is stored.") (defconst object-name 2 "Index in an 
object where the name is stored.") (defconst method-static 0 "Index into 
:static tag on a method.") (defconst method-before 1 "Index into :before tag on 
a method.") (defconst method-primary 2 "Index into :primary tag on a method.") 
(defconst method-after 3 "Index into :after tag on a method.") (defconst 
method-num-lists 4 "Number of indexes into methods vector in which groups of 
functions are kept.") (defconst method-generic-before 4 "Index into generic 
:before tag on a method.") (defconst method-generic-primary 5 "Index into 
generic :primary tag on a method.") (defconst method-generic-after 6 "Index 
into generic :after tag on a method.") (defconst method-num-slots 7 "Number of 
indexes into a method's vector.") (defsubst 
eieio-specialized-key-to-generic-key (key) "Convert a specialized KEY into a 
generic method key." (cond ((eq key method-static) 0) ((< key method-num-lists) 
(+ key 3)) (t key))) (autoload (quote byte-compile-file-form-defmethod) 
"eieio-comp" "This function is used to byte compile methods in a nice way.") 
...)
  (eval-and-compile (if (fboundp (quote compiled-function-arglist)) (defalias 
(quote eieio-compiled-function-arglist) (quote compiled-function-arglist)) 
(defun eieio-compiled-function-arglist (func) "Return the argument list for the 
compiled function FUNC." (aref func 0))) (defvar eieio-hook nil "*This hook is 
executed, then cleared each time `defclass' is called.") (defvar 
eieio-error-unsupported-class-tags nil "Non-nil to throw an error if an 
encountered tag is unsupported.\nThis may prevent classes from CLOS 
applications from being used with EIEIO\nsince EIEIO does not support all CLOS 
tags.") (defvar eieio-skip-typecheck nil "*If non-nil, skip all slot 
typechecking.\nSet this to t permanently if a program is functioning well to 
get a\nsmall speed increase.  This variable is also used internally to 
handle\ndefault setting for optimization purposes.") (defvar 
eieio-optimize-primary-methods-flag t "Non-nil means to optimize the method 
dispatch on primary methods.") (defvar this nil "Inside a method, this variable 
is the object in question.\nDO NOT SET THIS YOURSELF unless you are trying to 
simulate friendly slots.\n\nNote: Embedded methods are no longer supported.  
The variable THIS is\nstill set for CLOS methods for the sake of routines 
like\n`call-next-method'.") (defvar scoped-class nil "This is set to a class 
when a method is running.\nThis is so we know we are allowed to check private 
parts or how to\nexecute a `call-next-method'.  DO NOT SET THIS YOURSELF!") 
(defvar eieio-initializing-object nil "Set to non-nil while initializing an 
object.") (defconst eieio-unbound (if (and (boundp (quote eieio-unbound)) 
(symbolp eieio-unbound)) eieio-unbound (make-symbol "unbound")) "Uninterned 
symbol representing an unbound slot in an object.") (defvar 
eieio-default-superclass nil) (defconst class-symbol 1 "Class's symbol 
(self-referencing.).") (defconst class-parent 2 "Class parent slot.") (defconst 
class-children 3 "Class children class slot.") (defconst class-symbol-obarray 4 
"Obarray permitting fast access to variable position indexes.") (defconst 
class-public-a 5 "Class attribute index.") (defconst class-public-d 6 "Class 
attribute defaults index.") (defconst class-public-doc 7 "Class documentation 
strings for attributes.") (defconst class-public-type 8 "Class type for a 
slot.") (defconst class-public-custom 9 "Class custom type for a slot.") 
(defconst class-public-custom-label 10 "Class custom group for a slot.") 
(defconst class-public-custom-group 11 "Class custom group for a slot.") 
(defconst class-public-printer 12 "Printer for a slot.") (defconst 
class-protection 13 "Class protection for a slot.") (defconst 
class-initarg-tuples 14 "Class initarg tuples list.") (defconst 
class-class-allocation-a 15 "Class allocated attributes.") (defconst 
class-class-allocation-doc 16 "Class allocated documentation.") (defconst 
class-class-allocation-type 17 "Class allocated value type.") (defconst 
class-class-allocation-custom 18 "Class allocated custom descriptor.") 
(defconst class-class-allocation-custom-label 19 "Class allocated custom 
descriptor.") (defconst class-class-allocation-custom-group 20 "Class allocated 
custom group.") (defconst class-class-allocation-printer 21 "Class allocated 
printer for a slot.") (defconst class-class-allocation-protection 22 "Class 
allocated protection list.") (defconst class-class-allocation-values 23 "Class 
allocated value vector.") (defconst class-default-object-cache 24 "Cache index 
of what a newly created object would look like.\nThis will speed up 
instantiation time as only a `copy-sequence' will\nbe needed, instead of 
looping over all the values and setting them\nfrom the default.") (defconst 
class-options 25 "Storage location of tagged class options.\nStored outright 
without modifications or stripping.") (defconst class-num-slots 26 "Number of 
slots in the class definition object.") (defconst object-class 1 "Index in an 
object vector where the class is stored.") (defconst object-name 2 "Index in an 
object where the name is stored.") (defconst method-static 0 "Index into 
:static tag on a method.") (defconst method-before 1 "Index into :before tag on 
a method.") (defconst method-primary 2 "Index into :primary tag on a method.") 
(defconst method-after 3 "Index into :after tag on a method.") (defconst 
method-num-lists 4 "Number of indexes into methods vector in which groups of 
functions are kept.") (defconst method-generic-before 4 "Index into generic 
:before tag on a method.") (defconst method-generic-primary 5 "Index into 
generic :primary tag on a method.") (defconst method-generic-after 6 "Index 
into generic :after tag on a method.") (defconst method-num-slots 7 "Number of 
indexes into a method's vector.") (defsubst 
eieio-specialized-key-to-generic-key (key) "Convert a specialized KEY into a 
generic method key." (cond ((eq key method-static) 0) ((< key method-num-lists) 
(+ key 3)) (t key))) (autoload (quote byte-compile-file-form-defmethod) 
"eieio-comp" "This function is used to byte compile methods in a nice way.") 
...)
  eval-buffer(#<buffer  *load*> nil 
"/space/tromey/EmacsBzr/Git/emacs/lisp/emacs-lisp/eieio.el" nil t)  ; Reading 
at buffer position 112490
  
load-with-code-conversion("/space/tromey/EmacsBzr/Git/emacs/lisp/emacs-lisp/eieio.el"
 "/space/tromey/EmacsBzr/Git/emacs/lisp/emacs-lisp/eieio.el" nil t)
  require(eieio)
  apply(require eieio)
  byte-compile-file-form-require((require (quote eieio)))
  byte-compile-file-form((require (quote eieio)))
  #[nil "rq\210        \203
\306   
\n\"\210eb\210\307\310\307w\210\311\312!\203\"\313y\210\202m\204D`\211\307\314!\203;\315\316!\210\317!\210*\202\320
 \210d\321 \210) \205Yr\nq\210\322      !)\207" [bytecomp-inbuffer 
bytecomp-filename bytecomp-outbuffer byte-compile-unresolved-functions 
byte-compile-read-position byte-compile-last-position 
byte-compile-insert-header nil "        \n\f" looking-at ";" 1 read 
byte-compile-warn "!! The file uses old-style backquotes !!\nThis functionality 
has been obsolete for more than 10 years already\nand will be removed soon.  
See (elisp)Backquote in the manual." byte-compile-file-form 
byte-compile-flush-pending byte-compile-warn-about-unresolved-functions 
byte-compile-fix-header old-style-backquotes form] 4]()
  byte-compile-from-buffer(#<buffer  *Compiler Input*> 
"/space/tromey/EmacsBzr/Git/emacs/lisp/emacs-lisp/chart.el")
  byte-compile-file("/space/tromey/EmacsBzr/Git/emacs/lisp/emacs-lisp/chart.el")
  
batch-byte-compile-file("/space/tromey/EmacsBzr/Git/emacs/lisp/emacs-lisp/chart.el")
  batch-byte-compile()
  command-line-1(("--eval" "(setq max-lisp-eval-depth 1000)" "-f" 
"batch-byte-compile" 
"/space/tromey/EmacsBzr/Git/emacs/lisp/emacs-lisp/chart.el"))
  command-line()
  normal-top-level()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]