[Top][All Lists]

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

bizarre byte-compile issue, possibly due to EIEIO

From: Ted Zlatanov
Subject: bizarre byte-compile issue, possibly due to EIEIO
Date: Fri, 01 Apr 2011 15:29:38 -0500
User-agent: Gnus/5.110016 (No Gnus v0.16) Emacs/24.0.50 (gnu/linux)

Attached is a patch against the Gnus trunk (it applies in the Emacs
trunk, too) that introduces registry.el, a EIEIO-using library to manage
loose collections of data, and rewrites gnus-registry.el to use it.  I
can't push my changes to the Gnus trunk to demonstrate the problem
because gnus.org seems to be down for me.

Anyhow.  The problem is that something is screwed up in the Gnus build
and I think it's an Emacs byte-compile issue.  I'm using an Emacs build
from this morning, before the lexbind merge.

Here's the sequence (Gnus trunk):

git clone http://git.gnus.org/gnus.git
cd gnus

patch -p0 < registry.patch
# should modify lisp/{gnus-registry,spam,nnregistry}.el and create 

configure, make, etc...

cd lisp/
# generates registry.elc among others
emacs -batch -L . -l ert.el -l gnus-registry.el -f ert-run-tests-batch-and-exit
# fails 2 of 5 tests

rm registry.elc
emacs -batch -L . -l ert.el -l gnus-registry.el -f ert-run-tests-batch-and-exit
# passes 5 of 5 tests

In other words, the registry.elc file is breaking the tests.  I can't
figure out what's wrong, but it seems EIEIO-related.  If I try to
edebug, that evaluates the problematic methods (e.g. `registry-lookup')
and then they don't exhibit the problem.

Using "(eval-when-compile (require 'registry))" instead of 
"(require 'registry)" doesn't help.  All the registry.el ERT tests pass.

Does anyone have ideas about what's wrong?  It's driving me crazy :)


reply via email to

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