[CEDET-devel] void-function eieio-defmethod
Brought to you by:
zappo
From: William Xu <wil...@gm...> - 2011-06-14 14:15:24
|
Hi, Just build CEDET, now when evaling: (global-ede-mode 1) I got the following errors. This is on: GNU Emacs 24.0.50.1 (x86_64-apple-darwin10.7.0, NS apple-appkit-1038.35) of 2011-06-04 What does this mean? -William Debugger entered--Lisp error: (void-function eieio-defmethod) eieio-defmethod(slot-unbound (((object eieio-instance-inheritor) class slot-name fn) "If a slot OBJECT in this CLASS is unbound, try to inherit, or throw a signal.\nSLOT-NAME, is the offending slot. FN is the function signalling the error." (if (slot-boundp object (quote parent-instance)) (eieio-oref (oref object parent-instance) slot-name) (call-next-method)))) byte-code("\300\301!\210\302\303\304\305\306$\210\307\310\311\"\210\307\312\ \313\"\210\307\314\315\"\210\302\316\304\317\320$\210\307\321\322\"\210\ \307\323\324\"\207" [require eieio eieio-defclass eieio-instance-inheritor nil ((parent-instance :initarg :parent-instance :type eieio-instance-inheritor-child :documentation "The parent of this instance.\nIf a slot of this class is reference, and is unbound, then the parent\nis checked for a value.")) ("This special class can enable instance inheritance.\nUse `clone' to make a new object that does instance inheritance from\na parent instance. When a slot in the child is referenced, and has\nnot been set, use values from the parent." :abstract t) eieio-defmethod slot-unbound (((object eieio-instance-inheritor) class slot-name fn) "If a slot OBJECT in this CLASS is unbound, try to inherit, or throw a signal.\nSLOT-NAME, is the offending slot. FN is the function signalling the error." (if (slot-boundp object (quote parent-instance)) (eieio-oref (oref object parent-instance) slot-name) (call-next-method))) clone (((obj eieio-instance-inheritor) &rest params) "Clone OBJ, initializing `:parent' to OBJ.\nAll slots are unbound, except those initialized with PARAMS." (let ((nobj (make-vector (length obj) eieio-unbound)) (nm (aref obj object-name)) (passname (and params (stringp (car params)))) (num 1)) (aset nobj 0 (quote object)) (aset nobj object-class (aref obj object-class)) (if (not passname) (save-match-data (if (string-match "-\\([0-9]+\\)" nm) (setq num (1+ ...) nm (substring nm 0 ...))) (aset nobj object-name (concat nm "-" (int-to-string num)))) (aset nobj object-name (car params))) (if params (shared-initialize nobj (if passname (cdr params) params))) (oset nobj parent-instance obj) nobj)) eieio-instance-inheritor-slot-boundp (((object eieio-instance-inheritor) slot) "Non-nil if the instance inheritor OBJECT's SLOT is bound.\nSee `slot-boundp' for for details on binding slots.\nThe instance inheritor uses unbound slots as a way cascading cloned\nslot values, so testing for a slot being bound requires extra steps\nfor this kind of object." (if (slot-boundp object slot) t (if (slot-boundp object (quote parent-instance)) (eieio-instance-inheritor-slot-boundp (oref object parent-instance) slot) nil))) eieio-instance-tracker ((tracking-symbol :type symbol :allocation :class :documentation "The symbol used to maintain a list of our instances.\nThe instance list is treated as a variable, with new instances added to it.")) ("This special class enables instance tracking.\nInheritors from this class must overload `tracking-symbol' which is\na variable symbol used to store a list of all instances." :abstract t) initialize-instance (:AFTER ((this eieio-instance-tracker) &rest slots) "Make sure THIS is in our master list of this class.\nOptional argument SLOTS are the initialization arguments." (let ((sym (oref this tracking-symbol))) (if (not (memq this (symbol-value sym))) (set sym (append (symbol-value sym) (list this)))))) delete-instance (((this eieio-instance-tracker)) "Remove THIS from the master list of this class." (set (oref this tracking-symbol) (delq this (symbol-value (oref this tracking-symbol)))))] 5) require(eieio-base) byte-code("\300\301!\210\302\303\304\305\306$\207" [require eieio-base eieio-defclass ede-sourcecode (eieio-instance-inheritor) ((name :initarg :name :type string :documentation "The name of this type of source code.\nSuch as \"C\" or \"Emacs Lisp\"") (sourcepattern :initarg :sourcepattern :initform ".*" :type string :documentation "Emacs regexp matching sourcecode this target accepts.") (auxsourcepattern :initarg :auxsourcepattern :initform nil :type (or null string) :documentation "Emacs regexp matching auxiliary source code this target accepts.\nAux source are source code files needed for compilation, which are not compiled\nthemselves.") (enable-subdirectories :initarg :enable-subdirectories :initform nil :type boolean :documentation "Non nil if this sourcecode type uses subdirectories.\nIf sourcecode always lives near the target creating it, this should be nil.\nIf sourcecode can, or typically lives in a subdirectory of the owning\ntarget, set this to t.") (garbagepattern :initarg :garbagepattern :initform nil :type list :documentation "Shell file regexp matching files considered as garbage.\nThis is a list of items added to an `rm' command when executing a `clean'\ntype directive.")) ("Description of some type of source code.\nObjects will use sourcecode objects to define the types of source\nthat they are willing to use.")] 5) require(ede-source) (global-ede-mode 1) eval((global-ede-mode 1) nil) eval-last-sexp-1(nil) ad-Orig-eval-last-sexp(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp nil nil) |