From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#19790: [PATCH] destructive splicing in backquote Date: Sat, 14 Sep 2019 01:59:30 +0200 Message-ID: References: <87a90r35o9.fsf@panthera.terpri.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000002dbfa40592780c50" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="175180"; mail-complaints-to="usenet@blaine.gmane.org" Cc: Robin Templeton , 19790@debbugs.gnu.org, Michael Heerdegen To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Sep 14 02:00:14 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i8vU5-000jOK-Ph for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Sep 2019 02:00:13 +0200 Original-Received: from localhost ([::1]:48202 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i8vU4-0003M4-2K for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Sep 2019 20:00:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38865) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i8vTw-0003Lr-4V for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2019 20:00:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i8vTu-00079e-ME for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2019 20:00:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36863) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i8vTu-00078X-G0 for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2019 20:00:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i8vTu-0002pU-9x for bug-gnu-emacs@gnu.org; Fri, 13 Sep 2019 20:00:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: <87a90r35o9.fsf@panthera.terpri.org> Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Sep 2019 00:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19790 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 19790-submit@debbugs.gnu.org id=B19790.156841919010833 (code B ref 19790); Sat, 14 Sep 2019 00:00:02 +0000 Original-Received: (at 19790) by debbugs.gnu.org; 13 Sep 2019 23:59:50 +0000 Original-Received: from localhost ([127.0.0.1]:45684 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i8vTi-0002of-6S for submit@debbugs.gnu.org; Fri, 13 Sep 2019 19:59:50 -0400 Original-Received: from mail-pf1-f172.google.com ([209.85.210.172]:41199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i8vTf-0002oK-Ke for 19790@debbugs.gnu.org; Fri, 13 Sep 2019 19:59:48 -0400 Original-Received: by mail-pf1-f172.google.com with SMTP id b13so19030478pfo.8 for <19790@debbugs.gnu.org>; Fri, 13 Sep 2019 16:59:47 -0700 (PDT) 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:cc; bh=waYdtot8C2hMOZMOuJbRhL9Tbar+Gra2JtzmHmkW+wc=; b=aXIR1RK3jXBApkjnlhYU7jWCvwW7ZXlxK897cQBxwVEZevfniujCCUiH1z8NiuOrfO SfzHBj+ExpqHsGaxwK29deeOvYfP1IaW0RE8ezT8U+k/2pdXli+UQK3aPMrhe/K/mhVn BFT6MOs37Kmm4YYJgAAyl6s5zpSBkMHDw2AAWGQMDFlwey12KrVL5/sfAQ6H7mWo5uwm qI5nxBrYTavT68gnkZz0hRWGCdmHaasO0RGfFWIox3eTU7bZjiJCFyJd/XtqNCUIKoMv evMx0SruDfZx6vm7Jxm34zUNjy/5014q+4j5avJHdbbnlA81X6lwgZO6EK4NEVHhljoA 45rA== X-Gm-Message-State: APjAAAXRXv7vKCfTxcUvUB2blvMI+hIv0DlJZG525LF/c9Shl0howB+r SC+K3mLGh4d3yangPsXByZ2I1G8tiOdOplhc16U= X-Google-Smtp-Source: APXvYqy7K3KxLfUMhSaWCbTPZ6ErJzRXbgQn7ScV9/l7iRyo3pT3HETeO2KK1uxHeo+C5D0MKiD5f6cx9ky/yPfx92o= X-Received: by 2002:aa7:8005:: with SMTP id j5mr59058317pfi.50.1568419181597; Fri, 13 Sep 2019 16:59:41 -0700 (PDT) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:166419 Archived-At: --0000000000002dbfa40592780c50 Content-Type: text/plain; charset="UTF-8" Lars Ingebrigtsen writes: > Robin Templeton writes: > >> Common Lisp and MACLISP define comma-dot syntax for destructive splicing >> in backquote expressions. The Elisp reader reads ",.x" as "(\,\. x)" >> (like ",@"), but the resulting forms are not processed by the backquote >> library. A patch follows that adds CL-compatible comma-dot support. >> >> Originally reported by at Artur Malabarba in >> . > > I think the conclusion to the discussion was that we do not want to > support the ,. operation in Emacs Lisp. > > (setq .foo 1) > > `((,.foo)) > => (((\,\. foo))) > > So we should remove this feature completely, because that's obviously a > bug... Thanks to Michael Heerdegen's pointers, I could come up with a patch. Would something like the attached do the job? It simply removes this feature and adds a test. Best regards, Stefan Kangas --0000000000002dbfa40592780c50 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Remove-support-for-destructive-splicing-in-elisp.patch" Content-Disposition: attachment; filename="0001-Remove-support-for-destructive-splicing-in-elisp.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k0is9p300 RnJvbSA2ZWM2YzY5MjQyZmRhZTJlOGMzNzQ1ZTcyMmFhNjA2OGMzMzY2YmEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5rYW5nYXNAZ21haWwuY29t PgpEYXRlOiBTYXQsIDE0IFNlcCAyMDE5IDAxOjQ5OjIzICswMjAwClN1YmplY3Q6IFtQQVRDSF0g UmVtb3ZlIHN1cHBvcnQgZm9yIGRlc3RydWN0aXZlIHNwbGljaW5nIGluIGVsaXNwCgoqIHNyYy9s cmVhZC5jIChyZWFkMSk6IERvbid0IGhhbmRsZSBkZXN0cnVjdGl2ZSBzcGxpY2luZyBpbgpiYWNr cXVvdGUgZXhwcmVzc2lvbnMgKGUuZy4gIiwuPGlkZW50aWZpZXI+IikuICAoQnVnIzE5NzkwKQoo c3ltc19vZl9scmVhZCk6IFJlbW92ZSBRY29tbWFfZG90LgoqIHNyYy9wcmludC5jIChwcmludF9v YmplY3QpOiBEb24ndCBjaGVjayBmb3IgUWNvbW1hX2RvdC4KKiB0ZXN0L3NyYy9ldmFsLXRlc3Rz LmVsCihldmFsLXRlc3RzLTE5NzkwLWJhY2txdW90ZS1jb21tYS1kb3Qtc3Vic3RpdHV0aW9uKTog TmV3IHRlc3QuCi0tLQogc3JjL2xyZWFkLmMgICAgICAgICAgICB8IDMgLS0tCiBzcmMvcHJpbnQu YyAgICAgICAgICAgIHwgMyArLS0KIHRlc3Qvc3JjL2V2YWwtdGVzdHMuZWwgfCA3ICsrKysrKysK IDMgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9scmVhZC5jIGIvc3JjL2xyZWFkLmMKaW5kZXggNmFlN2EwZDhiYS4uMDU1MTM3 NmFhNiAxMDA2NDQKLS0tIGEvc3JjL2xyZWFkLmMKKysrIGIvc3JjL2xyZWFkLmMKQEAgLTMzMDcs OCArMzMwNyw2IEBAIHJlYWQxIChMaXNwX09iamVjdCByZWFkY2hhcmZ1biwgaW50ICpwY2gsIGJv b2wgZmlyc3RfaW5fbGlzdCkKIAogCSAgICBpZiAoY2ggPT0gJ0AnKQogCSAgICAgIGNvbW1hX3R5 cGUgPSBRY29tbWFfYXQ7Ci0JICAgIGVsc2UgaWYgKGNoID09ICcuJykKLQkgICAgICBjb21tYV90 eXBlID0gUWNvbW1hX2RvdDsKIAkgICAgZWxzZQogCSAgICAgIHsKIAkJaWYgKGNoID49IDApIFVO UkVBRCAoY2gpOwpAQCAtNTA4MCw3ICs1MDc4LDYgQEAgc3ltc19vZl9scmVhZCAodm9pZCkKICAg REVGU1lNIChRYmFja3F1b3RlLCAiYCIpOwogICBERUZTWU0gKFFjb21tYSwgIiwiKTsKICAgREVG U1lNIChRY29tbWFfYXQsICIsQCIpOwotICBERUZTWU0gKFFjb21tYV9kb3QsICIsLiIpOwogCiAg IERFRlNZTSAoUWluaGliaXRfZmlsZV9uYW1lX29wZXJhdGlvbiwgImluaGliaXQtZmlsZS1uYW1l LW9wZXJhdGlvbiIpOwogICBERUZTWU0gKFFhc2NpaV9jaGFyYWN0ZXIsICJhc2NpaS1jaGFyYWN0 ZXIiKTsKZGlmZiAtLWdpdCBhL3NyYy9wcmludC5jIGIvc3JjL3ByaW50LmMKaW5kZXggN2MzZGE2 OGZjOS4uYmIwMTNlMjgyZCAxMDA2NDQKLS0tIGEvc3JjL3ByaW50LmMKKysrIGIvc3JjL3ByaW50 LmMKQEAgLTIwODYsOCArMjA4Niw3IEBAIHByaW50X29iamVjdCAoTGlzcF9PYmplY3Qgb2JqLCBM aXNwX09iamVjdCBwcmludGNoYXJmdW4sIGJvb2wgZXNjYXBlZmxhZykKICAgICAgIGVsc2UgaWYg KHByaW50X3F1b3RlZCAmJiBDT05TUCAoWENEUiAob2JqKSkgJiYgTklMUCAoWENEUiAoWENEUiAo b2JqKSkpCiAJICAgICAgICYmIG5ld19iYWNrcXVvdGVfb3V0cHV0CiAJICAgICAgICYmIChFUSAo WENBUiAob2JqKSwgUWNvbW1hKQotCQkgICB8fCBFUSAoWENBUiAob2JqKSwgUWNvbW1hX2F0KQot CQkgICB8fCBFUSAoWENBUiAob2JqKSwgUWNvbW1hX2RvdCkpKQorCQkgICB8fCBFUSAoWENBUiAo b2JqKSwgUWNvbW1hX2F0KSkpCiAJewogCSAgcHJpbnRfb2JqZWN0IChYQ0FSIChvYmopLCBwcmlu dGNoYXJmdW4sIGZhbHNlKTsKIAkgIG5ld19iYWNrcXVvdGVfb3V0cHV0LS07CmRpZmYgLS1naXQg YS90ZXN0L3NyYy9ldmFsLXRlc3RzLmVsIGIvdGVzdC9zcmMvZXZhbC10ZXN0cy5lbAppbmRleCA0 ODI5NWI4MWZhLi43YThlYWU4MmNmIDEwMDY0NAotLS0gYS90ZXN0L3NyYy9ldmFsLXRlc3RzLmVs CisrKyBiL3Rlc3Qvc3JjL2V2YWwtdGVzdHMuZWwKQEAgLTE2OSw0ICsxNjksMTEgQEAgZXZhbC10 ZXN0cy0zMzAxNC1yZWRlZmluZQogICAiUmVtb3ZlIHRoZSBMaXNwIHJlZmVyZW5jZSB0byB0aGUg Ynl0ZS1jb21waWxlZCBvYmplY3QuIgogICAoc2V0ZiAoc3ltYm9sLWZ1bmN0aW9uICMnZXZhbC10 ZXN0cy0zMzAxNC1mdW5jKSBuaWwpKQogCisoZGVmdW4gZXZhbC10ZXN0cy0xOTc5MC1iYWNrcXVv dGUtY29tbWEtZG90LXN1YnN0aXR1dGlvbiAoKQorICAiUmVncmVzc2lvbiB0ZXN0IGZvciBCdWcj MTk3OTAuCitEb24ndCBoYW5kbGUgZGVzdHJ1Y3RpdmUgc3BsaWNpbmcgaW4gYmFja3F1b3RlIGV4 cHJlc3Npb25zIChsaWtlCitpbiBDb21tb24gTGlzcCkuICBJbnN0ZWFkLCBtYWtlIHN1cmUgc3Vi c3RpdHV0aW9uIGluIGJhY2txdW90ZQorZXhwcmVzc2lvbnMgd29ya3MgZm9yIGlkZW50aWZpZXJz IHN0YXJ0aW5nIHdpdGggcGVyaW9kLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxldCAoKC54ICdpZGVu dGl0eSkpIChldmFsIGAoLC54ICdvaykpKSAnb2spKSkKKwogOzs7IGV2YWwtdGVzdHMuZWwgZW5k cyBoZXJlCi0tIAoyLjIwLjEKCg== --0000000000002dbfa40592780c50--