From unknown Thu Aug 14 20:54:07 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#60974 <60974@debbugs.gnu.org> To: bug#60974 <60974@debbugs.gnu.org> Subject: Status: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies Reply-To: bug#60974 <60974@debbugs.gnu.org> Date: Fri, 15 Aug 2025 03:54:07 +0000 retitle 60974 30.0.50; byte-compile-preprocess mutates self evaluating form= s in expanded macro bodies reassign 60974 emacs submitter 60974 Vibhav Pant severity 60974 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 20 16:24:20 2023 Received: (at submit) by debbugs.gnu.org; 20 Jan 2023 21:24:21 +0000 Received: from localhost ([127.0.0.1]:47305 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pIys0-0005NR-G7 for submit@debbugs.gnu.org; Fri, 20 Jan 2023 16:24:20 -0500 Received: from lists.gnu.org ([209.51.188.17]:49362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pIyry-0005NK-RJ for submit@debbugs.gnu.org; Fri, 20 Jan 2023 16:24:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pIyry-0001ac-H4 for bug-gnu-emacs@gnu.org; Fri, 20 Jan 2023 16:24:18 -0500 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pIyrw-0006ne-M5 for bug-gnu-emacs@gnu.org; Fri, 20 Jan 2023 16:24:18 -0500 Received: by mail-wm1-x335.google.com with SMTP id m5-20020a05600c4f4500b003db03b2559eso4593652wmq.5 for ; Fri, 20 Jan 2023 13:24:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:date:to:from:subject:message-id:from:to:cc :subject:date:message-id:reply-to; bh=Yxn1OoT8J8zbG88RgvcMfWMi2Jk/GZRx2Uz+CAblvqI=; b=YEzlMu4pD+X81LTpYUxngdRL5MQRvhOAOTxGf5jGyxzi0JKAe/0iUbgB0bh2mydsgl NuFchqUQcrmAqLSlyiX5kikd4c5FiBonqfRa5iTfSm7mT1mRb5VtS4BmqgNjFbKjPQXJ d/crw/SH9tWKmhQWU4ta8gb3uCv5TiNvj8oLjaeoEWGUO2EkJQ4FD8sK+BqEhcZqvhiW tABrUSv9+YFYuBeutqYLA/xL54GEoazmnzZBFevw4PKlx1JpF1LPKcgF7TuHtvhV5eZt z4utYxoSRjmCl8rV92y/DBuueafEKOxavEn8oukUCkddWcPymTZs+0t9QChvBqZ0NY/U X3fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:date:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Yxn1OoT8J8zbG88RgvcMfWMi2Jk/GZRx2Uz+CAblvqI=; b=Y770yueYFRtltkRFCUfEqousZYGDBwFVnbc0StOnGfN3hXCw3AzfhO+Bg93cq11iKR rtV+woagxFK2icvzpg2Gzwk487md1SJ8Djezl8CVQObC4JA54ZqUTS97Gjm10qXRpT6J ulJDn1hCVX9HaoE/ETh+c7Yl9nD0kEUrMyUQOM00ebG+0knksPJ5T0psn5DtNNzGrgVi VQvNkLNs0WIlV/S/J6+OVRfPovpMV3GZCtT/AnuX/svLD5kvZAq4H4FaotlTCMg0WkvE +RQw5toCrJfGM2sMVgiZWbcD+AAf25ff1xX0tM3VGprd1Nk3lI1GzHLjE4EjZ1CFk46N 2SJQ== X-Gm-Message-State: AFqh2koqXeyf7QzHv6JuUNHr4aAKo+LPfvfsFPxlCwS/trrJFGkOZyPR xRJHtOCd2KOgUn5A3vJYc3PeejnMiNl7sg== X-Google-Smtp-Source: AMrXdXtw935gr8pluI+T1AqqV9x+1ziGx0/7AruSZZIx80CxCR3ehvdVczC/g2LhoxR/WSaqBZk3EQ== X-Received: by 2002:a05:600c:1e1f:b0:3db:2063:425d with SMTP id ay31-20020a05600c1e1f00b003db2063425dmr7517972wmb.2.1674249854556; Fri, 20 Jan 2023 13:24:14 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.182.193]) by smtp.gmail.com with ESMTPSA id v7-20020a05600c444700b003db06493ee7sm3406226wmn.47.2023.01.20.13.24.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Jan 2023 13:24:13 -0800 (PST) Message-ID: Subject: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: bug-gnu-emacs@gnu.org Date: Sat, 21 Jan 2023 02:54:05 +0530 X-Debbugs-Cc: monnier@iro.umontreal.ca Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-P76KcDcLHQmkm5YmgCwd" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=vibhavp@gmail.com; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.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: -2.3 (--) --=-P76KcDcLHQmkm5YmgCwd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable `cconv-closure-convert`, called from `byte-compile-preprocess` calls `setcar` on a self evaluating interactive form as part of the function body. This can be reproduced by adding the following snippet to `lisp/loadup.el`, and building Emacs: ``` (load "emacs-lisp/bytecomp") (setq sample-interactive-spec (purecopy '(interactive (list (if current-prefix-arg (prefix-numeric-value=20 current-prefix-arg) 'toggle))))) (defmacro define-purecopied-func () `(defun foo-bar (arg) ,sample-interactive-spec)) (let ((byte-compile-debug t)) (byte-compile '(define-purecopied-func))) ``` (`purecopy` ensures mutating the list triggers a `pure_write_error`) As mutating quoted/constant lists is undefined behaviour as per the Elisp reference manual (https://www.gnu.org/software/emacs/manual/html_node/elisp/Mutability.htm ), the body returned by `macroexpand-all` should likely be copied using `copy-tree`. In GNU Emacs 30.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version 3.24.36, cairo version 1.17.6) of 2023-01-05 built on vibhavp-mbp Repository revision: 15fc7b3cde92e420f48dfe188251e6af4d832af5 Repository branch: master System Description: Arch Linux Configured using: 'configure --with-pgtk --with-sqlite3 --with-native-compilation=3Dyes --with-all --without-compress-install --enable-link-time-optimization -C 'CFLAGS=3D-march=3Dnative -mtune=3Dnative -O3 -g3 -ggdb3 -gdwarf-5'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: (only . t) auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl- loaddefs comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 78180 10230) (symbols 48 7127 0) (strings 32 19480 1383) (string-bytes 1 595292) (vectors 16 16343) (vector-slots 8 326128 14214) (floats 8 28 51) (intervals 56 237 0) (buffers 984 11)) --=-P76KcDcLHQmkm5YmgCwd Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPLBnUACgkQ4/soy2q1 lZj+OAf9G416O/xWZ/g4lRsUSA4VM6JswitF3WYqCV7wo/NF+OuyWqSp7y0P+AKq NnjhJ33i195B7/WwBjqQdHWf1r/wu/en1hit2MZKs6eFdtWT5r4uHu60CNzxKNkU iMf056XS9jsc3Y6o04cWzojicMMI2USfqd0jif9BBJ8iuEG2kkeNyIoD+RoDV5fi GT0XjEJ87C7uZ1eXth5VVAYgzAYOtxfE2+SU3WuxNsInXMqkm7HJRVlR0NieAuLB 6jdpw7ZmDnSMi7MZA2k2vwcDihs7FiDOEz8w+7T+7Y8ANGxzQCcHOgZnlYLEHChX QM/QtTL3i1sa5hm/VPWPXU8vZhGBaA== =ObXE -----END PGP SIGNATURE----- --=-P76KcDcLHQmkm5YmgCwd-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 20 16:36:09 2023 Received: (at 60974) by debbugs.gnu.org; 20 Jan 2023 21:36:10 +0000 Received: from localhost ([127.0.0.1]:47336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pIz3R-00081T-M3 for submit@debbugs.gnu.org; Fri, 20 Jan 2023 16:36:09 -0500 Received: from mail-wm1-f44.google.com ([209.85.128.44]:38823) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pIz3Q-00081G-6a for 60974@debbugs.gnu.org; Fri, 20 Jan 2023 16:36:08 -0500 Received: by mail-wm1-f44.google.com with SMTP id f12-20020a7bc8cc000000b003daf6b2f9b9so6710245wml.3 for <60974@debbugs.gnu.org>; Fri, 20 Jan 2023 13:36:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:date:cc:to:from:subject:message-id:from:to :cc:subject:date:message-id:reply-to; bh=+cg2mWYvfDGTpTg+HR3SnPggyoX1jyc0Yqe2qHVjQh0=; b=hvwnvEnTDZ5O8EzoOiSztL0xNbsz0Mf/XXF4TBPg97JZRqqliSiZaHzd1+7/Qss2or V9rrT56x0TMt5MSGwxexCyD4KOC4bMomhra5WLDGwA3DU/4v6iSclvbstyA2tdD3/KJW slDNUFsOcFRRxl0BfDhbGNzWORj3jHJXg0nlP6+wjVVlgGIRriF4tQSf2RnQgG9ro/NE n7ZbWm3/1mbjikhoT+mIMLFiLJDS2amn5PLYmogapD4oX/ANUOFwOm6y+BSGdlQB12Jb IqU0kJi5Mpm23uSG6F8rI70FmJNUI8ZMeSCFV1dtzqGR4jjUBMGnsjfu4hQ4QJPbEbdz 0lBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:date:cc:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+cg2mWYvfDGTpTg+HR3SnPggyoX1jyc0Yqe2qHVjQh0=; b=sIp7OZyh8KgEb8IAH8Dhj7WI9rpp3AHNEY9aGUcCFj8iLknL4skfo+OCfD7kZgHfY3 zTYq4ykXUA6TGwKoZB24g/oVfsUa6c3+r6U4X8pDhv/3JGh6bfoNM21FVCEsWf3HYuF6 WNhwKxDsQ8lOGjn7Z+wp/hPsfZ8sZNegyyVEvgqfeRo4MxnwlWEyrX+SVzca22z2vtv4 cm9QwMTOhe3E+Tpq6AqwBGpXU04wnjsoDMlLidSFYgfokzBnop8qts3QGmeX2nctzzW8 xgvF000pxrvyIbkuWtkFT3JWtvckDpn9dtdBn+668fBLGJV3Am+igY2Vsd7GFxlyK/li kpqg== X-Gm-Message-State: AFqh2kps1vApl0V/VBdEG8FTnijSMew8DeVPkEWvGspqa2Pyp6jg/eSS DpWVYmGBLFTcAvj5/9775yvfmHApatkPq3Dj X-Google-Smtp-Source: AMrXdXue5IKlpsv12fRw2owitSOt70vRteVzzsy1CAceookjrdq+2hj6198eKT23Qg8lsKngX1b7OQ== X-Received: by 2002:a05:600c:2206:b0:3d2:2a72:2577 with SMTP id z6-20020a05600c220600b003d22a722577mr15742527wml.27.1674250561397; Fri, 20 Jan 2023 13:36:01 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.182.193]) by smtp.gmail.com with ESMTPSA id f23-20020a7bc8d7000000b003d358beab9dsm3247836wml.47.2023.01.20.13.35.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Jan 2023 13:36:00 -0800 (PST) Message-ID: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> Subject: Re: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: 60974@debbugs.gnu.org, monnier@iro.umontreal.ca Date: Sat, 21 Jan 2023 03:05:51 +0530 Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-DSTct1ZHqnuHFzZw8eTt" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60974 Cc: emacs-devel 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 (-) --=-DSTct1ZHqnuHFzZw8eTt Content-Type: multipart/mixed; boundary="=-QQB76uzzYGO3ruGQtert" --=-QQB76uzzYGO3ruGQtert Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable The attached patch should fix this, thoughts? Best, Vibhav --=20 Vibhav Pant vibhavp@gmail.com GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598 --=-QQB76uzzYGO3ruGQtert Content-Type: text/x-patch; name="60974.patch"; charset="UTF-8" Content-Description: Content-Disposition: inline; filename="60974.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC5lbCBiL2xpc3AvZW1hY3MtbGlz cC9ieXRlY29tcC5lbAppbmRleCBhYTk1MjFlNWE2NS4uODQ3OTY1ZTZhZjYgMTAwNjQ0Ci0tLSBh L2xpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvYnl0ZWNv bXAuZWwKQEAgLTI1ODEsNyArMjU4MSw4IEBAIGJ5dGUtY29tcGlsZS1mbHVzaC1wZW5kaW5nCiAK IChkZWZ1biBieXRlLWNvbXBpbGUtcHJlcHJvY2VzcyAoZm9ybSAmb3B0aW9uYWwgX2Zvci1lZmZl Y3QpCiAgIChsZXQgKChwcmludC1zeW1ib2xzLWJhcmUgdCkpICAgICAgICAgOyBQb3NzaWJseSBy ZWR1bmRhbnQgYmluZGluZy4KLSAgICAoc2V0cSBmb3JtIChtYWNyb2V4cGFuZC1hbGwgZm9ybSBi eXRlLWNvbXBpbGUtbWFjcm8tZW52aXJvbm1lbnQpKSkKKyAgICAoc2V0cSBmb3JtIChjb3B5LXRy ZWUKKyAgICAgICAgICAgICAgICAobWFjcm9leHBhbmQtYWxsIGZvcm0gYnl0ZS1jb21waWxlLW1h Y3JvLWVudmlyb25tZW50KSkpKQogICA7OyBGSVhNRTogV2Ugc2hvdWxkIHJ1biBieXRlLW9wdGlt aXplLWZvcm0gaGVyZSwgYnV0IGl0IGN1cnJlbnRseSBkb2VzIG5vdAogICA7OyByZWN1cnNlIHRo cm91Z2ggYWxsIHRoZSBjb2RlLCBzbyB3ZSdkIGhhdmUgdG8gZml4IHRoaXMgZmlyc3QuCiAgIDs7 IE1heWJlIGEgZ29vZCBmaXggd291bGQgYmUgdG8gbWVyZ2UgYnl0ZS1vcHRpbWl6ZS1mb3JtIGlu dG8K --=-QQB76uzzYGO3ruGQtert-- --=-DSTct1ZHqnuHFzZw8eTt Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPLCTcACgkQ4/soy2q1 lZhfBQgAwKXBa2acL/Hj+ugoUCPKXb/e567KSWsnzf7DOEgCd2qBKqCrXS5d1t3h OY1ZvuGqNyQZGGBT/3SbOzGmbsAFmvJc8wYGLnOwvaRktYpvXZdx1Dx37IvJZ8wv w3CPkZbtfZvMVfI84ZzEiDxnNCMaP42joWYGWnIWuBE4BgHWcCsmUipI1lVhEDRt PH4ZDsYqITfSgoaHyzk2Y0GUUWsQtjoPiAwGWwO5ffaRQiOVcr8bbazI5ifxvj27 GdaO9nYpRP8tiamodB2GW6NEdRni0EHVhvOMKRwbxNMbbJ/plRRXENX/OzYXriyj hYs/8sRHuPZN7aCRN9NeUQEWb441AA== =rcM7 -----END PGP SIGNATURE----- --=-DSTct1ZHqnuHFzZw8eTt-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 20 16:36:55 2023 Received: (at 60974) by debbugs.gnu.org; 20 Jan 2023 21:36:55 +0000 Received: from localhost ([127.0.0.1]:47339 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pIz4A-00082T-W7 for submit@debbugs.gnu.org; Fri, 20 Jan 2023 16:36:55 -0500 Received: from mail-wr1-f47.google.com ([209.85.221.47]:36700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pIz49-00082F-Bv for 60974@debbugs.gnu.org; Fri, 20 Jan 2023 16:36:53 -0500 Received: by mail-wr1-f47.google.com with SMTP id b7so5973091wrt.3 for <60974@debbugs.gnu.org>; Fri, 20 Jan 2023 13:36:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:date:cc:to:from:subject:message-id:from:to :cc:subject:date:message-id:reply-to; bh=Ke/5/apL+W6Ye37+Nt6M7VPt7gw1BvrhMrlKDhgs3SA=; b=YB1pZ78SPSpD65ZPYwzfZN7UyUe6RKDnRe9LPGQs5AlvVjBEkmQcmQniU6UYe5Iia2 5RSuKFX8wGEZAXe4O1mcvTQ/oi71gcthFJVCijvNMRDPMu3pyG5lK47AW19eVRI8epBO u7nvFp7pW8LXyzKuuOzTv/LxnLFfHYy4i/EqLBgW41gy1v1teU8+nQDHGYXu0uJ70vOT ho3HDR98WxgrYCpNCoeNCMC5c3LzZa2k1ZX0kgW1Y4IcxnI5vvPqwfv9GcwgeoqxBBtX DPSsTV4o9JLcoBXky7OK6t8ZwnmxxMhn1xIz1qQ1HoilX/kE8uLB46nvRjRUsj2VHXiX Fylw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:date:cc:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Ke/5/apL+W6Ye37+Nt6M7VPt7gw1BvrhMrlKDhgs3SA=; b=3STlEzjyIG6bhtu8h4QhMakRCp9xWI8XDjfb2IHEZi5TEGa2og51jCzScLAGsDQCMy 347K7fM53VqA+rDYNsxBzJBEOagqgVT4EEoPTeb9iPHFI6ufMfOIhnGWa6lxq1gXdmGA neFJd3NeHuqsRAM4+ff+zqUIYOsQ4D3DDUkjKM/ulS6kHjbMdIM57AYML+7oqrsaHdkb AlwHjr3Aeqi0rrz/M6/vRm/86hS3eZ9vdhqC1iZ1YJSasIOsnr9ndMZjC+XzX+sJWsgx BO0fVZnnjoseqfZpaZJ5l1AOHclS/1ftsB5loDxq2MVsdsY/sM+3AokF2hKLr5ABe2Pp ldiA== X-Gm-Message-State: AFqh2kr0gY/XEVeWaZnv7IjWXQ5PwpcfdNkfxjgP7qo9MldqMVQsnvNm 082tH5z1qhlXf5Hg20RJuP7/65kuBOI7t5Oi X-Google-Smtp-Source: AMrXdXup8AhxNbe3zaoqhma93QDocjVXoiSV2rUGQ7TZBnIupixomQt9caj+rvIr4dSwM6/TnCZxhw== X-Received: by 2002:a5d:6a46:0:b0:2bd:c856:6de0 with SMTP id t6-20020a5d6a46000000b002bdc8566de0mr15072504wrw.21.1674250602638; Fri, 20 Jan 2023 13:36:42 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.182.193]) by smtp.gmail.com with ESMTPSA id m31-20020a05600c3b1f00b003dafadd2f77sm3875171wms.1.2023.01.20.13.36.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Jan 2023 13:36:41 -0800 (PST) Message-ID: Subject: Re: [PATCH] 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: 60974@debbugs.gnu.org, monnier@iro.umontreal.ca Date: Sat, 21 Jan 2023 03:06:34 +0530 Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-cecALFqOIeboHZy/Q1p/" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60974 Cc: emacs-devel 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 (-) --=-cecALFqOIeboHZy/Q1p/ Content-Type: multipart/mixed; boundary="=-fEXbxZCsjJhPTCi0JSkv" --=-fEXbxZCsjJhPTCi0JSkv Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable The attached patch should fix this, thoughts? Thanks, Vibhav --=20 Vibhav Pant vibhavp@gmail.com GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598 --=-fEXbxZCsjJhPTCi0JSkv Content-Type: text/x-patch; name="60974.patch"; charset="UTF-8" Content-Description: Content-Disposition: inline; filename="60974.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC5lbCBiL2xpc3AvZW1hY3MtbGlz cC9ieXRlY29tcC5lbAppbmRleCBhYTk1MjFlNWE2NS4uODQ3OTY1ZTZhZjYgMTAwNjQ0Ci0tLSBh L2xpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvYnl0ZWNv bXAuZWwKQEAgLTI1ODEsNyArMjU4MSw4IEBAIGJ5dGUtY29tcGlsZS1mbHVzaC1wZW5kaW5nCiAK IChkZWZ1biBieXRlLWNvbXBpbGUtcHJlcHJvY2VzcyAoZm9ybSAmb3B0aW9uYWwgX2Zvci1lZmZl Y3QpCiAgIChsZXQgKChwcmludC1zeW1ib2xzLWJhcmUgdCkpICAgICAgICAgOyBQb3NzaWJseSBy ZWR1bmRhbnQgYmluZGluZy4KLSAgICAoc2V0cSBmb3JtIChtYWNyb2V4cGFuZC1hbGwgZm9ybSBi eXRlLWNvbXBpbGUtbWFjcm8tZW52aXJvbm1lbnQpKSkKKyAgICAoc2V0cSBmb3JtIChjb3B5LXRy ZWUKKyAgICAgICAgICAgICAgICAobWFjcm9leHBhbmQtYWxsIGZvcm0gYnl0ZS1jb21waWxlLW1h Y3JvLWVudmlyb25tZW50KSkpKQogICA7OyBGSVhNRTogV2Ugc2hvdWxkIHJ1biBieXRlLW9wdGlt aXplLWZvcm0gaGVyZSwgYnV0IGl0IGN1cnJlbnRseSBkb2VzIG5vdAogICA7OyByZWN1cnNlIHRo cm91Z2ggYWxsIHRoZSBjb2RlLCBzbyB3ZSdkIGhhdmUgdG8gZml4IHRoaXMgZmlyc3QuCiAgIDs7 IE1heWJlIGEgZ29vZCBmaXggd291bGQgYmUgdG8gbWVyZ2UgYnl0ZS1vcHRpbWl6ZS1mb3JtIGlu dG8K --=-fEXbxZCsjJhPTCi0JSkv-- --=-cecALFqOIeboHZy/Q1p/ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPLCWIACgkQ4/soy2q1 lZirmAf9FW6U0BB3Maojv1E3u4aqaWHpER9jkOpE6dyLOXtske/ybxeQj2kFlaR6 hlgRd3Jv9HG+A2F+o+CWyXte3QnKEiqXJdNzCtH5i4lT3QqsRLfOjGWNWJGZ1pGx ryeAKAjo8l5gdgj2+c/KFBkL6zePOk9ooKDp0QvIyBe+pb9kX60f/VgRB2khPhQF Nqxrivqe4h9UrVMx4zTdM9SWD//T28Kjz8pK1hcBkgICM3pwuHXnlg7FwhejZRQT r5FSdhGvODTp8TzMJqudGf2na1hBRGLltQq81ba7hgHtgX8MAudCPAXhCzQ7S8mx +VzTEfqvTA20p3/LiD5n64Vrq5PZWA== =hx6N -----END PGP SIGNATURE----- --=-cecALFqOIeboHZy/Q1p/-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 21 00:43:47 2023 Received: (at 60974) by debbugs.gnu.org; 21 Jan 2023 05:43:47 +0000 Received: from localhost ([127.0.0.1]:47762 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJ6fL-0006kG-4r for submit@debbugs.gnu.org; Sat, 21 Jan 2023 00:43:47 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:62524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJ6fI-0006k4-R2 for 60974@debbugs.gnu.org; Sat, 21 Jan 2023 00:43:45 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 6422D1000DA; Sat, 21 Jan 2023 00:43:39 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B46121000D1; Sat, 21 Jan 2023 00:43:33 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1674279813; bh=MHhWUZlRqXViaZ64SsZWUTp1lm+CywRFE35Sbr1EI3E=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=cAux98NKLaaR8aW/ZvxjOs+daVzQwVN9OFtrAoJBMKpXxmPfLArKfS+LQ7LQKfj+7 RxJcVl4slbHBmVTBT+9reC/tGgkCy51G3QekFa9fkU4VQSa/bB7senPoJx79XWZH6P Q2PE30nnjRXFkVzDjvnUxer2cWNe8Zlz9y0beUp/2m0uVe2GqLmjX/gf1jfj75QWdG 52iuzIqyCGJhDD04TAo0MsRA13xaW/ZDlNNliMqLJwehbVdAt0ckYVXi1rQQQ7RXaP pmqLoixSmyDnCuVMJvXd7bqSMUUsg4tIsarYZomDUzigZu/E61/FIFJGS7S0LIm5FP PTfyaqZ+6YbwA== Received: from alfajor (unknown [24.62.78.115]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6F1ED12128F; Sat, 21 Jan 2023 00:43:33 -0500 (EST) From: Stefan Monnier To: Vibhav Pant Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies In-Reply-To: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> (Vibhav Pant's message of "Sat, 21 Jan 2023 03:05:51 +0530") Message-ID: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> Date: Sat, 21 Jan 2023 00:43:31 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) 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.088 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: 60974 Cc: 60974@debbugs.gnu.org, emacs-devel 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 (---) > The attached patch should fix this, thoughts? It's not really an option: - it's expensive - it breaks code when it doesn't form a tree, e.g. (list '#1=(a b #1#) 'c 'd) Instead, we need to find out where in the code we perform the side effect and change just that part. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 27 07:44:58 2023 Received: (at 60974) by debbugs.gnu.org; 27 Jan 2023 12:44:58 +0000 Received: from localhost ([127.0.0.1]:36887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLO6D-0007zg-Rq for submit@debbugs.gnu.org; Fri, 27 Jan 2023 07:44:58 -0500 Received: from mail-wr1-f41.google.com ([209.85.221.41]:34527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLO6B-0007zN-3g for 60974@debbugs.gnu.org; Fri, 27 Jan 2023 07:44:56 -0500 Received: by mail-wr1-f41.google.com with SMTP id t18so4889564wro.1 for <60974@debbugs.gnu.org>; Fri, 27 Jan 2023 04:44:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=8EHWEPoEpRBK7mPFTt0qKDai1VxJMEO9Ux0cWJYGtXM=; b=BNE+NseMsas/OpbV2m3QAccJqC3dNY426Dp48kOzHKV5AEb5fu5Ak05W6mkNT9u7CX aG38z9fCUzkqMHFhvCQn4rBhOeu37cYc3xPRtBXzk0s8RoGUbP67zh1FA9s1Y/Wz4F4+ dUSYYSh7CBdsddfRJ9HUz6lR8nr87OcgAYDGKZr3ixEplMdokxrCm7nYsd4Sv2ftchzf zdsejB0xsWH28eBPodQS+dSSNP5jDVk0oMsOd4H4s/Xkh/hCU1Hr9ql+LZcMOjAUltcM zdRZJlahLcVaxeQaoapPHQ6ZBVA0m06noHNP17xqx6pLH6t3AoLsBA0+B7u+kFRoCuY8 WvIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8EHWEPoEpRBK7mPFTt0qKDai1VxJMEO9Ux0cWJYGtXM=; b=VHZEbM6pkgdjuaZb8ECNLNY47PWhU5uv9fRR38mUGpLMg3/Zmk3aTKCqu/vozujckU ec/SLCf3+qon0hcIrAtO+o2y1+Tu4P90nu+3YBS9uQWTs58chOhQjV2to761IKhrhVt4 iFKKRgpbBWVAvdL0wWeMaMPiiSUE7f8vpOIoA1J6NinEVN4a12ZFIMAh8ivopNto1BCN nZI5+5UjdeTAFryjtpAtcqr6zA2i5Bql0bJlxnnsfVRTXZvGkkKANV6Tqzz/VrFwo6k0 3vIbaGmVwUf05SQMJh9FI1TM7V6TSWJj2+i0EiMOJO+KHaj7iKfnyEf4VfDz6klZw9MN OAjQ== X-Gm-Message-State: AO0yUKXS8HnLpTKbAFf0nzRuD3uEqqgWCgqEDAIqU1YZOW8Bzn0Exkks B7AOxBm4auklk1YfKHnQcrU= X-Google-Smtp-Source: AK7set8I+pj5ptMH4Dm9BFUBm2EOA/uxbLdSevQbCIaVIAUnZRKSNCd5gi0KUsQ9+wMKaGEaejW1/Q== X-Received: by 2002:a05:6000:12cf:b0:2bf:cc40:5fd0 with SMTP id l15-20020a05600012cf00b002bfcc405fd0mr3779714wrx.47.1674823488616; Fri, 27 Jan 2023 04:44:48 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.181.200]) by smtp.gmail.com with ESMTPSA id x3-20020adfec03000000b002bfbf7679absm4064753wrn.107.2023.01.27.04.44.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jan 2023 04:44:47 -0800 (PST) Message-ID: <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: Stefan Monnier Date: Fri, 27 Jan 2023 18:14:39 +0530 In-Reply-To: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-xAsm/8RXIzcIyachuYY2" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60974 Cc: 60974@debbugs.gnu.org, emacs-devel 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 (-) --=-xAsm/8RXIzcIyachuYY2 Content-Type: multipart/mixed; boundary="=-d9FEfZBiaOYaNJRxPaJm" --=-d9FEfZBiaOYaNJRxPaJm Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 2023-01-21 at 00:43 -0500, Stefan Monnier wrote: > > The attached patch should fix this, thoughts? >=20 > It's not really an option: > - it's expensive > - it breaks code when it doesn't form a tree, e.g. >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (list '#1=3D(a b #1#) 'c 'd) >=20 > Instead, we need to find out where in the code we perform the > side effect and change just that part. >=20 >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Stefan >=20 Ah, right. Theother way I could think of a fix is setq-ing `form` to a shallow copy of the original form, with only the place(s) changed. This patch tries to do that by using `pcase-let` to destructure forms. =20 --=20 Vibhav Pant vibhavp@gmail.com GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598 --=-d9FEfZBiaOYaNJRxPaJm Content-Type: text/x-patch; name="60974-2.patch"; charset="UTF-8" Content-Description: Content-Disposition: inline; filename="60974-2.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9jY29udi5lbCBiL2xpc3AvZW1hY3MtbGlzcC9j Y29udi5lbAppbmRleCBlNzE1YmQ5MGEwMC4uZjYxNjBhMTM1NzkgMTAwNjQ0Ci0tLSBhL2xpc3Av ZW1hY3MtbGlzcC9jY29udi5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvY2NvbnYuZWwKQEAgLTQ3 NywyMCArNDc3LDM3IEBAIGNjb252LWNvbnZlcnQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBicmFuY2gpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u ZC1mb3JtcykpKQogCi0gICAgKGAoZnVuY3Rpb24gKGxhbWJkYSAsYXJncyAuICxib2R5KSAuICxf KQorICAgIChgKGZ1bmN0aW9uIChsYW1iZGEgLGFyZ3MgLiAsYm9keSkgLiAscmVzdCkKICAgICAg KGxldCogKChkb2NzdHJpbmcgKGlmIChlcSA6ZG9jdW1lbnRhdGlvbiAoY2FyLXNhZmUgKGNhciBi b2R5KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2NvbnYtY29udmVydCAoY2FkciAo cG9wIGJvZHkpKSBlbnYgZXh0ZW5kKSkpCiAgICAgICAgICAgICAoYmYgKGlmIChzdHJpbmdwIChj YXIgYm9keSkpIChjZHIgYm9keSkgYm9keSkpCiAgICAgICAgICAgICAoaWYgKHdoZW4gKGVxICdp bnRlcmFjdGl2ZSAoY2FyLXNhZmUgKGNhciBiZikpKQogICAgICAgICAgICAgICAgICAgKGdldGhh c2ggZm9ybSBjY29udi0taW50ZXJhY3RpdmUtZm9ybS1mdW5zKSkpCiAgICAgICAgICAgICAoY2lm ICh3aGVuIGlmIChjY29udi1jb252ZXJ0IGlmIGVudiBleHRlbmQpKSkKLSAgICAgICAgICAgIChf IChwY2FzZSBjaWYKLSAgICAgICAgICAgICAgICAgKGAjJyhsYW1iZGEgKCkgLGZvcm0pIChzZXRm IChjYWRyIChjYXIgYmYpKSBmb3JtKSAoc2V0cSBjaWYgbmlsKSkKLSAgICAgICAgICAgICAgICAg KCduaWwgbmlsKQotICAgICAgICAgICAgICAgICA7OyBUaGUgaW50ZXJhY3RpdmUgZm9ybSBuZWVk cyBzcGVjaWFsIHRyZWF0bWVudCwgc28gdGhlIGZvcm0KLSAgICAgICAgICAgICAgICAgOzsgaW5z aWRlIHRoZSBgaW50ZXJhY3RpdmUnIHdvbid0IGJlIHVzZWQgYW55IGZ1cnRoZXIuCi0gICAgICAg ICAgICAgICAgIChfIChzZXRmIChjYWRyIChjYXIgYmYpKSBuaWwpKSkpCi0gICAgICAgICAgICAo Y2YgKGNjb252LS1jb252ZXJ0LWZ1bmN0aW9uIGFyZ3MgYm9keSBlbnYgZm9ybSBkb2NzdHJpbmcp KSkKKyAgICAgICAgICAgIChjZiBuaWwpKQorICAgICAgIChwY2FzZSBjaWYKKyAgICAgICAgIChg IycobGFtYmRhICgpICxmb3JtKQorICAgICAgICAgIChwY2FzZS1sZXQgKChgKCgsZjEgLiAoLF8g LiAsZjIpKSAuICxmMykgYmYpKQorICAgICAgICAgICAgKHNldHEgYmYgYCgoLGYxIC4gKCxmb3Jt IC4gLGYyKSkgLiAsZjMpKSkKKyAgICAgICAgICAoc2V0cSBjaWYgbmlsKSkKKyAgICAgICAgICgn bmlsIChzZXRxIGJmIG5pbCkpCisgICAgICAgICA7OyBUaGUgaW50ZXJhY3RpdmUgZm9ybSBuZWVk cyBzcGVjaWFsIHRyZWF0bWVudCwgc28gdGhlIGZvcm0KKyAgICAgICAgIDs7IGluc2lkZSB0aGUg YGludGVyYWN0aXZlJyB3b24ndCBiZSB1c2VkIGFueSBmdXJ0aGVyLgorICAgICAgICAgKF8gKHBj YXNlLWxldCAoKGAoKCxmMSAuICgsXyAuICxmMikpIC4gLGYzKSBiZikpCisgICAgICAgICAgICAg IChzZXRxIGJmIGAoKCxmMSAuIChuaWwgLiAsZjIpKSAuICxmMykpKSkpCisgICAgICAgKHdoZW4g YmYKKyAgICAgICAgIDs7IElmIHdlIG1vZGlmaWVkIGJmLCByZS1idWlsZCBib2R5IGFuZCBmb3Jt IGFzCisgICAgICAgICA7OyBjb3BpZXMgd2l0aCB0aGUgbW9kaWZpZWQgYml0cy4KKyAgICAgICAg IChzZXRxIGJvZHkgKGlmIChzdHJpbmdwIChjYXIgYm9keSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAoY29ucyAoY2FyIGJvZHkpIGJmKQorICAgICAgICAgICAgICAgICAgICAgIGJmKQorICAg ICAgICAgICAgICAgZm9ybSBgKGZ1bmN0aW9uIChsYW1iZGEgLGFyZ3MgLiAsYm9keSkgLiAscmVz dCkpCisgICAgICAgICA7OyBBbHNvLCByZW1vdmUgdGhlIGN1cnJlbnQgb2xkIGVudHJ5IG9uIHRo ZSBhbGlzdCwgcmVwbGFjaW5nCisgICAgICAgICA7OyBpdCB3aXRoIHRoZSBuZXcgb25lLgorICAg ICAgICAgKGxldCAoKGVudHJ5IChwb3AgY2NvbnYtZnJlZXZhcnMtYWxpc3QpKSkKKyAgICAgICAg ICAgKHB1c2ggKGNvbnMgYm9keSAoY2RyIGVudHJ5KSkgY2NvbnYtZnJlZXZhcnMtYWxpc3QpKSkK KyAgICAgICAoc2V0cSBjZiAoY2NvbnYtLWNvbnZlcnQtZnVuY3Rpb24gYXJncyBib2R5IGVudiBm b3JtIGRvY3N0cmluZykpCisKICAgICAgICAoaWYgKG5vdCBjaWYpCiAgICAgICAgICAgIDs7IE5v cm1hbCBjYXNlLCB0aGUgaW50ZXJhY3RpdmUgZm9ybSBuZWVkcyBubyBzcGVjaWFsIHRyZWF0bWVu dC4KICAgICAgICAgICAgY2YK --=-d9FEfZBiaOYaNJRxPaJm-- --=-xAsm/8RXIzcIyachuYY2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPTxzcACgkQ4/soy2q1 lZgz2Qf/UHy4ffvWBDuyVhlcYthWkvBCwo8x395Mn1rwWs4qA10yLnETish3PX1j Vp7sQ1K3g9d1+nt1tkwbM1ixAK3dri6xy5fo9QuE2fMos+VUh7JjKiO4OQjpdthI X0hyltmn3C5YzTQB0PX34hcqugEXS7tp50HfOJPs+hPhNpg4bBSebLUHqe7YKNQm WnQ/xQIOg/jL388s3s8rPr1c3fmSHaEmBrhAHpudvcmfUEeiD1Xj4tCUqfydgtkL mzJ47DS+ayppX212PGmMbYOIADraJatdr7r8sAW8YJKKuHbPt+646hhuUMgXI/p/ Q9iZ2OYchZUZMnFFRyQURXIFrvanCg== =Zhh4 -----END PGP SIGNATURE----- --=-xAsm/8RXIzcIyachuYY2-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 28 18:11:39 2023 Received: (at 60974) by debbugs.gnu.org; 28 Jan 2023 23:11:39 +0000 Received: from localhost ([127.0.0.1]:41737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLuME-0004nL-PO for submit@debbugs.gnu.org; Sat, 28 Jan 2023 18:11:39 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:64587) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLuMC-0004n6-12 for 60974@debbugs.gnu.org; Sat, 28 Jan 2023 18:11:37 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 78DE11000C9; Sat, 28 Jan 2023 18:11:29 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 11B1C10000D; Sat, 28 Jan 2023 18:11:28 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1674947488; bh=2dGVAuPfBvGLs/XLJbuZW17VuPAhdZUmNxpgLuhJKl8=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=eR0Pm7bV1CPXiBn1CeJCzZiP2PttIhLOntc0qN/qAJJ3P1JM+1VqCXbuHQ/utL093 PA9MiukZsgtas6TeHfHRTrIU4zdZZQdFkO2XqjoRdp9HrKu1Q/1MaPN5U3JnPtozLJ sOTaBAaTmwS12Ouvn/d+1RHiC8RsDxiRuBQX6Cc6AdFjzPY5MhaGamJoySg0Vp9qzZ qTCKZ9CULp0T6SzlA30ID0YdlU312XKXIvSyFRqR0DAiLbsuxzNzIetCokAShrIPgb JSg0Hu1WPzIvvGhrS4s3gpjAKC9abFSxs3YBdtNA/RRDY3SNbAByUrUiB49idIFgBc 4sfnxMb/yZKSw== Received: from ceviche (unknown [207.162.20.112]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C3FE8123029; Sat, 28 Jan 2023 18:11:27 -0500 (EST) From: Stefan Monnier To: Vibhav Pant Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies Message-ID: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> Date: Sat, 28 Jan 2023 18:10:59 -0500 In-Reply-To: <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> (Vibhav Pant's message of "Fri, 27 Jan 2023 18:14:39 +0530") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.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 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: 60974 Cc: 60974@debbugs.gnu.org, emacs-devel 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 (---) > Ah, right. Theother way I could think of a fix is setq-ing `form` to a > shallow copy of the original form, with only the place(s) changed. This > patch tries to do that by using `pcase-let` to destructure forms. Hmm... yes, that's closer. It's pretty ugly, tho. Yet it's hard to make it less ugly here because the `cconv-freevars-alist` really depends on `eq` equality. Maybe we should pass `cif` to `cconv--convert-function` (or maybe even move most of that `cconv--interactive-form-funs`-handling to that function) and arrange for that function to do the "non-side-effecting-equivalent-of" (setf (cadr (car bf)) form)? Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 31 08:53:13 2023 Received: (at 60974) by debbugs.gnu.org; 31 Jan 2023 13:53:13 +0000 Received: from localhost ([127.0.0.1]:51876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMr4T-0007jv-9b for submit@debbugs.gnu.org; Tue, 31 Jan 2023 08:53:13 -0500 Received: from mail-qt1-f182.google.com ([209.85.160.182]:38639) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMr4Q-0007jc-Td for 60974@debbugs.gnu.org; Tue, 31 Jan 2023 08:53:12 -0500 Received: by mail-qt1-f182.google.com with SMTP id z9so13304410qtv.5 for <60974@debbugs.gnu.org>; Tue, 31 Jan 2023 05:53:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=ErIB+/qCF28Ssd2R5mC0JBESa2g2LzWYTgVrVLaXxTs=; b=ViCIh853/LFb1iG3fbYZw3UYC2ILO1hpjKjDyq9mibPftJ8Zna3fYZ004uvcITln4N xJEnBEbTEchGJJDdLW0/QYH7z7wFZnt0VK619cc+471+Yj2NKrPgLcxPEWUSTRgmdo/v MK33lrJTHY45Ck3UWCBtt6FajdTM9svw3OEpDuwP55zG2WBDJOzPeZ4hQc55uSduZhFJ F5CflW7EovZFqzbSOe6Z/szqL/oFOCgt5CAKUqgZ17EKtTHpcvoLrZC0XhR6sN68do6o XF7uZG/ViqM1YxB7VM9T0wsz2QMehQMOHsAxi6dyYElN5X7LIKGtiqpIVCkum9sT0hIL DvKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ErIB+/qCF28Ssd2R5mC0JBESa2g2LzWYTgVrVLaXxTs=; b=Cm8ds0+zQSAKGUe31u9uViWpegxeUj7pEkEHkWbi5zxRfjuhjS43zo9Wm6eYT22tBf xTk2CExZT+UN4ULAYegIMfRfRdtv8yvycNP8qyRZjsnFW0k3tSaGsx7NGm5f/2HyKFDP 174dcDKY+AxC9ZNyta8nyU259QugY1nU/SfVBFNUrhDhE8ooXCFZvj7TCGo5KKEodi7a lVAwVf6SkOfZ0ZhJ+fUyZ4iY0kNadcBmFXzuRPcEqR13lWWi1k9BFzPlY5iA5lmkSnCq iOdeznkyRtNKereLROH1oAjL6IL+keCAm2AkactG6NtMztqzovlSOZmNuMpUccqsVN4p cUUQ== X-Gm-Message-State: AO0yUKV54gbpZue9VMwp/YD6EbpUmaOHIU3wp5FICdag1dCQ4iEpZ2XA /ZdkqKPUC0YSHLBa7Rh6BPg= X-Google-Smtp-Source: AK7set/bqsZawVJTZWf6VjEQvEi0H7C39VpDGq4M0XJ5PO8+jusrVQifdFXwhRt9JJza4QFDNCfB0g== X-Received: by 2002:a05:622a:199b:b0:3a7:f091:bfe with SMTP id u27-20020a05622a199b00b003a7f0910bfemr19753098qtc.7.1675173185275; Tue, 31 Jan 2023 05:53:05 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.182.68]) by smtp.gmail.com with ESMTPSA id z10-20020ac8710a000000b003b9b48cdbe8sm457701qto.58.2023.01.31.05.53.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Jan 2023 05:53:04 -0800 (PST) Message-ID: <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: Stefan Monnier Date: Tue, 31 Jan 2023 19:22:56 +0530 In-Reply-To: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-MIUjJ0DaSpH+2NRrnury" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60974 Cc: 60974@debbugs.gnu.org, emacs-devel 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 (-) --=-MIUjJ0DaSpH+2NRrnury Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 2023-01-28 at 18:10 -0500, Stefan Monnier wrote: > > Ah, right. Theother way I could think of a fix is setq-ing `form` > > to a > > shallow copy of the original form, with only the place(s) changed. > > This > > patch tries to do that by using `pcase-let` to destructure forms. >=20 > Hmm... yes, that's closer.=C2=A0 It's pretty ugly, tho. > Yet it's hard to make it less ugly here because the > `cconv-freevars-alist` really depends on `eq` equality. >=20 > Maybe we should pass `cif` to `cconv--convert-function` (or maybe > even > move most of that `cconv--interactive-form-funs`-handling to that > function) and arrange for that function to do the > "non-side-effecting-equivalent-of" (setf (cadr (car bf)) form)? >=20 >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Stefan >=20 I tried to shift the `cif` related bits to `cconc--convert-function`, but my understanding of cconv.el isn't that great, so I wasn't successful at doing that :(. Should I add a TODO to the change for the future? --=20 Vibhav Pant vibhavp@gmail.com GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598 --=-MIUjJ0DaSpH+2NRrnury Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPZHTgACgkQ4/soy2q1 lZh3bQgAkxA3I/EjbjUGnRCe/i9txBTRnhqLC3ZWuVLT8MJN9ziute2XmHYcac3Q nDjNE9B7dqbZbrAEqPBvbO9oCqpCLwhHoxrKwWFhdXPqBp7K6KPq2re7hJaRcZLv o1eTgCzTh/0v67jNceDa5S39nNf5hV/WY/sBZHQ1bWTfUh3uU9CtZJ+CBZ+1WcC8 pT6S2/owkKX7PymT02S40aWqDyHglWDa4wqJ8SDrPM/V36lODqjKeSMVI46MCpYJ LkxefY+NbW5O6uPst9auZEpXh4ZzO4UcEslHkDBPdcFwQ28CPsoRB7+cy0335vei Fj3oIDiiv1/qKUxihKZDVepWM69CGg== =8FO0 -----END PGP SIGNATURE----- --=-MIUjJ0DaSpH+2NRrnury-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 31 09:35:01 2023 Received: (at 60974) by debbugs.gnu.org; 31 Jan 2023 14:35:02 +0000 Received: from localhost ([127.0.0.1]:51975 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMriv-0000RW-HT for submit@debbugs.gnu.org; Tue, 31 Jan 2023 09:35:01 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:63331) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMrit-0000RA-7S for 60974@debbugs.gnu.org; Tue, 31 Jan 2023 09:35:00 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 867881000C7; Tue, 31 Jan 2023 09:34:53 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id F3A5710000D; Tue, 31 Jan 2023 09:34:51 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1675175692; bh=uvEgDJH82J+KDtZi10u+uE0LkD8z5xXNaNejihftyIQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Oz9pRNIWfyOXBGlfxKKlz0IEVB43e67o+ksaumCo0c5VWNOzlDN+634UNFHsHvL6q IXrOPOUhmg/gJjJqF3IM15Ij2R+i65TrAU0ezQC4fihENrobRi+MgeM6nZ/l0WO7qG Jttr+18fL2RftYRupUC7sDaBJldWiI+ihjeDN/xy5/kjD8BOxVBSQ1/xY68+B1x7cB /F7GoUqgoCKSbwE37gIR1niRtD1XG8BAqA+m3LSSgfStdAf8W6JSI6nFn9DiqeaWAF qTkI7kb32DoO/IKZCRPli2BvGkqmDeLcJZuICESqqGi+q4/pbP+YPjjqsYaFUwjs63 NDDWyYNwk0GZg== Received: from pastel (unknown [45.72.238.67]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id AD3A6120CD8; Tue, 31 Jan 2023 09:34:51 -0500 (EST) From: Stefan Monnier To: Vibhav Pant Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies In-Reply-To: <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> (Vibhav Pant's message of "Tue, 31 Jan 2023 19:22:56 +0530") Message-ID: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> Date: Tue, 31 Jan 2023 09:34:50 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.310 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: 60974 Cc: 60974@debbugs.gnu.org, emacs-devel 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 (---) >> > Ah, right. Theother way I could think of a fix is setq-ing `form` >> > to a >> > shallow copy of the original form, with only the place(s) changed. >> > This >> > patch tries to do that by using `pcase-let` to destructure forms. >>=20 >> Hmm... yes, that's closer.=A0 It's pretty ugly, tho. >> Yet it's hard to make it less ugly here because the >> `cconv-freevars-alist` really depends on `eq` equality. >>=20 >> Maybe we should pass `cif` to `cconv--convert-function` (or maybe >> even >> move most of that `cconv--interactive-form-funs`-handling to that >> function) and arrange for that function to do the >> "non-side-effecting-equivalent-of" (setf (cadr (car bf)) form)? >>=20 >>=20 >> =A0=A0=A0=A0=A0=A0=A0 Stefan >>=20 > > I tried to shift the `cif` related bits to `cconc--convert-function`, > but my understanding of cconv.el isn't that great, so I wasn't > successful at doing that :( Should I add a TODO to the change for the > future? Yes, please, Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 01 02:42:16 2023 Received: (at 60974) by debbugs.gnu.org; 1 Feb 2023 07:42:16 +0000 Received: from localhost ([127.0.0.1]:56293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pN7l1-0000a4-Lr for submit@debbugs.gnu.org; Wed, 01 Feb 2023 02:42:16 -0500 Received: from mail-wm1-f54.google.com ([209.85.128.54]:56262) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pN7l0-0000Zk-Cf for 60974@debbugs.gnu.org; Wed, 01 Feb 2023 02:42:14 -0500 Received: by mail-wm1-f54.google.com with SMTP id q8so11951044wmo.5 for <60974@debbugs.gnu.org>; Tue, 31 Jan 2023 23:42:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=+9NY2QxDBaavzI0iBxAechw3P5jMmtE7u1NIDokELeM=; b=V9Bk3slVCyQHFuhHKe1OpbtXeXi21Qfj35sj8B52efpd5WfFJ6d2RGDzyd8LQimbkH co1znGc7yI1U/L4/fAGHKwta2bXoQxHySanTWjnqQ39fxqA6Q2vI8myzx+fg4tkyIplv a6ipmFnFaGd55Xw9jvUVQQ8YywKyIx1zITnhCc4Hp1jRJ5Ie2KKt1ZmN6WRoX4BbuA0V +UVSk+xDU8WzlVsNPIOpGBj0XTZfZQwcdR5LP7l39HDBliMAlXrM2KXM7KrIJmQWig79 g5kv2NO81UBR8hQuNUoTv6STtv6ptxIqJYVdLvvas32uBO/AtIK6zE0I78tYZqyWRh4N /Lqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+9NY2QxDBaavzI0iBxAechw3P5jMmtE7u1NIDokELeM=; b=lrlIkLHj4OFdE5ECz/xpq/D5Snwsk3EIGcwruU/3xZSJLYAQGoAn7kHtIdyf5efj80 CxVQUaOa32Z+gSyfpYLmVq6Dwhs1GCJp1gvb0np4d6N5N4o6ZukKHW2rp62UPSM1AWPl TWh4izT2yixTMLXrqgpF3JDhM5ahtxkZYAMOHJbjbHZps3hW4OJUsU3IMjAMTuxE/h7t mXsrLGP7Zuy6o5BqNx2VNJ/3pS9lJksAjlQnystwMIDd0GnpVk11/qZH76yltx/wjCp1 WFgUnQ8988TeoNDszoE9Pxw5CQGwR+UcXjT1KElILQFFqz53QHzLDKp5ZgXM/oorymeo ibaA== X-Gm-Message-State: AO0yUKWp34jkyc5xV/WYvySbPiYHoJpbHg8hC5zmhDjNlulkrOlKRoGR uiDYETPeUyNftsFqzJgqJl4= X-Google-Smtp-Source: AK7set+8+JBqhT2kvToCYEBHsQ+upuaK6v+zUGB3RU1ZKBgsz/saa/dwwVuyu9SD95ywlpMpfmBUoA== X-Received: by 2002:a7b:cc83:0:b0:3de:25f2:3aee with SMTP id p3-20020a7bcc83000000b003de25f23aeemr1022784wma.31.1675237328359; Tue, 31 Jan 2023 23:42:08 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.182.68]) by smtp.gmail.com with ESMTPSA id z14-20020a5d4d0e000000b002bde537721dsm16409672wrt.20.2023.01.31.23.42.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Jan 2023 23:42:07 -0800 (PST) Message-ID: <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: Stefan Monnier Date: Wed, 01 Feb 2023 13:11:59 +0530 In-Reply-To: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-PcWen83cR674IjG08Lw4" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60974 Cc: 60974@debbugs.gnu.org, emacs-devel 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 (-) --=-PcWen83cR674IjG08Lw4 Content-Type: multipart/mixed; boundary="=-X/9QhZyWMN+vY9a98Cui" --=-X/9QhZyWMN+vY9a98Cui Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2023-01-31 at 09:34 -0500, Stefan Monnier wrote: > > > > Ah, right. Theother way I could think of a fix is setq-ing > > > > `form` > > > > to a > > > > shallow copy of the original form, with only the place(s) > > > > changed. > > > > This > > > > patch tries to do that by using `pcase-let` to destructure > > > > forms. > > >=20 > > > Hmm... yes, that's closer.=C2=A0 It's pretty ugly, tho. > > > Yet it's hard to make it less ugly here because the > > > `cconv-freevars-alist` really depends on `eq` equality. > > >=20 > > > Maybe we should pass `cif` to `cconv--convert-function` (or maybe > > > even > > > move most of that `cconv--interactive-form-funs`-handling to that > > > function) and arrange for that function to do the > > > "non-side-effecting-equivalent-of" (setf (cadr (car bf)) form)? > > >=20 > > >=20 > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Stefan > > >=20 > >=20 > > I tried to shift the `cif` related bits to `cconc--convert- > > function`, > > but my understanding of cconv.el isn't that great, so I wasn't > > successful at doing that :( Should I add a TODO to the change for > > the > > future? >=20 > Yes, please, >=20 >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Stefan >=20 Done, thoughts? --=20 Vibhav Pant vibhavp@gmail.com GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598 --=-X/9QhZyWMN+vY9a98Cui Content-Disposition: attachment; filename="60974-3.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="60974-3.patch"; charset="UTF-8" ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9jY29udi5lbCBiL2xpc3AvZW1hY3MtbGlzcC9j Y29udi5lbAppbmRleCBlNzE1YmQ5MGEwMC4uNWE2YWU3OThjOTMgMTAwNjQ0Ci0tLSBhL2xpc3Av ZW1hY3MtbGlzcC9jY29udi5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvY2NvbnYuZWwKQEAgLTQ3 NywyMCArNDc3LDQwIEBAIGNjb252LWNvbnZlcnQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBicmFuY2gpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u ZC1mb3JtcykpKQogCi0gICAgKGAoZnVuY3Rpb24gKGxhbWJkYSAsYXJncyAuICxib2R5KSAuICxf KQorICAgIChgKGZ1bmN0aW9uIChsYW1iZGEgLGFyZ3MgLiAsYm9keSkgLiAscmVzdCkKICAgICAg KGxldCogKChkb2NzdHJpbmcgKGlmIChlcSA6ZG9jdW1lbnRhdGlvbiAoY2FyLXNhZmUgKGNhciBi b2R5KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2NvbnYtY29udmVydCAoY2FkciAo cG9wIGJvZHkpKSBlbnYgZXh0ZW5kKSkpCiAgICAgICAgICAgICAoYmYgKGlmIChzdHJpbmdwIChj YXIgYm9keSkpIChjZHIgYm9keSkgYm9keSkpCiAgICAgICAgICAgICAoaWYgKHdoZW4gKGVxICdp bnRlcmFjdGl2ZSAoY2FyLXNhZmUgKGNhciBiZikpKQogICAgICAgICAgICAgICAgICAgKGdldGhh c2ggZm9ybSBjY29udi0taW50ZXJhY3RpdmUtZm9ybS1mdW5zKSkpCiAgICAgICAgICAgICAoY2lm ICh3aGVuIGlmIChjY29udi1jb252ZXJ0IGlmIGVudiBleHRlbmQpKSkKLSAgICAgICAgICAgIChf IChwY2FzZSBjaWYKLSAgICAgICAgICAgICAgICAgKGAjJyhsYW1iZGEgKCkgLGZvcm0pIChzZXRm IChjYWRyIChjYXIgYmYpKSBmb3JtKSAoc2V0cSBjaWYgbmlsKSkKLSAgICAgICAgICAgICAgICAg KCduaWwgbmlsKQotICAgICAgICAgICAgICAgICA7OyBUaGUgaW50ZXJhY3RpdmUgZm9ybSBuZWVk cyBzcGVjaWFsIHRyZWF0bWVudCwgc28gdGhlIGZvcm0KLSAgICAgICAgICAgICAgICAgOzsgaW5z aWRlIHRoZSBgaW50ZXJhY3RpdmUnIHdvbid0IGJlIHVzZWQgYW55IGZ1cnRoZXIuCi0gICAgICAg ICAgICAgICAgIChfIChzZXRmIChjYWRyIChjYXIgYmYpKSBuaWwpKSkpCi0gICAgICAgICAgICAo Y2YgKGNjb252LS1jb252ZXJ0LWZ1bmN0aW9uIGFyZ3MgYm9keSBlbnYgZm9ybSBkb2NzdHJpbmcp KSkKKyAgICAgICAgICAgIChjZiBuaWwpKQorICAgICAgIDs7IFRPRE86IEJlY2F1c2Ugd2UgbmVl ZCB0byBub24tZGVzdHJ1Y3RpdmVseSBtb2RpZnkgYm9keSwgdGhpcyBjb2RlCisgICAgICAgOzsg aXMgcGFydGljdWxhcmx5IHVnbHkuICBUaGlzIHNob3VsZCBpZGVhbGx5IGJlIG1vdmVkIHRvCisg ICAgICAgOzsgY2NvbnYtLWNvbnZlcnQtZnVuY3Rpb24uCisgICAgICAgKHBjYXNlIGNpZgorICAg ICAgICAgKGAjJyhsYW1iZGEgKCkgLGZvcm0pCisgICAgICAgICAgKHBjYXNlLWxldCAoKGAoKCxm MSAuICgsXyAuICxmMikpIC4gLGYzKSBiZikpCisgICAgICAgICAgICAoc2V0cSBiZiBgKCgsZjEg LiAoLGZvcm0gLiAsZjIpKSAuICxmMykpKQorICAgICAgICAgIChzZXRxIGNpZiBuaWwpKQorICAg ICAgICAgKCduaWwgKHNldHEgYmYgbmlsKSkKKyAgICAgICAgIDs7IFRoZSBpbnRlcmFjdGl2ZSBm b3JtIG5lZWRzIHNwZWNpYWwgdHJlYXRtZW50LCBzbyB0aGUgZm9ybQorICAgICAgICAgOzsgaW5z aWRlIHRoZSBgaW50ZXJhY3RpdmUnIHdvbid0IGJlIHVzZWQgYW55IGZ1cnRoZXIuCisgICAgICAg ICAoXyAocGNhc2UtbGV0ICgoYCgoLGYxIC4gKCxfIC4gLGYyKSkgLiAsZjMpIGJmKSkKKyAgICAg ICAgICAgICAgKHNldHEgYmYgYCgoLGYxIC4gKG5pbCAuICxmMikpIC4gLGYzKSkpKSkKKyAgICAg ICAod2hlbiBiZgorICAgICAgICAgOzsgSWYgd2UgbW9kaWZpZWQgYmYsIHJlLWJ1aWxkIGJvZHkg YW5kIGZvcm0gYXMKKyAgICAgICAgIDs7IGNvcGllcyB3aXRoIHRoZSBtb2RpZmllZCBiaXRzLgor ICAgICAgICAgKHNldHEgYm9keSAoaWYgKHN0cmluZ3AgKGNhciBib2R5KSkKKyAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zIChjYXIgYm9keSkgYmYpCisgICAgICAgICAgICAgICAgICAgICAg YmYpCisgICAgICAgICAgICAgICBmb3JtIGAoZnVuY3Rpb24gKGxhbWJkYSAsYXJncyAuICxib2R5 KSAuICxyZXN0KSkKKyAgICAgICAgIDs7IEFsc28sIHJlbW92ZSB0aGUgY3VycmVudCBvbGQgZW50 cnkgb24gdGhlIGFsaXN0LCByZXBsYWNpbmcKKyAgICAgICAgIDs7IGl0IHdpdGggdGhlIG5ldyBv bmUuCisgICAgICAgICAobGV0ICgoZW50cnkgKHBvcCBjY29udi1mcmVldmFycy1hbGlzdCkpKQor ICAgICAgICAgICAocHVzaCAoY29ucyBib2R5IChjZHIgZW50cnkpKSBjY29udi1mcmVldmFycy1h bGlzdCkpKQorICAgICAgIChzZXRxIGNmIChjY29udi0tY29udmVydC1mdW5jdGlvbiBhcmdzIGJv ZHkgZW52IGZvcm0gZG9jc3RyaW5nKSkKKwogICAgICAgIChpZiAobm90IGNpZikKICAgICAgICAg ICAgOzsgTm9ybWFsIGNhc2UsIHRoZSBpbnRlcmFjdGl2ZSBmb3JtIG5lZWRzIG5vIHNwZWNpYWwg dHJlYXRtZW50LgogICAgICAgICAgICBjZgo= --=-X/9QhZyWMN+vY9a98Cui-- --=-PcWen83cR674IjG08Lw4 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPaF8cACgkQ4/soy2q1 lZg0RAf+M9fUaxCfvgVqm8/uDaFoYXr81zXufqrEmnZxYnIoYHy7bd79ksZqhTVn /6MC+ayDpMKd2iMvHYEWL77STnPfjyIg57d/Vaa0/Pq2oGBXCZL+/fwotb0ta9zI mlGEuj/Wv2DVbqEHTwH6uP5V/sgmv5FQbdXsbyfzVgD3xEDSkzQ2Y67vf8mm/r9m bkIwlqagmsNTF4BED5zQTGyZiDqGoXjLAr/8tidHHEE5YXHtl2O5a29mbCJWgizi YlJXRylX9DsokwsIMbqR2bju4xvs2DTkt1lTS2fsWKafR+FOej4keT8qQV2CJGfE T02u71IJtMLLD2NbRuWiRV+F8NA/Pg== =PALd -----END PGP SIGNATURE----- --=-PcWen83cR674IjG08Lw4-- From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 01 09:33:31 2023 Received: (at 60974) by debbugs.gnu.org; 1 Feb 2023 14:33:31 +0000 Received: from localhost ([127.0.0.1]:56945 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNEB0-0007rw-Ru for submit@debbugs.gnu.org; Wed, 01 Feb 2023 09:33:31 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:16926) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNEAy-0007re-Kr for 60974@debbugs.gnu.org; Wed, 01 Feb 2023 09:33:29 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 0A66B441451; Wed, 1 Feb 2023 09:33:22 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B446A441444; Wed, 1 Feb 2023 09:33:20 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1675262000; bh=yWYnhjDL2ADIzQn8jpbtSpImU1t18fYox++cw6HGF40=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=IZCu7U6htIqyDfgRd2Br/LNo+LA0FM6S/T4vllDGIjzn49GiKLkyr/cKGfrzUXlNO gtK/I/HGMJItTfsMODC46tA0zWYLzcpDcatBfecYKQfyzcB1n9MBrD5V6XoqJ9CDxX 8cMIyCdbtbVXoZUzbIjBjSsQxw2tUZPAlz8+mq/r7rvH0BtrTB5HlKNVUjf+l5VFMh 2JbxNqKNYN+GxJWxIpMtDPvsI0LyNYjNnJsg2Fv52IPBiizw6jPCgpuUzPGylpzNpw 5ZddzDI97C504Xg6Xkk9A7LwlUshKa7urvA3sRuO4mHz+QEZQPsTYSBMnVm7H+sp8p ninRtWu/6FC1g== Received: from pastel (unknown [45.72.238.67]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 725D71211B1; Wed, 1 Feb 2023 09:33:20 -0500 (EST) From: Stefan Monnier To: Vibhav Pant Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies In-Reply-To: <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> (Vibhav Pant's message of "Wed, 01 Feb 2023 13:11:59 +0530") Message-ID: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> Date: Wed, 01 Feb 2023 09:33:18 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) 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.123 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: 60974 Cc: 60974@debbugs.gnu.org, emacs-devel 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 (---) >> Yes, please, > Done, thoughts? I think we can go with that for now. I'll try to fix the todo at some point, but I'm short on time for now, Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 02 07:35:32 2023 Received: (at 60974) by debbugs.gnu.org; 2 Feb 2023 12:35:32 +0000 Received: from localhost ([127.0.0.1]:32815 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNYoN-0000lo-NU for submit@debbugs.gnu.org; Thu, 02 Feb 2023 07:35:31 -0500 Received: from mail-wm1-f54.google.com ([209.85.128.54]:54075) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNYoM-0000lZ-4o for 60974@debbugs.gnu.org; Thu, 02 Feb 2023 07:35:30 -0500 Received: by mail-wm1-f54.google.com with SMTP id l8so1272059wms.3 for <60974@debbugs.gnu.org>; Thu, 02 Feb 2023 04:35:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=Nj8w2jhS3BQi4ZCF3kGMt9kdTEtQBkpeOXw8eB4F4DI=; b=jAEzZJZDvDu0HIZhTv1w4bc1z3NqEB9EaGQvOJfJUPwyWGNUchpWKSdoiFFF6twtSV VP3R8/GiN2itnGukvVfNXjvqbaEmEo+DP6Uvg/WwISnvrINa5hDKhDFmWzZpq1FDlpjr D3YmFM/gfqoi8Ynbm1LZTMQOLfn7pqN4kjXG2Oo+9jP29DwJppGu4vzqQ06RzpPpUAth AgEa8MOFXj1OFw2j+N0IW0gOfRbs1fUdwWsujlGyRD3FtHcj1QBaDA+haJgdoKYx/GiT 4m9vFhbq8QGwFrwCio9e3JD191OH/sLnngjunH8ok+8wmwwXmoHneyjvnCsgxrx/sZpF hmTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Nj8w2jhS3BQi4ZCF3kGMt9kdTEtQBkpeOXw8eB4F4DI=; b=MxAdmDKbJn2NxEL7bi1260V4bYhQZjcmEwwefXqtAIWgkY2v4lpAb/yyKrUjyuS+43 k/UvyPeGtX0aSCR3XfM9IwUpkp3b9MmpnAiabJNd0SbsAU+ynrCKYiXBUNwvb+cg7m9v FwD5TyH1uwj2wH18QiFqWzAVXJHeioCFA8oRD4CdX0mtbKYtCRHtJjsr9Y7wx7IKEQ/a X2xRyvTGLp/MV6YGSNhhmpGkSA7m68IUJOtMFkE2kB2AAybrS78+HMX2HGtBYha/oSoX 9Eye7GA9u1+mSvxTTH1c1OeJ4mR8JwMja7YVlXjxCXr1ZGIiW5XrXQXWqDgYAL2aHRX6 kofQ== X-Gm-Message-State: AO0yUKUDk28QeAAj5HjqPBMI7brcf/Xg+hv/JzuTwYuRRZaQq6PVKzyY cMPqIE2strAeVC5eBm0H3LA= X-Google-Smtp-Source: AK7set9P9MoxOf6Ue8kt6NLT4lSckM3u5GH7BqPKtvDKT5Xybr03LFfbDP1SDjj999IjFVX938Zahw== X-Received: by 2002:a05:600c:4b2f:b0:3dc:53a2:2690 with SMTP id i47-20020a05600c4b2f00b003dc53a22690mr5573371wmp.7.1675341324080; Thu, 02 Feb 2023 04:35:24 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.182.68]) by smtp.gmail.com with ESMTPSA id q6-20020a05600c46c600b003dc54344764sm5214122wmo.48.2023.02.02.04.35.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Feb 2023 04:35:23 -0800 (PST) Message-ID: <51cc5308368f09c02a315970275bd3968008c421.camel@gmail.com> Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: Stefan Monnier Date: Thu, 02 Feb 2023 18:05:13 +0530 In-Reply-To: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-wLr6fV+SH1XGrQff31fi" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60974 Cc: 60974@debbugs.gnu.org, emacs-devel 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 (-) --=-wLr6fV+SH1XGrQff31fi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2023-02-01 at 09:33 -0500, Stefan Monnier wrote: > > > Yes, please, > > Done, thoughts? >=20 > I think we can go with that for now.=C2=A0 I'll try to fix the todo at > some > point, but I'm short on time for now, >=20 >=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Stefan >=20 Sure. Do we need to install this to the release branch? The bug doesn't really break anything AFAIK, so I dont think it's really a release blocker. --=20 Vibhav Pant vibhavp@gmail.com GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598 --=-wLr6fV+SH1XGrQff31fi Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPbrgEACgkQ4/soy2q1 lZhf4wf/cBwXLFhGSptRU4trBcJsudA4Wr+rv0jePSZJ+ZGL/b977XhIGiqJzOVp tF4C/fMgrKclthZrVhlLAU4/WTWWdbJ3UK/3FGhZA3dWrMTtbbvH7AOILnO+HbeH H5I0fPJ8Somobqfj1moku3oPXtEO/wxMmrzwden44Jlsnu8FY/WVAyodqbaQMOC4 0QCU+syLVOrWAba+xX0KzZfOGnGT8h57iP51PV/yEf//Z3MaFhXs8bsVtnWUysSf 7EAhJo9lJIXU90dSosH680izskn4RRi+fdSiI3VkueJwRZmB7CiCzx/IuvE0F+2F dl00EMcNviUpMifWPC3OoWz9MaB9nA== =vHgF -----END PGP SIGNATURE----- --=-wLr6fV+SH1XGrQff31fi-- From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 02 07:39:14 2023 Received: (at 60974) by debbugs.gnu.org; 2 Feb 2023 12:39:14 +0000 Received: from localhost ([127.0.0.1]:32819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNYry-0000ro-9X for submit@debbugs.gnu.org; Thu, 02 Feb 2023 07:39:14 -0500 Received: from mail156c50.megamailservers.eu ([91.136.10.166]:54792 helo=mail51c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNYru-0000ra-Sc for 60974@debbugs.gnu.org; Thu, 02 Feb 2023 07:39:12 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1675341548; bh=QCiYQFGFLumry00AdTKxOLz5Wl1LttQLCTGBxwVwLxw=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=G/b9pHbv30M0BGSPcE5k/KAm6NFDctIFvRMHRWhs1fMgqP6rzUndglas3q8AlCsBh jIm6SmVmvODc6rez+bU6J7QKcXmGn8U6VWaeZ5vXTuvs0OBXv1HRY7eBmT1Qo1ko1G 0ydynjHoNcquqdqoU0eltgDFD40tJ6bOhkFUEvC8= Feedback-ID: mattiase@acm.or Received: from smtpclient.apple (c188-150-171-209.bredband.tele2.se [188.150.171.209]) (authenticated bits=0) by mail51c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id 312Cd5Nh102225; Thu, 2 Feb 2023 12:39:06 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.14\)) Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= In-Reply-To: <51cc5308368f09c02a315970275bd3968008c421.camel@gmail.com> Date: Thu, 2 Feb 2023 13:39:04 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <0883890C-6FB6-4501-867A-6684CBA3D9F4@acm.org> References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> <51cc5308368f09c02a315970275bd3968008c421.camel@gmail.com> To: Vibhav Pant X-Mailer: Apple Mail (2.3654.120.0.1.14) X-CTCH-RefID: str=0001.0A782F1E.63DBAEEC.0048, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-Origin-Country: SE X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 60974 Cc: Stefan Monnier , 60974@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: -0.7 (/) [ trimmed emacs-devel ] 2 feb. 2023 kl. 13.35 skrev Vibhav Pant : > Sure. Do we need to install this to the release branch? The bug = doesn't > really break anything AFAIK, so I dont think it's really a release > blocker. In any case there should be a test. (Not implying that you needed to be = reminded, of course.) From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 02 08:16:13 2023 Received: (at 60974) by debbugs.gnu.org; 2 Feb 2023 13:16:13 +0000 Received: from localhost ([127.0.0.1]:32882 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNZRl-0001th-0W for submit@debbugs.gnu.org; Thu, 02 Feb 2023 08:16:13 -0500 Received: from mail-wr1-f54.google.com ([209.85.221.54]:37717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNZRj-0001tU-7b for 60974@debbugs.gnu.org; Thu, 02 Feb 2023 08:16:11 -0500 Received: by mail-wr1-f54.google.com with SMTP id q10so1680429wrm.4 for <60974@debbugs.gnu.org>; Thu, 02 Feb 2023 05:16:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=HGfEsnk32SPcCPlBKV5C4LdcVLARcrg6RuW0IFqSFPI=; b=qT/CNn8kUojuS5uGZxK+NJVVMZ8T8jl1dGDKJvlMcolEPSnmv9X80Ov1/qgSgFRg1x FLu1hM0ZQ/g/9JLFPmoV+zyr+fzcvI8vk06tl0DIzVo+m/4B4F2drInz3z8k+20Eu0mr K3MFFwdc0xjLo/IF8Cth/m5Bx96NpSX77HgdKPpscEO0D3b3rpsuDDpL+W/5lRz2kZax tfG6jJ/0hEseG6toz9IBQT4clb+Eyb+ter+mE8I7Pd23+MarIsbIDYaotHCVGbNv5/5J Vw0tDOdAOwYexW/hoZbF0gyfSxs+Th3vrUCgVW9VoZ24mQVkWVWj/uvn2s75i15ZsFGV P47Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HGfEsnk32SPcCPlBKV5C4LdcVLARcrg6RuW0IFqSFPI=; b=o6rd5zsYCzEQ19GVOPhtfVAcA7A6hixjLecxLigxjvDyb+povcMVIR1po/YVtn2o4L 7ezXX7XFrOp32+ioAbR/GZcM8Lg3SEgmV7rNHgmHLFJf7bmLDpITzfoXLiFdoiuicklp 50eZkPhiCjD4dM6y0LI/GPJdaq/Izo3GdutZddolm5mwdhcQIHZ4wNm+A2YOoybblTwu 7G1XlEpnHzSX5cmVwM71X+LSG6A1gXHhoRHkofP9QDdo7F88KpaMxuDjmQNqRWqd2qtA MUOi+DPO42HTQ83GQOCFHDWocSC9klcVKBI84EgoqrX5aQ5ixKZrIgkUfooIYExI/pZi yMxw== X-Gm-Message-State: AO0yUKW+C+0lEJ++VB11h43pu2PDHKRF2GudKTv12OYNfBUbOoMDHD5P h9hLegaM0rniaVqAqbQRH8g= X-Google-Smtp-Source: AK7set8oYT2ZirjFPMitmln4gYURMzEMmSLh/gc1d70WimqVf3acmlR/+aO/Br2yZ9b6BdzOgNZdvQ== X-Received: by 2002:a5d:610a:0:b0:2bf:e695:82a7 with SMTP id v10-20020a5d610a000000b002bfe69582a7mr4797738wrt.13.1675343765121; Thu, 02 Feb 2023 05:16:05 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.182.68]) by smtp.gmail.com with ESMTPSA id d7-20020a056000114700b00241fab5a296sm19723498wrx.40.2023.02.02.05.16.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Feb 2023 05:16:04 -0800 (PST) Message-ID: Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: Mattias =?ISO-8859-1?Q?Engdeg=E5rd?= Date: Thu, 02 Feb 2023 18:45:56 +0530 In-Reply-To: <0883890C-6FB6-4501-867A-6684CBA3D9F4@acm.org> References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> <51cc5308368f09c02a315970275bd3968008c421.camel@gmail.com> <0883890C-6FB6-4501-867A-6684CBA3D9F4@acm.org> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-/ECLg9NpEJBH3x6YMeun" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60974 Cc: Stefan Monnier , 60974 <60974@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 (-) --=-/ECLg9NpEJBH3x6YMeun Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2023-02-02 at 13:39 +0100, Mattias Engdeg=C3=A5rd wrote: > [ trimmed emacs-devel ] >=20 > 2 feb. 2023 kl. 13.35 skrev Vibhav Pant : >=20 > > Sure. Do we need to install this to the release branch? The bug > > doesn't > > really break anything AFAIK, so I dont think it's really a release > > blocker. >=20 > In any case there should be a test. (Not implying that you needed to > be reminded, of course.) >=20 I had thought of adding a test a while back, but I'm not sure how we'd do it. The immutability of self evaluating literals is only enforced for data in purespace. One potential way to achieve this would be a test-case that depends on a macro defined in purespace, which expands to a body that is not byte-compiled, but that doesn't sound like a great approach. Alternatively, we could define a macro, store its expanded form in a variable and run it through `cconv-closure-convert`, checking afterwards whether the original value changed or not. It feels a little more reliable, but writing it might be a little tricky. (Shameless plug for scratch/comp-static-data, which does enforce immutability in natively compiled code, and has new tests that check for exactly this). --=20 Vibhav Pant vibhavp@gmail.com GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598 --=-/ECLg9NpEJBH3x6YMeun Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPbt4wACgkQ4/soy2q1 lZi5PQf/Vb8Rvxug7iUwdLsfMGoBuJVeFEwJkJqclvnph93mB7S8JpEGNzd2rI8Q QJVG8Irrp0XgzmZVxHxqcUp2jv/190ryeDuqyA/lrwdFkanFgic/Sew99D9PqNv3 vX6s2+2XBqh+K/MlPLSqKLV4Sd3yklIU+pKRmlddV6HSw84BcRkqRAVZ+L9ofMH7 dcJL3H3vy3bB1G4aJAURZPTefiTw/EXfRNMVUPzN3j0SZiw0kk5VMRThU9Up1jRu AMd64QIyaLoN2hvaRJZTKXuHl1EGpUNTTRtrfj2eFUgVLhKkyAR3+P19ALlIofMI zTrB6pgq9dE6DZFEizgoT8ethd7Uqw== =ASxF -----END PGP SIGNATURE----- --=-/ECLg9NpEJBH3x6YMeun-- From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 02 09:26:14 2023 Received: (at 60974) by debbugs.gnu.org; 2 Feb 2023 14:26:14 +0000 Received: from localhost ([127.0.0.1]:32981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNaXV-0003kv-Rm for submit@debbugs.gnu.org; Thu, 02 Feb 2023 09:26:14 -0500 Received: from eggs.gnu.org ([209.51.188.92]:47734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNaXT-0003kf-B2 for 60974@debbugs.gnu.org; Thu, 02 Feb 2023 09:26:12 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNaXN-0004eC-FQ; Thu, 02 Feb 2023 09:26:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=uzMLAZxxIKPXJjKSownMueMLiPlsRIoJ1na7TfGzRuo=; b=A3dsh/KsLPxj v6jzm8gjBDKsW+Afk3HyP3jJKSlv2W+KWjSIO0VyAVjFijwQ63b+nxbNLMA6yX0A6+fbkT/BVEkrN BsJxl3t1mMOzlY6DsW5KIL6J8omZgLsNZf/LGWpY+1GECTmQXBE+tOTRUdp+voBCFWNYlhbSdEh9E BQjMFqFbt9ILHmjKjzP38HnYBPE3ZjWsd6Y3II8bHAQFFMLZQjYk76MjijsEqjrm9sAlBejhyM19Y ogui+XuK0L1qDI1oOdBXODcgeSAHUGMDJnuLCG5GUAFE4EyAdRUKHFgAeDx/LtyDEq0CjzyHGd8KB 04fp7/7kNmIaLZ/E760tCQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNaXM-0001Yl-S4; Thu, 02 Feb 2023 09:26:05 -0500 Date: Thu, 02 Feb 2023 16:26:06 +0200 Message-Id: <83357oxhxd.fsf@gnu.org> From: Eli Zaretskii To: Vibhav Pant In-Reply-To: <51cc5308368f09c02a315970275bd3968008c421.camel@gmail.com> (message from Vibhav Pant on Thu, 02 Feb 2023 18:05:13 +0530) Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> <51cc5308368f09c02a315970275bd3968008c421.camel@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 60974 Cc: emacs-devel@gnu.org, monnier@iro.umontreal.ca, 60974@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 (---) > From: Vibhav Pant > Cc: 60974@debbugs.gnu.org, emacs-devel > Date: Thu, 02 Feb 2023 18:05:13 +0530 > > Sure. Do we need to install this to the release branch? The bug doesn't > really break anything AFAIK, so I dont think it's really a release > blocker. In that case, please don't install on the release branch. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 02 11:04:49 2023 Received: (at 60974) by debbugs.gnu.org; 2 Feb 2023 16:04:49 +0000 Received: from localhost ([127.0.0.1]:35565 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNc4v-0006ze-7Z for submit@debbugs.gnu.org; Thu, 02 Feb 2023 11:04:49 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:45951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNc4t-0006zI-I1 for 60974@debbugs.gnu.org; Thu, 02 Feb 2023 11:04:47 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 38C42441572; Thu, 2 Feb 2023 11:04:42 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id DCFC3441562; Thu, 2 Feb 2023 11:04:40 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1675353880; bh=eQosTDeUjLnJuY0o2k5dXzW5DYLPETMzhlhCFgdqMg4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=d3FRM0m2x8Gec6IHGMPsaxMyvEsprMsK/MCl5OieF6hZcqQcu3OqF7apTzboabdm9 SHWkAFjelJkCFBlCSvwFNLpNhLOC4YZGxhHM3nToCvB0ttw6PzDrCQ1+xVGry4YY40 hS0733IxsX7Yvwme1Db31OhXEBJUtgFZK8Veu/fg5zmQ4MwamdE6ltqLqHPireEE7M Yni7MWz+/KtevPe/FGZsGsJJf+FLRcuRYxf7CgSPUKL7r1YQK5VCyRQ8Uie2kVULbc Z9EDMdTMfDSJmKZaVsqxGTH2sfC/sgjjTrCDmVrhLOrcEeun9pbBcYPp2P1j7g96pa qg465ZJ/bkkrw== Received: from pastel (76-10-137-88.dsl.teksavvy.com [76.10.137.88]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B60E2120E31; Thu, 2 Feb 2023 11:04:40 -0500 (EST) From: Stefan Monnier To: Vibhav Pant Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies In-Reply-To: (Vibhav Pant's message of "Thu, 02 Feb 2023 18:45:56 +0530") Message-ID: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> <51cc5308368f09c02a315970275bd3968008c421.camel@gmail.com> <0883890C-6FB6-4501-867A-6684CBA3D9F4@acm.org> Date: Thu, 02 Feb 2023 11:04:35 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) 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 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: 60974 Cc: Mattias =?windows-1252?Q?Engdeg=E5rd?= , 60974 <60974@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 (---) > Alternatively, we could define a macro, store its expanded form in a > variable and run it through `cconv-closure-convert`, checking > afterwards whether the original value changed or not. It feels a little > more reliable, but writing it might be a little tricky. I was thinking of doing something like: (let ((f '(lambda () (interactive ...) ...))) (should (equal f (let ((fc (copy-tree f))) (byte-compile fc) fc)))) -- Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 07 08:03:05 2023 Received: (at 60974) by debbugs.gnu.org; 7 Feb 2023 13:03:05 +0000 Received: from localhost ([127.0.0.1]:51484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pPNcm-00078b-NM for submit@debbugs.gnu.org; Tue, 07 Feb 2023 08:03:05 -0500 Received: from mail-wr1-f47.google.com ([209.85.221.47]:42548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pPNck-000786-5m for 60974@debbugs.gnu.org; Tue, 07 Feb 2023 08:03:02 -0500 Received: by mail-wr1-f47.google.com with SMTP id d14so13463715wrr.9 for <60974@debbugs.gnu.org>; Tue, 07 Feb 2023 05:03:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=l+6JHdhpxIFs8ePXQiOuvkadfdEVxGp5ujxIzBx2Jyw=; b=Ci5DkTpbK6pwHuj9DxCTz8WX1PLVNHwgVMBoljnYlFhWW+/2j/Jeov3YOjqN0fD5ud nwqBpepPaXuOp38Kk6xGwMfWLJHkKFtWaKHuKIIAzQ5Z4wzJJkF8qXHVAFUvjLCJ/Jij obZPJxDcRmtb+qBgSF8l5pc7SSvez+a06fBYjdg0wJxwHwuMIM7QxKYpY1Tt4cL98rrx Xe8qhEQhwbahPfoRnbmKkR4GLFRAXDgUC2q0Ng48QYKJkQ0tiAaX0Jdt0zoeKYcR00Mv iJfm/HYFVb2ogNi2TfdUAAmgbtaIg3zBHnHlpbwAYMV/oniUmKbUaeQin0Ukzs9aGPJI UDZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=l+6JHdhpxIFs8ePXQiOuvkadfdEVxGp5ujxIzBx2Jyw=; b=gASZbbE6FGLxXmubxLbqziqaZI5uB038o1SF+dPaLeoKqN61skA3gbiukcoti4eU+l 7fG4fVFhTY/KkuQFRSDTnTcu7gkAFDw4Mp1wqREP23EKpqg5ojfW7n0aLZ97ZsCLLY8v R9joqT0rtn5mkWZUwGkVbvRw5kCkly5yp5KSH1MRrFXSBRbKQuvPA5kC6DGKqwEU5/jY ptay9z43xUaEtpe9UNZLI0JcMfzkcH5sAk+mpqQQZ//Fc5ntZAaV+Nr4jO3uz8CBruVS KJA5ZfY6989NP3N+0dtAI1PzbsGByrz5kS0YyPWuzje6JKVJysOp8aBT97zky8AcLx3n F7mA== X-Gm-Message-State: AO0yUKUXU3230vMr0Pg/8iR6Y2DgJ12IS+uArvl6XOD5a640A+BfR85l xW5Lg+wXATbeBwLlisjE32I= X-Google-Smtp-Source: AK7set9tBihuCjToxBeSk69YGbJR4n3Ajl+Iv4xTshyU6Z+L55wVieybozT08RHbt+eF7tbriMSuow== X-Received: by 2002:a5d:43c9:0:b0:2be:691c:a584 with SMTP id v9-20020a5d43c9000000b002be691ca584mr3118569wrr.49.1675774975995; Tue, 07 Feb 2023 05:02:55 -0800 (PST) Received: from vibhavp-mbp.local ([182.69.182.68]) by smtp.gmail.com with ESMTPSA id o13-20020a5d408d000000b002c3f42f3687sm1595582wrp.72.2023.02.07.05.02.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Feb 2023 05:02:54 -0800 (PST) Message-ID: Subject: Re: bug#60974: 30.0.50; byte-compile-preprocess mutates self evaluating forms in expanded macro bodies From: Vibhav Pant To: Stefan Monnier Date: Tue, 07 Feb 2023 18:32:46 +0530 In-Reply-To: References: <6eb5f27bf591c3d52766d8b9da46e7301f2ff0ab.camel@gmail.com> <5ccd0d1f9f64a5fd20e5403a07b06d6074b6c8f6.camel@gmail.com> <2d72943db9995af6a98744f4a4da3cef98773b86.camel@gmail.com> <22ab766cb75ceedac14976e02aebe02711ef6aad.camel@gmail.com> <51cc5308368f09c02a315970275bd3968008c421.camel@gmail.com> <0883890C-6FB6-4501-867A-6684CBA3D9F4@acm.org> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-KSo9Ok7Greuz1sQEVd6c" User-Agent: Evolution 3.46.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60974 Cc: Mattias =?ISO-8859-1?Q?Engdeg=E5rd?= , 60974 <60974@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 (-) --=-KSo9Ok7Greuz1sQEVd6c Content-Type: multipart/mixed; boundary="=-cQV0tduUelR8ljl3UFSJ" --=-cQV0tduUelR8ljl3UFSJ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2023-02-02 at 11:04 -0500, Stefan Monnier wrote: > > Alternatively, we could define a macro, store its expanded form in > > a > > variable and run it through `cconv-closure-convert`, checking > > afterwards whether the original value changed or not. It feels a > > little > > more reliable, but writing it might be a little tricky. >=20 > I was thinking of doing something like: >=20 > =C2=A0=C2=A0=C2=A0 (let ((f '(lambda () (interactive ...) ...))) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (should (equal f > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (let ((fc (copy-tree f))) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (byte-compile = fc) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fc)))) >=20 >=20 > -- Stefan >=20 I wrote a variant of this that specifically calls `cconv-closure- convert`, and checks if the interactive spec has been modified, using `eq`. It fails on master, and passes with the patch installed. --=20 Vibhav Pant vibhavp@gmail.com GPG: 7ED1 D48C 513C A024 BE3A 785F E3FB 28CB 6AB5 9598 --=-cQV0tduUelR8ljl3UFSJ Content-Disposition: attachment; filename="60974-tests.diff" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="60974-tests.diff"; charset="UTF-8" ZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9jY29udi5lbCBiL2xpc3AvZW1hY3MtbGlzcC9j Y29udi5lbAppbmRleCBlOGQ2Mzk5MDNjMS4uODFmOGQ1YWQzNjIgMTAwNjQ0Ci0tLSBhL2xpc3Av ZW1hY3MtbGlzcC9jY29udi5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvY2NvbnYuZWwKQEAgLTQ3 Nyw3ICs0NzcsNyBAQCBjY29udi1jb252ZXJ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnJhbmNoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmQt Zm9ybXMpKSkKIAotICAgIChgKGZ1bmN0aW9uIChsYW1iZGEgLGFyZ3MgLiAsYm9keSkgLiAsXykK KyAgICAoYChmdW5jdGlvbiAobGFtYmRhICxhcmdzIC4gLGJvZHkpIC4gLHJlc3QpCiAgICAgIChs ZXQqICgoZG9jc3RyaW5nIChpZiAoZXEgOmRvY3VtZW50YXRpb24gKGNhci1zYWZlIChjYXIgYm9k eSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNjb252LWNvbnZlcnQgKGNhZHIgKHBv cCBib2R5KSkgZW52IGV4dGVuZCkpKQogICAgICAgICAgICAgKGJmIChpZiAoc3RyaW5ncCAoY2Fy IGJvZHkpKSAoY2RyIGJvZHkpIGJvZHkpKQpAQCAtNDg1LDE1ICs0ODUsMzIgQEAgY2NvbnYtY29u dmVydAogICAgICAgICAgICAgICAgICAgKGdldGhhc2ggZm9ybSBjY29udi0taW50ZXJhY3RpdmUt Zm9ybS1mdW5zKSkpCiAgICAgICAgICAgICAod3JhcHBlZCAocGNhc2UgaWYgKGAjJyhsYW1iZGEg KF9jY29udi0tZHVtbXkpIC4sXykgdCkgKF8gbmlsKSkpCiAgICAgICAgICAgICAoY2lmICh3aGVu IGlmIChjY29udi1jb252ZXJ0IGlmIGVudiBleHRlbmQpKSkKLSAgICAgICAgICAgIChfIChwY2Fz ZSBjaWYKLSAgICAgICAgICAgICAgICAgKCduaWwgbmlsKQotICAgICAgICAgICAgICAgICAoYCMn LGYKLSAgICAgICAgICAgICAgICAgIChzZXRmIChjYWRyIChjYXIgYmYpKSAoaWYgd3JhcHBlZCAo bnRoIDIgZikgY2lmKSkKLSAgICAgICAgICAgICAgICAgIChzZXRxIGNpZiBuaWwpKQotICAgICAg ICAgICAgICAgICA7OyBUaGUgaW50ZXJhY3RpdmUgZm9ybSBuZWVkcyBzcGVjaWFsIHRyZWF0bWVu dCwgc28gdGhlIGZvcm0KLSAgICAgICAgICAgICAgICAgOzsgaW5zaWRlIHRoZSBgaW50ZXJhY3Rp dmUnIHdvbid0IGJlIHVzZWQgYW55IGZ1cnRoZXIuCi0gICAgICAgICAgICAgICAgIChfIChzZXRm IChjYWRyIChjYXIgYmYpKSBuaWwpKSkpCi0gICAgICAgICAgICAoY2YgKGNjb252LS1jb252ZXJ0 LWZ1bmN0aW9uIGFyZ3MgYm9keSBlbnYgZm9ybSBkb2NzdHJpbmcpKSkKKyAgICAgICAgICAgIChj ZiBuaWwpKQorICAgICAgIDs7IFRPRE86IEJlY2F1c2Ugd2UgbmVlZCB0byBub24tZGVzdHJ1Y3Rp dmVseSBtb2RpZnkgYm9keSwgdGhpcyBjb2RlCisgICAgICAgOzsgaXMgcGFydGljdWxhcmx5IHVn bHkuICBUaGlzIHNob3VsZCBpZGVhbGx5IGJlIG1vdmVkIHRvCisgICAgICAgOzsgY2NvbnYtLWNv bnZlcnQtZnVuY3Rpb24uCisgICAgICAgKHBjYXNlIGNpZgorICAgICAgICAgKCduaWwgKHNldHEg YmYgbmlsKSkKKyAgICAgICAgIChgIycsZgorICAgICAgICAgIChwY2FzZS1sZXQgKChgKCgsZjEg LiAoLF8gLiAsZjIpKSAuICxmMykgYmYpKQorICAgICAgICAgICAgKHNldHEgYmYgYCgoLGYxIC4g KCwoaWYgd3JhcHBlZCAobnRoIDIgZikgY2lmKSAuICxmMikpIC4gLGYzKSkpCisgICAgICAgICAg KHNldHEgY2lmIG5pbCkpCisgICAgICAgICA7OyBUaGUgaW50ZXJhY3RpdmUgZm9ybSBuZWVkcyBz cGVjaWFsIHRyZWF0bWVudCwgc28gdGhlIGZvcm0KKyAgICAgICAgIDs7IGluc2lkZSB0aGUgYGlu dGVyYWN0aXZlJyB3b24ndCBiZSB1c2VkIGFueSBmdXJ0aGVyLgorICAgICAgICAgKF8gKHBjYXNl LWxldCAoKGAoKCxmMSAuICgsXyAuICxmMikpIC4gLGYzKSBiZikpCisgICAgICAgICAgICAgIChz ZXRxIGJmIGAoKCxmMSAuIChuaWwgLiAsZjIpKSAuICxmMykpKSkpCisgICAgICAgKHdoZW4gYmYK KyAgICAgICAgIDs7IElmIHdlIG1vZGlmaWVkIGJmLCByZS1idWlsZCBib2R5IGFuZCBmb3JtIGFz CisgICAgICAgICA7OyBjb3BpZXMgd2l0aCB0aGUgbW9kaWZpZWQgYml0cy4KKyAgICAgICAgIChz ZXRxIGJvZHkgKGlmIChzdHJpbmdwIChjYXIgYm9keSkpCisgICAgICAgICAgICAgICAgICAgICAg ICAoY29ucyAoY2FyIGJvZHkpIGJmKQorICAgICAgICAgICAgICAgICAgICAgIGJmKQorICAgICAg ICAgICAgICAgZm9ybSBgKGZ1bmN0aW9uIChsYW1iZGEgLGFyZ3MgLiAsYm9keSkgLiAscmVzdCkp CisgICAgICAgICA7OyBBbHNvLCByZW1vdmUgdGhlIGN1cnJlbnQgb2xkIGVudHJ5IG9uIHRoZSBh bGlzdCwgcmVwbGFjaW5nCisgICAgICAgICA7OyBpdCB3aXRoIHRoZSBuZXcgb25lLgorICAgICAg ICAgKGxldCAoKGVudHJ5IChwb3AgY2NvbnYtZnJlZXZhcnMtYWxpc3QpKSkKKyAgICAgICAgICAg KHB1c2ggKGNvbnMgYm9keSAoY2RyIGVudHJ5KSkgY2NvbnYtZnJlZXZhcnMtYWxpc3QpKSkKKyAg ICAgICAoc2V0cSBjZiAoY2NvbnYtLWNvbnZlcnQtZnVuY3Rpb24gYXJncyBib2R5IGVudiBmb3Jt IGRvY3N0cmluZykpCiAgICAgICAgKGlmIChub3QgY2lmKQogICAgICAgICAgICA7OyBOb3JtYWwg Y2FzZSwgdGhlIGludGVyYWN0aXZlIGZvcm0gbmVlZHMgbm8gc3BlY2lhbCB0cmVhdG1lbnQuCiAg ICAgICAgICAgIGNmCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9jY29udi10ZXN0 cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2Njb252LXRlc3RzLmVsCmluZGV4IDgzMDEzY2Y0 NmE5Li5jNzIxMzdlNWQ0NyAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvY2NvbnYt dGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvY2NvbnYtdGVzdHMuZWwKQEAgLTM2 NCw1ICszNjQsMTggQEAgY2NvbnYtdGVzdHMtaW50ZXJhY3RpdmUtY2xvc3VyZS1idWc1MTY5NQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbGwtaW50ZXJhY3RpdmVseSBmKSkKICAgICAg ICAgICAgICAgICAgICAgICcoKHQgNTE2OTYpIChuaWwgNTE2OTUpICh0IDUxNjk3KSkpKSkpKQog CisoZXJ0LWRlZnRlc3QgY2NvbnYtdGVzdHMtaW50ZXJhY3RpdmUtZm9ybS1tb2RpZnktYnVnNjA5 NzQgKCkKKyAgKGxldCogKChmICcoZnVuY3Rpb24gKGxhbWJkYSAoJm9wdGlvbmFsIGFyZykKKwkJ ICAgICAgICAgKGludGVyYWN0aXZlCisJCSAgICAgICAgICAobGlzdCAoaWYgY3VycmVudC1wcmVm aXgtYXJnCisJCQkJICAgIChwcmVmaXgtbnVtZXJpYy12YWx1ZSBjdXJyZW50LXByZWZpeC1hcmcp CisJCQkgICAgICAgICAgJ3RvZ2dsZSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgIChpZ25v cmUgYXJnKSkpKQorICAgICAgICAgKGlmIChjYWRyIChudGggMiAoY2FkciBmKSkpKQorICAgICAg ICAgKGlmMikpCisgICAgKGNjb252LWNsb3N1cmUtY29udmVydCBmKQorICAgIChzZXRxIGlmMiAo Y2FkciAobnRoIDIgKGNhZHIgZikpKSkKKyAgICAoc2hvdWxkIChlcSBpZiBpZjIpKSkpCisKIChw cm92aWRlICdjY29udi10ZXN0cykKIDs7OyBjY29udi10ZXN0cy5lbCBlbmRzIGhlcmUK --=-cQV0tduUelR8ljl3UFSJ-- --=-KSo9Ok7Greuz1sQEVd6c Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEftHUjFE8oCS+Onhf4/soy2q1lZgFAmPiS/YACgkQ4/soy2q1 lZibqAgAhiUWmO7fuN01vZdQVyg68BWQilrsjZZc/Yq3/Yjy2MbTTRhd5LsayhDC 8dirQaKCqizlW4+iFzGtfW20H3FYReq4SXR8Yfs2uSEfoviaNwUW68Oq9FTDhJ5T lY59xUagwxg2gOqfse107j2FmHnf5UoC3j+nv33RZqCxj+7KB3wdw7954QXxPOyI yzwChr2LdFhvOA9U7ApZ66AN9MDY1UHorLwhV7PsFMARf0ovM8v6vW30PHTdzW0d 5rlAKvrx0TlaRgD0Z2a+kk5bVm67OKbbVWmEiTcnIfCsk1dmTzp1+ccir/w90rXY ZUkW5n5DBlX3Cru2E1eBUYFpgU2jQw== =Bcpr -----END PGP SIGNATURE----- --=-KSo9Ok7Greuz1sQEVd6c--