From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Thu, 04 Jun 2009 21:20:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: report 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.124415009721814 (code B ref -1); Thu, 04 Jun 2009 21:20:04 +0000 Received: (at submit) by emacsbugs.donarmstrong.com; 4 Jun 2009 21:14:57 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-0.9 required=4.0 tests=AWL autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n54LErUn021809 for ; Thu, 4 Jun 2009 14:14:54 -0700 Received: from mail.gnu.org ([199.232.76.166]:47873 helo=mx10.gnu.org) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1MCKGy-00021T-RE for emacs-pretest-bug@gnu.org; Thu, 04 Jun 2009 17:14:53 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1MCKGx-0000na-RY for emacs-pretest-bug@gnu.org; Thu, 04 Jun 2009 17:14:52 -0400 Received: from mail-fx0-f217.google.com ([209.85.220.217]:35510) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MCKGx-0000nM-EC for emacs-pretest-bug@gnu.org; Thu, 04 Jun 2009 17:14:51 -0400 Received: by fxm17 with SMTP id 17so1159425fxm.42 for ; Thu, 04 Jun 2009 14:14:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=bdyDq8d0PhTAKW/8ltUtOGr9i1Hu2Dcd8PE1JJTiB7s=; b=cCKH4R2Rii2ta216cy9qY9uIPV6sd/rgcxvzkqw5yFZUA+HFPApvG6XMBmCIU2vLOI vKq0Yw4W3jZ8vL3bEWgQyc8XDcJ1BWsVNIBq2oNgpzmIf0Ftt2o+Oa8S3Xvyglljtj5s 0dhLF2QM48JhNEFkkIYo4Uo3elIwvLg6xA7ko= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=vfeGhUnowsaFc8eW5/0jjUG0BK0AYwkuFIcpf3w8pb0qTlJ5GTbz6VTtDVGKbLjr4+ xlx1PSoYJ22CUsYajJtZMu0f6fZb6gy1RkwJTd+bmOYoF3ENWRboyLqPoP88DLpisHb8 oXU5Y5XoLiMGlvJE9iaTf6MMxVpNG0/++1Frk= MIME-Version: 1.0 Received: by 10.239.175.146 with SMTP id n18mr217539hbf.16.1244150090002; Thu, 04 Jun 2009 14:14:50 -0700 (PDT) Date: Thu, 4 Jun 2009 23:14:49 +0200 Message-ID: From: Lennart Borgman To: emacs-pretest-bug@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) If you eval these lines (defvar w14 "global") (defvar w15 "global") (let ((w14 "let") (w15 "let")) (set (make-local-variable 'w14) "local") (message "w14 maybe let: in buffer=%S, global=%S" w14 (default-value 'w14)) (message "w15 maybe let: in buffer=%S, global=%S" w15 (default-value 'w15))) (message "w14 top level: in buffer=%S, global=%S" w14 (default-value 'w14)) (message "w15 top level: in buffer=%S, global=%S" w15 (default-value 'w15)) the output will be w14 maybe let: in buffer="local", global="let" w15 maybe let: in buffer="let", global="let" w14 top level: in buffer="global", global="let" w15 top level: in buffer="global", global="global" All values here except w14 global value on next last line are arguably correct. The last value of w14 should be "global", not "let". It looks like perhaps the call to (make-local-variable w14) does not mark the "global let" value of w14 as let bound (or removes that mark). In GNU Emacs 23.0.94.1 (i386-mingw-nt5.1.2600) of 2009-05-23 Windowing system distributor `Microsoft Corp.', version 5.1.2600 configured using `configure --with-gcc (3.4) --no-opt --cflags -Ic:/g/include -fno-crossjumping' From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 05 Jun 2009 14:30:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 3467-submit@emacsbugs.donarmstrong.com id=B3467.12442117035488 (code B ref 3467); Fri, 05 Jun 2009 14:30:04 +0000 Received: (at 3467) by emacsbugs.donarmstrong.com; 5 Jun 2009 14:21:43 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-4.4 required=4.0 tests=AWL,GMAIL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.156]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n55ELcKk005483 for <3467@emacsbugs.donarmstrong.com>; Fri, 5 Jun 2009 07:21:40 -0700 Received: by fg-out-1718.google.com with SMTP id e12so198225fga.20 for <3467@emacsbugs.donarmstrong.com>; Fri, 05 Jun 2009 07:21:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=tlPiGt/6aSEqY/yA+qToFqAMaLpEbc+AmdHhW6EYL7E=; b=TDC1rGh9PjPuYZ+zBcxK6iHIW494tbmsbzEc6aMJi4eCdAMCRrqmfJ18Cy9Ro1y5gL g4opeH/X2I4LnsHeEuHEJtHHl8NvRzviLRv2WFu1OcpTO1Q0hX4q0WG6RXGUSwnkCoi4 weqL/jsBRiiqSASI7remJvyZJtq2VH+VSqCgk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=A+dT99wZR0UMJ+2uMQT6nyEJbAnoyeTOiapJUh82HXg0idpkQXzZb38dKCtvZfWHs1 3BX0Vr8014CmcOSm6CHGxFYWKWwnfYdpnpOdu8Ym6gSQbvY0RpwwpHt/l9+CwMoRDkYz FrVpMyew3gGffGh3/D4kT4pSSJtyFS5VuaXWc= MIME-Version: 1.0 Received: by 10.239.136.202 with SMTP id i10mr256432hbi.151.1244211697819; Fri, 05 Jun 2009 07:21:37 -0700 (PDT) In-Reply-To: References: Date: Fri, 5 Jun 2009 16:21:37 +0200 Message-ID: From: Lennart Borgman To: 3467@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Thu, Jun 4, 2009 at 11:14 PM, Lennart Borgman wrote: > If you eval these lines > > =C2=A0(defvar w14 "global") > =C2=A0(defvar w15 "global") > =C2=A0(let ((w14 "let") > =C2=A0 =C2=A0 =C2=A0 =C2=A0(w15 "let")) > =C2=A0 =C2=A0(set (make-local-variable 'w14) "local") > =C2=A0 =C2=A0(message "w14 maybe let: in buffer=3D%S, global=3D%S" w14 (d= efault-value 'w14)) > =C2=A0 =C2=A0(message "w15 maybe let: in buffer=3D%S, global=3D%S" w15 (d= efault-value 'w15))) > =C2=A0(message "w14 top level: in buffer=3D%S, global=3D%S" w14 (default-= value 'w14)) > =C2=A0(message "w15 top level: in buffer=3D%S, global=3D%S" w15 (default-= value 'w15)) > > the output will be > > =C2=A0w14 maybe let: in buffer=3D"local", global=3D"let" > =C2=A0w15 maybe let: in buffer=3D"let", global=3D"let" > =C2=A0w14 top level: in buffer=3D"global", global=3D"let" > =C2=A0w15 top level: in buffer=3D"global", global=3D"global" > > All values here except w14 global value on next last line are arguably > correct. The last value of w14 should be "global", not "let". > > It looks like perhaps the call to (make-local-variable w14) does not > mark the "global let" value of w14 as let bound (or removes that > mark). I think the semantics of let, make-variable-buffer-local and buffer local variables must be examined a bit to clarify this: I think let should preserve "buffer localness" otherwise it might do something quite different from what a user probably expect. Fortunately this as far as I can see requires only a change in Flet. After Fprogn and before calling unbound_to the variable values must be reset to those matching the buffer and frame localness before let. spec_bind has saved the buffer and frame localness just before Fprogn so I guess one can compare with what is saved there. However no one would want me to write the C code for this... ;-) - Someone who is better than me at that should preferrably do it. (BTW: gmail does not automatically enter the reply address when I make a reply to the original bug mail. Is that a bug in gmail?) From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Stefan Monnier , 3467@debbugs.gnu.org Resent-From: Stefan Monnier Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 05 Jun 2009 14:45:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.12442126267548 (code B ref -1); Fri, 05 Jun 2009 14:45:04 +0000 Received: (at submit) by emacsbugs.donarmstrong.com; 5 Jun 2009 14:37:06 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.9 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n55Eb0kV007536 for ; Fri, 5 Jun 2009 07:37:02 -0700 Received: from mail.gnu.org ([199.232.76.166]:57936 helo=mx10.gnu.org) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1MCaXU-0005MX-8k for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 10:37:00 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1MCaXS-0005UZ-B9 for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 10:36:59 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:34208) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MCaXS-0005US-2B for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 10:36:58 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnsFAOPKKEpLd+nI/2dsb2JhbACBT9AlhAoFhgc X-IronPort-AV: E=Sophos;i="4.41,312,1241409600"; d="scan'208";a="39684092" Received: from 75-119-233-200.dsl.teksavvy.com (HELO pastel.home) ([75.119.233.200]) by ironport2-out.teksavvy.com with ESMTP; 05 Jun 2009 10:36:57 -0400 Received: by pastel.home (Postfix, from userid 20848) id 46FAC87CA; Fri, 5 Jun 2009 10:36:57 -0400 (EDT) From: Stefan Monnier To: Lennart Borgman Cc: 3467@debbugs.gnu.org, emacs-pretest-bug@gnu.org Message-ID: References: Date: Fri, 05 Jun 2009 10:36:57 -0400 In-Reply-To: (Lennart Borgman's message of "Thu, 4 Jun 2009 23:14:49 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.94 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. > If you eval these lines > (defvar w14 "global") > (defvar w15 "global") > (let ((w14 "let") > (w15 "let")) > (set (make-local-variable 'w14) "local") > (message "w14 maybe let: in buffer=%S, global=%S" w14 (default-value 'w14)) > (message "w15 maybe let: in buffer=%S, global=%S" w15 (default-value 'w15))) > (message "w14 top level: in buffer=%S, global=%S" w14 (default-value 'w14)) > (message "w15 top level: in buffer=%S, global=%S" w15 (default-value 'w15)) > the output will be > w14 maybe let: in buffer="local", global="let" > w15 maybe let: in buffer="let", global="let" > w14 top level: in buffer="global", global="let" > w15 top level: in buffer="global", global="global" > All values here except w14 global value on next last line are arguably > correct. The last value of w14 should be "global", not "let". > It looks like perhaps the call to (make-local-variable w14) does not > mark the "global let" value of w14 as let bound (or removes that > mark). Given the way let-binding and buffer-local bindings are currently implemented, it's difficult to make it work correctly in all corner cases, and even more so without slowing down the common case. So don't hold your breath. Stefan From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 05 Jun 2009 15:10:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.124421425111053 (code B ref -1); Fri, 05 Jun 2009 15:10:05 +0000 Received: (at submit) by emacsbugs.donarmstrong.com; 5 Jun 2009 15:04:11 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.4 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=unavailable version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n55F4713011043 for ; Fri, 5 Jun 2009 08:04:08 -0700 Received: from mx10.gnu.org ([199.232.76.166]:59238) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1MCaxi-00063i-W8 for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 11:04:07 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1MCaxi-0002uD-8s for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 11:04:06 -0400 Received: from mail-bw0-f211.google.com ([209.85.218.211]:40013) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MCaxh-0002rc-Cd for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 11:04:05 -0400 Received: by bwz7 with SMTP id 7so223001bwz.42 for ; Fri, 05 Jun 2009 08:04:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=stjYHltUdISLoYjDKKhfmW0Rkt4uWgxJqmnTKpWvw/g=; b=NfrwFT6OAtnzQ4faUw361lIVBl3KMKkHAeUctcsFj5BBzXctARDz3zcXAHGdO9r+/H A3/U9KiFnBy9ilStDAlAifQuVGgWo8IHLQC9tsLQrcVwXjfUFdz9M/6v13khZRGlluEh 2N3wu52NoGfL0ej0hrKYly2EJh43XDz5rGF+k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=kkXVfBhmCup6w/pk3McetCkg+olMbK/p4XZb9wOgpyk4+xmhwF9lR9Kw8WOlmOWFxV 9jXh9YjgVdHA/UdjjOLKO7xyKvBKcWsSSKbEQ8QjZRxRNGwygLmWKGUqx2cv22Pjccau ftrrgmQWjhq9HLlyXpii3N+qJiSHipR/SwJkA= MIME-Version: 1.0 Received: by 10.239.133.65 with SMTP id 1mr269705hbu.150.1244214241516; Fri, 05 Jun 2009 08:04:01 -0700 (PDT) In-Reply-To: References: Date: Fri, 5 Jun 2009 17:04:01 +0200 Message-ID: From: Lennart Borgman To: Stefan Monnier Cc: 3467@debbugs.gnu.org, emacs-pretest-bug@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) On Fri, Jun 5, 2009 at 4:36 PM, Stefan Monnier wr= ote: >> If you eval these lines >> =C2=A0 (defvar w14 "global") >> =C2=A0 (defvar w15 "global") >> =C2=A0 (let ((w14 "let") >> =C2=A0 =C2=A0 =C2=A0 =C2=A0 (w15 "let")) >> =C2=A0 =C2=A0 (set (make-local-variable 'w14) "local") >> =C2=A0 =C2=A0 (message "w14 maybe let: in buffer=3D%S, global=3D%S" w14 = (default-value 'w14)) >> =C2=A0 =C2=A0 (message "w15 maybe let: in buffer=3D%S, global=3D%S" w15 = (default-value 'w15))) >> =C2=A0 (message "w14 top level: in buffer=3D%S, global=3D%S" w14 (defaul= t-value 'w14)) >> =C2=A0 (message "w15 top level: in buffer=3D%S, global=3D%S" w15 (defaul= t-value 'w15)) > >> the output will be > >> =C2=A0 w14 maybe let: in buffer=3D"local", global=3D"let" >> =C2=A0 w15 maybe let: in buffer=3D"let", global=3D"let" >> =C2=A0 w14 top level: in buffer=3D"global", global=3D"let" >> =C2=A0 w15 top level: in buffer=3D"global", global=3D"global" > >> All values here except w14 global value on next last line are arguably >> correct. The last value of w14 should be "global", not "let". > >> It looks like perhaps the call to (make-local-variable w14) does not >> mark the "global let" value of w14 as let bound (or removes that >> mark). > > Given the way let-binding and buffer-local bindings are currently > implemented, it's difficult to make it work correctly in all corner > cases, and even more so without slowing down the common case. > So don't hold your breath. I gave a suggestion in the next message for how to implement this: Check buffer and frame localness before unbind_to in Flet. Would that really be expensive? From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 05 Jun 2009 22:55:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.124424210612657 (code B ref -1); Fri, 05 Jun 2009 22:55:04 +0000 Received: (at submit) by emacsbugs.donarmstrong.com; 5 Jun 2009 22:48:26 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL,GMAIL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n55MmKed012651 for ; Fri, 5 Jun 2009 15:48:21 -0700 Received: from mail.gnu.org ([199.232.76.166]:46972 helo=mx10.gnu.org) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1MCiCx-0004TT-B8 for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 18:48:19 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1MCiCw-0000Hn-KV for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 18:48:19 -0400 Received: from mail-fx0-f217.google.com ([209.85.220.217]:62745) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MCiCw-0000HZ-6K for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 18:48:18 -0400 Received: by fxm17 with SMTP id 17so1991410fxm.42 for ; Fri, 05 Jun 2009 15:48:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=ruI7zdqYEvJM+iHyH7qVhRoybgdczgvNw10Wq6Nit+o=; b=bazmt50qI3e8/7mxlxPKmllgYdD9HL2M6aVWlLlij1+0b/o68OCdsQ5A4+KjukJFnL A4V3hDNf2pfeeSTKR/w7jrE8NTdS39iX+1eiwc/G/hEmqXi7THSU3C71Fx8EMFcla6I4 fthJMMqkoNALP/2EdOJ7Q9uLS8okfRwiU0Z3E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=bEY/j4IiceCWRo4g1CEuJ3CYnkirqbxnvBF/Kkif7gl8ZdkVL8Hkuqls2zxI42OLpB WNwNgGUPowq0/ZdN5+A2MBHVNliTr2OA6kuvqNoni7pr0mRdpo8wyjKAN+VeYm4hTyfH HJvRYQl8ctnzrfzroOIFMHldNToo2wIpuJSkM= MIME-Version: 1.0 Received: by 10.239.179.6 with SMTP id b6mr292609hbg.161.1244242096862; Fri, 05 Jun 2009 15:48:16 -0700 (PDT) In-Reply-To: References: Date: Sat, 6 Jun 2009 00:48:16 +0200 Message-ID: From: Lennart Borgman To: Stefan Monnier Cc: 3467@debbugs.gnu.org, emacs-pretest-bug@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) On Fri, Jun 5, 2009 at 5:04 PM, Lennart Borgman wrote: > On Fri, Jun 5, 2009 at 4:36 PM, Stefan Monnier = wrote: >>> If you eval these lines >>> =C2=A0 (defvar w14 "global") >>> =C2=A0 (defvar w15 "global") >>> =C2=A0 (let ((w14 "let") >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 (w15 "let")) >>> =C2=A0 =C2=A0 (set (make-local-variable 'w14) "local") >>> =C2=A0 =C2=A0 (message "w14 maybe let: in buffer=3D%S, global=3D%S" w14= (default-value 'w14)) >>> =C2=A0 =C2=A0 (message "w15 maybe let: in buffer=3D%S, global=3D%S" w15= (default-value 'w15))) >>> =C2=A0 (message "w14 top level: in buffer=3D%S, global=3D%S" w14 (defau= lt-value 'w14)) >>> =C2=A0 (message "w15 top level: in buffer=3D%S, global=3D%S" w15 (defau= lt-value 'w15)) >> >>> the output will be >> >>> =C2=A0 w14 maybe let: in buffer=3D"local", global=3D"let" >>> =C2=A0 w15 maybe let: in buffer=3D"let", global=3D"let" >>> =C2=A0 w14 top level: in buffer=3D"global", global=3D"let" >>> =C2=A0 w15 top level: in buffer=3D"global", global=3D"global" >> >>> All values here except w14 global value on next last line are arguably >>> correct. The last value of w14 should be "global", not "let". >> >>> It looks like perhaps the call to (make-local-variable w14) does not >>> mark the "global let" value of w14 as let bound (or removes that >>> mark). >> >> Given the way let-binding and buffer-local bindings are currently >> implemented, it's difficult to make it work correctly in all corner >> cases, and even more so without slowing down the common case. >> So don't hold your breath. > > I gave a suggestion in the next message for how to implement this: > Check buffer and frame localness before unbind_to in Flet. Would that > really be expensive? Sigh, and my suggestion was of course unnecessary stupid. What is needed is of course to record values and frame+buffer localness and dito values and reset them. Nothing less than this will ever work correctly, or? And does not this apply to all uses of specbind + unbind_to? Can it be sufficient to just change specbind and unbind_to? Is there anything else that will be affected by changes in the specbind stack? Since info about buffer+frame is alwas needed should specbinding be changed to the below form? struct specbinding { Lisp_Object symbol; Lisp_Object old_value; Lisp_Object old_buffer_value; Lisp_Object old_frame_value; specbinding_func func; Lisp_Object unused; /* Dividing by 16 is faster than by 12 */ Lisp_Object unused; Lisp_Object unused; }; Is this structure used by other functions than specbind and unbind_to? From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 05 Jun 2009 23:15:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.124424331116017 (code B ref -1); Fri, 05 Jun 2009 23:15:04 +0000 Received: (at submit) by emacsbugs.donarmstrong.com; 5 Jun 2009 23:08:31 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL,GMAIL,HAS_BUG_NUMBER autolearn=unavailable version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n55N8R0J016006 for ; Fri, 5 Jun 2009 16:08:28 -0700 Received: from mail.gnu.org ([199.232.76.166]:47652 helo=mx10.gnu.org) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1MCiWL-0005Gf-Ky for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 19:08:21 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1MCiWK-0003SD-V0 for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 19:08:21 -0400 Received: from mail-bw0-f227.google.com ([209.85.218.227]:38830) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MCiWK-0003S7-Kc for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 19:08:20 -0400 Received: by bwz27 with SMTP id 27so18542bwz.42 for ; Fri, 05 Jun 2009 16:08:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=YMyxtgJb8QSg4Aj9OX7dEDC7LUa2BUOw5s919W9kMy8=; b=fihqhAZhhuKxzEiPx/Qb7elUiZm8X91I9FI1MjS9KXffTbNzwQWLA/6ePXvKDH0v2B 9iM3fXPgoTIHy1rtB9G5Cr8IBAwUegY3wwTrD/Xcb61s9TY4FDPus7f8p9oK/kfmweGY ZJCRqKH9rjDR5pn3/QZRLDXl9xL/R2db+SabU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=l6XTXxDLpMZEYF+a8swWijGkfBcgrVs0oLM1+ErvrDM9TuxFb0q0rFlbPJfD7Qn9Ns 3yJ4h9kibESHBL27Zmqfw8JmTbk+dodUS4eLwJJthAPv1Qoz09ND+v+g4p0EMfGS7KM/ 8P3u8lPirIR8gWY//J/FI2At366Opl44hddVI= MIME-Version: 1.0 Received: by 10.239.156.139 with SMTP id m11mr314553hbc.65.1244243297882; Fri, 05 Jun 2009 16:08:17 -0700 (PDT) In-Reply-To: References: Date: Sat, 6 Jun 2009 01:08:17 +0200 Message-ID: From: Lennart Borgman To: Stefan Monnier Cc: 3467@debbugs.gnu.org, emacs-pretest-bug@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-CrossAssassin-Score: 2 On Sat, Jun 6, 2009 at 12:48 AM, Lennart Borgman wrote: > > Sigh, and my suggestion was of course unnecessary stupid. What is > needed is of course to record values and frame+buffer localness and > dito values and reset them. Nothing less than this will ever work > correctly, or? > > And does not this apply to all uses of specbind + unbind_to? > > Can it be sufficient to just change specbind and unbind_to? Is there > anything else that will be affected by changes in the specbind stack? > Since info about buffer+frame is alwas needed should specbinding be > changed to the below form? > > struct specbinding > =C2=A0{ > =C2=A0 =C2=A0Lisp_Object symbol; > =C2=A0 =C2=A0Lisp_Object old_value; > =C2=A0 =C2=A0Lisp_Object old_buffer_value; > =C2=A0 =C2=A0Lisp_Object old_frame_value; > =C2=A0 =C2=A0specbinding_func func; > =C2=A0 =C2=A0Lisp_Object unused; =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Dividing = by 16 is faster than by 12 */ > =C2=A0 =C2=A0Lisp_Object unused; > =C2=A0 =C2=A0Lisp_Object unused; > =C2=A0}; > > Is this structure used by other functions than specbind and unbind_to? ... and defvar ... but I do not think there are any more uses of specbinding's structure. Or does some allocation need to change? From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 05 Jun 2009 23:40:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.124424473019284 (code B ref -1); Fri, 05 Jun 2009 23:40:06 +0000 Received: (at submit) by emacsbugs.donarmstrong.com; 5 Jun 2009 23:32:10 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL,GMAIL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n55NW6D8019279 for ; Fri, 5 Jun 2009 16:32:07 -0700 Received: from mail.gnu.org ([199.232.76.166]:48251 helo=mx10.gnu.org) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1MCitJ-0005tD-Qs for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 19:32:05 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1MCitJ-000745-Ao for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 19:32:05 -0400 Received: from mail-fx0-f217.google.com ([209.85.220.217]:63177) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MCitJ-00073z-1O for emacs-pretest-bug@gnu.org; Fri, 05 Jun 2009 19:32:05 -0400 Received: by fxm17 with SMTP id 17so2007657fxm.42 for ; Fri, 05 Jun 2009 16:32:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Hcrrz5WnDYaQzeGjZ1Pp+9GBegsYUWP7OBJNhRZv6w8=; b=iPTFWjf+j7DpAorSAvSDvsky0t5XRcIHpVKViGwswseMGwx0E/ad4FIHQUH2z4dnbO c5MGWzfRilCWCCd8rvXHQRgg0202cf3Vk5ZFY21SeY+WjmmtCTPscWdPbGoCwNpIuG1K 2y393C4uzMipwqOCKXd3ILxjJnNyPkDwJtUqo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=wxzpG1XonEMaYn5nlps2DvABE8om4q6G0XJqorNbGnhirFd5fMdhFNX5mRxsc/Zg6s Y0I4zwqtTbOvUs08fYWzpzWV/x4cabAdX24/7GMBzLz0pMJoUbsOagO9txgtQisHUWsJ NEYX2w1+qykS8YmtDa4SF4uimT86Hi/nIm3xs= MIME-Version: 1.0 Received: by 10.239.161.132 with SMTP id h4mr339205hbd.14.1244244724145; Fri, 05 Jun 2009 16:32:04 -0700 (PDT) In-Reply-To: References: Date: Sat, 6 Jun 2009 01:32:04 +0200 Message-ID: From: Lennart Borgman To: Stefan Monnier Cc: 3467@debbugs.gnu.org, emacs-pretest-bug@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) On Sat, Jun 6, 2009 at 1:08 AM, Lennart Borgman wrote: > > ... and defvar ... but I do not think there are any more uses of > specbinding's structure. Or does some allocation need to change? ... and let_shadows_buffer_binding_p which is a bit lonely without its sister let_shadows_frame_binding_p (or is such a sister not of any importance? I do not really know about frame local variables, but specbind seems to know) ... From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: rms@gnu.org, 3467@debbugs.gnu.org Resent-From: Richard Stallman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 06 Jun 2009 20:10:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.12443187333439 (code B ref -1); Sat, 06 Jun 2009 20:10:05 +0000 Received: (at submit) by emacsbugs.donarmstrong.com; 6 Jun 2009 20:05:33 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-5.8 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n56K5RaQ003433; Sat, 6 Jun 2009 13:05:28 -0700 Received: from rms by fencepost.gnu.org with local (Exim 4.67) (envelope-from ) id 1MD28s-0004NF-Lo; Sat, 06 Jun 2009 16:05:26 -0400 Content-Type: text/plain; charset=ISO-8859-15 From: Richard Stallman To: Lennart Borgman , 3467@debbugs.gnu.org CC: emacs-pretest-bug@gnu.org In-reply-to: (message from Lennart Borgman on Thu, 4 Jun 2009 23:14:49 +0200) References: Message-Id: Date: Sat, 06 Jun 2009 16:05:26 -0400 I think this is a use case that should be avoided. Maybe it can be made to work "right", but if that's difficult, I'd rather tell people not to do it. From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 06 Jun 2009 20:15:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 3467-submit@emacsbugs.donarmstrong.com id=B3467.12443190934354 (code B ref 3467); Sat, 06 Jun 2009 20:15:03 +0000 Received: (at 3467) by emacsbugs.donarmstrong.com; 6 Jun 2009 20:11:33 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL,GMAIL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from mail-fx0-f208.google.com (mail-fx0-f208.google.com [209.85.220.208]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n56KBRnk004344 for <3467@emacsbugs.donarmstrong.com>; Sat, 6 Jun 2009 13:11:29 -0700 Received: by fxm4 with SMTP id 4so2558357fxm.1 for <3467@emacsbugs.donarmstrong.com>; Sat, 06 Jun 2009 13:11:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=QRGcrEwW+807Rp+GtR+4X7cWPhVvgJrsMxcYWn8A1pc=; b=JEjvL+JBKtrVt5ofxH4PHAI7B3D9CDrZz5u91Zz9ZNBH/h3RanPPUHY9noouQ1ak65 fVgoxtOVf7Z+dUWPX1YMHda5ilW/7LJ2MYjOQ8rhSgVpRjQXQgXlftYukhX8Fr4235Ew GoDZEEmXvguJJfeKbqeq8JWle6Ohpb+rYGyak= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=GUtAlnvj8GWzO9bhw1hFNj/LnpHV5REAJSObzQogiQ2qoBMt2hMJ7lSDvxdnl/AH6K TCxsRgvitvIypUBoT2Ggo6jqctSyzILeNfDB4obXSKLtfAc5n3NAix0G2C02jSHEr0z8 kBX/dG3YFD0KOP58NlkHg1GEIuo1nHBDiGzFo= MIME-Version: 1.0 Received: by 10.239.152.143 with SMTP id v15mr376294hbb.26.1244319082000; Sat, 06 Jun 2009 13:11:22 -0700 (PDT) In-Reply-To: References: Date: Sat, 6 Jun 2009 22:11:21 +0200 Message-ID: From: Lennart Borgman To: Stefan Monnier Cc: 3467@debbugs.gnu.org Content-Type: multipart/mixed; boundary=001485f1db5edeb382046bb39c62 --001485f1db5edeb382046bb39c62 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sat, Jun 6, 2009 at 12:48 AM, Lennart Borgman wrote: > > Sigh, and my suggestion was of course unnecessary stupid. What is > needed is of course to record values and frame+buffer localness and > dito values and reset them. Nothing less than this will ever work > correctly, or? > > And does not this apply to all uses of specbind + unbind_to? > > Can it be sufficient to just change specbind and unbind_to? Is there > anything else that will be affected by changes in the specbind stack? > Since info about buffer+frame is alwas needed should specbinding be > changed to the below form? > > struct specbinding > =C2=A0{ > =C2=A0 =C2=A0Lisp_Object symbol; > =C2=A0 =C2=A0Lisp_Object old_value; > =C2=A0 =C2=A0Lisp_Object old_buffer_value; > =C2=A0 =C2=A0Lisp_Object old_frame_value; > =C2=A0 =C2=A0specbinding_func func; > =C2=A0 =C2=A0Lisp_Object unused; =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Dividing = by 16 is faster than by 12 */ > =C2=A0 =C2=A0Lisp_Object unused; > =C2=A0 =C2=A0Lisp_Object unused; > =C2=A0}; Here is a bit modified suggestion and some code where I try to implement it. Please notice that I have not tested the code. It is very possible that I have misunderstood something so please look at the code. struct specbinding { Lisp_Object symbol; Lisp_Object old_value; specbinding_func func; // total 8 fields Lisp_Object need_test_local; Lisp_Object old_buffer; Lisp_Object old_buffer_value; Lisp_Object old_frame; Lisp_Object old_frame_value; //Lisp_Object unused; /* Dividing by 16 is faster than by 12 */ }; --001485f1db5edeb382046bb39c62 Content-Type: application/octet-stream; name="eval.diff" Content-Disposition: attachment; filename="eval.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fvmrffz30 KioqIGV2YWwuYwkyMDA5LTA2LTA2IDIyOjA2OjMzLjM1OTM3NTAwMCArMDIwMA0KLS0tIGV2YWwt b3JpZy5jCTIwMDktMDMtMjcgMDk6MjE6MjYuNDUzMTI1MDAwICswMTAwDQoqKioqKioqKioqKioq KioNCioqKiAzMjk4LDMzMDQgKioqKg0KICAgICAgICBzcGVjcGRsX3B0ci0+c3ltYm9sID0gc3lt Ym9sOw0KICAgICAgICBzcGVjcGRsX3B0ci0+b2xkX3ZhbHVlID0gdmFsY29udGVudHM7DQogICAg ICAgIHNwZWNwZGxfcHRyLT5mdW5jID0gTlVMTDsNCi0gICAgICAgLy9zcGVjcGRsX3B0ci0+bmVl ZF90ZXN0X2xvY2FsID0gUW5pbDsgLy8gbm8gbmVlZCB0byBzZXQgdGhpcw0KICAgICAgICArK3Nw ZWNwZGxfcHRyOw0KICAgICAgICBTRVRfU1lNQk9MX1ZBTFVFIChzeW1ib2wsIHZhbHVlKTsNCiAg ICAgIH0NCi0tLSAzMjk4LDMzMDMgLS0tLQ0KKioqKioqKioqKioqKioqDQoqKiogMzMwNiwzMzE3 ICoqKioNCiAgICAgIHsNCiAgICAgICAgTGlzcF9PYmplY3Qgb3ZhbHVlID0gZmluZF9zeW1ib2xf dmFsdWUgKHN5bWJvbCk7DQogICAgICAgIHNwZWNwZGxfcHRyLT5mdW5jID0gMDsNCiEgICAgICAg Ly9zcGVjcGRsX3B0ci0+b2xkX3ZhbHVlID0gb3ZhbHVlOw0KISAgICAgICAvKiBGaXgtbWU6IFN0 b3JlIHN5bWJvbCBnbG9iYWwgdmFsdWUgaW4gb2xkX3ZhbHVlICovDQohICAgICAgIHNwZWNwZGxf cHRyLT5vbGRfdmFsdWUgPSBkb19zeW12YWxfZm9yd2FyZGluZyAodmFsY29udGVudHMpOw0KISAg ICAgICBzcGVjcGRsX3B0ci0+bmVlZF90ZXN0X2xvY2FsID0gUXQ7DQohICAgICAgIHNwZWNwZGxf cHRyLT5vbGRfYnVmZmVyPSBRdW5ib3VuZDsNCiEgICAgICAgc3BlY3BkbF9wdHItPm9sZF9mcmFt ZT0gUXVuYm91bmQ7DQogIA0KICAgICAgICB2YWxjb250ZW50cyA9IFhTWU1CT0wgKHN5bWJvbCkt PnZhbHVlOw0KICANCi0tLSAzMzA1LDMzMTEgLS0tLQ0KICAgICAgew0KICAgICAgICBMaXNwX09i amVjdCBvdmFsdWUgPSBmaW5kX3N5bWJvbF92YWx1ZSAoc3ltYm9sKTsNCiAgICAgICAgc3BlY3Bk bF9wdHItPmZ1bmMgPSAwOw0KISAgICAgICBzcGVjcGRsX3B0ci0+b2xkX3ZhbHVlID0gb3ZhbHVl Ow0KICANCiAgICAgICAgdmFsY29udGVudHMgPSBYU1lNQk9MIChzeW1ib2wpLT52YWx1ZTsNCiAg DQoqKioqKioqKioqKioqKioNCioqKiAzMzI0LDMzNDkgKioqKg0KICANCiAgCSAgLyogRm9yIGEg bG9jYWwgdmFyaWFibGUsIHJlY29yZCBib3RoIHRoZSBzeW1ib2wgYW5kIHdoaWNoDQogIAkgICAg IGJ1ZmZlcidzIG9yIGZyYW1lJ3MgdmFsdWUgd2UgYXJlIHNhdmluZy4gICovDQohICAgICAgICAg ICAvKiBGaXgtbWU6IFRoaXMgb25seSBzYXZlcyB0aGUgY3VycmVudCB1c2VkIGxvY2FsIGJpbmRp bmcsDQohICAgICAgICAgICAgICBub3QgYm90aCBhcyBpdCBzaG91bGQgKi8NCiEgCSAgaWYgKCFO SUxQIChGbG9jYWxfdmFyaWFibGVfcCAoc3ltYm9sLCBRbmlsKSkpIHsNCiAgCSAgICB3aGVyZSA9 IGN1cnJlbnRfYnVmZmVyOw0KISAgICAgICAgICAgICBzcGVjcGRsX3B0ci0+b2xkX2J1ZmZlciA9 IHdoZXJlOw0KISAgICAgICAgICAgICBzcGVjcGRsX3B0ci0+b2xkX2J1ZmZlcl92YWx1ZSA9IG92 YWx1ZTsNCiEgICAgICAgICAgIH0gZWxzZSBpZiAoQlVGRkVSX0xPQ0FMX1ZBTFVFUCAodmFsY29u dGVudHMpDQohICAgICAgICAgICAgICAgICAgICAgICYmIFhCVUZGRVJfTE9DQUxfVkFMVUUgKHZh bGNvbnRlbnRzKS0+Zm91bmRfZm9yX2ZyYW1lKSB7DQogIAkgICAgd2hlcmUgPSBYQlVGRkVSX0xP Q0FMX1ZBTFVFICh2YWxjb250ZW50cyktPmZyYW1lOw0KISAgICAgICAgICAgICBzcGVjcGRsX3B0 ci0+b2xkX2ZyYW1lID0gd2hlcmU7DQohICAgICAgICAgICAgIHNwZWNwZGxfcHRyLT5vbGRfZnJh bWVfdmFsdWUgPSBvdmFsdWU7DQohIAkgIH0gZWxzZSB7DQogIAkgICAgd2hlcmUgPSBRbmlsOw0K LSAgICAgICAgICAgfQ0KICANCiAgCSAgLyogV2UncmUgbm90IHVzaW5nIHRoZSBgdW51c2VkJyBz bG90IGluIHRoZSBzcGVjYmluZGluZw0KICAJICAgICBzdHJ1Y3R1cmUgYmVjYXVzZSB0aGlzIHdv dWxkIG1lYW4gd2UgaGF2ZSB0byBkbyBtb3JlDQogIAkgICAgIHdvcmsgZm9yIHNpbXBsZSB2YXJp YWJsZXMuICAqLw0KISAJICAvL3NwZWNwZGxfcHRyLT5zeW1ib2wgPSBGY29ucyAoc3ltYm9sLCBG Y29ucyAod2hlcmUsIGN1cnJlbnRfYnVmZmVyKSk7DQohICAgICAgICAgICBzcGVjcGRsX3B0ci0+ c3ltYm9sID0gc3ltYm9sOw0KICANCiAgCSAgLyogSWYgU1lNQk9MIGlzIGEgcGVyLWJ1ZmZlciB2 YXJpYWJsZSB3aGljaCBkb2Vzbid0IGhhdmUgYQ0KICAJICAgICBidWZmZXItbG9jYWwgdmFsdWUg aGVyZSwgbWFrZSB0aGUgYGxldCcgY2hhbmdlIHRoZSBnbG9iYWwNCi0tLSAzMzE4LDMzMzUgLS0t LQ0KICANCiAgCSAgLyogRm9yIGEgbG9jYWwgdmFyaWFibGUsIHJlY29yZCBib3RoIHRoZSBzeW1i b2wgYW5kIHdoaWNoDQogIAkgICAgIGJ1ZmZlcidzIG9yIGZyYW1lJ3MgdmFsdWUgd2UgYXJlIHNh dmluZy4gICovDQohIAkgIGlmICghTklMUCAoRmxvY2FsX3ZhcmlhYmxlX3AgKHN5bWJvbCwgUW5p bCkpKQ0KICAJICAgIHdoZXJlID0gY3VycmVudF9idWZmZXI7DQohIAkgIGVsc2UgaWYgKEJVRkZF Ul9MT0NBTF9WQUxVRVAgKHZhbGNvbnRlbnRzKQ0KISAJCSAgICYmIFhCVUZGRVJfTE9DQUxfVkFM VUUgKHZhbGNvbnRlbnRzKS0+Zm91bmRfZm9yX2ZyYW1lKQ0KICAJICAgIHdoZXJlID0gWEJVRkZF Ul9MT0NBTF9WQUxVRSAodmFsY29udGVudHMpLT5mcmFtZTsNCiEgCSAgZWxzZQ0KICAJICAgIHdo ZXJlID0gUW5pbDsNCiAgDQogIAkgIC8qIFdlJ3JlIG5vdCB1c2luZyB0aGUgYHVudXNlZCcgc2xv dCBpbiB0aGUgc3BlY2JpbmRpbmcNCiAgCSAgICAgc3RydWN0dXJlIGJlY2F1c2UgdGhpcyB3b3Vs ZCBtZWFuIHdlIGhhdmUgdG8gZG8gbW9yZQ0KICAJICAgICB3b3JrIGZvciBzaW1wbGUgdmFyaWFi bGVzLiAgKi8NCiEgCSAgc3BlY3BkbF9wdHItPnN5bWJvbCA9IEZjb25zIChzeW1ib2wsIEZjb25z ICh3aGVyZSwgY3VycmVudF9idWZmZXIpKTsNCiAgDQogIAkgIC8qIElmIFNZTUJPTCBpcyBhIHBl ci1idWZmZXIgdmFyaWFibGUgd2hpY2ggZG9lc24ndCBoYXZlIGENCiAgCSAgICAgYnVmZmVyLWxv Y2FsIHZhbHVlIGhlcmUsIG1ha2UgdGhlIGBsZXQnIGNoYW5nZSB0aGUgZ2xvYmFsDQoqKioqKioq KioqKioqKioNCioqKiAzNDE5LDM0NzkgKioqKg0KICAJIGJpbmRpbmcuICBXSEVSRSBuaWwgbWVh bnMgdGhhdCB0aGUgdmFyaWFibGUgaGFkIHRoZSBkZWZhdWx0DQogIAkgdmFsdWUgd2hlbiBpdCB3 YXMgYm91bmQuICBDVVJSRU5ULUJVRkZFUiBpcyB0aGUgYnVmZmVyIHRoYXQNCiAgICAgICAgICAg d2FzIGN1cnJlbnQgd2hlbiB0aGUgdmFyaWFibGUgd2FzIGJvdW5kLiAgKi8NCiEgICAgICAgLyog ZWxzZSBpZiAoQ09OU1AgKHRoaXNfYmluZGluZy5zeW1ib2wpKSAqLw0KISAgICAgICAvKiAgIHsg Ki8NCiEgICAgICAgLyogICAgIExpc3BfT2JqZWN0IHN5bWJvbCwgd2hlcmU7ICovDQohIA0KISAg ICAgICAvKiAgICAgc3ltYm9sID0gWENBUiAodGhpc19iaW5kaW5nLnN5bWJvbCk7ICovDQohICAg ICAgIC8qICAgICB3aGVyZSA9IFhDQVIgKFhDRFIgKHRoaXNfYmluZGluZy5zeW1ib2wpKTsgKi8N CiEgDQohICAgICAgIC8qICAgICBpZiAoTklMUCAod2hlcmUpKSAqLw0KISAgICAgICAvKiAgICAg ICBGc2V0X2RlZmF1bHQgKHN5bWJvbCwgdGhpc19iaW5kaW5nLm9sZF92YWx1ZSk7ICovDQohICAg ICAgIC8qICAgICBlbHNlIGlmIChCVUZGRVJQICh3aGVyZSkpICovDQohICAgICAgIC8qICAgICAg IHNldF9pbnRlcm5hbCAoc3ltYm9sLCB0aGlzX2JpbmRpbmcub2xkX3ZhbHVlLCBYQlVGRkVSICh3 aGVyZSksIDEpOyAqLw0KISAgICAgICAvKiAgICAgZWxzZSAqLw0KISAgICAgICAvKiAgICAgICBz ZXRfaW50ZXJuYWwgKHN5bWJvbCwgdGhpc19iaW5kaW5nLm9sZF92YWx1ZSwgTlVMTCwgMSk7ICov DQohICAgICAgIC8qICAgfSAqLw0KISAgICAgICAvKiBlbHNlICovDQohICAgICAgIC8qICAgeyAq Lw0KISAgICAgICAvKiAgICAgL1wqIElmIHZhcmlhYmxlIGhhcyBhIHRyaXZpYWwgdmFsdWUgKG5v IGZvcndhcmRpbmcpLCB3ZSBjYW4gKi8NCiEgICAgICAgLyogICAgICAgIGp1c3Qgc2V0IGl0LiAg Tm8gbmVlZCB0byBjaGVjayBmb3IgY29uc3RhbnQgc3ltYm9scyBoZXJlLCAqLw0KISAgICAgICAv KiAgICAgICAgc2luY2UgdGhhdCB3YXMgYWxyZWFkeSBkb25lIGJ5IHNwZWNiaW5kLiAgKlwvICov DQohICAgICAgIC8qICAgICBpZiAoIU1JU0NQIChTWU1CT0xfVkFMVUUgKHRoaXNfYmluZGluZy5z eW1ib2wpKSkgKi8NCiEgICAgICAgLyogICAgICAgU0VUX1NZTUJPTF9WQUxVRSAodGhpc19iaW5k aW5nLnN5bWJvbCwgdGhpc19iaW5kaW5nLm9sZF92YWx1ZSk7ICovDQohICAgICAgIC8qICAgICBl bHNlICovDQohICAgICAgIC8qICAgICAgIHNldF9pbnRlcm5hbCAodGhpc19iaW5kaW5nLnN5bWJv bCwgdGhpc19iaW5kaW5nLm9sZF92YWx1ZSwgMCwgMSk7ICovDQohICAgICAgIC8qICAgfSAqLw0K ISAgICAgICBlbHNlIHsNCiEgICAgICAgICAvKiBGaXgtbWU6IEJlZm9yZSByZXN0b3JpbmcgYW55 dGhpbmcgdGhlIGJ1ZmZlci9mcmFtZQ0KISAgICAgICAgICAgIGxvY2FsbmVzcyBtdXN0IGJlIGNo ZWNrZWQuICBJIGFtIG5vdCBzdXJlIGhvdyB0byBkbyB0aGF0LA0KISAgICAgICAgICAgIGJ1dCBz ZWUgYmVsb3cgZm9yIG15IGF0dGVtcHRzLg0KISAgICAgICAgICovDQohICAgICAgICAgLyogU2V0 IGdsb2JhbCB2YWx1ZSAqLw0KICAgICAgICAgIGlmICghTUlTQ1AgKFNZTUJPTF9WQUxVRSAodGhp c19iaW5kaW5nLnN5bWJvbCkpKQ0KICAgICAgICAgICAgU0VUX1NZTUJPTF9WQUxVRSAodGhpc19i aW5kaW5nLnN5bWJvbCwgdGhpc19iaW5kaW5nLm9sZF92YWx1ZSk7DQogICAgICAgICAgZWxzZQ0K ISAgICAgICAgICAgc2V0X2RlZmF1bHQgKHRoaXNfYmluZGluZy5zeW1ib2wsIHRoaXNfYmluZGlu Zy5vbGRfdmFsdWUsIDAsIDEpOw0KISANCiEgICAgICAgICB7DQohICAgICAgICAgICByZWdpc3Rl ciBMaXNwX09iamVjdCB2YWxjb250ZW50cyA9IFNZTUJPTF9WQUxVRSAoc3ltYm9sKTsNCiEgICAg ICAgICAgIGludCBpc19sb2NhbF9ub3cgPSBCVUZGRVJfTE9DQUxfVkFMVUVQICh2YWxjb250ZW50 cykgfHwgQlVGRkVSX09CSkZXRFAgKHZhbGNvbnRlbnRzKTsNCiEgICAgICAgICAgIGludCBpc19i dWZmZXJfbG9jYWxfbm93ID0gaXNfbG9jYWxfbm93ICYmIEZsb2NhbF92YXJpYWJsZV9wICh0aGlz X2JpbmRpbmcuc3ltYm9sLCBRbmlsKTsNCiEgICAgICAgICAgIGludCBpc19mcmFtZV9sb2NhbF9u b3cgPSBpc19sb2NhbF9ub3cgJiYgIWlzX2J1ZmZlcl9sb2NhbF9ub3c7DQohICAgICAgICAgICBp bnQgd2FzX2J1ZmZlcl9sb2NhbF9iZWZvcmUgPSB0aGlzX2JpbmRpbmcub2xkX2J1ZmZlciAvPSBR dW5ib3VuZDsNCiEgICAgICAgICAgIGludCB3YXNfbG9jYWxfYmVmb3JlID0gKHdhc19idWZmZXJf bG9jYWxfYmVmb3JlIHx8DQohICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlz X2JpbmRpbmcub2xkX2ZyYW1lIC89IFF1bmJvdW5kKTsNCiEgICAgICAgICAgIGludCB3YXNfZnJh bWVfbG9jYWxfYmVmb3JlID0gKHdhc19sb2NhbF9iZWZvcmUgJiYgISB3YXNfYnVmZmVyX2xvY2Fs X2JlZm9yZSk7DQohICAgICAgICAgICAvKiBGaXggbWU6IHJlc3RvcmUgbG9jYWxuZXNzICovDQoh ICAgICAgICAgICBpZiAod2FzX2J1ZmZlcl9sb2NhbF9iZWZvcmVfc3BlY2JpbmQpIHsNCiEgICAg ICAgICAgICAgaWYgKCFpc19idWZmZXJfbG9jYWxfbm93KSBGbWFrZV9sb2NhbF92YXJpYWJsZSAo dGhpc19iaW5kaW5nLnN5bWJvbCk7DQohICAgICAgICAgICAgIC8qIFNldCBidWZmZXIgbG9jYWwg dmFsdWUgKi8NCiEgICAgICAgICAgICAgc2V0X2ludGVybmFsIChzeW1ib2wsIHRoaXNfYmluZGlu Zy5vbGRfYnVmZmVyX3ZhbHVlLCBYQlVGRkVSICh0aGlzX2JpbmRpbmcub2xkX2J1ZmZlciksIDEp Ow0KISAgICAgICAgICAgfSBlbHNlIGlmICh3YXNfZnJhbWVfbG9jYWxfYmVmb3JlX3NwZWNiaW5k KSB7DQohICAgICAgICAgICAgIGlmICghaXNfZnJhbWVfbG9jYWxfbm93KSBGbWFrZV92YXJpYWJs ZV9mcmFtZV9sb2NhbCAodGhpc19iaW5kaW5nLnN5bWJvbCk7DQohICAgICAgICAgICAgIC8qIFNl dCBmcmFtZSBsb2NhbCB2YWx1ZSAqLw0KISAgICAgICAgICAgICBzZXRfaW50ZXJuYWwgKHN5bWJv bCwgdGhpc19iaW5kaW5nLm9sZF9mcmFtZV92YWx1ZSwgTlVMTCwgMSk7DQohICAgICAgICAgICB9 DQohICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogIA0KLS0tIDM0MDUsMzQzMyAtLS0t DQogIAkgYmluZGluZy4gIFdIRVJFIG5pbCBtZWFucyB0aGF0IHRoZSB2YXJpYWJsZSBoYWQgdGhl IGRlZmF1bHQNCiAgCSB2YWx1ZSB3aGVuIGl0IHdhcyBib3VuZC4gIENVUlJFTlQtQlVGRkVSIGlz IHRoZSBidWZmZXIgdGhhdA0KICAgICAgICAgICB3YXMgY3VycmVudCB3aGVuIHRoZSB2YXJpYWJs ZSB3YXMgYm91bmQuICAqLw0KISAgICAgICBlbHNlIGlmIChDT05TUCAodGhpc19iaW5kaW5nLnN5 bWJvbCkpDQohIAl7DQohIAkgIExpc3BfT2JqZWN0IHN5bWJvbCwgd2hlcmU7DQohIA0KISAJICBz eW1ib2wgPSBYQ0FSICh0aGlzX2JpbmRpbmcuc3ltYm9sKTsNCiEgCSAgd2hlcmUgPSBYQ0FSIChY Q0RSICh0aGlzX2JpbmRpbmcuc3ltYm9sKSk7DQohIA0KISAJICBpZiAoTklMUCAod2hlcmUpKQ0K ISAJICAgIEZzZXRfZGVmYXVsdCAoc3ltYm9sLCB0aGlzX2JpbmRpbmcub2xkX3ZhbHVlKTsNCiEg CSAgZWxzZSBpZiAoQlVGRkVSUCAod2hlcmUpKQ0KISAJICAgIHNldF9pbnRlcm5hbCAoc3ltYm9s LCB0aGlzX2JpbmRpbmcub2xkX3ZhbHVlLCBYQlVGRkVSICh3aGVyZSksIDEpOw0KISAJICBlbHNl DQohIAkgICAgc2V0X2ludGVybmFsIChzeW1ib2wsIHRoaXNfYmluZGluZy5vbGRfdmFsdWUsIE5V TEwsIDEpOw0KISAJfQ0KISAgICAgICBlbHNlDQohIAl7DQohIAkgIC8qIElmIHZhcmlhYmxlIGhh cyBhIHRyaXZpYWwgdmFsdWUgKG5vIGZvcndhcmRpbmcpLCB3ZSBjYW4NCiEgCSAgICAganVzdCBz ZXQgaXQuICBObyBuZWVkIHRvIGNoZWNrIGZvciBjb25zdGFudCBzeW1ib2xzIGhlcmUsDQohIAkg ICAgIHNpbmNlIHRoYXQgd2FzIGFscmVhZHkgZG9uZSBieSBzcGVjYmluZC4gICovDQogIAkgIGlm ICghTUlTQ1AgKFNZTUJPTF9WQUxVRSAodGhpc19iaW5kaW5nLnN5bWJvbCkpKQ0KICAJICAgIFNF VF9TWU1CT0xfVkFMVUUgKHRoaXNfYmluZGluZy5zeW1ib2wsIHRoaXNfYmluZGluZy5vbGRfdmFs dWUpOw0KICAJICBlbHNlDQohIAkgICAgc2V0X2ludGVybmFsICh0aGlzX2JpbmRpbmcuc3ltYm9s LCB0aGlzX2JpbmRpbmcub2xkX3ZhbHVlLCAwLCAxKTsNCiAgCX0NCiAgICAgIH0NCiAgDQo= --001485f1db5edeb382046bb39c62-- From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 06 Jun 2009 20:20:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by submit@emacsbugs.donarmstrong.com id=B.12443192444471 (code B ref -1); Sat, 06 Jun 2009 20:20:03 +0000 Received: (at submit) by emacsbugs.donarmstrong.com; 6 Jun 2009 20:14:04 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.4 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n56KE0kq004466 for ; Sat, 6 Jun 2009 13:14:02 -0700 Received: from mail.gnu.org ([199.232.76.166]:49642 helo=mx10.gnu.org) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1MD2HA-0004nX-9E for emacs-pretest-bug@gnu.org; Sat, 06 Jun 2009 16:14:00 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1MD2H9-0006aa-Nw for emacs-pretest-bug@gnu.org; Sat, 06 Jun 2009 16:14:00 -0400 Received: from mail-fx0-f206.google.com ([209.85.220.206]:47611) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MD2H9-0006aE-Cx; Sat, 06 Jun 2009 16:13:59 -0400 Received: by fxm2 with SMTP id 2so294480fxm.42 for ; Sat, 06 Jun 2009 13:13:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=DmmrI3RwDQsxk6X8O35WgocyvhylAv86Pr81DTBjADs=; b=B+fq/iKbidZ3KOfEKXFsjgRPA79KoV4VRrRp5lUHm3ZC9dh6+0SanmM+6LrCl7B/xE xbfaVT433h23HKh83GrkaMOxPIBQl8AOICRSAYfgR51dOSTU0nTVAbd6kWDKrLU5Zvlq j77ihZ7DfRoH8Mmav11zGA1eCG+r8wfHZfglw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=No8rtmV6ddJPEmUvjHhXl/btZnEvag9E3BQ2t2A65SgMbecTO2Wozh0oAEpKlLGyvh TtRZFSlzxIPSQYtV71akVp0pT2DQe2yyRnATbo5R3gpduyx3+UILe3ThCWRsp091Glfk h8J+ddRaTot+CqKupAxJzALkzf/XHX5tvHnPY= MIME-Version: 1.0 Received: by 10.239.133.65 with SMTP id 1mr358557hbu.150.1244319237100; Sat, 06 Jun 2009 13:13:57 -0700 (PDT) In-Reply-To: References: Date: Sat, 6 Jun 2009 22:13:57 +0200 Message-ID: From: Lennart Borgman To: rms@gnu.org Cc: 3467@debbugs.gnu.org, emacs-pretest-bug@gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. On Sat, Jun 6, 2009 at 10:05 PM, Richard Stallman wrote: > I think this is a use case that should be avoided. > Maybe it can be made to work "right", but if that's difficult, > I'd rather tell people not to do it. I can't see how it can be avoided. Whenever make-local-variable or kill-local-variable this problem can occur (if the variable happen to be let bound of course). From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sun, 07 Jun 2009 01:15:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 3467-submit@emacsbugs.donarmstrong.com id=B3467.124433709422115 (code B ref 3467); Sun, 07 Jun 2009 01:15:04 +0000 Received: (at 3467) by emacsbugs.donarmstrong.com; 7 Jun 2009 01:11:34 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL,GMAIL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from mail-fx0-f208.google.com (mail-fx0-f208.google.com [209.85.220.208]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n571BTUJ022105 for <3467@emacsbugs.donarmstrong.com>; Sat, 6 Jun 2009 18:11:30 -0700 Received: by fxm4 with SMTP id 4so2652939fxm.1 for <3467@emacsbugs.donarmstrong.com>; Sat, 06 Jun 2009 18:11:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=YFNduFLK2PggwQcZeRyKbgOp5XU74K66RwcWGlBZc0I=; b=WjFuIUeVrZnrb3M+M/fSpCUj9BxNNBFuC5kmSoAVHUPDsZdzcwgSdFVBvfV4l7eO++ Vl6i+dqrF0RtLJZoRaP5BNExwIUi60tNPxr3bzu9Ck9iHCo6vtuV5gHUIEpdCENDIhiy qccCeqWnDIlUkOwUajMVYDnSY4MleYJpu2xhg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=OlWEDpk2rhd0WX+z3P1OlvCEUzo+o8wj0Co/30WiqL3/AOke+Vv0/CO1ewbqJ3VGdS tx2kyHbFJIFr7q2yJIXzjDQUL7/uqoe6Afy4BUZ+AnlLyeVTnp8zhtbqq+ASu6VerIjW xBHFmbGsR8WugMCofwn4l5qPXRYRsaz9dbDkw= MIME-Version: 1.0 Received: by 10.239.167.212 with SMTP id h20mr408737hbe.68.1244337083292; Sat, 06 Jun 2009 18:11:23 -0700 (PDT) In-Reply-To: References: Date: Sun, 7 Jun 2009 03:11:23 +0200 Message-ID: From: Lennart Borgman To: Stefan Monnier Cc: 3467@debbugs.gnu.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Rethinking. Everything is wrong in my solution and suggestion. Coming back. On Sat, Jun 6, 2009 at 10:11 PM, Lennart Borgman wrote: > On Sat, Jun 6, 2009 at 12:48 AM, Lennart > Borgman wrote: >> >> Sigh, and my suggestion was of course unnecessary stupid. What is >> needed is of course to record values and frame+buffer localness and >> dito values and reset them. Nothing less than this will ever work >> correctly, or? >> >> And does not this apply to all uses of specbind + unbind_to? >> >> Can it be sufficient to just change specbind and unbind_to? Is there >> anything else that will be affected by changes in the specbind stack? >> Since info about buffer+frame is alwas needed should specbinding be >> changed to the below form? >> >> struct specbinding >> =C2=A0{ >> =C2=A0 =C2=A0Lisp_Object symbol; >> =C2=A0 =C2=A0Lisp_Object old_value; >> =C2=A0 =C2=A0Lisp_Object old_buffer_value; >> =C2=A0 =C2=A0Lisp_Object old_frame_value; >> =C2=A0 =C2=A0specbinding_func func; >> =C2=A0 =C2=A0Lisp_Object unused; =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Dividing= by 16 is faster than by 12 */ >> =C2=A0 =C2=A0Lisp_Object unused; >> =C2=A0 =C2=A0Lisp_Object unused; >> =C2=A0}; > > Here is a bit modified suggestion and some code where I try to > implement it. Please notice that I have not tested the code. It is > very possible that I have misunderstood something so please look at > the code. > > struct specbinding > =C2=A0{ > =C2=A0 =C2=A0Lisp_Object symbol; > =C2=A0 =C2=A0Lisp_Object old_value; > =C2=A0 =C2=A0specbinding_func func; > =C2=A0 =C2=A0// total 8 fields > =C2=A0 =C2=A0Lisp_Object need_test_local; > =C2=A0 =C2=A0Lisp_Object old_buffer; > =C2=A0 =C2=A0Lisp_Object old_buffer_value; > =C2=A0 =C2=A0Lisp_Object old_frame; > =C2=A0 =C2=A0Lisp_Object old_frame_value; > =C2=A0 =C2=A0//Lisp_Object unused; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 /* Dividing by 16 is faster than by 12 */ > =C2=A0}; > From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made global Reply-To: Lennart Borgman , 3467@debbugs.gnu.org Resent-From: Lennart Borgman Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Fri, 12 Jun 2009 22:30:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Received: via spool by 3467-submit@emacsbugs.donarmstrong.com id=B3467.124484549531546 (code B ref 3467); Fri, 12 Jun 2009 22:30:03 +0000 Received: (at 3467) by emacsbugs.donarmstrong.com; 12 Jun 2009 22:24:55 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.0 required=4.0 tests=AWL,GMAIL,HAS_BUG_NUMBER, MURPHY_DRUGS_REL8 autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from mail-bw0-f205.google.com (mail-bw0-f205.google.com [209.85.218.205]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n5CMOnKU031541 for <3467@emacsbugs.donarmstrong.com>; Fri, 12 Jun 2009 15:24:51 -0700 Received: by bwz1 with SMTP id 1so2787058bwz.1 for <3467@emacsbugs.donarmstrong.com>; Fri, 12 Jun 2009 15:24:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=E7xvEKyhSfpmp/nefdnzEnoV4aPAuzJMleS+1EXYr9k=; b=HCXlI/FaahXLVIhWNgNh7jtfwhmSyI1VJIEJOBz1bRmmbouwoLENF6O+81PyjdsXRt MXn3yuhg9/3xrroCWIqrNVLV6+KvvZg5d1hSiOnsZ3HGety1I5U6Ljrvg3tY5QlS9T3G aqzlfAD5PVQJP1LGF1neNdskZbWfroCBKeE8s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=ojBI96YW+N0lBwNQ0bDmUQIIH6VT1zNSqvlwLy5z0+QNgyJzupePbhwxNwGRtc+jl6 HexFKAC6sIOFSBdqVQ0KgGFt/FgnL5I+4boble480d0gaNgjN3zAIGwZkyo4VjUhmZaM 8TSMnQIzXhkDi1EpV+QZOXBYAU0RCfVhY4oB8= MIME-Version: 1.0 Received: by 10.239.179.141 with SMTP id d13mr340327hbg.124.1244845483828; Fri, 12 Jun 2009 15:24:43 -0700 (PDT) In-Reply-To: References: Date: Sat, 13 Jun 2009 00:24:43 +0200 Message-ID: From: Lennart Borgman To: Stefan Monnier Cc: 3467@debbugs.gnu.org Content-Type: multipart/mixed; boundary=001485f631e4dd267d046c2e2ceb --001485f631e4dd267d046c2e2ceb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On Sun, Jun 7, 2009 at 3:11 AM, Lennart Borgman wrote: > Rethinking. Everything is wrong in my solution and suggestion. Coming back. Ok, here is what I believe is a reasonable solution. The first problem is that the semantics of let, make-variable-buffer-local etc are not clearly defined. I suggest the following semantics (instead of the one I proposed before): - When (let ...) shadows a variable it is exactly this variable (ie default or buffer local version) that should be revived after (let ...). - No buffer local variables should be deleted or created by the reviving of the shadowed variables after the (let ...) clause. - More exactly: if the variable is buffer local in the current buffer before (let ..) it is the buffer local variable in that buffer that should be revived. If it does not exist after (let..) nothing should be done. - And if a shadowed variable have been made buffer local during the let binding then it is still the default value that should be revived. The buffer local value should in this case not be changed after the (let ..) clause. I think with this semantics everything will be nearly as fast as before and there will be no such surprises as shown in this bug. What do others think? I have made a patch for this with some comments and questions. I have included this in my patched version of Emacs+EmacsW32 and have been using it myself for a couple of days without any problems. However please review this carefully and especially what I have called /* Case 1 in specbind */ in unbind_to. --001485f631e4dd267d046c2e2ceb Content-Type: application/octet-stream; name="eval-bug3467.diff" Content-Disposition: attachment; filename="eval-bug3467.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fvvgt02c0 SW5kZXg6IGV2YWwuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9zb3VyY2VzL2VtYWNzL2VtYWNz L3NyYy9ldmFsLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjMxMA0KZGlmZiAtdSAtYiAtcjEu MzEwIGV2YWwuYw0KLS0tIGV2YWwuYwkyNCBNYXIgMjAwOSAxNjozNzoyNSAtMDAwMAkxLjMxMA0K KysrIGV2YWwuYwkxMiBKdW4gMjAwOSAyMToyNToxMyAtMDAwMA0KQEAgLTMxLDYgKzMxLDggQEAN CiAjaW5jbHVkZSAieHRlcm0uaCINCiAjZW5kaWYNCiANCisjaW5jbHVkZSA8c3RkaW8uaD4JCS8q IEZvciBmcHJpbnRmLiAgKi8NCisNCiAvKiBUaGlzIGRlZmluaXRpb24gaXMgZHVwbGljYXRlZCBp biBhbGxvYy5jIGFuZCBrZXlib2FyZC5jICovDQogLyogUHV0dGluZyBpdCBpbiBsaXNwLmggbWFr ZXMgY2MgYm9tYiBvdXQhICovDQogDQpAQCAtMzI5NSw2ICszMjk3LDcgQEANCiAgIHZhbGNvbnRl bnRzID0gU1lNQk9MX1ZBTFVFIChzeW1ib2wpOw0KICAgaWYgKCFNSVNDUCAodmFsY29udGVudHMp ICYmICFTWU1CT0xfQ09OU1RBTlRfUCAoc3ltYm9sKSkNCiAgICAgew0KKyAgICAgIC8qIENhc2Ug MSAqLw0KICAgICAgIHNwZWNwZGxfcHRyLT5zeW1ib2wgPSBzeW1ib2w7DQogICAgICAgc3BlY3Bk bF9wdHItPm9sZF92YWx1ZSA9IHZhbGNvbnRlbnRzOw0KICAgICAgIHNwZWNwZGxfcHRyLT5mdW5j ID0gTlVMTDsNCkBAIC0zMzA0LDcgKzMzMDcsNyBAQA0KICAgZWxzZQ0KICAgICB7DQogICAgICAg TGlzcF9PYmplY3Qgb3ZhbHVlID0gZmluZF9zeW1ib2xfdmFsdWUgKHN5bWJvbCk7DQotICAgICAg c3BlY3BkbF9wdHItPmZ1bmMgPSAwOw0KKyAgICAgIHNwZWNwZGxfcHRyLT5mdW5jID0gMDsgLyog Rml4LW1lOiBBcmUgTlVMTCA9PT0gMD8gKi8NCiAgICAgICBzcGVjcGRsX3B0ci0+b2xkX3ZhbHVl ID0gb3ZhbHVlOw0KIA0KICAgICAgIHZhbGNvbnRlbnRzID0gWFNZTUJPTCAoc3ltYm9sKS0+dmFs dWU7DQpAQCAtMzMxOSwxMSArMzMyMiwxNCBAQA0KIAkgIC8qIEZvciBhIGxvY2FsIHZhcmlhYmxl LCByZWNvcmQgYm90aCB0aGUgc3ltYm9sIGFuZCB3aGljaA0KIAkgICAgIGJ1ZmZlcidzIG9yIGZy YW1lJ3MgdmFsdWUgd2UgYXJlIHNhdmluZy4gICovDQogCSAgaWYgKCFOSUxQIChGbG9jYWxfdmFy aWFibGVfcCAoc3ltYm9sLCBRbmlsKSkpDQorICAgICAgICAgICAgLyogQ2FzZSAyICovDQogCSAg ICB3aGVyZSA9IGN1cnJlbnRfYnVmZmVyOw0KIAkgIGVsc2UgaWYgKEJVRkZFUl9MT0NBTF9WQUxV RVAgKHZhbGNvbnRlbnRzKQ0KIAkJICAgJiYgWEJVRkZFUl9MT0NBTF9WQUxVRSAodmFsY29udGVu dHMpLT5mb3VuZF9mb3JfZnJhbWUpDQorICAgICAgICAgICAgLyogQ2FzZSAzICovDQogCSAgICB3 aGVyZSA9IFhCVUZGRVJfTE9DQUxfVkFMVUUgKHZhbGNvbnRlbnRzKS0+ZnJhbWU7DQogCSAgZWxz ZQ0KKyAgICAgICAgICAgIC8qIENhc2UgNCAqLw0KIAkgICAgd2hlcmUgPSBRbmlsOw0KIA0KIAkg IC8qIFdlJ3JlIG5vdCB1c2luZyB0aGUgYHVudXNlZCcgc2xvdCBpbiB0aGUgc3BlY2JpbmRpbmcN CkBAIC0zMzk3LDYgKzM0MDMsNyBAQA0KICAgICAgIHRoaXNfYmluZGluZyA9ICotLXNwZWNwZGxf cHRyOw0KIA0KICAgICAgIGlmICh0aGlzX2JpbmRpbmcuZnVuYyAhPSAwKQ0KKyAgICAgICAgLyog RnJvbSByZWNvcmRfdW53aW5kX3Byb3RlY3QgKi8NCiAJKCp0aGlzX2JpbmRpbmcuZnVuYykgKHRo aXNfYmluZGluZy5vbGRfdmFsdWUpOw0KICAgICAgIC8qIElmIHRoZSBzeW1ib2wgaXMgYSBsaXN0 LCBpdCBpcyByZWFsbHkgKFNZTUJPTCBXSEVSRQ0KIAkgLiBDVVJSRU5ULUJVRkZFUikgd2hlcmUg V0hFUkUgaXMgZWl0aGVyIG5pbCwgYSBidWZmZXIsIG9yIGENCkBAIC0zNDEzLDIxICszNDIwLDcy IEBADQogCSAgd2hlcmUgPSBYQ0FSIChYQ0RSICh0aGlzX2JpbmRpbmcuc3ltYm9sKSk7DQogDQog CSAgaWYgKE5JTFAgKHdoZXJlKSkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAvKiBD YXNlIDQgaW4gc3BlY2JpbmQgKi8NCisgICAgICAgICAgICAgIC8qIFdlIHNob3VsZCByZXNldCBk ZWZhdWx0IHZhbHVlLiAgKE5vdGU6IFRoZSBkZWZhdWx0DQorICAgICAgICAgICAgICAgICB2YWx1 ZSBpcyBlaXRoZXIgbGV0IGJvdW5kIG9yIGdsb2JhbC4pICovDQogCSAgICBGc2V0X2RlZmF1bHQg KHN5bWJvbCwgdGhpc19iaW5kaW5nLm9sZF92YWx1ZSk7DQorICAgICAgICAgICAgICAvL3ByaW50 ZiAoInVuYmluZF90bzogRnNldF9kZWZhdWx0IHdoZXJlPW5pbCAlc1xuIiwgU0RBVEEgKFNZTUJP TF9OQU1FIChzeW1ib2wpKSk7DQorICAgICAgICAgICAgfQ0KIAkgIGVsc2UgaWYgKEJVRkZFUlAg KHdoZXJlKSkNCisgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAvKiBDYXNlIDIgaW4gc3Bl Y2JpbmQgKi8NCisgICAgICAgICAgICAgIC8qIFdlIHNob3VsZCByZXNldCBidWZmZXIgbG9jYWwg YmluZGluZywgYnV0IG9ubHkgaWYgaXQNCisgICAgICAgICAgICAgICAgIGlzIGJ1ZmZlciBsb2Nh bCBub3cgb3Igd2lsbCBiZSB3aGVuIHNldC4gKi8NCisgICAgICAgICAgICAgIGlmICghTklMUCAo RmxvY2FsX3ZhcmlhYmxlX3AgKHN5bWJvbCwgd2hlcmUpKSB8fA0KKyAgICAgICAgICAgICAgICAg ICFOSUxQIChGbG9jYWxfdmFyaWFibGVfaWZfc2V0X3AgKHN5bWJvbCwgd2hlcmUpKSkNCisgICAg ICAgICAgICAgICAgew0KIAkgICAgc2V0X2ludGVybmFsIChzeW1ib2wsIHRoaXNfYmluZGluZy5v bGRfdmFsdWUsIFhCVUZGRVIgKHdoZXJlKSwgMSk7DQorICAgICAgICAgICAgICAgICAgLy9wcmlu dGYgKCJ1bmJpbmRfdG86IHNldF9pbnRlcm5hbCBpbiBidWZmZXIgJXNcbiIsIFNEQVRBIChTWU1C T0xfTkFNRSAoc3ltYm9sKSkpOw0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgfQ0K IAkgIGVsc2UNCisgICAgICAgICAgICAgIC8qIENhc2UgMyBpbiBzcGVjYmluZCAqLw0KKyAgICAg ICAgICAgICAgLyogRml4LW1lOiBUaGlzIGlzIHRoZSBmcmFtZSBsb2NhbCBjYXNlLiAgSSBiZWxp ZXZlIGl0DQorICAgICAgICAgICAgICAgICBpcyBicm9rZW4sIGJ1dCBJIGRvIG5vdCBrbm93IGlm IGl0IGlzIHdvcnRoIGZpeGluZyBpdA0KKyAgICAgICAgICAgICAgICAgc2luY2UgZnJhbWUgbG9j YWwgdmFyaWFibGUgYXJlIG9ic29sZXRlLCBvcj8NCisNCisgICAgICAgICAgICAgICAgIE5vdGU6 IEkgZG8gbm90IHVuZGVyc3RhbmQgTlVMTCBidWYgYXJnIGhlcmUsIGJ1dCBJDQorICAgICAgICAg ICAgICAgICBhc3N1bWUgdGhhdCBOVUxMID09PSAwIGhlcmUgYmVjYXVzZSBzZXRfaW50ZXJuYWwN CisgICAgICAgICAgICAgICAgIGNoZWNrcyBmb3IgMCBhbmQgZG9lcyB0aGluZ3MgbGlrZSBidWYt PnZhbHVlLiAqLw0KIAkgICAgc2V0X2ludGVybmFsIChzeW1ib2wsIHRoaXNfYmluZGluZy5vbGRf dmFsdWUsIE5VTEwsIDEpOw0KIAl9DQogICAgICAgZWxzZQ0KIAl7DQorICAgICAgICAgIC8qIENh c2UgMSBpbiBzcGVjYmluZCAqLw0KIAkgIC8qIElmIHZhcmlhYmxlIGhhcyBhIHRyaXZpYWwgdmFs dWUgKG5vIGZvcndhcmRpbmcpLCB3ZSBjYW4NCiAJICAgICBqdXN0IHNldCBpdC4gIE5vIG5lZWQg dG8gY2hlY2sgZm9yIGNvbnN0YW50IHN5bWJvbHMgaGVyZSwNCiAJICAgICBzaW5jZSB0aGF0IHdh cyBhbHJlYWR5IGRvbmUgYnkgc3BlY2JpbmQuICAqLw0KIAkgIGlmICghTUlTQ1AgKFNZTUJPTF9W QUxVRSAodGhpc19iaW5kaW5nLnN5bWJvbCkpKQ0KKyAgICAgICAgICAgIHsNCisgICAgICAgICAg ICAgIC8qIEZpeC1tZTogSSBkbyBub3QgdW5kZXJzdGFuZCB0aGlzIGNhc2UuICBJIGFzc3VtZSB0 aGF0DQorICAgICAgICAgICAgICAgICBpZiB3ZSBhcmUgaGVyZSB0aGUgdmFyaWFibGUgaGFkIG5v IGJ1ZmZlciBsb2NhbA0KKyAgICAgICAgICAgICAgICAgYmluZGluZyBpbiBzcGVjYmluZCBzbyB0 aGF0IHdlIHNob3VsZCBzZXQgdGhlIGRlZmF1bHQNCisgICAgICAgICAgICAgICAgIHZhbHVlLiAg Q2FuIFNFVF9TWU1CT0xfVkFMVUUgYmUgdXNlZCBldmVuIGlmIHRoZQ0KKyAgICAgICAgICAgICAg ICAgdmFyaWFibGUgbm93IGhhdmUgYSBidWZmZXIgbG9jYWwgdmFsdWU/ICBEb2Vzbid0IGl0DQor ICAgICAgICAgICAgICAgICBlcmFzZSBhIGJ1ZmZlciBsb2NhbCBiaW5kaW5nIHRoYXQgaGFzIGJl ZW4gZG9uZSBhZnRlcg0KKyAgICAgICAgICAgICAgICAgc3BlY2JpbmQ/ICBDYW4gRnNldF9kZWZh dWx0IGJlIHVzZWQgaW4gdGhhdCBjYXNlPw0KKyAgICAgICAgICAgICAgICAgSG93IGNhbiB3ZSB0 ZXN0IGlmIG1ha2UtdmFyaWFibGUtYnVmZmVyLWxvY2FsIGhhcw0KKyAgICAgICAgICAgICAgICAg YmVlbiBkb25lPyAqLw0KIAkgICAgU0VUX1NZTUJPTF9WQUxVRSAodGhpc19iaW5kaW5nLnN5bWJv bCwgdGhpc19iaW5kaW5nLm9sZF92YWx1ZSk7DQorICAgICAgICAgICAgICAvL3ByaW50ZiAoInVu YmluZF90bzogU0VUX1NZTUJPTF9WQUxVRSAlc1xuIiwgU0RBVEEgKFNZTUJPTF9OQU1FICh0aGlz X2JpbmRpbmcuc3ltYm9sKSkpOw0KKyAgICAgICAgICAgIH0NCiAJICBlbHNlDQorICAgICAgICAg ICAgLyogRml4LW1lOiBJIGRvIG5vdCB1bmRlcnN0YW5kIHdoeSBzZXRfaW50ZXJuYWwgd2VyZSB1 c2VkDQorICAgICAgICAgICAgICAgaGVyZS4gIENvdWxkIHRoZSB2YXJpYWJsZSBoYXZlIGhhZCBh IGJ1ZmZlciBsb2NhbA0KKyAgICAgICAgICAgICAgIGJpbmRpbmcgaW4gc3BlY2JpbmQgaWYgd2Ug YXJlIGhlcmU/ICBTaG91bGQgbm90IGp1c3QNCisgICAgICAgICAgICAgICBGc2V0X2RlZmF1bHQg YmUgY2FsbGVkIGhlcmU/ICovDQorICAgICAgICAgICAgaWYgKDApIC8vKE5JTFAgKEZsb2NhbF92 YXJpYWJsZV9wICh0aGlzX2JpbmRpbmcuc3ltYm9sLCBRbmlsKSkpDQorICAgICAgICAgICAgICB7 DQogCSAgICBzZXRfaW50ZXJuYWwgKHRoaXNfYmluZGluZy5zeW1ib2wsIHRoaXNfYmluZGluZy5v bGRfdmFsdWUsIDAsIDEpOw0KKyAgICAgICAgICAgICAgICAvL3ByaW50ZiAoInVuYmluZF90bzog c2V0X2ludGVybmFsIDAgJXNcbiIsIFNEQVRBIChTWU1CT0xfTkFNRSAodGhpc19iaW5kaW5nLnN5 bWJvbCkpKTsNCisgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICBlbHNlDQorICAgICAgICAg ICAgICB7DQorICAgICAgICAgICAgICAgIC8qIFNldCB0aGUgZGVmYXVsdCB2YWx1ZSBzaW5jZSB3 ZSBoYWQgbm8gYnVmZmVyIGxvY2FsIGJpbmRpbmcgYmVmb3JlLiAqLw0KKyAgICAgICAgICAgICAg ICBGc2V0X2RlZmF1bHQgKHRoaXNfYmluZGluZy5zeW1ib2wsIHRoaXNfYmluZGluZy5vbGRfdmFs dWUpOw0KKyAgICAgICAgICAgICAgICAvL3ByaW50ZiAoInVuYmluZF90bzogRnNldF9kZWZhdWx0 IG5vIG5lZWQgJXNcbiIsIFNEQVRBIChTWU1CT0xfTkFNRSAodGhpc19iaW5kaW5nLnN5bWJvbCkp KTsNCisgICAgICAgICAgICAgIH0NCiAJfQ0KICAgICB9DQogDQo= --001485f631e4dd267d046c2e2ceb-- From rgm@gnu.org Wed Jun 17 00:29:42 2009 Received: (at control) by emacsbugs.donarmstrong.com; 17 Jun 2009 07:29:42 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-4.0 required=4.0 tests=AWL,VALID_BTS_CONTROL autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n5H7TcQa018381 for ; Wed, 17 Jun 2009 00:29:39 -0700 Received: from rgm by fencepost.gnu.org with local (Exim 4.67) (envelope-from ) id 1MGpaT-00005k-JR; Wed, 17 Jun 2009 03:29:37 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <19000.39777.414084.568239@fencepost.gnu.org> Date: Wed, 17 Jun 2009 03:29:37 -0400 From: Glenn Morris To: control Subject: control message Sender: Glenn Morris tags 3196 moreinfo unreproducible reassign 3221 emacs,ns reassign 3256 emacs,ns tags 3264 moreinfo reassign 3269 emacs,cc-mode close 3269 reassign 3281 emacs,w32 tags 3291 moreinfo severity 3310 minor close 3319 severity 3327 minor tags 3330 moreinfo unreproducible reassign 3331 emacs,ns close 3331 reassign 3351 emacs,ns severity 3350 minor reassign 3397 emacs,ns severity 3425 wishlist close 3448 reassign 3459 emacs,ns severity 3462 wishlist tags 3467 wontfix reassign 3500 emacs,ns merge 3234 3483 severity 3540 wishlist reassign 3452 emacs,w32 severity 3577 minor reassign 3581 emacs,ns reassign 3583 emacs,ns merge 3588 3593 reassign 3588 emacs,ns reassign 3589 emacs,ns reassign 3478 emacs22,w32 close 3146 From unknown Mon Aug 11 12:53:45 2025 X-Loop: owner@emacsbugs.donarmstrong.com Subject: bug#3467: 23.0.94; let + make-local-variable => let value made Reply-To: Stefan Monnier , 3467@debbugs.gnu.org Resent-From: Stefan Monnier Resent-To: bug-submit-list@lists.donarmstrong.com Resent-CC: Emacs Bugs Resent-Date: Sat, 27 Jun 2009 00:30:07 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-Emacs-PR-Message: followup 3467 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: wontfix Received: via spool by 3467-submit@emacsbugs.donarmstrong.com id=B3467.12460622462739 (code B ref 3467); Sat, 27 Jun 2009 00:30:07 +0000 Received: (at 3467) by emacsbugs.donarmstrong.com; 27 Jun 2009 00:24:06 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-2.8 required=4.0 tests=AWL,FOURLA,HAS_BUG_NUMBER, MURPHY_DRUGS_REL8 autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from smtp-03.vtx.ch (smtp-03.vtx.ch [212.147.0.64]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n5R0O2CS002734 for <3467@emacsbugs.donarmstrong.com>; Fri, 26 Jun 2009 17:24:03 -0700 Received: from alfajor.home (dyn.83-228-218-202.dsl.vtx.ch [83.228.218.202]) by smtp-03.vtx.ch (VTX Services SA) with ESMTP id E6B94296D83; Sat, 27 Jun 2009 02:24:00 +0200 (CEST) Received: by alfajor.home (Postfix, from userid 20848) id C883564341; Sat, 27 Jun 2009 02:24:00 +0200 (CEST) From: Stefan Monnier To: Lennart Borgman Cc: 3467@debbugs.gnu.org Message-ID: References: Date: Sat, 27 Jun 2009 02:24:00 +0200 In-Reply-To: (Lennart Borgman's message of "Sat, 13 Jun 2009 00:24:43 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.94 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > The first problem is that the semantics of let, > make-variable-buffer-local etc are not clearly defined. I suggest the > following semantics (instead of the one I proposed before): That's the intuitive semantics, indeed. > I have made a patch for this with some comments and questions. I have > included this in my patched version of Emacs+EmacsW32 and have been > using it myself for a couple of days without any problems. - NULL is equal to 0 by definition. - Why do you check if (!NILP (Flocal_variable_p (symbol, where)) || !NILP (Flocal_variable_if_set_p (symbol, where))) i.s.o. if (!NILP (Flocal_variable_p (symbol, where))) That looks wrong since it would undo a kill-local-variable that was performed within the let. - Regarding "Case 1 in specbind", I have (in my local changes) completely rewritten the variable-binding code so as not to use special MISCP values. I find it makes the code clearer, tho maybe others will disagree. I intend to install it in the trunk for 23.2 and it of course conflicts completely with your patch ;-) If you want, I can try and extract the corresponding patch and send it to you. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 26 13:15:37 2012 Received: (at control) by debbugs.gnu.org; 26 Jan 2012 18:15:37 +0000 Received: from localhost ([127.0.0.1]:45817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RqTrE-00032p-Dl for submit@debbugs.gnu.org; Thu, 26 Jan 2012 13:15:37 -0500 Received: from [140.186.70.10] (port=52684 helo=fencepost.gnu.org ident=Debian-exim) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RqTrB-00031H-6W for control@debbugs.gnu.org; Thu, 26 Jan 2012 13:15:34 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1RqTpq-0006ec-JW for control@debbugs.gnu.org; Thu, 26 Jan 2012 13:14:10 -0500 Date: Thu, 26 Jan 2012 13:14:10 -0500 Message-Id: Subject: control message for bug 10604 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -3.4 (---) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 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.4 (---) merge 3467 10604 From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 01 03:20:16 2014 Received: (at control) by debbugs.gnu.org; 1 Feb 2014 08:20:16 +0000 Received: from localhost ([127.0.0.1]:43877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W9VoG-0008Mw-5R for submit@debbugs.gnu.org; Sat, 01 Feb 2014 03:20:16 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:34851) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W9VoD-0008Mn-Nr for control@debbugs.gnu.org; Sat, 01 Feb 2014 03:20:14 -0500 Received: from [204.14.154.233] (helo=building.gnus.org) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1W9Vo0-0002kV-4w for control@debbugs.gnu.org; Sat, 01 Feb 2014 09:20:00 +0100 Date: Sat, 01 Feb 2014 00:19:08 -0800 Message-Id: <87ppn7meir.fsf@building.gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #3467 X-MailScanner-ID: 1W9Vo0-0002kV-4w X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1391847600.65371@JdtRUpvBMHNZieLP6Xh5+w X-Spam-Status: No X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) tags 3467 patch From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 01 14:57:46 2014 Received: (at control) by debbugs.gnu.org; 1 Feb 2014 19:57:46 +0000 Received: from localhost ([127.0.0.1]:45349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W9ghF-0005pT-8X for submit@debbugs.gnu.org; Sat, 01 Feb 2014 14:57:45 -0500 Received: from fencepost.gnu.org ([208.118.235.10]:35955) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W9ghC-0005pL-MC for control@debbugs.gnu.org; Sat, 01 Feb 2014 14:57:43 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1W9ghC-0001BE-7n for control@debbugs.gnu.org; Sat, 01 Feb 2014 14:57:42 -0500 Date: Sat, 01 Feb 2014 14:57:42 -0500 Message-Id: Subject: control message for bug 3467 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -5.5 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.5 (-----) # The included patch is not viable tag 3467 - patch From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 29 08:18:30 2015 Received: (at control) by debbugs.gnu.org; 29 Dec 2015 13:18:30 +0000 Received: from localhost ([127.0.0.1]:47398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDuAY-0006hD-6J for submit@debbugs.gnu.org; Tue, 29 Dec 2015 08:18:30 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:40399) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDuAW-0006h5-P7 for control@debbugs.gnu.org; Tue, 29 Dec 2015 08:18:29 -0500 Received: from 2.150.58.24.tmi.telenormobil.no ([2.150.58.24] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aDuAA-00050H-HA for control@debbugs.gnu.org; Tue, 29 Dec 2015 14:18:06 +0100 Date: Tue, 29 Dec 2015 14:18:05 +0100 Message-Id: <87mvstieb6.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #3467 X-MailScanner-ID: 1aDuAA-00050H-HA X-Netfonds-MailScanner: Found to be clean X-Netfonds-MailScanner-From: larsi@gnus.org MailScanner-NULL-Check: 1451999886.75126@w0KgLlBm4f/3LAOPrJ6Jbw X-Spam-Status: No X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) close 3467