Re: Cleaning up the EIEIO namespace

David Engster <[email protected]> Thu, 14 Feb 2013 22:28:17 +0100
Newsgroups gmane.emacs.devel,gmane.emacs.eieio
Message-ID <[email protected]>
Stefan Monnier writes:
>> In toplevel form:
>> eieio.el:168:1:Error: Symbol's function definition is void: eieio--class-parent
>
> Can you (setq byte-compile-error t debug-on-error t) so as to get
> a backtrace?

Did you mean `byte-compile-error-on-warn'? Anyway, I'm afraid I just
don't get a backtrace with debug-on-error.

>> I also cannot find a definition for eieio--class-parent, but maybe it's
>> hidden somewhere?
>
> It's defined (as a macro) by the call to (eieio--define-field-accessors
> class ...)  which is kind of a "mini cl-defstruct".

I see. Now, I can compile your patched EIEIO with trunk, but using the
latest pretest gives me the above error. I can fix this by including the
define-field-accessor macro and its following two calls (for class and
object) in the 'eval-and-compile' clause. Not sure if that's the right
thing to do, though. Something must have changed in trunk in how this is
handled?

-David