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: Re: erroneous byte-compilation during build process? Date: Tue, 02 May 2006 23:56:40 +0200 Message-ID: <874q08oztz.fsf@escher.local.home> References: <87hd48p6np.fsf@escher.local.home> <34798.128.165.123.132.1146599207.squirrel@webmail.lanl.gov> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1146607039 30440 80.91.229.2 (2 May 2006 21:57:19 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 2 May 2006 21:57:19 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue May 02 23:57:18 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 1Fb2rq-0000SL-Jc for ged-emacs-devel@m.gmane.org; Tue, 02 May 2006 23:57:15 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Fb2rq-0002P3-7A for ged-emacs-devel@m.gmane.org; Tue, 02 May 2006 17:57:14 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Fb2re-0002Od-AE for emacs-devel@gnu.org; Tue, 02 May 2006 17:57:02 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Fb2rc-0002OQ-Pm for emacs-devel@gnu.org; Tue, 02 May 2006 17:57:01 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Fb2rc-0002ON-LV for emacs-devel@gnu.org; Tue, 02 May 2006 17:57:00 -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 1Fb2rr-0004XK-1a for emacs-devel@gnu.org; Tue, 02 May 2006 17:57:15 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1Fb2rS-0000Nv-Kw for emacs-devel@gnu.org; Tue, 02 May 2006 23:56:50 +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 23:56:50 +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 23:56:50 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-To: emacs-devel@gnu.org Original-Lines: 84 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:53822 Archived-At: On Tue, 2 May 2006 12:46:47 -0700 (PDT) "Stuart D. Herring" wrote:=20 >> 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)) > > If these are the only changes, they're entirely irrelevant; the numbers > just indicate the places in the file where the documentation can be found. > The difference is probably a difference in the length of the file name > given in the comment block at the top. Check for other differences, or > make the file/path names the same length for testing. Thanks for the pointer. Now the diff -a output is much smaller, and it was easy to spot the differences; in fact, the very first diff of byte-compiled functions is the function where the error arises: 2c2 < ;;; Compiled by steve@escher.local.home on Sun Apr 16 17:30:57 2006 --- > ;;; Compiled by steve@escher.local.home on Tue May 2 23:06:58 2006 426c426 < (defalias 'recentf-open-files #[(&optional files buffer-name) "\204\f=00= \204\f=00\306\307!\210r\310\n\206=16=00\311\312=0B\"!q\210\313\314 =1C=1D\= 315\316\f@\"\210\315\316\fA\"\210\317 \210*\320 \210\321\322=0E.\203<=00\32= 3\202=3D=00\324\325\326$\210\327\211=1E/=0E=1A\205N=00=0E=1A\330H\230\204b= =00\331\332!\210\333\334\335\"\211=16=1A\330=0E/I\210)\336\337\340\341\342\= 343\344\345\206p=00 !BBBBB\"\210\337\346\347\350\351$\210\352\353!\210\354= \210\355p!)\207" [files recentf-list buffer-name recentf-menu-title ol inh= ibit-read-only error "There is no recent file to open" get-buffer-create fo= rmat "*%s*" t overlay-lists mapc delete-overlay erase-buffer recentf-dialog= -mode widget-insert "Click on a file" ", or type the corresponding digit ke= y," "" " to open it.\n" "Click on Cancel or type `q' to cancel.\n" "folder"= 0 make-local-variable tree-widget--theme make-vector 4 nil apply widget-cr= eate group :indent 2 :format "\n%v\n" recentf-open-files-items push-button = :notify recentf-cancel-dialog "Cancel" recentf-dialog-goto-first link widge= t-setup switch-to-buffer recentf-show-file-shortcuts-flag name] 10 (#$ . 43= 202) nil]) --- > (defalias 'recentf-open-files #[(&optional files buffer-name) "\204\f=00= \204\f=00\306\307!\210r\310\n\206=16=00\311\312=0B\"!q\210\313\314 =1C=1D\= 315\316\f@\"\210\315\316\fA\"\210\317 \210*\320 \210\321\322=0E)\203<=00\32= 3\202=3D=00\324\325\326$\210\327\330!\210\331\332\333\334\335\336\337\340\= 206R=00 !BBBBB\"\210\332\341\342\343\344$\210\345\346!\210\347 \210\350p!)\= 207" [files recentf-list buffer-name recentf-menu-title ol inhibit-read-onl= y error "There is no recent file to open" get-buffer-create format "*%s*" t= overlay-lists mapc delete-overlay erase-buffer recentf-dialog-mode widget-= insert "Click on a file" ", or type the corresponding digit key," "" " to o= pen it.\n" "Click on Cancel or type `q' to cancel.\n" tree-widget-set-theme= "folder" apply widget-create group :indent 2 :format "\n%v\n" recentf-open= -files-items push-button :notify recentf-cancel-dialog "Cancel" recentf-dia= log-goto-first link widget-setup switch-to-buffer recentf-show-file-shortcu= ts-flag] 9 (#$ . 43202) nil]) These differ only in the last few hundred characters, specifically here: < "folder" 0 make-local-variable tree-widget--theme make-vector 4 nil --- > tree-widget-set-theme "folder" and here: < recentf-show-file-shortcuts-flag name] 10 --- > recentf-show-file-shortcuts-flag] 9 (Subsequent differences in the diff -a output are only in the documentation cons cells, evidently due to the differing lengths of the above pieces of byte compiled code.) In fact, the first difference shows the reason for error I was getting (a missing call to tree-widget-set-theme). So this seems to prove that the original byte-compilation of recentf.el, produced by the build process, is erroneous. The question remains, how did this happen? Why did the Emacs build process yield an erroneous byte compilation, while my byte compilation of the same source yielded a correct one? Steve Berman