From unknown Fri Jun 20 20:07:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7145: elisp-code behaves differently after byte-compilation Resent-From: "Markus Sauermann" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Oct 2010 01:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 7145 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 7145@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.128598461615805 (code B ref -1); Sat, 02 Oct 2010 01:57:01 +0000 Received: (at submit) by debbugs.gnu.org; 2 Oct 2010 01:56:56 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P1rLM-00046s-Ad for submit@debbugs.gnu.org; Fri, 01 Oct 2010 21:56:56 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P1rFZ-00043e-GX for submit@debbugs.gnu.org; Fri, 01 Oct 2010 21:50:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P1rIS-0002X7-OJ for submit@debbugs.gnu.org; Fri, 01 Oct 2010 21:53:57 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, T_TO_NO_BRKTS_FREEMAIL autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([199.232.76.165]:46936) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P1rIS-0002X3-MQ for submit@debbugs.gnu.org; Fri, 01 Oct 2010 21:53:56 -0400 Received: from [140.186.70.92] (port=57014 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P1rIR-0005tf-KJ for bug-gnu-emacs@gnu.org; Fri, 01 Oct 2010 21:53:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P1rIQ-0002Wj-2L for bug-gnu-emacs@gnu.org; Fri, 01 Oct 2010 21:53:55 -0400 Received: from mailout-de.gmx.net ([213.165.64.22]:39167 helo=mail.gmx.net) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1P1rIP-0002WY-Lo for bug-gnu-emacs@gnu.org; Fri, 01 Oct 2010 21:53:54 -0400 Received: (qmail 21740 invoked by uid 0); 2 Oct 2010 01:53:50 -0000 Received: from 84.153.89.109 by www156.gmx.net with HTTP; Sat, 02 Oct 2010 03:53:49 +0200 (CEST) Content-Type: text/plain; charset="utf-8" Date: Sat, 02 Oct 2010 03:53:49 +0200 From: "Markus Sauermann" Message-ID: <20101002015349.23590@gmx.net> MIME-Version: 1.0 X-Authenticated: #2765835 X-Flags: 0001 X-Mailer: WWW-Mail 6100 (Global Message Exchange) X-Priority: 3 X-Provags-ID: V01U2FsdGVkX1+Av+pcMH6AT4Acr2bsIj0Xp4haz7uIiOHC0wJpia uFb36PmedJrf+PCGV0mFNfBvlHfD4k4Yn3yw== Content-Transfer-Encoding: 8bit X-GMX-UID: maKRe15wbGInT3JCR2Rna5tvcmZ1ZtxE X-FuHaFi: 0.67000000000000004 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Spam-Score: -5.9 (-----) X-Mailman-Approved-At: Fri, 01 Oct 2010 21:56:55 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.9 (-----) Hi, I understand that byte-compiled code should do the same as the uncompiled code (besides the macro-expansion problematic) The following code however shows a case where this is not the case. --- BEGIN CODE --- (let ((fun (lambda () (let ((bar "foo") (baz "foo")) (eq bar baz))))) (list (funcall (byte-compile fun)) (funcall fun))) --- END CODE--- Evaluation this code (don't try to byte-compile it, because it is buggy ;-) ) results in: --- BEGIN OUTPUT --- (t nil) --- END OUTPUT --- which clearly means the byte compiation is somewhat broken. It seems during compilation the two strings "foo" are treated as the same string. Regards Markus -- Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief! Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail From unknown Fri Jun 20 20:07:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7145: elisp-code behaves differently after byte-compilation Resent-From: Andreas Schwab Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Oct 2010 08:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7145 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: "Markus Sauermann" Cc: 7145@debbugs.gnu.org Received: via spool by 7145-submit@debbugs.gnu.org id=B7145.128600951126115 (code B ref 7145); Sat, 02 Oct 2010 08:52:02 +0000 Received: (at 7145) by debbugs.gnu.org; 2 Oct 2010 08:51:51 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P1xot-0006nA-3j for submit@debbugs.gnu.org; Sat, 02 Oct 2010 04:51:51 -0400 Received: from mail-out.m-online.net ([212.18.0.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P1xor-0006n5-54 for 7145@debbugs.gnu.org; Sat, 02 Oct 2010 04:51:49 -0400 Received: from frontend1.mail.m-online.net (unknown [192.168.8.180]) by mail-out.m-online.net (Postfix) with ESMTP id BE92C1C000FE; Sat, 2 Oct 2010 10:54:48 +0200 (CEST) X-Auth-Info: 8PwIi0UfDs1lLbwGyXLOYopCN4D55vv4Tkb1qv8j6KY= Received: from whitebox.home (ppp-88-217-97-255.dynamic.mnet-online.de [88.217.97.255]) by mail.mnet-online.de (Postfix) with ESMTPA id 80B8B1C001EA; Sat, 2 Oct 2010 10:54:48 +0200 (CEST) Received: by whitebox.home (Postfix, from userid 501) id B435C1E52EE; Sat, 2 Oct 2010 10:54:47 +0200 (CEST) From: Andreas Schwab References: <20101002015349.23590@gmx.net> X-Yow: Hey!! Let's watch the' ELEVATOR go UP and DOWN at th' HILTON HOTEL!! Date: Sat, 02 Oct 2010 10:54:47 +0200 In-Reply-To: <20101002015349.23590@gmx.net> (Markus Sauermann's message of "Sat, 02 Oct 2010 03:53:49 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) "Markus Sauermann" writes: > The following code however shows a case where this is not the case. > > --- BEGIN CODE --- > (let ((fun (lambda () (let ((bar "foo") > (baz "foo")) > (eq bar baz))))) > (list (funcall (byte-compile fun)) > (funcall fun))) > --- END CODE--- > > Evaluation this code (don't try to byte-compile it, because it is buggy ;-) ) results in: > > --- BEGIN OUTPUT --- > (t nil) > --- END OUTPUT --- This is not a bug. You cannot depend on the uniqueness of literal strings. If you want to compare strings you should use equal. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." From unknown Fri Jun 20 20:07:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7145: elisp-code behaves differently after byte-compilation Resent-From: Johan =?UTF-8?Q?Bockg=C3=A5rd?= Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Oct 2010 10:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7145 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Andreas Schwab Cc: Markus Sauermann , 7145@debbugs.gnu.org Received: via spool by 7145-submit@debbugs.gnu.org id=B7145.128601590328779 (code B ref 7145); Sat, 02 Oct 2010 10:39:02 +0000 Received: (at 7145) by debbugs.gnu.org; 2 Oct 2010 10:38:23 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P1zTz-0007U8-6p for submit@debbugs.gnu.org; Sat, 02 Oct 2010 06:38:23 -0400 Received: from smtprelay-h32.telenor.se ([213.150.131.5]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P1zTw-0007U2-1n for 7145@debbugs.gnu.org; Sat, 02 Oct 2010 06:38:21 -0400 Received: from ipb4.telenor.se (ipb4.telenor.se [195.54.127.167]) by smtprelay-h32.telenor.se (Postfix) with ESMTP id D64DDE9D0D for <7145@debbugs.gnu.org>; Sat, 2 Oct 2010 12:41:19 +0200 (CEST) X-SENDER-IP: [85.228.194.58] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuE9AK2opkxV5MI6PGdsb2JhbACHb5pNDAEBAQE1LcI4hUQE X-IronPort-AV: E=Sophos;i="4.57,271,1283724000"; d="scan'208";a="1677863980" Received: from c-3ac2e455.04-211-6c6b701.cust.bredbandsbolaget.se (HELO muon.localdomain) ([85.228.194.58]) by ipb4.telenor.se with ESMTP; 02 Oct 2010 12:41:19 +0200 Received: by muon.localdomain (Postfix, from userid 1000) id B35694841FA; Sat, 2 Oct 2010 12:41:18 +0200 (CEST) From: Johan =?UTF-8?Q?Bockg=C3=A5rd?= References: <20101002015349.23590@gmx.net> Mail-Copies-To: never Date: Sat, 02 Oct 2010 12:41:18 +0200 In-Reply-To: (Andreas Schwab's message of "Sat, 02 Oct 2010 10:54:47 +0200") Message-ID: <877hi0zxkh.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Andreas Schwab writes: > "Markus Sauermann" writes: > >> The following code however shows a case where this is not the case. >> >> --- BEGIN CODE --- >> (let ((fun (lambda () (let ((bar "foo") >> (baz "foo")) >> (eq bar baz))))) >> (list (funcall (byte-compile fun)) >> (funcall fun))) >> --- END CODE--- >> >> Evaluation this code (don't try to byte-compile it, because it is buggy ;-) ) results in: >> >> --- BEGIN OUTPUT --- >> (t nil) >> --- END OUTPUT --- > > This is not a bug. But this is, IMO: (progn (defsubst spooky-action-at-a-distance () (let ((a (concat "a" "bc"))) (store-substring a 0 "123"))) (defun foo () (spooky-action-at-a-distance) (concat "ab" "c")) (byte-compile 'foo) (foo)) => "123" From unknown Fri Jun 20 20:07:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7145: elisp-code behaves differently after byte-compilation Resent-From: Chong Yidong Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Oct 2010 05:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7145 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Andreas Schwab Cc: Markus Sauermann , 7145@debbugs.gnu.org Received: via spool by 7145-submit@debbugs.gnu.org id=B7145.128608259414064 (code B ref 7145); Sun, 03 Oct 2010 05:10:03 +0000 Received: (at 7145) by debbugs.gnu.org; 3 Oct 2010 05:09:54 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P2Gpd-0003en-T2 for submit@debbugs.gnu.org; Sun, 03 Oct 2010 01:09:54 -0400 Received: from pantheon-po43.its.yale.edu ([130.132.50.104]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P2Gpb-0003eh-N9 for 7145@debbugs.gnu.org; Sun, 03 Oct 2010 01:09:52 -0400 Received: from furry (adsl-99-111-197-225.dsl.wlfrct.sbcglobal.net [99.111.197.225]) (authenticated bits=0) by pantheon-po43.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id o935CrH7004007 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 3 Oct 2010 01:12:54 -0400 Received: by furry (Postfix, from userid 1000) id 4BE7CC018; Sun, 3 Oct 2010 01:12:53 -0400 (EDT) From: Chong Yidong References: <20101002015349.23590@gmx.net> <877hi0zxkh.fsf@gnu.org> Date: Sun, 03 Oct 2010 01:12:53 -0400 In-Reply-To: <877hi0zxkh.fsf@gnu.org> ("Johan =?UTF-8?Q?Bockg=C3=A5rd?="'s message of "Sat, 02 Oct 2010 12:41:18 +0200") Message-ID: <87k4lz271m.fsf@stupidchicken.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed) X-Spam-Score: -2.6 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Johan Bockg=C3=A5rd writes: > But this is, IMO: > > (progn > (defsubst spooky-action-at-a-distance () > (let ((a (concat "a" "bc"))) > (store-substring a 0 "123"))) > > (defun foo () > (spooky-action-at-a-distance) > (concat "ab" "c")) > > (byte-compile 'foo) > (foo)) > > =3D> "123" I think we're just going to have to ask people not to do that... From unknown Fri Jun 20 20:07:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#7145: elisp-code behaves differently after byte-compilation Resent-From: Markus Sauermann Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 Oct 2010 17:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7145 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: wontfix To: Chong Yidong Cc: 7145@debbugs.gnu.org, Andreas Schwab Received: via spool by 7145-submit@debbugs.gnu.org id=B7145.128630005621534 (code B ref 7145); Tue, 05 Oct 2010 17:35:02 +0000 Received: (at 7145) by debbugs.gnu.org; 5 Oct 2010 17:34:16 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1P3BP6-0005bH-4C for submit@debbugs.gnu.org; Tue, 05 Oct 2010 13:34:16 -0400 Received: from mailout-de.gmx.net ([213.165.64.22] helo=mail.gmx.net) by debbugs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1P3BP0-0005b7-HJ for 7145@debbugs.gnu.org; Tue, 05 Oct 2010 13:34:15 -0400 Received: (qmail invoked by alias); 05 Oct 2010 17:37:18 -0000 Received: from p54993D7D.dip.t-dialin.net (EHLO [192.168.1.100]) [84.153.61.125] by mail.gmx.net (mp072) with SMTP; 05 Oct 2010 19:37:18 +0200 X-Authenticated: #2765835 X-Provags-ID: V01U2FsdGVkX193mAI0BfF3uBJY4rjLKH3OAZUqaLoM1jrueZxHaX Q/nidzCQMzbPhC Message-ID: <4CAB623F.5000707@gmx.de> Date: Tue, 05 Oct 2010 19:37:03 +0200 From: Markus Sauermann User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 MIME-Version: 1.0 References: <20101002015349.23590@gmx.net> <877hi0zxkh.fsf@gnu.org> <87k4lz271m.fsf@stupidchicken.com> In-Reply-To: <87k4lz271m.fsf@stupidchicken.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Spam-Score: -4.3 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.7 (---) Hi, Am 03.10.2010 07:12, schrieb Chong Yidong: > > I think we're just going to have to ask people not to do that... > it looks like an undocumented feature ;-) Here is a suggestion for a patch for the documentation (trunk of emacs Bazaar repository) --- BEGIN --- === modified file 'doc/lispref/objects.texi' --- doc/lispref/objects.texi 2010-08-19 23:23:13 +0000 +++ doc/lispref/objects.texi 2010-10-05 18:00:58 +0000 @@ -1999,6 +1999,17 @@ @result{} nil @end group @end example + +Be aware that byte-compiling a comparison of strings with @code{eq} +might give unexpected results. + +@example +@group +(funcall (byte-compile (lambda () (let ((foo "bar")) + (eq foo "bar"))))) + @result{} t +@end group +@end example @end defun @defun equal object1 object2 --- END --- Regards Markus From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 14 10:22:45 2011 Received: (at control) by debbugs.gnu.org; 14 Jul 2011 14:22:45 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QhMoO-0005Pf-Ur for submit@debbugs.gnu.org; Thu, 14 Jul 2011 10:22:45 -0400 Received: from hermes.netfonds.no ([80.91.224.195]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QhMoN-0005PT-Ew for control@debbugs.gnu.org; Thu, 14 Jul 2011 10:22:43 -0400 Received: from cm-84.215.51.58.getinternet.no ([84.215.51.58] helo=quimbies.gnus.org) by hermes.netfonds.no with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1QhMoC-0007bo-Hn for control@debbugs.gnu.org; Thu, 14 Jul 2011 16:22:32 +0200 Date: Thu, 14 Jul 2011 16:22:31 +0200 Message-Id: To: control@debbugs.gnu.org From: Lars Magne Ingebrigtsen Subject: control message for bug #7145 X-MailScanner-ID: 1QhMoC-0007bo-Hn X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1311258152.70339@z8gwm9ZBnmxhuWwWjEtflg X-Spam-Status: No X-Spam-Score: -2.7 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.7 (--) close 7145