From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.devel Subject: erroneous byte-compilation during build process? Date: Tue, 02 May 2006 21:29:14 +0200 Message-ID: <87hd48p6np.fsf@escher.local.home> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1146598234 27668 80.91.229.2 (2 May 2006 19:30:34 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 2 May 2006 19:30:34 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue May 02 21:30:32 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Fb0Zb-0004Iv-AY for ged-emacs-devel@m.gmane.org; Tue, 02 May 2006 21:30:15 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Fb0Za-0001pC-NC for ged-emacs-devel@m.gmane.org; Tue, 02 May 2006 15:30:14 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Fb0Z1-0001Xr-FY for emacs-devel@gnu.org; Tue, 02 May 2006 15:29:39 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Fb0Z0-0001Wr-0n for emacs-devel@gnu.org; Tue, 02 May 2006 15:29:39 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Fb0Yz-0001We-5Q for emacs-devel@gnu.org; Tue, 02 May 2006 15:29:37 -0400 Original-Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1Fb0ZC-0005bQ-ED for emacs-devel@gnu.org; Tue, 02 May 2006 15:29:50 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1Fb0Yj-0004Di-Oh for emacs-devel@gnu.org; Tue, 02 May 2006 21:29:21 +0200 Original-Received: from i577badce.versanet.de ([87.123.173.206]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 02 May 2006 21:29:21 +0200 Original-Received: from Stephen.Berman by i577badce.versanet.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 02 May 2006 21:29:21 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-To: emacs-devel@gnu.org Original-Lines: 52 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: i577badce.versanet.de User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) 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:53808 Archived-At: I'm running GNU Emacs 22.0.50.14 (i686-pc-linux-gnu, GTK+ Version 2.8.10) of 2006-04-17. I think this build produced an erroneous byte-compiled file. As usual, I built Emacs after cvs up following the recommendation in INSTALL.CVS: $ ./configure --with-x-toolkit=gtk $ make $ cd lisp $ make recompile EMACS=../src/emacs $ cd .. $ su # make install With my current build, I have had no reproducible crashes or other serious problems, except that I have occasionally gotten a strange error while using recentf-mode (if I'm right below, the particulars of the error are, at least for now, irrelevant). The error doesn't usually arise when I use recentf-mode, so I had ignored it till recently. But the last time I got the error in ordinary use, I decide to try to debug it. I determined that it happens only under certain conditions, and I traced it to a certain lisp function call, but the strange thing is, when stepping through with edebug, the error failed to arise. Because of this, it occurred to me that the error might not be in recentf.el but in recentf.elc. So I made a fresh byte-compilation of the source file and copied it to the install directory and loaded recentf, making sure the conditions that give rise to error were satisfied, and sure enough, the error failed to occur. Then I reinstalled the original byte-compiled file and repeated the test, and got the error again. So I conclude that the recentf.elc made by building Emacs is somehow erroneous. Is my conclusion plausible? If so, is it cause for concern that there may be other erroneous byte-compiled files in the installation tree? And does this indicate a bug in the byte compiler, or could something else induce the error? The two recentf.elc files -- the one made by the build process and the one I byte-compiled from source -- differ in almost every line, as shown by diff -a, but I don't know what the differences mean: as far as I can tell, they only differ in cons cells like this: 19c19 < (defvar recentf-list nil (#$ . 677)) --- > (defvar recentf-list nil (#$ . 671)) I also disassembled the function where the error occurs, once with the original recentf.elc installed and once with the new byte-compilation I made, but the outputs were identical. Does this make sense? Is there a way to check the correctness of a byte-compilation of a source file? Steve Berman