[Top][All Lists]

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

Re: bizarre byte-compile issue, possibly due to EIEIO

From: Ted Zlatanov
Subject: Re: bizarre byte-compile issue, possibly due to EIEIO
Date: Mon, 04 Apr 2011 05:18:42 -0500
User-agent: Gnus/5.110016 (No Gnus v0.16) Emacs/24.0.50 (gnu/linux)

On Sun, 03 Apr 2011 11:34:42 +0200 David Engster <address@hidden> wrote: 

DE> Here's what I observe:

DE> * The 'mapcar' method always works.
DE> * If you don't byte-compile, the 'loop' method will also work.
DE> * If you byte-compile, the 'loop' method will fail with Emacs24 *before*
DE>   the lexbind merge. After the lexbind merge, it works as expected.

Of course, I found and reported all of this right before the lexbind
merge.  Argh.

I took your mapcar version and used it.  Everything works now, and will
work in older Emacs versions too.

DE> Note that the :initform evaluation will not work with the EIEIO version
DE> which ships with Emacs23. I remember some discussions regarding this
DE> issue; it's probably best to use an explicit constructor. I included it
DE> in the test case (you have to uncomment it). When using the class w/
DE> constructor, you can also compile it under Emacs23, and the 'loop'
DE> method will then also fail. 

When I use the explicit constructor (commented out right now), many
tests fail.  Do you want to take a look at that?  It's the only
remaining merge blocker.

My changes are in the new "tzz-gnus-registry-rewrite" branch.  I won't
merge it until we're sure it works in Emacs 23 and 24.  I'll write the
manual changes and ChangeLog at that time too.

DE> The funny thing is that Emacs24 *after* the lexbind merge cannot run
DE> that byte-compiled code from Emacs23; is that to be expected?

I would assume major versions introduce binary incompatibilities, so I
wouldn't worry about that.


reply via email to

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