From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.devel Subject: bizarre byte-compile issue, possibly due to EIEIO Date: Fri, 01 Apr 2011 15:29:38 -0500 Organization: =?utf-8?B?0KLQtdC+0LTQvtGAINCX0LvQsNGC0LDQvdC+0LI=?= @ Cienfuegos Message-ID: <87hbahww99.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1301689817 16652 80.91.229.12 (1 Apr 2011 20:30:17 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 1 Apr 2011 20:30:17 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 01 22:30:10 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Q5kyu-0005Xz-3W for ged-emacs-devel@m.gmane.org; Fri, 01 Apr 2011 22:30:08 +0200 Original-Received: from localhost ([127.0.0.1]:41478 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q5kyt-0007Ri-G2 for ged-emacs-devel@m.gmane.org; Fri, 01 Apr 2011 16:30:07 -0400 Original-Received: from [140.186.70.92] (port=54677 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q5kyj-0007OM-VG for emacs-devel@gnu.org; Fri, 01 Apr 2011 16:29:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q5kyf-00073w-Lg for emacs-devel@gnu.org; Fri, 01 Apr 2011 16:29:57 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:56148) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q5kyf-00073s-F1 for emacs-devel@gnu.org; Fri, 01 Apr 2011 16:29:53 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Q5kye-0005Kw-2f for emacs-devel@gnu.org; Fri, 01 Apr 2011 22:29:52 +0200 Original-Received: from 38.98.147.130 ([38.98.147.130]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 01 Apr 2011 22:29:52 +0200 Original-Received: from tzz by 38.98.147.130 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 01 Apr 2011 22:29:52 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 42 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 38.98.147.130 X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" User-Agent: Gnus/5.110016 (No Gnus v0.16) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:MaSbFG6XW2p2P4Bkaw+bne5s7S8= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:138030 Archived-At: 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 lisp/registry.el configure, make, etc... cd lisp/ make # 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 :) Thanks Ted