From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 28 13:07:12 2021 Received: (at submit) by debbugs.gnu.org; 28 Feb 2021 18:07:12 +0000 Received: from localhost ([127.0.0.1]:47171 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGQTI-00022p-7N for submit@debbugs.gnu.org; Sun, 28 Feb 2021 13:07:12 -0500 Received: from lists.gnu.org ([209.51.188.17]:57214) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGQTG-00022f-UA for submit@debbugs.gnu.org; Sun, 28 Feb 2021 13:07:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47420) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lGQTG-0002mZ-M4 for bug-gnu-emacs@gnu.org; Sun, 28 Feb 2021 13:07:10 -0500 Received: from mail-oi1-x22f.google.com ([2607:f8b0:4864:20::22f]:35492) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lGQTF-00021q-6l for bug-gnu-emacs@gnu.org; Sun, 28 Feb 2021 13:07:10 -0500 Received: by mail-oi1-x22f.google.com with SMTP id i21so13447465oii.2 for ; Sun, 28 Feb 2021 10:07:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=FvJDsfW8BvlKwlLDjs1zLu3ASUiQ1rJWIV0yI9bPpjY=; b=Z2ANHDObXgYA49DAycJ2DuNuL3RgTEaGixoRPobHjiK5BUncxyZtKPjvI8TTDMCXgt P+FaGTVG+V6k4aFtF3SAIJEZtudnPkTYdMi+Gw8nqi+eJwn2aPelx36LiXXLGaevU9eq Io06/IWZcYrF7J05QG9fAprMEnIXifHbXkCfHW+Psx7rWzUCPhvSCYHDf+pPpn+k0Ncn 227lo+OmVgKI5YasBheMOZ5ij7HSDde/ow5QjmazS3xZJyOdMBDfVUJzLSSUDLWjRXG/ lzgHxptPwaVe+uy6B8X+vIRvuZz1MZzaa0vyeHO0bzyCQ2DQjj01lxSmhM5Y1qwchZi7 +aIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=FvJDsfW8BvlKwlLDjs1zLu3ASUiQ1rJWIV0yI9bPpjY=; b=gD6ZUoB/jJe7GByagqGYPm0tfF9HmqaqnOSOJ1IWygoSEk/WjlzIhN81XECCH37wuC pGmVESLtXcrMmBv1VUxHiBNXj9OPXJtoBr3V9JeUk2Kco2OuNItkkV/RO684Dee+TC/f HbG4UYrcqMtZ3CI5WG5coaBUG21MyMiUDJwessPSQqp/Yeyi/PagvIIB6VXMZiskp4wm LIrpwJBEfVG7hcN/IXQc1lX3wOPwtnHQchCj5d1wnDucjRSAy35AT3RhpTECZHgo1Nz3 3Y+8P63QrHk9xa3jgaZkjBS5pfCpoXoSFhyN4yH0cCFaUsn3nxcIbHR25fwetFvmuyQu WIpQ== X-Gm-Message-State: AOAM5326hhq+yx1UABSAPDMqYSmDcFUDzsvAYF9ArbLDI5WOXGfP0rzV 6Xf0zBJDjeRpFK9xTsyOhINeTlP6KSw+gzSY5X4CCF25y0E= X-Google-Smtp-Source: ABdhPJx4mj3V8whDBDAHkADWTbPKaR3TrIQAcj7uWbe1kcv8ey/xOzCymdEQW7pJ2goDKlBFQrCW4Cidr5JbiJqvA9I= X-Received: by 2002:aca:6141:: with SMTP id v62mr8272648oib.30.1614524682747; Sun, 28 Feb 2021 07:04:42 -0800 (PST) MIME-Version: 1.0 From: Pip Cet Date: Sun, 28 Feb 2021 15:04:06 +0000 Message-ID: Subject: 28.0.50; byte-compiling the standard counter closure fails To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::22f; envelope-from=pipcet@gmail.com; helo=mail-oi1-x22f.google.com X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_03_06=1.592, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.3 (/) X-Debbugs-Envelope-To: submit 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: -1.3 (-) (My apologies if this is well-known, documented, or plain stupid on my part, but I think it's an interesting gotcha. Feel free to close immediately in those cases.) Steps to reproduce from emacs -Q: Evaluate the following in a lexically-bound Emacs Lisp buffer: (byte-compile (let ((l 0)) (lambda () (cl-incf l)))) Expected result: A byte code object which will increment its return value by one every time it is called. Actual result: A byte code object which always returns 1. From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 28 14:58:43 2021 Received: (at 46834) by debbugs.gnu.org; 28 Feb 2021 19:58:43 +0000 Received: from localhost ([127.0.0.1]:47324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGSDC-0006yO-SE for submit@debbugs.gnu.org; Sun, 28 Feb 2021 14:58:43 -0500 Received: from mail-ot1-f52.google.com ([209.85.210.52]:37511) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGSDB-0006yA-Mp for 46834@debbugs.gnu.org; Sun, 28 Feb 2021 14:58:42 -0500 Received: by mail-ot1-f52.google.com with SMTP id g8so10772350otk.4 for <46834@debbugs.gnu.org>; Sun, 28 Feb 2021 11:58:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=9yNo2JH6/bfLZnanuZ8nFswmnoaZvWIn2b4/FRlCXKM=; b=p7TKtepXU/FxOi/9mg7RM7qNBuK0198JzdPJ/svHAizFcblhj+GB6tTL5XxDAnf3w/ getFlERp2TUr4zZE5VH3CtRu9cRngl0PGVYGjS6lyEDWPSss3lw7LdpwXzWryIS3Zav7 uTjMd0rqDxx+G4ojt6JajP0e+3AFOda1qevVlMTZLDikCPmkg4lrONB7AxzGvt/nit2x H3/hmDoMWUFKDuVmt547hy3imbcXc8JbsL9QrLIpx4de1FYs7jHKY5V95/8RCa930bry HFSxl5YUJsETx8lCr9iJpi266BKr90+M2XBA4VsTQewisD1OguVD/qFoZApc+1MaAPR0 9O+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=9yNo2JH6/bfLZnanuZ8nFswmnoaZvWIn2b4/FRlCXKM=; b=Ddc2Iim39QZgPlSQVTGnML9Ac1lWTQ6ntpR8miWBPQxovow+PW1reKzjE/zq6bcvOA eThTA2oUYgvfVVDkTYiX7kKBab/g3bAZdx/4lpM7NA0FxGugZ1F+Vf1GA+HoBpLG0HHq V8XsfHubHgBZIBeT2AmiZRKOYE2icPhbc/Kd5ts0cNyuqJ4Q5jDuSxLY8n8sab13DLMl UDywkR0IyUBSOUJINNV9wCJGvu3rtVDvjU0ncTV0QzanPpcj/6mdn3Iuc4l6m91E6Ryu ZvhbmePkwCR4HL5xzP6AcnrNogQbjnhlKOCflZfQlCVT8nhuAFEZmr/VFDeT4kacmhuw cOKg== X-Gm-Message-State: AOAM532xZZI6VzZmZhyP3QI/vcddilvMtR9uyggl5ro0OUOldALRvJlY tnUlDbVYztuWNOcfDoEUrnkAM/SVRon9nmT/050JH7ueF+s= X-Google-Smtp-Source: ABdhPJyJnHEsnmBN5XeLN1Cst9Zyf4kcxaxMx6iJPRKDLXtJwpwXmgPDwQ1hnFL1L3ULjhXF+G0QUrxEcP9YJ2X9SiE= X-Received: by 2002:a05:6830:3090:: with SMTP id f16mr10628483ots.292.1614542315942; Sun, 28 Feb 2021 11:58:35 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Pip Cet Date: Sun, 28 Feb 2021 19:57:59 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: 46834@debbugs.gnu.org Content-Type: multipart/mixed; boundary="000000000000378e7405bc6aedd5" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 46834 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: -1.0 (-) --000000000000378e7405bc6aedd5 Content-Type: text/plain; charset="UTF-8" On Sun, Feb 28, 2021 at 6:08 PM Pip Cet wrote: > (My apologies if this is well-known, documented, or plain stupid on my > part, but I think it's an interesting gotcha. Feel free to close > immediately in those cases.) > > Steps to reproduce from emacs -Q: > Evaluate the following in a lexically-bound Emacs Lisp buffer: > > (byte-compile (let ((l 0)) (lambda () (cl-incf l)))) > > Expected result: > > A byte code object which will increment its return value by one every > time it is called. > > Actual result: > > A byte code object which always returns 1. So, investigating a little, byte-compile--reify-function does not do, and as far as I can tell has never done, what it claims to do in its docstring. (byte-compile--reify-function (let ((x 0)) (lambda () (cl-incf x)))) => (lambda nil (let ((x '0)) (setq x (1+ x)))) Obviously, the closure generated on the LHS is not equivalent to that generated by evaluating the RHS. Also, while we're there: (byte-compile--reify-function (let ((x 0)) (let ((x 1)) (lambda () x)))) => (lambda nil (let ((x '1) (x '0)) x)) The closure on the LHS returns 1 (correctly); the transformed closure generated by evaluating the RHS returns 0. Patch attached. I've looked through the generated bytecode for all of lisp/ and there appear to be no significant differences. Pip --000000000000378e7405bc6aedd5 Content-Type: application/x-patch; name="0001-Compile-closures-that-modify-their-bound-vars-correc.patch" Content-Disposition: attachment; filename="0001-Compile-closures-that-modify-their-bound-vars-correc.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_klpkkgzy0 RnJvbSAzODRlMTM0ZWUzMmI5NjZmNDcwZmIxZjYxOGQ2Njk5YTM2ZmU0M2M4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBTdW4s IDI4IEZlYiAyMDIxIDE5OjQzOjA5ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gQ29tcGlsZSBjbG9z dXJlcyB0aGF0IG1vZGlmeSB0aGVpciBib3VuZCB2YXJzIGNvcnJlY3RseQogKEJ1ZyM0NjgzNCkK CiogbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsIChieXRlLWNvbXBpbGUtLXJlaWZ5LWZ1bmN0 aW9uKToKRG9uJ3QgbW92ZSBsZXQgYmluZGluZ3MgaW50byB0aGUgbGFtYmRhLiBEb24ndCByZXZl cnNlIGxpc3Qgb2YKYmluZGluZ3MuCi0tLQogbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsIHwg OCArKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAuZWwgYi9saXNwL2VtYWNz LWxpc3AvYnl0ZWNvbXAuZWwKaW5kZXggYTJmZTM3YTFlZTU4Ni4uN2QwMGI0NTNjYWYxYyAxMDA2 NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlz cC9ieXRlY29tcC5lbApAQCAtMjc4NSwxNiArMjc4NSwxMiBAQCBieXRlLWNvbXBpbGUtLXJlaWZ5 LWZ1bmN0aW9uCiAgICAgKGRvbGlzdCAoYmluZGluZyBlbnYpCiAgICAgICAoY29uZAogICAgICAg ICgoY29uc3AgYmluZGluZykKLSAgICAgICAgOzsgV2UgY2hlY2sgc2hhZG93aW5nIGJ5IHRoZSBh cmdzLCBzbyB0aGF0IHRoZSBgbGV0JyBjYW4gYmUgbW92ZWQKLSAgICAgICAgOzsgd2l0aGluIHRo ZSBsYW1iZGEsIHdoaWNoIGNhbiB0aGVuIGJlIHVuZm9sZGVkLiAgRklYTUU6IFNvbWUgb2YgdGhv c2UKLSAgICAgICAgOzsgYmluZGluZ3MgbWlnaHQgYmUgdW51c2VkIGluIGBib2R5Jy4KLSAgICAg ICAgKHVubGVzcyAobWVtcSAoY2FyIGJpbmRpbmcpIGFyZ3MpIDtTaGFkb3dlZC4KLSAgICAgICAg ICAocHVzaCBgKCwoY2FyIGJpbmRpbmcpICcsKGNkciBiaW5kaW5nKSkgcmVudikpKQorICAgICAg ICAocHVzaCBgKCwoY2FyIGJpbmRpbmcpICcsKGNkciBiaW5kaW5nKSkgcmVudikpCiAgICAgICAg KChlcSBiaW5kaW5nIHQpKQogICAgICAgICh0IChwdXNoIGAoZGVmdmFyICxiaW5kaW5nKSBib2R5 KSkpKQogICAgIChpZiAobnVsbCByZW52KQogICAgICAgICBgKGxhbWJkYSAsYXJncyAsQHByZWFt YmxlICxAYm9keSkKLSAgICAgIGAobGFtYmRhICxhcmdzICxAcHJlYW1ibGUgKGxldCAsKG5yZXZl cnNlIHJlbnYpICxAYm9keSkpKSkpCisgICAgICBgKGxldCAscmVudiAobGFtYmRhICxhcmdzICxA cHJlYW1ibGUgLEBib2R5KSkpKSkKIAwKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gYnl0ZS1jb21w aWxlIChmb3JtKQotLSAKMi4zMC4xCgo= --000000000000378e7405bc6aedd5-- From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 28 15:35:19 2021 Received: (at 46834) by debbugs.gnu.org; 28 Feb 2021 20:35:20 +0000 Received: from localhost ([127.0.0.1]:47337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGSmd-0007rO-KI for submit@debbugs.gnu.org; Sun, 28 Feb 2021 15:35:19 -0500 Received: from mail-oi1-f178.google.com ([209.85.167.178]:36372) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGSmc-0007rA-BW for 46834@debbugs.gnu.org; Sun, 28 Feb 2021 15:35:18 -0500 Received: by mail-oi1-f178.google.com with SMTP id j1so16020316oiw.3 for <46834@debbugs.gnu.org>; Sun, 28 Feb 2021 12:35:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=rDfbYhuKOjditTU9azgpN3hkSVmeNpYlRF7IsFROxws=; b=oM+/ROBnt70ldi30xxHr0VZ+FHzRzzrZI+jXqBvOtAWhtny+mv+VdQ6lflUbmFFD8+ kBnQC5p32zAO1MW7q8+rvrQo+PClPkCHZFpccTSzGMZ4bt3vdE7HoAX7ysZEWZ3SLl89 1jBrT16StEbt+leVcD/We5lI6angkNdVcSlkeHwn60XAUpA1q/xSkI76zGvG487J+Yyt 6JYIE9afyH7kz2NW8vSLIioPSBGs0WNMHbqyxLzT6FF7edJefvwOKpUHU5CKuDuDBLSx dk/niAxz8htt9T9Ch74hXH55BU14JYoN2qJtaPAUmTVAkW2T4IeD7M1FETMdQWVSO4yz LeGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=rDfbYhuKOjditTU9azgpN3hkSVmeNpYlRF7IsFROxws=; b=MH2sN8mC1CYm3zDb5BRRc6hs46aonxFTo2pvFxc9br6QUtAGY5lNbWmCNpdmBEa9kB dmSf2TxJ53VYuczyr72fk4/YTUiR+zve2l+uGaWjZKb7/V4Otrk4mkY0s65OMG45SHH8 DjwFc3m0uFqIhJAWeejBv/VTm9fHBU/y1aeJcdvnrpXMYjEokRtbhcExnjjS+P7sXyNZ nxt9Gc4rJ8zPrh5MAYOSG83F1Dz2rDI78xqCp2CY5IGV6RpGOxs9HM5CIfrx+n4BLExm /F0E0VX7q44tOOO5Rh/bQ1iFR5QFoecVrFS0qoPP6pq5h04iC2YilP3Zvaw7fTzWf2bT is9w== X-Gm-Message-State: AOAM5305bO8TFyXoTfjOo4OpWFB3Q61WEDjNj1ysz9QBqzoYpd8arra2 1nyx5PSivLnQ8u2VY+vorsCD3/lrwLTGlCtWpd2zvPO+Uqk= X-Google-Smtp-Source: ABdhPJyHWgPR66xtWSE+FEQRjqhV8LC6KNjshJwmmDKaKgd5Ko+z1W1euGDnZkvCbkd5MTybDlLklvfDBUzD40a/UDA= X-Received: by 2002:aca:aad6:: with SMTP id t205mr7380471oie.122.1614544512529; Sun, 28 Feb 2021 12:35:12 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Pip Cet Date: Sun, 28 Feb 2021 20:34:36 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: 46834@debbugs.gnu.org Content-Type: multipart/mixed; boundary="00000000000024d1fa05bc6b70cb" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 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: -1.0 (-) --00000000000024d1fa05bc6b70cb Content-Type: text/plain; charset="UTF-8" On Sun, Feb 28, 2021 at 7:57 PM Pip Cet wrote: > Patch attached. I've looked through the generated bytecode for all of > lisp/ and there appear to be no significant differences. And I suppose we have to test it, too. Pip --00000000000024d1fa05bc6b70cb Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Compile-closures-that-modify-their-bound-vars-correc.patch" Content-Disposition: attachment; filename="0001-Compile-closures-that-modify-their-bound-vars-correc.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_klpm35ut0 RnJvbSA3Y2RiNTliMzdiMjc4ZDVmM2U5NWIyYjViMWI4NzU4ZGVmZTcwYWNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBTdW4s IDI4IEZlYiAyMDIxIDE5OjQzOjA5ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gQ29tcGlsZSBjbG9z dXJlcyB0aGF0IG1vZGlmeSB0aGVpciBib3VuZCB2YXJzIGNvcnJlY3RseQogKEJ1ZyM0NjgzNCkK CiogbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsIChieXRlLWNvbXBpbGUtLXJlaWZ5LWZ1bmN0 aW9uKToKRG9uJ3QgbW92ZSBsZXQgYmluZGluZ3MgaW50byB0aGUgbGFtYmRhLiBEb24ndCByZXZl cnNlIGxpc3Qgb2YKYmluZGluZ3MuCiogdGVzdC9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAtdGVz dHMuZWwgKGJ5dGVjb21wLXJlaWZ5LWZ1bmN0aW9uKToKQWRkIHRlc3RzLgotLS0KIGxpc3AvZW1h Y3MtbGlzcC9ieXRlY29tcC5lbCAgICAgICAgICAgIHwgIDggKystLS0tLS0KIHRlc3QvbGlzcC9l bWFjcy1saXNwL2J5dGVjb21wLXRlc3RzLmVsIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysK IDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAuZWwgYi9saXNwL2VtYWNzLWxpc3AvYnl0 ZWNvbXAuZWwKaW5kZXggYTJmZTM3YTFlZTU4Ni4uN2QwMGI0NTNjYWYxYyAxMDA2NDQKLS0tIGEv bGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9ieXRlY29t cC5lbApAQCAtMjc4NSwxNiArMjc4NSwxMiBAQCBieXRlLWNvbXBpbGUtLXJlaWZ5LWZ1bmN0aW9u CiAgICAgKGRvbGlzdCAoYmluZGluZyBlbnYpCiAgICAgICAoY29uZAogICAgICAgICgoY29uc3Ag YmluZGluZykKLSAgICAgICAgOzsgV2UgY2hlY2sgc2hhZG93aW5nIGJ5IHRoZSBhcmdzLCBzbyB0 aGF0IHRoZSBgbGV0JyBjYW4gYmUgbW92ZWQKLSAgICAgICAgOzsgd2l0aGluIHRoZSBsYW1iZGEs IHdoaWNoIGNhbiB0aGVuIGJlIHVuZm9sZGVkLiAgRklYTUU6IFNvbWUgb2YgdGhvc2UKLSAgICAg ICAgOzsgYmluZGluZ3MgbWlnaHQgYmUgdW51c2VkIGluIGBib2R5Jy4KLSAgICAgICAgKHVubGVz cyAobWVtcSAoY2FyIGJpbmRpbmcpIGFyZ3MpIDtTaGFkb3dlZC4KLSAgICAgICAgICAocHVzaCBg KCwoY2FyIGJpbmRpbmcpICcsKGNkciBiaW5kaW5nKSkgcmVudikpKQorICAgICAgICAocHVzaCBg KCwoY2FyIGJpbmRpbmcpICcsKGNkciBiaW5kaW5nKSkgcmVudikpCiAgICAgICAgKChlcSBiaW5k aW5nIHQpKQogICAgICAgICh0IChwdXNoIGAoZGVmdmFyICxiaW5kaW5nKSBib2R5KSkpKQogICAg IChpZiAobnVsbCByZW52KQogICAgICAgICBgKGxhbWJkYSAsYXJncyAsQHByZWFtYmxlICxAYm9k eSkKLSAgICAgIGAobGFtYmRhICxhcmdzICxAcHJlYW1ibGUgKGxldCAsKG5yZXZlcnNlIHJlbnYp ICxAYm9keSkpKSkpCisgICAgICBgKGxldCAscmVudiAobGFtYmRhICxhcmdzICxAcHJlYW1ibGUg LEBib2R5KSkpKSkKIAwKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gYnl0ZS1jb21waWxlIChmb3Jt KQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAtdGVzdHMuZWwgYi90 ZXN0L2xpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC10ZXN0cy5lbAppbmRleCBmYjg0NTk2YWQzZjQw Li4wM2MyNjdjY2QwZmVmIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9ieXRlY29t cC10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC10ZXN0cy5lbApA QCAtMTE5OSw2ICsxMTk5LDI5IEBAIGJ5dGVjb21wLWxvY2FsLWRlZnZhcgogICAgICAgKHNob3Vs ZCAoZXF1YWwgKGZ1bmNhbGwgKGV2YWwgZnVuIHQpKSAnKGMgZCkpKQogICAgICAgKHNob3VsZCAo ZXF1YWwgKGZ1bmNhbGwgKGJ5dGUtY29tcGlsZSBmdW4pKSAnKGMgZCkpKSkpKQogCisoZXJ0LWRl ZnRlc3QgYnl0ZWNvbXAtcmVpZnktZnVuY3Rpb24gKCkKKyAgIkNoZWNrIHRoYXQgY2xvc3VyZXMg dGhhdCBtb2RpZnkgdGhlaXIgYm91bmQgdmFyaWFibGVzIGFyZQorY29tcGlsZWQgY29ycmVjdGx5 LiIKKyAgKGNsLWxldGYgKChsZXhpY2FsLWJpbmRpbmcgdCkKKyAgICAgICAgICAgICgoc3ltYm9s LWZ1bmN0aW9uICdjb3VudGVyKSBuaWwpKQorICAgIChsZXQgKCh4IDApKQorICAgICAgKGRlZnVu IGNvdW50ZXIgKCkgKGNsLWluY2YgeCkpCisgICAgICAoc2hvdWxkIChlcXVhbCAoY291bnRlcikg MSkpCisgICAgICAoc2hvdWxkIChlcXVhbCAoY291bnRlcikgMikpCisgICAgICA7OyBieXRlIGNv bXBpbGluZyBzaG91bGQgbm90IGNhdXNlIGNvdW50ZXIgdG8gYWx3YXlzIHJldHVybiB0aGUKKyAg ICAgIDs7IHNhbWUgdmFsdWUgKGJ1ZyM0NjgzNCkKKyAgICAgIChieXRlLWNvbXBpbGUgJ2NvdW50 ZXIpCisgICAgICAoc2hvdWxkIChlcXVhbCAoY291bnRlcikgMykpCisgICAgICAoc2hvdWxkIChl cXVhbCAoY291bnRlcikgNCkpKQorICAgIChsZXQgKCh4IDApKQorICAgICAgKGxldCAoKHggMSkp CisgICAgICAgIChkZWZ1biBjb3VudGVyICgpIHgpCisgICAgICAgIChzaG91bGQgKGVxdWFsIChj b3VudGVyKSAxKSkKKyAgICAgICAgOzsgYnl0ZSBjb21waWxpbmcgc2hvdWxkIG5vdCBjYXVzZSB0 aGUgb3V0ZXIgYmluZGluZyB0byBzaGFkb3cKKyAgICAgICAgOzsgdGhlIGlubmVyIG9uZSAoYnVn IzQ2ODM0KQorICAgICAgICAoYnl0ZS1jb21waWxlICdjb3VudGVyKQorICAgICAgICAoc2hvdWxk IChlcXVhbCAoY291bnRlcikgMSkpKSkpKQorCiA7OyBMb2NhbCBWYXJpYWJsZXM6CiA7OyBuby1i eXRlLWNvbXBpbGU6IHQKIDs7IEVuZDoKLS0gCjIuMzAuMQoK --00000000000024d1fa05bc6b70cb-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 08:16:55 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 13:16:55 +0000 Received: from localhost ([127.0.0.1]:48474 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGiPv-0000mh-3A for submit@debbugs.gnu.org; Mon, 01 Mar 2021 08:16:55 -0500 Received: from quimby.gnus.org ([95.216.78.240]:42338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGiPt-0000gj-EL for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 08:16:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=PXId3FeNttJQ8gHP6k01MRQiuNsFAGBL4BaTPeDAssg=; b=kF9fxGa9LuX7/VFUNKl9AU9BV8 v94rTFwikzQrk4wufdTNT49RMUqfZ15dsuA20gFOh13JoSwm5uhtVMALlwOLXnqTIvRawW0u5St8a RRA8rqQDpOVJOjTgzVjqKrU4R61n/UdKND0N2fJ9SMMcZJjiW73Uht1J4439MTSCpiho=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lGiPh-00027W-Al; Mon, 01 Mar 2021 14:16:46 +0100 From: Lars Ingebrigtsen To: Pip Cet Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails References: X-Now-Playing: Big Thief's _Two Hands_: "Cut My Hair" Date: Mon, 01 Mar 2021 14:16:39 +0100 In-Reply-To: (Pip Cet's message of "Sun, 28 Feb 2021 19:57:59 +0000") Message-ID: <8735xf8154.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Pip Cet writes: >> Steps to reproduce from emacs -Q: >> Evaluate the following in a lexically-bound Emacs Lisp buffer: >> >> (byte-compile (let ((l 0)) (lambda () (cl-incf l)))) >> >> Expected result: >> >> A byte co [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Stefan Monnier 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: -1.0 (-) Pip Cet writes: >> Steps to reproduce from emacs -Q: >> Evaluate the following in a lexically-bound Emacs Lisp buffer: >> >> (byte-compile (let ((l 0)) (lambda () (cl-incf l)))) >> >> Expected result: >> >> A byte code object which will increment its return value by one every >> time it is called. >> >> Actual result: >> >> A byte code object which always returns 1. Huh, that's such a standard example of using closures that it's surprising that we haven't tripped on this before... but I guess we don't really write code like that much in Emacs. (I can confirm that the test case doesn't work in Emacs 28.) > Patch attached. I've looked through the generated bytecode for all of > lisp/ and there appear to be no significant differences. I've added Stefan M to the CCs; perhaps he has some comments. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 09:24:00 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 14:24:00 +0000 Received: from localhost ([127.0.0.1]:48593 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjSq-0000kV-35 for submit@debbugs.gnu.org; Mon, 01 Mar 2021 09:24:00 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:34403) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjSn-0000kE-2T for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 09:23:58 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 255B0441C05; Mon, 1 Mar 2021 09:23:51 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D82CC441BEB; Mon, 1 Mar 2021 09:23:49 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1614608629; bh=tJS+qTq72c5XbpCoNzDc3NGLK+dcAaWGFJLcDkADvOc=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=dpfRDYf3UmXUMRGCc9d751yJs5Sg36M1PXj2pNUZuT7xCjNuNlaTqdGgZi6xJVjE6 bCz4DsrdzUmtFFRyWWPDryRoQ/hjhn0k4fJpwib0E5LLSL0JX73Bdzi0XXMhT41QnV Q05AmvCbVml5vUdr9KuTZFIziW78sw4oFZUhplBLLrGukfbaMFZWty84xHqVn0gEZC 0bqPV633c8Y1uksFs/rBth4aL6yxXjNpmFDvFLYYGoYV6pIf/UOy9WeqdTnvrVWSCR ROrBcvvc+QtPZGog4kHNQNTL+9qMXybwaaiIl4D1hHNB+Y/w5nMFirqnJMpdL87lBm K61+GUtKlIGOA== Received: from alfajor (unknown [216.154.41.47]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id EA4FA12026C; Mon, 1 Mar 2021 09:23:49 -0500 (EST) From: Stefan Monnier To: Pip Cet Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails Message-ID: References: Date: Mon, 01 Mar 2021 09:23:48 -0500 In-Reply-To: (Pip Cet's message of "Sun, 28 Feb 2021 20:34:36 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.100 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org 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: -3.3 (---) > diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el > index a2fe37a1ee586..7d00b453caf1c 100644 > --- a/lisp/emacs-lisp/bytecomp.el > +++ b/lisp/emacs-lisp/bytecomp.el > @@ -2785,16 +2785,12 @@ byte-compile--reify-function > (dolist (binding env) > (cond > ((consp binding) > - ;; We check shadowing by the args, so that the `let' can be moved > - ;; within the lambda, which can then be unfolded. FIXME: Some of those > - ;; bindings might be unused in `body'. > - (unless (memq (car binding) args) ;Shadowed. > - (push `(,(car binding) ',(cdr binding)) renv))) > + (push `(,(car binding) ',(cdr binding)) renv)) > ((eq binding t)) > (t (push `(defvar ,binding) body)))) > (if (null renv) > `(lambda ,args ,@preamble ,@body) > - `(lambda ,args ,@preamble (let ,(nreverse renv) ,@body))))) > + `(let ,renv (lambda ,args ,@preamble ,@body))))) This looks good, thanks, but it changes the nature of the output of `byte-compile` from a function value to an expression whose evaluation returns a function value. So I think we should tweak `byte-compile` so it calls `eval` on the result in this particular case. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 09:34:50 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 14:34:50 +0000 Received: from localhost ([127.0.0.1]:48599 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjdK-00034j-2V for submit@debbugs.gnu.org; Mon, 01 Mar 2021 09:34:50 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:36007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjdH-00034V-UY for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 09:34:48 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 1CCFD441C0E; Mon, 1 Mar 2021 09:34:42 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 65E5A4401ED; Mon, 1 Mar 2021 09:34:22 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1614609262; bh=M5MHI3LF/UeX+NyT8yQHA9s9T/Vm3bIndC77EKnW5ww=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=BQ5rfmjqxebdqw28+1g2oZLVI7bzVkxdVtxU1UOq/esYI7JP6pah52smfsjSOpG0I X58E1jLwYzlZtaHQLEJ1XPYfr91ktETHLfWnqgqobUZGKF2qZwz2S9gVJdESqsQrLi nnpQSy2G5otXGJ7atPnpTj6XJ4XVf3vq/bit5BB29zOyuRp6CbctTnlXjf052AN9H1 PWq82hB3BbclLGcs3IiuC/r7ICyxlp5F1oejxxR6vk4nRsCDyadcAnjCp7X7jnOMix XRizIVJDhBq7z40AZKyJUsY7r3vL+aZah8+l5Mq1fGcHAZYTYiCds/inutcVu127df sdW6O2tKaNb/w== Received: from alfajor (unknown [216.154.41.47]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 42C42120319; Mon, 1 Mar 2021 09:34:22 -0500 (EST) From: Stefan Monnier To: Lars Ingebrigtsen Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails Message-ID: References: <8735xf8154.fsf@gnus.org> Date: Mon, 01 Mar 2021 09:34:21 -0500 In-Reply-To: <8735xf8154.fsf@gnus.org> (Lars Ingebrigtsen's message of "Mon, 01 Mar 2021 14:16:39 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.100 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Pip Cet 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: -3.3 (---) >>> (byte-compile (let ((l 0)) (lambda () (cl-incf l)))) > Huh, that's such a standard example of using closures that it's > surprising that we haven't tripped on this before... but I guess we > don't really write code like that much in Emacs. (I can confirm that > the test case doesn't work in Emacs 28.) The problem is not in the way the actual byte compiler handles such code (e.g. when you compile a whole file, which works just fine), it's just for the special case where we pass to `byte-compile` a function *value* rather than an *expression* (in which case, `byte-compile` first needs to turn this value back into a corresponding expression). This is a very special situation, whose main use case is when you do `(byte-compile 'SYMBOL)` and which we don't handle 100% correctly, anyway. E.g. (using lexical-binding, of course): M-: (let ((x 1)) (defun counter1 () (cl-incf x)) (defun counter2 () (cl-incf x))) RET then do M-x byte-compile RET counter1 RET and then try M-: (list (counter1) (counter2) (counter1) (counter2)) and notice that the counter is not shared between the two functions :-( > I've added Stefan M to the CCs; perhaps he has some comments. Thanks, Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 10:02:35 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 15:02:35 +0000 Received: from localhost ([127.0.0.1]:50315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGk4B-0004AO-D7 for submit@debbugs.gnu.org; Mon, 01 Mar 2021 10:02:35 -0500 Received: from mail-oi1-f179.google.com ([209.85.167.179]:47004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGk49-0004AC-KW for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 10:02:34 -0500 Received: by mail-oi1-f179.google.com with SMTP id f3so18260329oiw.13 for <46834@debbugs.gnu.org>; Mon, 01 Mar 2021 07:02:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Di2g5oH9cG6ODOU9Rkjm65JTlbPE0/GuMp62m13JJuE=; b=pfAXsDY81rXs3Jf8vc8daUYfFz3+xwuuh9L3qC37i6lm1U60FCVG/kuUfpTanO3XMK i1YBfuvRqztwAV4K0B7Osg8S37jytuSPc3mBpJ0NVGKpF38rhka/nwprQIPRYIbyvVl8 nYA7CiH3Tg385TN8qY6t3zLAI4jBM5RpDvjahMlTS6rUMnK+vjZW1m8D4GbgtO+aTtaC 9StKSIUFhw4Si16HGtJjRu6rwvtGu+Z8FnWvkWV0nwUtbuDijeoijr97sKaEYw3lXPbT +XPQhRu2cqWkW0LVbqQe2dtl1ck9S9zUoNTXLRRTKMdWQHezJcZ0Rkhi1T7ThfqjHAfy GnDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Di2g5oH9cG6ODOU9Rkjm65JTlbPE0/GuMp62m13JJuE=; b=pFP3Dn8f4ZLYCFCcJ+iUN8h1U/bjAkV8dJeYJUO7iWuuxkjC8uYWG6289u/MrlAZZb fSwacWxA3XfEXear//Ivh5luNg7my/SVPe2wBmzvZCudrVBj9eOSIspFlaSpK132BUTy QPmDBlhB+wf3NRJBruUnxAl/bZNg0UQcbYjWQAZchyvPMiFnQ/RICIuX8LvDeoYvRjpN u8NgzRk6qv8SVv59kLSor2kSeezXMbkocbdi5f8YYEF+eFUpGOhTtWz+bMA6TwPZ+HmF mLx31GF+Juw7IWM9imfG3uwN13c9KjsFdLWWZqFVqTJBFWECH1EqrYTMHILZnkRG7hw5 ki4Q== X-Gm-Message-State: AOAM530mleIlLOBNePshfyLIyB0Kch+a9UBQYQD+O/FndueFqj7ExvoQ QnVNgOhQdqWVtNwyx7U+AnJDAm/Ap/pXO912ly4= X-Google-Smtp-Source: ABdhPJyvQ5Tbzde5F2/pCrJFuiz9rqqcbcl5AxHUaAV/LFCtpR9OrMVrP4dr5oM2WiJp+d6QmzQJBfJ5lbKNOggV8Xg= X-Received: by 2002:aca:6141:: with SMTP id v62mr11428633oib.30.1614610947853; Mon, 01 Mar 2021 07:02:27 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Pip Cet Date: Mon, 1 Mar 2021 15:01:51 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: Stefan Monnier Content-Type: multipart/mixed; boundary="000000000000ff6b0105bc7ae7b5" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org 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: -1.0 (-) --000000000000ff6b0105bc7ae7b5 Content-Type: text/plain; charset="UTF-8" On Mon, Mar 1, 2021 at 2:23 PM Stefan Monnier wrote: > > diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el > > index a2fe37a1ee586..7d00b453caf1c 100644 > > --- a/lisp/emacs-lisp/bytecomp.el > > +++ b/lisp/emacs-lisp/bytecomp.el > > @@ -2785,16 +2785,12 @@ byte-compile--reify-function > > (dolist (binding env) > > (cond > > ((consp binding) > > - ;; We check shadowing by the args, so that the `let' can be moved > > - ;; within the lambda, which can then be unfolded. FIXME: Some of those > > - ;; bindings might be unused in `body'. > > - (unless (memq (car binding) args) ;Shadowed. > > - (push `(,(car binding) ',(cdr binding)) renv))) > > + (push `(,(car binding) ',(cdr binding)) renv)) > > ((eq binding t)) > > (t (push `(defvar ,binding) body)))) > > (if (null renv) > > `(lambda ,args ,@preamble ,@body) > > - `(lambda ,args ,@preamble (let ,(nreverse renv) ,@body))))) > > + `(let ,renv (lambda ,args ,@preamble ,@body))))) > > This looks good, thanks, but it changes the nature of the output of > `byte-compile` from a function value to an expression whose evaluation > returns a function value. So I think we should tweak `byte-compile` so > it calls `eval` on the result in this particular case. Thanks! That's a good catch :-) Is this what you meant? Pip --000000000000ff6b0105bc7ae7b5 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Compile-closures-that-modify-their-bound-vars-correc.patch" Content-Disposition: attachment; filename="0001-Compile-closures-that-modify-their-bound-vars-correc.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_klqpmp780 RnJvbSAwYjExYWYzNWZiMzQxNGZhMWFiYjcyYmQzM2Y0YzZmNzY5YWE4ODQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBTdW4s IDI4IEZlYiAyMDIxIDE5OjQzOjA5ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gQ29tcGlsZSBjbG9z dXJlcyB0aGF0IG1vZGlmeSB0aGVpciBib3VuZCB2YXJzIGNvcnJlY3RseQogKEJ1ZyM0NjgzNCkK CiogbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsIChieXRlLWNvbXBpbGUtLXJlaWZ5LWZ1bmN0 aW9uKTogRG9uJ3QKbW92ZSBsZXQgYmluZGluZ3MgaW50byB0aGUgbGFtYmRhLiBEb24ndCByZXZl cnNlIGxpc3Qgb2YKYmluZGluZ3MuIChieXRlLWNvbXBpbGUpOiBFdmFsdWF0ZSB0aGUgcmV0dXJu IHZhbHVlIGlmIGl0IHdhcwpwcmV2aW91c2x5IHJlaWZpZWQuCiogdGVzdC9saXNwL2VtYWNzLWxp c3AvYnl0ZWNvbXAtdGVzdHMuZWwgKGJ5dGVjb21wLXJlaWZ5LWZ1bmN0aW9uKToKQWRkIHRlc3Rz LgotLS0KIGxpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC5lbCAgICAgICAgICAgIHwgNDYgKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0KIHRlc3QvbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLXRlc3Rz LmVsIHwgMjMgKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCsp LCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAu ZWwgYi9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAuZWwKaW5kZXggYTJmZTM3YTFlZTU4Ni4uNGUw MGZlNjEyMWU4MiAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsCisrKyBi L2xpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC5lbApAQCAtMjc4NSwxNiArMjc4NSwxMiBAQCBieXRl LWNvbXBpbGUtLXJlaWZ5LWZ1bmN0aW9uCiAgICAgKGRvbGlzdCAoYmluZGluZyBlbnYpCiAgICAg ICAoY29uZAogICAgICAgICgoY29uc3AgYmluZGluZykKLSAgICAgICAgOzsgV2UgY2hlY2sgc2hh ZG93aW5nIGJ5IHRoZSBhcmdzLCBzbyB0aGF0IHRoZSBgbGV0JyBjYW4gYmUgbW92ZWQKLSAgICAg ICAgOzsgd2l0aGluIHRoZSBsYW1iZGEsIHdoaWNoIGNhbiB0aGVuIGJlIHVuZm9sZGVkLiAgRklY TUU6IFNvbWUgb2YgdGhvc2UKLSAgICAgICAgOzsgYmluZGluZ3MgbWlnaHQgYmUgdW51c2VkIGlu IGBib2R5Jy4KLSAgICAgICAgKHVubGVzcyAobWVtcSAoY2FyIGJpbmRpbmcpIGFyZ3MpIDtTaGFk b3dlZC4KLSAgICAgICAgICAocHVzaCBgKCwoY2FyIGJpbmRpbmcpICcsKGNkciBiaW5kaW5nKSkg cmVudikpKQorICAgICAgICAocHVzaCBgKCwoY2FyIGJpbmRpbmcpICcsKGNkciBiaW5kaW5nKSkg cmVudikpCiAgICAgICAgKChlcSBiaW5kaW5nIHQpKQogICAgICAgICh0IChwdXNoIGAoZGVmdmFy ICxiaW5kaW5nKSBib2R5KSkpKQogICAgIChpZiAobnVsbCByZW52KQogICAgICAgICBgKGxhbWJk YSAsYXJncyAsQHByZWFtYmxlICxAYm9keSkKLSAgICAgIGAobGFtYmRhICxhcmdzICxAcHJlYW1i bGUgKGxldCAsKG5yZXZlcnNlIHJlbnYpICxAYm9keSkpKSkpCisgICAgICBgKGxldCAscmVudiAo bGFtYmRhICxhcmdzICxAcHJlYW1ibGUgLEBib2R5KSkpKSkKIAwKIDs7OyMjI2F1dG9sb2FkCiAo ZGVmdW4gYnl0ZS1jb21waWxlIChmb3JtKQpAQCAtMjgxOSwyMyArMjgxNSwyNyBAQCBieXRlLWNv bXBpbGUKICAgICAgICAgICAgICAgICAgKGlmIChzeW1ib2xwIGZvcm0pIGZvcm0gInByb3ZpZGVk IikpCiAgICAgICAgIGZ1bikKICAgICAgICAodAotICAgICAgICAod2hlbiAob3IgKHN5bWJvbHAg Zm9ybSkgKGVxIChjYXItc2FmZSBmdW4pICdjbG9zdXJlKSkKLSAgICAgICAgICA7OyBgZnVuJyBp cyBhIGZ1bmN0aW9uICp2YWx1ZSosIHNvIHRyeSB0byByZWNvdmVyIGl0cyBjb3JyZXNwb25kaW5n Ci0gICAgICAgICAgOzsgc291cmNlIGNvZGUuCi0gICAgICAgICAgKHNldHEgbGV4aWNhbC1iaW5k aW5nIChlcSAoY2FyIGZ1bikgJ2Nsb3N1cmUpKQotICAgICAgICAgIChzZXRxIGZ1biAoYnl0ZS1j b21waWxlLS1yZWlmeS1mdW5jdGlvbiBmdW4pKSkKLSAgICAgICAgOzsgRXhwYW5kIG1hY3Jvcy4K LSAgICAgICAgKHNldHEgZnVuIChieXRlLWNvbXBpbGUtcHJlcHJvY2VzcyBmdW4pKQotICAgICAg ICAoc2V0cSBmdW4gKGJ5dGUtY29tcGlsZS10b3AtbGV2ZWwgZnVuIG5pbCAnZXZhbCkpCi0gICAg ICAgIChpZiAoc3ltYm9scCBmb3JtKQotICAgICAgICAgICAgOzsgYnl0ZS1jb21waWxlLXRvcC1s ZXZlbCByZXR1cm5zIGFuICpleHByZXNzaW9uKiBlcXVpdmFsZW50IHRvIHRoZQotICAgICAgICAg ICAgOzsgYGZ1bicgZXhwcmVzc2lvbiwgc28gd2UgbmVlZCB0byBldmFsdWF0ZSBpdCwgdGhvIG5v cm1hbGx5Ci0gICAgICAgICAgICA7OyB0aGlzIGlzIG5vdCBuZWVkZWQgYmVjYXVzZSB0aGUgZXhw cmVzc2lvbiBpcyBqdXN0IGEgY29uc3RhbnQKLSAgICAgICAgICAgIDs7IGJ5dGUtY29kZSBvYmpl Y3QsIHdoaWNoIGlzIHNlbGYtZXZhbHVhdGluZy4KLSAgICAgICAgICAgIChzZXRxIGZ1biAoZXZh bCBmdW4gdCkpKQotICAgICAgICAoaWYgbWFjcm8gKHB1c2ggJ21hY3JvIGZ1bikpCi0gICAgICAg IChpZiAoc3ltYm9scCBmb3JtKSAoZnNldCBmb3JtIGZ1bikpCi0gICAgICAgIGZ1bikpKSkpKQor ICAgICAgICAobGV0IChmaW5hbC1ldmFsKQorICAgICAgICAgICh3aGVuIChvciAoc3ltYm9scCBm b3JtKSAoZXEgKGNhci1zYWZlIGZ1bikgJ2Nsb3N1cmUpKQorICAgICAgICAgICAgOzsgYGZ1bicg aXMgYSBmdW5jdGlvbiAqdmFsdWUqLCBzbyB0cnkgdG8gcmVjb3ZlciBpdHMgY29ycmVzcG9uZGlu ZworICAgICAgICAgICAgOzsgc291cmNlIGNvZGUuCisgICAgICAgICAgICAoc2V0cSBsZXhpY2Fs LWJpbmRpbmcgKGVxIChjYXIgZnVuKSAnY2xvc3VyZSkpCisgICAgICAgICAgICAoc2V0cSBmdW4g KGJ5dGUtY29tcGlsZS0tcmVpZnktZnVuY3Rpb24gZnVuKSkKKyAgICAgICAgICAgIChzZXRxIGZp bmFsLWV2YWwgdCkpCisgICAgICAgICAgOzsgRXhwYW5kIG1hY3Jvcy4KKyAgICAgICAgICAoc2V0 cSBmdW4gKGJ5dGUtY29tcGlsZS1wcmVwcm9jZXNzIGZ1bikpCisgICAgICAgICAgKHNldHEgZnVu IChieXRlLWNvbXBpbGUtdG9wLWxldmVsIGZ1biBuaWwgJ2V2YWwpKQorICAgICAgICAgIChpZiAo c3ltYm9scCBmb3JtKQorICAgICAgICAgICAgICA7OyBieXRlLWNvbXBpbGUtdG9wLWxldmVsIHJl dHVybnMgYW4gKmV4cHJlc3Npb24qIGVxdWl2YWxlbnQgdG8gdGhlCisgICAgICAgICAgICAgIDs7 IGBmdW4nIGV4cHJlc3Npb24sIHNvIHdlIG5lZWQgdG8gZXZhbHVhdGUgaXQsIHRobyBub3JtYWxs eQorICAgICAgICAgICAgICA7OyB0aGlzIGlzIG5vdCBuZWVkZWQgYmVjYXVzZSB0aGUgZXhwcmVz c2lvbiBpcyBqdXN0IGEgY29uc3RhbnQKKyAgICAgICAgICAgICAgOzsgYnl0ZS1jb2RlIG9iamVj dCwgd2hpY2ggaXMgc2VsZi1ldmFsdWF0aW5nLgorICAgICAgICAgICAgICAoc2V0cSBmdW4gKGV2 YWwgZnVuIHQpKSkKKyAgICAgICAgICAoaWYgZmluYWwtZXZhbAorICAgICAgICAgICAgICAoc2V0 cSBmdW4gKGV2YWwgZnVuIHQpKSkKKyAgICAgICAgICAoaWYgbWFjcm8gKHB1c2ggJ21hY3JvIGZ1 bikpCisgICAgICAgICAgKGlmIChzeW1ib2xwIGZvcm0pIChmc2V0IGZvcm0gZnVuKSkKKyAgICAg ICAgICBmdW4pKSkpKSkpCiAKIChkZWZ1biBieXRlLWNvbXBpbGUtc2V4cCAoc2V4cCkKICAgIkNv bXBpbGUgYW5kIHJldHVybiBTRVhQLiIKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNw L2J5dGVjb21wLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAtdGVzdHMu ZWwKaW5kZXggZmI4NDU5NmFkM2Y0MC4uMDNjMjY3Y2NkMGZlZiAxMDA2NDQKLS0tIGEvdGVzdC9s aXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxp c3AvYnl0ZWNvbXAtdGVzdHMuZWwKQEAgLTExOTksNiArMTE5OSwyOSBAQCBieXRlY29tcC1sb2Nh bC1kZWZ2YXIKICAgICAgIChzaG91bGQgKGVxdWFsIChmdW5jYWxsIChldmFsIGZ1biB0KSkgJyhj IGQpKSkKICAgICAgIChzaG91bGQgKGVxdWFsIChmdW5jYWxsIChieXRlLWNvbXBpbGUgZnVuKSkg JyhjIGQpKSkpKSkKIAorKGVydC1kZWZ0ZXN0IGJ5dGVjb21wLXJlaWZ5LWZ1bmN0aW9uICgpCisg ICJDaGVjayB0aGF0IGNsb3N1cmVzIHRoYXQgbW9kaWZ5IHRoZWlyIGJvdW5kIHZhcmlhYmxlcyBh cmUKK2NvbXBpbGVkIGNvcnJlY3RseS4iCisgIChjbC1sZXRmICgobGV4aWNhbC1iaW5kaW5nIHQp CisgICAgICAgICAgICAoKHN5bWJvbC1mdW5jdGlvbiAnY291bnRlcikgbmlsKSkKKyAgICAobGV0 ICgoeCAwKSkKKyAgICAgIChkZWZ1biBjb3VudGVyICgpIChjbC1pbmNmIHgpKQorICAgICAgKHNo b3VsZCAoZXF1YWwgKGNvdW50ZXIpIDEpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGNvdW50ZXIp IDIpKQorICAgICAgOzsgYnl0ZSBjb21waWxpbmcgc2hvdWxkIG5vdCBjYXVzZSBjb3VudGVyIHRv IGFsd2F5cyByZXR1cm4gdGhlCisgICAgICA7OyBzYW1lIHZhbHVlIChidWcjNDY4MzQpCisgICAg ICAoYnl0ZS1jb21waWxlICdjb3VudGVyKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGNvdW50ZXIp IDMpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGNvdW50ZXIpIDQpKSkKKyAgICAobGV0ICgoeCAw KSkKKyAgICAgIChsZXQgKCh4IDEpKQorICAgICAgICAoZGVmdW4gY291bnRlciAoKSB4KQorICAg ICAgICAoc2hvdWxkIChlcXVhbCAoY291bnRlcikgMSkpCisgICAgICAgIDs7IGJ5dGUgY29tcGls aW5nIHNob3VsZCBub3QgY2F1c2UgdGhlIG91dGVyIGJpbmRpbmcgdG8gc2hhZG93CisgICAgICAg IDs7IHRoZSBpbm5lciBvbmUgKGJ1ZyM0NjgzNCkKKyAgICAgICAgKGJ5dGUtY29tcGlsZSAnY291 bnRlcikKKyAgICAgICAgKHNob3VsZCAoZXF1YWwgKGNvdW50ZXIpIDEpKSkpKSkKKwogOzsgTG9j YWwgVmFyaWFibGVzOgogOzsgbm8tYnl0ZS1jb21waWxlOiB0CiA7OyBFbmQ6Ci0tIAoyLjMwLjEK Cg== --000000000000ff6b0105bc7ae7b5-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 10:17:05 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 15:17:05 +0000 Received: from localhost ([127.0.0.1]:50344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGkID-0004XC-B1 for submit@debbugs.gnu.org; Mon, 01 Mar 2021 10:17:05 -0500 Received: from mail-ot1-f42.google.com ([209.85.210.42]:37982) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGkIC-0004W3-B4 for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 10:17:04 -0500 Received: by mail-ot1-f42.google.com with SMTP id s3so16775464otg.5 for <46834@debbugs.gnu.org>; Mon, 01 Mar 2021 07:17:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fAj0Vn502nmYrz4udBhfHS+U5oha3C0Cf09aOk0CEAM=; b=DKaWj8ziKFaSLhy1EcexSdFJWqGbwyoRz/ZgqcPtZZ3iQVbr8hCD0c2r8JCvrIo81Z wULiW731Wezh60sdQsRwXMJCUhVGFzVZDaOOx4my1OCpPUusR5dMkqBwx/8EOPrtXUS0 R+6w7+kAWKRgxLc5Am3a/TABhMJIB6xzDsjluSkOKv9rmlFJfRaK/sUAQMRCQea05NyR NgCjBcV7fTUWx3jAgBJKIDvJAMUxULp3CZkXH4KdameRd1sdLZ1+efzMV8s7f6pj5VvZ p1dSUnFE2qTAela96qwSkBQtt57otYzVt9tHjh/KP11q80eW8CUnmZS2uOMQ/mV3qx0S 6/Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fAj0Vn502nmYrz4udBhfHS+U5oha3C0Cf09aOk0CEAM=; b=SDg1lKYsDIidOj6ptcaAfT1roYvwDzidrpWRfwFjM4Iqnt0tRHfTlufYVIODfmIsBa AIu/l7hxRc8Zza3PaJZchl4CMmlwORrXmP+DJkRyHw9k18JLRs0LkNDLqCv3WUvVOD1z SfrbJ6Y0YgjE5oxTfFvLy5nzqcdUn7nZxF5F6v92PCx8qvCFfTv9GqxsIiWntm9HwMs9 HRG57gGpFWGKGVtJ5sMwxTjRT4j2E4Uv+95i/3rL/FCBN2cM4MdqTegc47zuoiMo5FTJ Trw34AGf8Cmp8rzxyiQ3A6LYP7ecqsunZBWOhw2ZWMs6j0HweqKRIO0VbySo2CvQNWZZ 3ibw== X-Gm-Message-State: AOAM5335mrxC/lIPwv2eYJeEu5agdM05B5++gce03mxMoHZH9cdQj5Uf Jiujj75cSe2k3XyDQf6wWuMR1oKV6wO4F1BvZIY= X-Google-Smtp-Source: ABdhPJwbLpshYRduBvuj85Yuw2S1F8g9rIXAoXHCGOC7CcGre2G5WBIqkEYzjsTGfhiRG1zSvy8eiu/ExUhcn1XJ57s= X-Received: by 2002:a05:6830:3090:: with SMTP id f16mr13833089ots.292.1614611818761; Mon, 01 Mar 2021 07:16:58 -0800 (PST) MIME-Version: 1.0 References: <8735xf8154.fsf@gnus.org> In-Reply-To: From: Pip Cet Date: Mon, 1 Mar 2021 15:16:22 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: Stefan Monnier Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Lars Ingebrigtsen 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: -1.0 (-) On Mon, Mar 1, 2021 at 2:34 PM Stefan Monnier wrote: > and notice that the counter is not shared between the two functions :-( I'd noticed that, but figured Stefan wouldn't accept "partial byte compilation" as a reasonable bug scenario :-) That said, the comment in byte-compile--reify-function is incorrect: since closures use alists and "let" uses proper lists, we can't share structure between them, so the return value will be equivalent to a snapshot of FUN, not "equal" to FUN itself. OTOH, even changing that wouldn't help as byte-compiled closures use a third format to store the bindings, IIUC. I've been meaning to ask, is there anything like an XFAIL test in our current framework? This would be an excellent use for one of those. Pip From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 11:02:54 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 16:02:54 +0000 Received: from localhost ([127.0.0.1]:50536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGl0Y-0003iM-0t for submit@debbugs.gnu.org; Mon, 01 Mar 2021 11:02:54 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:56977) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGl0V-0003i4-JT for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 11:02:52 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id EE0A310022F; Mon, 1 Mar 2021 11:02:45 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 7392D100091; Mon, 1 Mar 2021 11:02:44 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1614614564; bh=ZMGlLwoUXSb3ZJh0D+hVp7fWBoSntZQjAFY/E2bdm5Y=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=gIKek2HLLQHd2Wayzaz3zPziy2VYjA9rP1jIEEvUuOo5v7aJDhjB9Y7NeRaUuRORK taIkjqhlHD0lvNaSvKUoG2+GAv/vFnClITaIlw8CSconYlQ2PIh1g2yk3XtGTTDauf rv80i1uKXC1cqesly0Q5GoY4piS/rfmW7PQRiLcGO/HDAV9MAgNYRYCDeWNf6hdME+ ac67zjoT3Ez5Dk8+XNMqAFraqwAMg6319QN21UYxY+teqzgtrrhrR0Mh5+LKNCswjQ ueGIel0xrLrV1d0nizIGP71M5qhkzfCOryTFGQE2ThdUhFumqwpZQdhzNAuwK6dhPF Qfvhq5jG65kfw== Received: from alfajor (unknown [216.154.41.47]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 46D311202BB; Mon, 1 Mar 2021 11:02:44 -0500 (EST) From: Stefan Monnier To: Pip Cet Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails Message-ID: References: Date: Mon, 01 Mar 2021 11:02:43 -0500 In-Reply-To: (Pip Cet's message of "Mon, 1 Mar 2021 15:01:51 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.094 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org 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: -3.3 (---) >> This looks good, thanks, but it changes the nature of the output of >> `byte-compile` from a function value to an expression whose evaluation >> returns a function value. So I think we should tweak `byte-compile` so >> it calls `eval` on the result in this particular case. > > Thanks! That's a good catch :-) > > Is this what you meant? Yes, LGTM, thanks, Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 11:15:20 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 16:15:20 +0000 Received: from localhost ([127.0.0.1]:50573 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGlCa-0004Lf-Fo for submit@debbugs.gnu.org; Mon, 01 Mar 2021 11:15:20 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:42483) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGlCZ-0004Ew-Go for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 11:15:19 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id DB44A10022E; Mon, 1 Mar 2021 11:15:13 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id A317B100091; Mon, 1 Mar 2021 11:15:07 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1614615307; bh=mhD7LbKQ9vGnmMyi1Q671Vu1qWtEipimvD1+I5e5KO0=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Mu4vJ7IO423Y1Xo/jEdXJ82ESDu93YChI6H3+xXGlRjR1kpfTA5dlbcp4NHLINoSl iioSmNbpl0oV0+7IUcC5x+dDFq/7/RF3sPoEbJsSgVgfW3+dicksHTnFYrSLZRO5oX 4o5bFAuK4q187YK/pmEXqGeRdnCIWu6Gd4c7NmF7eC5K+wjOk2KJxvb7j+1sj8IGuo /RLqub4thkz/jqpuu3zot5SyX8FJF6HdmN+8B5rgshrt2zEAYVnaR5u6WIrRND8LkC lDLGaSTb92sTeGv1qNTc4aVnuT1ISWXbh3UdmWqtLZdLStzDUlOBJqbE78ivFA2C15 HwVLW7d7sSC/Q== Received: from alfajor (unknown [216.154.41.47]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id F3260120377; Mon, 1 Mar 2021 11:15:06 -0500 (EST) From: Stefan Monnier To: Pip Cet Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails Message-ID: References: <8735xf8154.fsf@gnus.org> Date: Mon, 01 Mar 2021 11:15:05 -0500 In-Reply-To: (Pip Cet's message of "Mon, 1 Mar 2021 15:16:22 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.094 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Lars Ingebrigtsen 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: -3.3 (---) >> and notice that the counter is not shared between the two functions :-( > I'd noticed that, but figured Stefan wouldn't accept "partial byte > compilation" as a reasonable bug scenario :-) I'd have to ask him, but he'd probably roll his eyes and complain about this use case yet again. > That said, the comment in byte-compile--reify-function is incorrect: [ I don't see which comment you're referring to. ] > since closures use alists and "let" uses proper lists, we can't share > structure between them, so the return value will be equivalent to a > snapshot of FUN, not "equal" to FUN itself. OTOH, even changing that > wouldn't help as byte-compiled closures use a third format to store > the bindings, IIUC. I think we could make the shared state work if we turned (closure ((VAR . VAL) ...) ...) into something like (cl-symbol-macrolet ((VAR (cdr ',CONSCELL)) ...) ...) I find the idea pretty repulsive, tho. > I've been meaning to ask, is there anything like an XFAIL test in our > current framework? This would be an excellent use for one of those. I don't know what is XFAIL, and I'm not very knowledgeable about our test infrastructure, so you might want to ask elsewhere. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 11:31:42 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 16:31:42 +0000 Received: from localhost ([127.0.0.1]:50595 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGlSQ-0006ZU-92 for submit@debbugs.gnu.org; Mon, 01 Mar 2021 11:31:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGlSO-0006ZH-Vh for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 11:31:41 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48635) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lGlSJ-0001U5-8k; Mon, 01 Mar 2021 11:31:35 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4612 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lGlSI-0007OQ-2k; Mon, 01 Mar 2021 11:31:34 -0500 Date: Mon, 01 Mar 2021 18:31:30 +0200 Message-Id: <83blc296ot.fsf@gnu.org> From: Eli Zaretskii To: Pip Cet In-Reply-To: (message from Pip Cet on Mon, 1 Mar 2021 15:16:22 +0000) Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails References: <8735xf8154.fsf@gnus.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, larsi@gnus.org, monnier@iro.umontreal.ca 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: -1.7 (-) > From: Pip Cet > Date: Mon, 1 Mar 2021 15:16:22 +0000 > Cc: 46834@debbugs.gnu.org, Lars Ingebrigtsen > > I've been meaning to ask, is there anything like an XFAIL test in our > current framework? Yes, see the node "Expected Failures" in the ert manual. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 11:42:44 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 16:42:44 +0000 Received: from localhost ([127.0.0.1]:50606 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGld5-0006pQ-Io for submit@debbugs.gnu.org; Mon, 01 Mar 2021 11:42:44 -0500 Received: from mail-ot1-f46.google.com ([209.85.210.46]:36531) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGld3-0006pB-62 for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 11:42:41 -0500 Received: by mail-ot1-f46.google.com with SMTP id 105so17090900otd.3 for <46834@debbugs.gnu.org>; Mon, 01 Mar 2021 08:42:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=epthzOVROiuewMUK1EiFm1zp7nEi1hAg3jH6na/cCd0=; b=iTZgjpQDit4PPq0u1GEnFAoejt0soFGZVn2FeKkxGSkrmpvUFUfJH9tg3qTl20ztDl Me6orb6CDLnvOAX5DjI1XSs3lTtN5b/GeSzLcCsekC3s0zNuKIJ7IeJ51JFI7UG+O/AB 2BxL8F7CE9lVYBGwr2y6R+3XUdnuQSYY3BcLCalLyKwM15VUsVaOJBTTwhUEmywmWjRo qYZtvy1qz+GiFBFuzuaokGc6mLT5O5pR9dd78KXYcq3p8Le2fA/iC4toPyI4xPYhLzKl xrlRU8o8PnfGVyyKbiY92eE4BszR36fpXdB2KEDQX8r0gWRKHRG928UATUQv3j4e8/w+ 5zmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=epthzOVROiuewMUK1EiFm1zp7nEi1hAg3jH6na/cCd0=; b=uZoJhfbYR0cKSFwbA0nf55NjTLuaSrH7HlsQrejLnicysBPObo53XOOmgnLyTXu+EA h1DFdF7u+rxKn0zBx31zJh8dUOFLnJjR/s2TmMNsdup7a8AAhYFlIcFjp8gUfbCEA+ty emjmJtFQhvSYACIi/v/IKQajCl/3yCJkzt16HzghzIqFu3J1foeBQS/TsbV76EF/SrzS JlcHkl3rO8jJgD2ZpgkhMUQlMawGwAXryjK8V9wHCPtffwtOgEsm29Swq4k5pVY5o+Aj WN8OEHdwORlUEQPKE9HrHx+S/JZikcM3BBttabO4yeF+hjrM/tkmqXGXhF2ve41nPctr vQHg== X-Gm-Message-State: AOAM532bI3sj/qK0TN1YpokjOjU9GJL32FHzGTnRcoVit0ymzS8hbqhq 3BaB5VXm7stjGuU+RkpCBrI151npfnxfnI4wwUc= X-Google-Smtp-Source: ABdhPJyAClSUB8dSflGDaeO5gwWZ8oyHyfwNC+watHrWoRMKP8WVIJDk63gQA1X4OMKbEiPZJB47k1UeNxS1yteekes= X-Received: by 2002:a05:6830:1682:: with SMTP id k2mr14368050otr.154.1614616955216; Mon, 01 Mar 2021 08:42:35 -0800 (PST) MIME-Version: 1.0 References: <8735xf8154.fsf@gnus.org> In-Reply-To: From: Pip Cet Date: Mon, 1 Mar 2021 16:41:58 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: Stefan Monnier Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Lars Ingebrigtsen 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: -1.0 (-) On Mon, Mar 1, 2021 at 4:15 PM Stefan Monnier wrote: > > That said, the comment in byte-compile--reify-function is incorrect: > > [ I don't see which comment you're referring to. ] The docstring, sorry. It says the return value evaluates to FUN, which is incorrect (but, IMHO at least, this behavior is desirable and consistent, at least, with the way byte-compile changes string identities). > > since closures use alists and "let" uses proper lists, we can't share > > structure between them, so the return value will be equivalent to a > > snapshot of FUN, not "equal" to FUN itself. OTOH, even changing that > > wouldn't help as byte-compiled closures use a third format to store > > the bindings, IIUC. > > I think we could make the shared state work if we turned > > (closure ((VAR . VAL) ...) ...) > > into something like > > (cl-symbol-macrolet ((VAR (cdr ',CONSCELL)) ...) ...) > > I find the idea pretty repulsive, tho. I agree, it is repulsive. I wasn't going to mention it for that reason :-) (Also for the reason that I wasn't sure whether anything would break out of the cl-symbol-macrolet jail (no luck so far...)) Pip From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 12:01:49 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 17:01:49 +0000 Received: from localhost ([127.0.0.1]:50649 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGlvZ-0007JP-41 for submit@debbugs.gnu.org; Mon, 01 Mar 2021 12:01:49 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:58794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGlvX-0007JC-4h for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 12:01:48 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 2F129441C6C; Mon, 1 Mar 2021 12:01:41 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id EF71F441C62; Mon, 1 Mar 2021 12:01:39 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1614618099; bh=T3d/YSAycW0mZPuJbj6A23ZQF3hLyaCjU2E6qMJl8mU=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=c6ekqtLjxea0hAP0GkHv3XY1dC5vNuEij7ldE0NLisIJRaUDHmBHPsNXvyNL/vp7o isv8fliD+VTQkPbwtIa6AoS2r7q+by9UjlRFhGBR7LMmyn6NamOzFNuaqL7Ic0V3R7 u5UR11ZoM/6Q8jhj8Auw6OdQ6sgWZl8/HyU2ZgDVEyO1n15rqtEIcgksr58DI1Dayl ajwisAAmhGZx+OjpUhWAWyGea+7QjAMXu38PhhvDxcMuzHp8lnvrBw99evnEc4psZ/ pT/bnbcoBfqCZHqvGMieZ1kD/IPOWpnek2xbMCWMSP0LrPzpfh8XlLaU0ZZndT+ygB RXauxGs2MeV7g== Received: from alfajor (unknown [216.154.41.47]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id F40D512025D; Mon, 1 Mar 2021 12:01:39 -0500 (EST) From: Stefan Monnier To: Pip Cet Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails Message-ID: References: <8735xf8154.fsf@gnus.org> Date: Mon, 01 Mar 2021 12:01:38 -0500 In-Reply-To: (Pip Cet's message of "Mon, 1 Mar 2021 16:41:58 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.100 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Lars Ingebrigtsen 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: -3.3 (---) >> > That said, the comment in byte-compile--reify-function is incorrect: >> [ I don't see which comment you're referring to. ] > The docstring, sorry. It says the return value evaluates to FUN, which > is incorrect (but, IMHO at least, this behavior is desirable and > consistent, at least, with the way byte-compile changes string > identities). Ah, that. Yes, we could clarify that it's not 100% equivalent, but it's an internal function anyway. The doc there is only intended to explain what the function is supposed to do. > I agree, it is repulsive. I wasn't going to mention it for that reason > :-) (Also for the reason that I wasn't sure whether anything would > break out of the cl-symbol-macrolet jail (no luck so far...)) I'm not quite sure it'll always get it right, indeed, tho I think it should. Stefa From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 12:14:18 2021 Received: (at 46834) by debbugs.gnu.org; 1 Mar 2021 17:14:18 +0000 Received: from localhost ([127.0.0.1]:50683 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGm7e-0007cE-6a for submit@debbugs.gnu.org; Mon, 01 Mar 2021 12:14:18 -0500 Received: from mail-ot1-f44.google.com ([209.85.210.44]:36301) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGm7c-0007c1-Ky for 46834@debbugs.gnu.org; Mon, 01 Mar 2021 12:14:17 -0500 Received: by mail-ot1-f44.google.com with SMTP id 105so17200588otd.3 for <46834@debbugs.gnu.org>; Mon, 01 Mar 2021 09:14:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HBZRW8rLt5wH5MrAo/uSFlq6rLY1y1QzZL/zgX9ZqqE=; b=RQPY0pY4vOcjYPxkTyOmmKmKGWmeuYfqePe/gPPxcGqGbomGUzZ/ue2jTOLLz6ekQp P1TAjRfFZ91wxZ2//+ahwkpyhiA3LvvUAsJTgZgk0jrry/dPg/aCB0kBXnHDxmhpdEqp 2KNWes+s6oeQzuBxKRY1OkTkwdUYsYy4LU5Q3X9Kzh+6FSPuozeeo3ViBiONKS5F0Wkn EPS8kr0lwwknbubl4U99nL310TDEkioyAhtlXO4ODsgf30apNqR0THpyXbq1c6PsU+Tt mzO1/T5C4biKeSuzCXgCWSOIsBBkvcNaY+VPBa6bWi1fem+nW/Fgap40pzxJDJh96rNb EU0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HBZRW8rLt5wH5MrAo/uSFlq6rLY1y1QzZL/zgX9ZqqE=; b=drHt+aeXHcHqOYNxoyCzoRoAZiExe+8NYiPu6RXsmc1B4cosvYnWHD45rJiOzvLBB/ 5OgPJikwiSgo3ADF01AEKIQpwhMzHS8Es47k4foF021CME+tvXg3hWDEc1sEIAX59c5G 31MD0gi1P7kQfUNO6EOi1eeIl0vM3w4IpMDzYSkS9o8TEsjsPleOfFHTP5RBmWoT9N6R txm+eMPvT3pEuL9e+Ghk3yT3zVZwg3wIubiyKofPl78mQehZlZ3YOch9aAE1fgck+M+G x0BgqSDXRpQT6mehc1kyAK155VVF/5XfurMuJnGv/eL0rkR0PmC7jHKcvCgtm1tZYuAE tgzg== X-Gm-Message-State: AOAM531U8cNXnP7GE1mLiV1d5fsUpth/czy9CFAEUQDh46sYNFETrag/ zzL8+QfYzAeafg+X5A0/MCnI4bNjTdMivs++8T0= X-Google-Smtp-Source: ABdhPJyHSvwdVoBA1XsEWvqx7epq4wvMrNMcU7vh81njJayR/RKSvAQoXX1OvkS3WXfF3/fbe8MS/ueFXBYlcIbWSws= X-Received: by 2002:a9d:131:: with SMTP id 46mr14214508otu.287.1614618850977; Mon, 01 Mar 2021 09:14:10 -0800 (PST) MIME-Version: 1.0 References: <8735xf8154.fsf@gnus.org> In-Reply-To: From: Pip Cet Date: Mon, 1 Mar 2021 17:13:34 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: Stefan Monnier Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Lars Ingebrigtsen 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: -1.0 (-) On Mon, Mar 1, 2021 at 5:01 PM Stefan Monnier wrote: > >> > That said, the comment in byte-compile--reify-function is incorrect: > >> [ I don't see which comment you're referring to. ] > > The docstring, sorry. It says the return value evaluates to FUN, which > > is incorrect (but, IMHO at least, this behavior is desirable and > > consistent, at least, with the way byte-compile changes string > > identities). > > Ah, that. Yes, we could clarify that it's not 100% equivalent, but it's > an internal function anyway. The doc there is only intended to explain > what the function is supposed to do. I think we should, generally, document that bytecode compilation (and native compilation soon) take a snapshot of the function as it stands at compilation time. You can't modify the lambda list you turned into a native function and expect the native function to change. > > I agree, it is repulsive. I wasn't going to mention it for that reason > > :-) (Also for the reason that I wasn't sure whether anything would > > break out of the cl-symbol-macrolet jail (no luck so far...)) > > I'm not quite sure it'll always get it right, indeed, tho I think > it should. Haven't found a way to break out yet, but this detects that we're in c-s-m, at least: (let ((cell (cons nil nil))) (cl-symbol-macrolet ((x (car cell))) (condition-case error (funcall #'setq x 5) (error (message "I know I'm in a c-s-m jail!"))))) And, yes, that relies on another bug... Pip From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 02:00:45 2021 Received: (at 46834) by debbugs.gnu.org; 2 Mar 2021 07:00:45 +0000 Received: from localhost ([127.0.0.1]:51519 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGz1R-0007lK-H5 for submit@debbugs.gnu.org; Tue, 02 Mar 2021 02:00:45 -0500 Received: from quimby.gnus.org ([95.216.78.240]:52492) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGz1Q-0007fR-5b for 46834@debbugs.gnu.org; Tue, 02 Mar 2021 02:00:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=RTax6BPH7+v587FZOo9lXVI99o/u3OLXfKroHyw2DJw=; b=HIF/tuu8ZyqO4MWY1bUmMg6Awb iA2zdXEbnHPZ5UAvpvMsJlUdPpr6f559zQEcO/Win3bW+eH935H/jk9NSBcix0dCVeT4FPJGQxkQX D1YDDuyMoQoUqy93AKsK8RrOJceKFPycBJW16ctgWrIIk1DPaSsV6ZuqG+OlM0w6/b/Y=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lGz1G-0001ZZ-5X; Tue, 02 Mar 2021 08:00:36 +0100 From: Lars Ingebrigtsen To: Stefan Monnier Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails References: X-Now-Playing: Mark Solotroff's _Remixed and Reinterpreted_: "Denial of the Species" Date: Tue, 02 Mar 2021 08:00:32 +0100 In-Reply-To: (Stefan Monnier's message of "Mon, 01 Mar 2021 11:02:43 -0500") Message-ID: <87eegyyr8v.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Stefan Monnier writes: >>> This looks good, thanks, but it changes the nature of the output of >>> `byte-compile` from a function value to an expression whose evaluation >>> returns a function value. So I think we should tw [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Pip Cet 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: -1.0 (-) Stefan Monnier writes: >>> This looks good, thanks, but it changes the nature of the output of >>> `byte-compile` from a function value to an expression whose evaluation >>> returns a function value. So I think we should tweak `byte-compile` so >>> it calls `eval` on the result in this particular case. >> >> Thanks! That's a good catch :-) >> >> Is this what you meant? > > Yes, LGTM, thanks, Pip, are you pushing this fix yourself, or do you want me to do it? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 02:31:57 2021 Received: (at 46834) by debbugs.gnu.org; 2 Mar 2021 07:31:57 +0000 Received: from localhost ([127.0.0.1]:51572 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGzVd-0003a1-HX for submit@debbugs.gnu.org; Tue, 02 Mar 2021 02:31:57 -0500 Received: from mail-oo1-f52.google.com ([209.85.161.52]:36533) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGzVb-0003Zp-WA for 46834@debbugs.gnu.org; Tue, 02 Mar 2021 02:31:56 -0500 Received: by mail-oo1-f52.google.com with SMTP id x10so4607058oor.3 for <46834@debbugs.gnu.org>; Mon, 01 Mar 2021 23:31:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vur3jcL9fLrrH20SCH8zKqBRMu61/eZFI1f50NQI7YU=; b=nKS4q05hD/W45326EYQj2sUj/Ffqvjj0tgACA2a1Xx9UtK1xTrUziqsKYHz7ZzdvMv elWAPDpOsoXHANoOtpXdUMgDY7w2AgJ+q1yOxC5EoHa3BkmJLaZEfvVz+8BE8Q6CDH4w 7lhIR1FEfpzeJE4264Um2wuOltVhAfrarb6I51SuepDsZ4oCkDDzHgqTZT3XHigSAJG5 BzjGBvlVraYSDFuzFZlJ2ShgJL1YA7X61TcUVFVX3yANHuuqhTa4EoFHSHAF0YSiWG/c ipnWgBSOGOJEPynMHop1YNDcxHX+WWn29hABejswEq0eU6ljBOCzX59fY/UFCEHn1eIN I2YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vur3jcL9fLrrH20SCH8zKqBRMu61/eZFI1f50NQI7YU=; b=qK4SJLne9V+8H0fCE4VydnX9aFSIJgto97z3OOrAADNblhUNLwXkX04iI7kqK1uDQM n67KP2Uy+qpdgF4ubATmGizPcZE9MsurXSOxg0KpryZXP5ZzOom/ab+CeO0PeJi1GUKi nc4yeZrkzjkdj1wgY5+dWQ30vfH8zb9qRDX5nB1mh8HiGDbBM3N7P0X3yvjuv+JVlReB HS0zDg+X24Y+VNxPtQpMvvEwgo8mtp1HP/lsS42ElIM8HuXmaI0sDhusj5Vf/1yTRu/U 8Gx6wBEGIf8SHA5A3dWSYU739pDybmh4DvJj7e3um/Wsl8Z8SxEqoUXg8byGGA0ORajx hRLQ== X-Gm-Message-State: AOAM530j7GeAjjUTBq7bYUfI2yr99NFYxOvIfOHadGqUjTHFo6LvBjvn AmOSpoKn0FfAuoE6NK7tProFupcJafi/Op7BzaE= X-Google-Smtp-Source: ABdhPJwhCZG1vS7R/XWpT1iRC/FlagVY7tygjYNz6LaXGdi6d/TDkqvi8jCTYZ+D9qoSvI15JLVMR7aH8ASejWn72jo= X-Received: by 2002:a4a:2511:: with SMTP id g17mr15994105ooa.22.1614670310234; Mon, 01 Mar 2021 23:31:50 -0800 (PST) MIME-Version: 1.0 References: <87eegyyr8v.fsf@gnus.org> In-Reply-To: <87eegyyr8v.fsf@gnus.org> From: Pip Cet Date: Tue, 2 Mar 2021 07:31:13 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: Lars Ingebrigtsen Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Stefan Monnier 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: -1.0 (-) On Tue, Mar 2, 2021 at 7:00 AM Lars Ingebrigtsen wrote: > Pip, are you pushing this fix yourself, or do you want me to do it? It's been a while since I pushed, did I get that right? Pip From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 02:34:45 2021 Received: (at 46834) by debbugs.gnu.org; 2 Mar 2021 07:34:46 +0000 Received: from localhost ([127.0.0.1]:51583 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGzYL-0003eU-Lw for submit@debbugs.gnu.org; Tue, 02 Mar 2021 02:34:45 -0500 Received: from quimby.gnus.org ([95.216.78.240]:52812) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGzYJ-0003eG-Ie for 46834@debbugs.gnu.org; Tue, 02 Mar 2021 02:34:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=5QjJ153BeVrhpwvsMb98U9OiFM0kbjxE89iHCV7CCpA=; b=MbnJFtO9FJo2kHBC8A/VWlF9jO LBdMyBkagaMNZNEGwya4fLMGc0bj7SCKzdc+zxwt0kg++t15gLa95ah+iViiemwoaHf/XyOz+7b9q rcexmHVSz322iu2JIYswZ3aeiIfxwq5QCHWi0VsoggdJTz82mN7JxHtlcVnSVNuN6W1A=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lGzY9-0001n7-LR; Tue, 02 Mar 2021 08:34:36 +0100 From: Lars Ingebrigtsen To: Pip Cet Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails References: <87eegyyr8v.fsf@gnus.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAElBMVEXcuzF6o7FmkFMx LSrANTj///+3FBGdAAAAAWJLR0QF+G/pxwAAAAd0SU1FB+UDAgciFN/TFhIAAAG/SURBVDjLfdRb uqMgDADglGEBBl0ARBeghAVwhP2vaRIEbXu+mTz0wi+XhLQAI154BXxHH8fpY5SIxgwH4K9BQzpu aJqG4QBaI2fytv4G5l1B4/TP+kEgGQGotSSCfANLGLJV5hSW9wHI6wfYsQVGXB7wb7CEekPd7X2o gBMGSadtLpAvihQmxBM6JDndBScFjxPpDM1EoY3bk7RCU4eS8oASBE73CSRQkXd3Bp/7Hh1kVeaI jncZznqqVpAOLNVK+rxGh62BhsBT9v8A1Ts+l3qD4f+CNsM34C+SRBpIj7RGAS0VpyBDN6BWv90A SW22mr2ehILjCBc4dv4BZF59A2mLORqq59ZglvR204HjS6Alpf3GsQHJp8OSVFMhNADTZ/BGvQzt m/SoADIV3syA9XDLAQoupZJgzMA5bMvR9sCjFj1VBye3/nNBsJXuGQF/nDu2Bkst7Y4qnNIMszdL 8EaKjU5Of17gLa7ptRyTHDegy39w6wDrnKrjY1LYqrSZ7cBHKpoXWGzX0V6BBHjOKtm+X3CD6DX3 /HG/slQpvEapV7/WBwB+NYSA8QDjKfsN1z+PdpR94Pod4uuCW/JfMoelA/s+BqkAAAAldEVYdGRh dGU6Y3JlYXRlADIwMjEtMDMtMDJUMDc6MzQ6MjArMDA6MDCQHWamAAAAJXRFWHRkYXRlOm1vZGlm eQAyMDIxLTAzLTAyVDA3OjM0OjIwKzAwOjAw4UDeGgAAAABJRU5ErkJggg== X-Now-Playing: ESG's _ESG_: "Moody" Date: Tue, 02 Mar 2021 08:34:30 +0100 In-Reply-To: (Pip Cet's message of "Tue, 2 Mar 2021 07:31:13 +0000") Message-ID: <874khuypo9.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Pip Cet writes: > On Tue, Mar 2, 2021 at 7:00 AM Lars Ingebrigtsen wrote: >> Pip, are you pushing this fix yourself, or do you want me to do it? > > It's been a while since I pushed, did I get that r [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Stefan Monnier 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: -1.0 (-) Pip Cet writes: > On Tue, Mar 2, 2021 at 7:00 AM Lars Ingebrigtsen wrote: >> Pip, are you pushing this fix yourself, or do you want me to do it? > > It's been a while since I pushed, did I get that right? Yup; looks perfect. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 02:36:49 2021 Received: (at 46834-done) by debbugs.gnu.org; 2 Mar 2021 07:36:49 +0000 Received: from localhost ([127.0.0.1]:51592 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGzaL-0003i8-5w for submit@debbugs.gnu.org; Tue, 02 Mar 2021 02:36:49 -0500 Received: from mail-ot1-f42.google.com ([209.85.210.42]:39388) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGzaJ-0003hv-RJ for 46834-done@debbugs.gnu.org; Tue, 02 Mar 2021 02:36:48 -0500 Received: by mail-ot1-f42.google.com with SMTP id h22so19128873otr.6 for <46834-done@debbugs.gnu.org>; Mon, 01 Mar 2021 23:36:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JAd2eqwyVXuhk6wfaFiCFrWgKfOG6CjJr8coJQyK784=; b=fzPboDk09rwDjV8PEq5pXjH4GzFtvWlIJtupmr527MleHP4WFfG+EaLczdrXB9fKq3 UBZ75DGuNgviktCagaaSwiJyavXflR+5F3w/ZAFNQ5A9jM8rD+A6CXKoiSnJx8URssjK 5un2WiacGUyWmRxsAWTY5CAsoFavQwhbvavorUZmjpClXUi3n7iMFLpHVm70NLdW/bVX oJX3G3vJo/UYo2K7PygCxctfppKVWkwtwIDBZ5wGYSwWQl4glhc7Dyzw5HZc8GoRLNSd mDUDFaqutZrE17A3MjQhKV1tqmy64uoLu0y3AuOS54luS76/0NrvHt0+7hS5W0taCnGR t6CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JAd2eqwyVXuhk6wfaFiCFrWgKfOG6CjJr8coJQyK784=; b=DcX4kcOMKEpmZujcZkAdH/eI4VZhDKxe45IfyWQOQOnLbIXzXJGIp2kUU4DWV3Ad19 eNnQsqucPBSO4+34kBKJfMBdFk2AEIjNcrFJBIDuHiS86PMOSqD1Gkv5WKRics4bsH88 CGu5whXhMXO0kroc6Y3UtjU38KzuKYndZdQD1KvNLQWC9YQSzo+ofaimXi/LAG/LWvpx b+5udo5ozm2ELe7gYAuiSZ5RGipjjcCu1b5JbhWsgMZp3NYYsTCiTIKHS+0jTi5zZpx4 Hrzn13kyFPRDaEl1ML3lOg9hZeAS7g+9/Kwawg2214kn2umCP0iqXb6uIYVfCoWAxYdV uEyg== X-Gm-Message-State: AOAM530Xfz2ZqIQIJwGm+kH5R8RqE2wKVrpkbWEXAcPwuGKug/mdW01o evj2pkM29gfnc9Mfne5MfEj+QwDzLAiOgC9Cn5A= X-Google-Smtp-Source: ABdhPJzJb41kFW3h0Yaii2N+jjcC97LvMh8ple0dOT4RoVR63jwR1FSLTolFnlLADiVT2BNgTYZdlWaUB7ExU3IDoyI= X-Received: by 2002:a05:6830:3090:: with SMTP id f16mr16770489ots.292.1614670602229; Mon, 01 Mar 2021 23:36:42 -0800 (PST) MIME-Version: 1.0 References: <87eegyyr8v.fsf@gnus.org> <874khuypo9.fsf@gnus.org> In-Reply-To: <874khuypo9.fsf@gnus.org> From: Pip Cet Date: Tue, 2 Mar 2021 07:36:06 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: Lars Ingebrigtsen Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834-done Cc: 46834-done@debbugs.gnu.org, Stefan Monnier 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: -1.0 (-) On Tue, Mar 2, 2021 at 7:34 AM Lars Ingebrigtsen wrote: > > It's been a while since I pushed, did I get that right? > > Yup; looks perfect. Thanks for checking, and I'm closing the bug. Pip From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 08:17:02 2021 Received: (at 46834) by debbugs.gnu.org; 2 Mar 2021 13:17:02 +0000 Received: from localhost ([127.0.0.1]:52058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH4ta-0008Rr-HI for submit@debbugs.gnu.org; Tue, 02 Mar 2021 08:17:02 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55052) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH4tY-0008RH-Pu for 46834@debbugs.gnu.org; Tue, 02 Mar 2021 08:17:01 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39985) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lH4tT-000092-C8; Tue, 02 Mar 2021 08:16:55 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1257 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lH4tS-0001Uc-9d; Tue, 02 Mar 2021 08:16:54 -0500 Date: Tue, 02 Mar 2021 15:16:52 +0200 Message-Id: <838s757l17.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-Reply-To: <874khuypo9.fsf@gnus.org> (message from Lars Ingebrigtsen on Tue, 02 Mar 2021 08:34:30 +0100) Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails References: <87eegyyr8v.fsf@gnus.org> <874khuypo9.fsf@gnus.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, monnier@iro.umontreal.ca, pipcet@gmail.com 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: -1.7 (-) > From: Lars Ingebrigtsen > Date: Tue, 02 Mar 2021 08:34:30 +0100 > Cc: 46834@debbugs.gnu.org, Stefan Monnier > > Pip Cet writes: > > > On Tue, Mar 2, 2021 at 7:00 AM Lars Ingebrigtsen wrote: > >> Pip, are you pushing this fix yourself, or do you want me to do it? > > > > It's been a while since I pushed, did I get that right? > > Yup; looks perfect. Almost perfect: * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Don't move let bindings into the lambda. Don't reverse list of bindings. (byte-compile): Evaluate the return value if it was previously reified. The "(byte-compile):" part should have begun on a new line. (It is always better to use "C-x 4 a" or similar commands to write log entries, as then Emacs will format the messages for you.) From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 08:20:33 2021 Received: (at 46834) by debbugs.gnu.org; 2 Mar 2021 13:20:33 +0000 Received: from localhost ([127.0.0.1]:52068 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH4wy-00006H-VO for submit@debbugs.gnu.org; Tue, 02 Mar 2021 08:20:33 -0500 Received: from mail-ot1-f46.google.com ([209.85.210.46]:34057) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH4wx-000065-Ni for 46834@debbugs.gnu.org; Tue, 02 Mar 2021 08:20:32 -0500 Received: by mail-ot1-f46.google.com with SMTP id h10so9246368otm.1 for <46834@debbugs.gnu.org>; Tue, 02 Mar 2021 05:20:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=R8LLtaaffQr0U1FfSafaNeo0jbN+Ou9E/0LVbyJT+tA=; b=AcoEMZLC609XVID9BDkdtnlHP6sIJ984KaiNtQDAP6/ijLwd6p0IWX1C2tXkvVglCA /+0K/VLI034xT7AnBJ+o8SmNBkxAy9vd3c6KX3XvtN3ddlcrbDphKbhG2r7RZWSEmDo9 XqzuFeUSZ29TySJvfiIsy7LLFKM/YbyxLR/8kNJ9xRMLm2fk8Cd/ax6moWpg0AgwPb1A UaozY6Sv81zr2+NHNEzbz/XYCXwDSFj+Jcs3pK+qhkdZn3YT9BYTDXe8GgO4nYty36IF ZQD32ZIoKmbEd1pSK7RckNtvuDMGMDxJh0R6r+HeRjyjuq1bBL3kv1K3MPhq3yHKhbPE y3xQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=R8LLtaaffQr0U1FfSafaNeo0jbN+Ou9E/0LVbyJT+tA=; b=fbc22MRUaWq/VAcALXMgEKtJeQQbEQKeM7ySoKQavnr0xAVIhm7u9dGRL4uPScWk8D zhB3fXazJIFKjJBo+8sifznWOLz4sZr9lMeVyUbNDuwQ3v43eFfrcsuy4zKcxBkn84lh BU6AOKwSctLdGMsPZplD+Hyj+5JLA5vuSztmgyWIQtLupyi45FM3O+57sT0z29hp4lV0 GFc0TUAdQgnpnUhrgapHKcx+jWYq7/uQmGvLwcBv44hJ78twQFOQMQM7CZBMhV57VxZ4 1F8p99MgdLtAI1JU7VYs/QdS5TD/nf7gTH5WWPE+FEFytSOIijfJI5czM3pxM+yp4lFm 58tA== X-Gm-Message-State: AOAM531fNusvUqrOJFJ9qeRgdkDTq342Vj2JNOGZ8NSHcRejJ+BgzhGH eNQ7qGz3xd2VQR1UbHnBofNkDmYLzsOHCWAtcug= X-Google-Smtp-Source: ABdhPJwh5kcJwIvaVJJLW18hU9Fcwyh39PzAndxWzEZM3P7dnoseX+6DFyOiiIHsRtPt+aBhQjlM5AKxFPZ0g8KupaI= X-Received: by 2002:a9d:131:: with SMTP id 46mr17649851otu.287.1614691226040; Tue, 02 Mar 2021 05:20:26 -0800 (PST) MIME-Version: 1.0 References: <87eegyyr8v.fsf@gnus.org> <874khuypo9.fsf@gnus.org> <838s757l17.fsf@gnu.org> In-Reply-To: <838s757l17.fsf@gnu.org> From: Pip Cet Date: Tue, 2 Mar 2021 13:19:49 +0000 Message-ID: Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, Lars Ingebrigtsen , Stefan Monnier 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: -1.0 (-) On Tue, Mar 2, 2021 at 1:16 PM Eli Zaretskii wrote: > * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Don't > move let bindings into the lambda. Don't reverse list of > bindings. (byte-compile): Evaluate the return value if it was > previously reified. > > The "(byte-compile):" part should have begun on a new line. Thanks! > (It is always better to use "C-x 4 a" or similar commands to write log > entries, as then Emacs will format the messages for you.) I did use C-x 4 a, but I think I must have hit M-q. I won't do that again, sorry. Pip From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 08:49:07 2021 Received: (at 46834) by debbugs.gnu.org; 2 Mar 2021 13:49:07 +0000 Received: from localhost ([127.0.0.1]:52103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH5Od-0000nj-2f for submit@debbugs.gnu.org; Tue, 02 Mar 2021 08:49:07 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35500) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH5Ob-0000nF-70 for 46834@debbugs.gnu.org; Tue, 02 Mar 2021 08:49:05 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40407) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lH5OV-0004Wt-UO; Tue, 02 Mar 2021 08:48:59 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3221 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lH5OU-0006Ei-T4; Tue, 02 Mar 2021 08:48:59 -0500 Date: Tue, 02 Mar 2021 15:48:59 +0200 Message-Id: <834kht7jjo.fsf@gnu.org> From: Eli Zaretskii To: Pip Cet In-Reply-To: (message from Pip Cet on Tue, 2 Mar 2021 13:19:49 +0000) Subject: Re: bug#46834: 28.0.50; byte-compiling the standard counter closure fails References: <87eegyyr8v.fsf@gnus.org> <874khuypo9.fsf@gnus.org> <838s757l17.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46834 Cc: 46834@debbugs.gnu.org, larsi@gnus.org, monnier@iro.umontreal.ca 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: -1.7 (-) > From: Pip Cet > Date: Tue, 2 Mar 2021 13:19:49 +0000 > Cc: Lars Ingebrigtsen , 46834@debbugs.gnu.org, > Stefan Monnier > > I did use C-x 4 a, but I think I must have hit M-q. I won't do that > again, sorry. No need to feel sorry, it isn't a catastrophe. People make worse mistakes in log messages every day, sigh... From unknown Tue Jun 24 05:12:10 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 31 Mar 2021 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator