From unknown Sat Jun 14 03:47:57 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#49809 <49809@debbugs.gnu.org> To: bug#49809 <49809@debbugs.gnu.org> Subject: Status: [PATCH] Add macro 'pcase-setq' Reply-To: bug#49809 <49809@debbugs.gnu.org> Date: Sat, 14 Jun 2025 10:47:57 +0000 retitle 49809 [PATCH] Add macro 'pcase-setq' reassign 49809 emacs submitter 49809 Okam severity 49809 normal tag 49809 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 01 13:21:01 2021 Received: (at submit) by debbugs.gnu.org; 1 Aug 2021 17:21:01 +0000 Received: from localhost ([127.0.0.1]:36939 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAF92-00066K-O8 for submit@debbugs.gnu.org; Sun, 01 Aug 2021 13:21:01 -0400 Received: from lists.gnu.org ([209.51.188.17]:59186) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAF90-00066C-P3 for submit@debbugs.gnu.org; Sun, 01 Aug 2021 13:20:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52448) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mAF8z-0007NE-HS for bug-gnu-emacs@gnu.org; Sun, 01 Aug 2021 13:20:57 -0400 Received: from mail-40136.protonmail.ch ([185.70.40.136]:19383) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mAF8w-0001T2-LV for bug-gnu-emacs@gnu.org; Sun, 01 Aug 2021 13:20:57 -0400 Date: Sun, 01 Aug 2021 17:20:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1627838448; bh=RoN+gLRCxi9cG7ruxqgVGKPbE5Fx4mKW83bRL/rczbM=; h=Date:To:From:Reply-To:Subject:From; b=X970pYr81EyO4z458U0iyaTrUi6GAwvHfne+hKvxRsUx2/mTcvZASjPOf7U05HraZ J2ilYVtqzTr3L18D4L8ZqasGhpVb6UnLQYp1II2QY4oBIKIsWMjXSu3eFJGNcBRHcR /hXnO3R5J1LCKh5OV5sCW6v0G0Nv8PdVCxmxnd6A= To: bug-gnu-emacs@gnu.org From: Okam Subject: [PATCH] Add macro 'pcase-setq' Message-ID: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_cFUI0HIbL34XZalBv4DmgzerLoOxnTAkSgWSmqBfU" X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch Received-SPF: pass client-ip=185.70.40.136; envelope-from=okamsn@protonmail.com; helo=mail-40136.protonmail.ch 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_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-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: , Reply-To: Okam Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --b1_cFUI0HIbL34XZalBv4DmgzerLoOxnTAkSgWSmqBfU Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, This patch adds a `setq`-like equivalent to `pcase-let`. This is convenient when one wants the bindings to exist outside of a `let` form. This macro expands into multiple `setq` calls that are combined where possible. ;; =3D> (1 2 3 4) (let (a b c d) (pcase-setq a 1 b 2 `[,c ,d] [3 4]) (list a b c d)) Please let me know what should be changed. Thank you. --b1_cFUI0HIbL34XZalBv4DmgzerLoOxnTAkSgWSmqBfU Content-Type: text/x-patch; name=0001-Add-macro-pcase-setq.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-macro-pcase-setq.patch RnJvbSA4MjRkM2I1NmI1ZjRiZDFhYWMxYjkzM2MzNTM3MTUxNTVlZGM3Njk4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogRWFybCBIeWF0dCA8b2thbXNuQHByb3Rvbm1haWwuY29tPg0K RGF0ZTogU3VuLCAxIEF1ZyAyMDIxIDEyOjMzOjE0IC0wNDAwDQpTdWJqZWN0OiBbUEFUQ0hdIEFk ZCBtYWNybyAncGNhc2Utc2V0cScNCg0KKiBkb2MvbGlzcHJlZi9jb250cm9sLnRleGk6IERvY3Vt ZW50IHRoaXMgbWFjcm8uDQoqIGxpc3AvZW1hY3MtbGlzcC9wY2FzZS5lbDogQWRkIHRoaXMgbWFj cm8uDQoNClRoaXMgbWFjcm8gaXMgdGhlICdzZXRxJyBlcXVpdmFsZW50IG9mICdwY2FzZS1sZXQn Lg0KLS0tDQogZG9jL2xpc3ByZWYvY29udHJvbC50ZXhpIHwgIDQgKysrKw0KIGV0Yy9ORVdTICAg ICAgICAgICAgICAgICB8ICA0ICsrKysNCiBsaXNwL2VtYWNzLWxpc3AvcGNhc2UuZWwgfCA0MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQogMyBmaWxlcyBjaGFuZ2Vk LCA0OSBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kb2MvbGlzcHJlZi9jb250cm9sLnRl eGkgYi9kb2MvbGlzcHJlZi9jb250cm9sLnRleGkNCmluZGV4IDUwMjZkMGE0ZDcuLmEwNTQwMDA1 ZDIgMTAwNjQ0DQotLS0gYS9kb2MvbGlzcHJlZi9jb250cm9sLnRleGkNCisrKyBiL2RvYy9saXNw cmVmL2NvbnRyb2wudGV4aQ0KQEAgLTEzMTIsNiArMTMxMiwxMCBAQCBEZXN0cnVjdHVyaW5nIHdp dGggcGNhc2UgUGF0dGVybnMNCiB1cCBiZWluZyBlcXVpdmFsZW50IHRvIEBjb2Rle2RvbGlzdH0g KEBweHJlZntJdGVyYXRpb259KS4NCiBAZW5kIGRlZm1hYw0KIA0KK0BkZWZtYWMgcGNhc2Utc2V0 cSBwYXR0ZXJuIHZhbHVlQGRvdHN7fQ0KK0JpbmQgdmFyaWFibGVzIHRvIHZhbHVlcyBpbiBhIEBj b2Rle3NldHF9IGZvcm0sIGRlc3RydWN0dXJpbmcgZWFjaA0KK0B2YXJ7dmFsdWV9IGFjY29yZGlu ZyB0byBpdHMgcmVzcGVjdGl2ZSBAdmFye3BhdHRlcm59Lg0KK0BlbmQgZGVmbWFjDQogDQogQG5v ZGUgSXRlcmF0aW9uDQogQHNlY3Rpb24gSXRlcmF0aW9uDQpkaWZmIC0tZ2l0IGEvZXRjL05FV1Mg Yi9ldGMvTkVXUw0KaW5kZXggOTVhMmM4N2QwNS4uMGYxMWNhZjUxMiAxMDA2NDQNCi0tLSBhL2V0 Yy9ORVdTDQorKysgYi9ldGMvTkVXUw0KQEAgLTU1Myw2ICs1NTMsMTAgQEAgVGhlIG5ldyAnY2wt dHlwZScgcGF0dGVybiBjb21wYXJlcyB0eXBlcyB1c2luZyAnY2wtdHlwZXAnLCB3aGljaCBhbGxv d3MNCiBjb21wYXJpbmcgc2ltcGxlIHR5cGVzIGxpa2UgJyhjbC10eXBlIGludGVnZXIpJywgYXMg d2VsbCBhcyBmb3JtcyBsaWtlDQogJyhjbC10eXBlIChpbnRlZ2VyIDAgMTApKScuDQogDQorKioq IE5ldyBtYWNybyAncGNhc2Utc2V0cScNCitUaGlzIG1hY3JvIGlzIHRoZSAnc2V0cScgZXF1aXZh bGVudCBvZiAncGNhc2UtbGV0Jywgd2hpY2ggYWxsb3dzIGZvcg0KK2Rlc3RydWN0dXJpbmcgcGF0 dGVybnMgaW4gYSAnc2V0cScgZm9ybS4NCisNCiArKysNCiAqKiBwcm9maWxlci5lbA0KIFRoZSBy ZXN1bHRzIGRpc3BsYXllZCBieSAncHJvZmlsZXItcmVwb3J0JyBub3cgaGF2ZSB0aGUgdXNhZ2Ug ZmlndXJlcw0KZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9wY2FzZS5lbCBiL2xpc3AvZW1h Y3MtbGlzcC9wY2FzZS5lbA0KaW5kZXggMDA2NTE3ZGI3NS4uZjk2NjVlYmE5NyAxMDA2NDQNCi0t LSBhL2xpc3AvZW1hY3MtbGlzcC9wY2FzZS5lbA0KKysrIGIvbGlzcC9lbWFjcy1saXNwL3BjYXNl LmVsDQpAQCAtMzE3LDYgKzMxNyw0NyBAQCBwY2FzZS1kb2xpc3QNCiAgICAgICAgICAocGNhc2Ut bGV0KiAoKCwoY2FyIHNwZWMpICx0bXB2YXIpKQ0KICAgICAgICAgICAgLEBib2R5KSkpKSkNCiAN Cis7OzsjIyNhdXRvbG9hZA0KKyhkZWZtYWNybyBwY2FzZS1zZXRxICgmcmVzdCBhcmdzKQ0KKyAg IkJpbmQgdmFsdWVzIGJ5IGRlc3RydWN0dXJpbmcgd2l0aCBgcGNhc2UnLg0KKw0KK1woZm4gUEFU VEVSTiBWQUxVRSBQQVRURVJOIFZBTFVFIC4uLikiDQorICAoZGVjbGFyZSAoZGVidWcgKCZyZXN0 IFtwY2FzZS1QQVQgZm9ybV0pKSkNCisgIChsZXQgKChyZXN1bHRzKQ0KKyAgICAgICAgKHBhdHRl cm4pDQorICAgICAgICAodmFsdWUpKQ0KKyAgICAod2hpbGUgYXJncw0KKyAgICAgIChzZXRxIHBh dHRlcm4gKHBvcCBhcmdzKQ0KKyAgICAgICAgICAgIHZhbHVlIChwb3AgYXJncykpDQorICAgICAg KHB1c2ggKGlmIChwY2FzZS0tdHJpdmlhbC11cGF0LXAgcGF0dGVybikNCisgICAgICAgICAgICAg ICAgKGxpc3QgJ3NldHEgcGF0dGVybiB2YWx1ZSkNCisgICAgICAgICAgICAgIChwY2FzZS1jb21w aWxlLXBhdHRlcm5zDQorICAgICAgICAgICAgICAgdmFsdWUNCisgICAgICAgICAgICAgICAobGlz dCAoY29ucyBwYXR0ZXJuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAodmFy dmFscyAmcmVzdCBfKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgJ3NldHEN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXBjYW4gKGxhbWJkYSAodmFy dmFsKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQg KCh2YXIgKGNhciB2YXJ2YWwpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh2YWwgKGNhZHIgdmFydmFsKSkpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCB2YXIgdmFsKSkpDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcnZhbHMpKSkpKSkpDQorICAgICAg ICAgICAgcmVzdWx0cykpDQorDQorICAgIDs7IENvbWJpbmUgbXVsdGlwbGUgY2FsbHMgdG8gYHNl dHEnIHRvIGEgc2luZ2xlIGNhbGwgd2hlcmUgd2UgY2FuLg0KKyAgICAobGV0ICgocmV0dXJuZWQt c2V0cXMpDQorICAgICAgICAgIChjb21iaW5pbmcpKQ0KKyAgICAgIChkb2xpc3QgKGkgcmVzdWx0 cykNCisgICAgICAgIChpZiAoZXEgKGNhciBpKSAnc2V0cSkNCisgICAgICAgICAgICAocHVzaCAo Y2RyIGkpIGNvbWJpbmluZykNCisgICAgICAgICAgKHdoZW4gY29tYmluaW5nDQorICAgICAgICAg ICAgKHB1c2ggYChzZXRxICxAKGFwcGx5ICMnYXBwZW5kIGNvbWJpbmluZykpDQorICAgICAgICAg ICAgICAgICAgcmV0dXJuZWQtc2V0cXMpDQorICAgICAgICAgICAgKHNldHEgY29tYmluaW5nIG5p bCkpDQorICAgICAgICAgIChwdXNoIGkgcmV0dXJuZWQtc2V0cXMpKSkNCisgICAgICAod2hlbiBj b21iaW5pbmcNCisgICAgICAgIChwdXNoIGAoc2V0cSAsQChhcHBseSAjJ2FwcGVuZCBjb21iaW5p bmcpKQ0KKyAgICAgICAgICAgICAgcmV0dXJuZWQtc2V0cXMpKQ0KKyAgICAgIChtYWNyb2V4cC1w cm9nbiByZXR1cm5lZC1zZXRxcykpKSkNCiANCiAoZGVmdW4gcGNhc2UtLXRyaXZpYWwtdXBhdC1w ICh1cGF0KQ0KICAgKGFuZCAoc3ltYm9scCB1cGF0KSAobm90IChtZW1xIHVwYXQgcGNhc2UtLWRv bnRjYXJlLXVwYXRzKSkpKQ0KLS0gDQoyLjI1LjENCg0K --b1_cFUI0HIbL34XZalBv4DmgzerLoOxnTAkSgWSmqBfU-- From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 04 03:14:29 2021 Received: (at 49809) by debbugs.gnu.org; 4 Aug 2021 07:14:29 +0000 Received: from localhost ([127.0.0.1]:42323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBB6i-0002cc-R8 for submit@debbugs.gnu.org; Wed, 04 Aug 2021 03:14:29 -0400 Received: from quimby.gnus.org ([95.216.78.240]:36968) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBB6g-0002cM-K9 for 49809@debbugs.gnu.org; Wed, 04 Aug 2021 03:14:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=4lzEi/1kyMFDizeBTDRAAjidibyUw8jkI4I1q+3oUHE=; b=EqCNGZ/LcndZp1MS9d5IFBnncg LYN48dNo9EQX+iaBPF1gpgdDTAHB/5JYsD/xo4P1ETu+xlMFHfQjID+RyXCjeU4NIwTIoG+xJ8Syw h4jRa6qNbZ7tixbVr26xh9uaQwSiQMo8Tlq3Exy97Nymto58tpTAVYDDFAEI63uNdt9c=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mBB6W-0004mt-RK; Wed, 04 Aug 2021 09:14:19 +0200 From: Lars Ingebrigtsen To: Okam Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> Date: Wed, 04 Aug 2021 09:14:16 +0200 In-Reply-To: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> (Okam's message of "Sun, 01 Aug 2021 17:20:41 +0000") Message-ID: <871r79hebb.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Okam writes: > This patch adds a `setq`-like equivalent to `pcase-let`. This is > convenient when one wants the bindings to exist outside of a `let` form. > > This macro expands into multiple `setq` calls that are [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49809 Cc: 49809@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Okam writes: > This patch adds a `setq`-like equivalent to `pcase-let`. This is > convenient when one wants the bindings to exist outside of a `let` form. > > This macro expands into multiple `setq` calls that are combined where > possible. > > ;; => (1 2 3 4) > (let (a b c d) > (pcase-setq a 1 > b 2 > `[,c ,d] [3 4]) > (list a b c d)) Perhaps Stefan has an opinion here; added to the CCs. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 04 19:06:21 2021 Received: (at 49809) by debbugs.gnu.org; 4 Aug 2021 23:06:21 +0000 Received: from localhost ([127.0.0.1]:45386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBPxs-0005B6-VG for submit@debbugs.gnu.org; Wed, 04 Aug 2021 19:06:21 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:7247) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBPxr-0005As-LK for 49809@debbugs.gnu.org; Wed, 04 Aug 2021 19:06:20 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 82CB7441478; Wed, 4 Aug 2021 19:06:13 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 1082844146D; Wed, 4 Aug 2021 19:06:12 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628118372; bh=67Jsz4hiqBO8mTq5gDSu3cCZFKwGdnczspAMtyeokeI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Iig+UzyNr1CPnzfZ5G/bpkdE6YjV4E83Cqo26oXhGMrjd7/xuCsq8YNJzXo12Kgkf jtUYsN4C/IEZXz8Yu15vISkf5nvMeHcahDqfV+NT/hHnw+mhiIoMAHIhj0PigJ5sUv 1EW/4QzS/yxkE34xHMztLhra/3J0AiFfH8ficFM/v3aCX6CByyJpQCcG9o+0YWFFqF uiA0A2FiGHRnUoyjwfz4xx00ULB3tOLzkRdBVuGeOEzPU5beMo0lIdjTj4gC8xLMhv qCVIV1If4r7gkdAB6OwVoCGJjjO2cMoa0+8UDAqt6sx5bt0/gK5VsIrVyO8bpEfMJb SIzCtVyIngUrg== Received: from alfajor (unknown [216.154.29.138]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id DA7CF120371; Wed, 4 Aug 2021 19:06:11 -0400 (EDT) From: Stefan Monnier To: Okam Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> Date: Wed, 04 Aug 2021 19:06:11 -0400 In-Reply-To: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> (Okam's message of "Sun, 01 Aug 2021 17:20:41 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.092 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: 49809 Cc: 49809@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > This patch adds a `setq`-like equivalent to `pcase-let`. > This is convenient when one wants the bindings to exist outside of > a `let` form. Thanks. > This macro expands into multiple `setq` calls that are combined where > possible. I don't think we should try and combine them: it's not worth the code complexity. Personally I'd even restrict the calling convention to (pcase-setq PAT VAL), but if you want to accept the more general case with multiple PAT+VAL, I'd prefer expanding it to a (progn (pcase-setq PAT1 VAL1) ...). I think the resulting code would be simpler/cleaner. > Please let me know what should be changed. See a few more comments below. > Subject: [PATCH] Add macro 'pcase-setq' > > * doc/lispref/control.texi: Document this macro. > * lisp/emacs-lisp/pcase.el: Add this macro. Please include the "section/function" info, e.g. I'd write the message as: * lisp/emacs-lisp/pcase.el (pcase-setq): New macro. This macro is the 'setq' equivalent of 'pcase-let'. * doc/lispref/control.texi (Destructuring with pcase Patterns): Document it. > +@defmac pcase-setq pattern value@dots{} > +Bind variables to values in a @code{setq} form, destructuring each > +@var{value} according to its respective @var{pattern}. > +@end defmac I prefer keeping "bind" for the case where we create new variables (i.e. let-bindings) rather than for assignments. > +;;;###autoload > +(defmacro pcase-setq (&rest args) > + "Bind values by destructuring with `pcase'. Same here. > +\(fn PATTERN VALUE PATTERN VALUE ...)" > + (declare (debug (&rest [pcase-PAT form]))) > + (let ((results) > + (pattern) > + (value)) > + (while args > + (setq pattern (pop args) > + value (pop args)) > + (push (if (pcase--trivial-upat-p pattern) > + (list 'setq pattern value) > + (pcase-compile-patterns > + value > + (list (cons pattern > + (lambda (varvals &rest _) > + (cons 'setq > + (mapcan (lambda (varval) > + (let ((var (car varval)) > + (val (cadr varval))) > + (list var val))) > + varvals))))))) > + results)) Looks good. But could you add a few corresponding tests to `test/lisp/emacs-lisp/pcase-tests.el`, including tests for things like (pcase-setq `(,a ,b) nil) -- Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 04 21:02:24 2021 Received: (at submit) by debbugs.gnu.org; 5 Aug 2021 01:02:24 +0000 Received: from localhost ([127.0.0.1]:45464 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBRmC-0007uB-7B for submit@debbugs.gnu.org; Wed, 04 Aug 2021 21:02:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:59762) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBRmB-0007u4-Oq for submit@debbugs.gnu.org; Wed, 04 Aug 2021 21:02:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35480) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBRmB-0005g5-HR for bug-gnu-emacs@gnu.org; Wed, 04 Aug 2021 21:02:23 -0400 Received: from mout.web.de ([212.227.15.14]:37167) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBRmA-0002uD-0C for bug-gnu-emacs@gnu.org; Wed, 04 Aug 2021 21:02:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628125325; bh=xvpU4a4u4kQguXwOrVcp3taViG18JoeYX0zi6uHXUNM=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=fOFls8wGveP+na2IP99b6hzVmxS48BzK+t2cYpifnEeqJo4V/YmFCvtKash/fki0B qc91QvBvPGqjLaML9kH9HSQeynaCumYeaLSFMs0/gdKiPX0Hk+WxoyMXkOOktxpizo 8wB2FSHv8qRq+eJnRXRP+iIT+ZiwdWaOI+g+Gm60= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0M9MDO-1mIYmg46DG-00CkZZ; Thu, 05 Aug 2021 03:02:05 +0200 From: Michael Heerdegen To: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> Date: Thu, 05 Aug 2021 03:02:03 +0200 In-Reply-To: (Stefan Monnier via's message of "Wed, 04 Aug 2021 19:06:11 -0400") Message-ID: <87sfzowvp0.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:sSVm7kjdxYqML699O6ohY6ZF5E9Xodu+p9vbVJKT8rwZ1Zbaacv e/4b0T+xXBQB0evIqo+k1jwgh0M+ccCyCnFasfmoo0QKKHD2fPW2unqNU1b8x+yq3+59IbB chPkTOAS0wed54hF0V55J3XUBViDyXKTlInD39cqmum27P3MCB1NfYPPha+lVbHJ6AirWEI nk1oyKsoboMvJz0r4wzgw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:FSnSdmCOn0U=:qw2PqmOIlbm+KwTwcgy5fY 3K1ddGUtg0ss1wkVOL8fpx1JdW8xaz/8Jr2boARoqZvugGkMGdizHk1b4dXIYN4iLDmdtscwP iDq7ooDaA1ex7kkVucoWCuiwtGHWnbjQPOz24XrqCq3C13zYi9W7P1CZ6Iu/X00tlMTUB1Szt 7srLbUYy8Ao5mTuNHjTVf3kZVAA5XCuV0ahSc6zJGns1mn2xvy8v8CMIY2KteDvRhSXR0ZI6O aX6J4taFOLzZNY9r3ZsvlaM51NR212h/g6CkY1K4wJJghFuv4rE/zwWsTwq/qjx1QiGTIsQUQ RbwTXlyGTldkEion/sPnTlKsZRJ400uraj7Pnx2c73u9GUScv24x+qTfncK3bEoV4Vbr3ACC3 QYkZnozZRuETYS+zcZQ/WUBe0rUmLKhzBNhAx12LDh46DMrX7FgIWRTU8qN5kBKPUtrT/X/lX WwEs6YLQs1sRoAC0K9CTTdmemAJdV5nYv311RNKPnXyaxSbSn1uKyL5fHgMEBROLpqIFt/I6Z pluDpDJRcOA5azPg4yw4Lcj9BUiIMQIg4iCql8TxAD6DfdZElLqOoCul/pic92Ou9YFZhECPy ILJ3f4xteTP6KCLJR1e2IiCUqy1gvjffzLxi+vcuTI8gs1e5wnMgmFCC+jSMRiFUq2NYRl8Q6 yYbrFRxcu0CE953qXyq5yPFi6OM7TKGpvv/6RecKMT3LdOD134KySNsRZJgViNiH4N3M/KRnl ZhYkkVzwgITKsFFvDIS1BTHc0y1uk0U2UxNJ9A6OG/N5AHzfXIrg7RFNGHP6o35lj/XatjP1R oxsy2Gyrr+jTpwezOIvjRUksidmsVvMgpDhRfRk8q2MYGpWoqUUMzk7LArpuor9RGuWl+nhN9 Ybru858KKrFXNPkb1Qr8yHv3NNr8H7OYhgoPMHKk78gay1THneh10+++gkFyPBuRnCGU5RZaa R6o47CgC5Sh5cIqIjRy9Cepx8B8DoZ9yDKWNOzd0qXuWhT7BF+QczPCBWot9xr4zog1oWRR7X FVsEJSPKnkrLCkGjoALa4LNnDX0KcPv5yqJfGBDxsmCSEEcLDGcIXtKyaUs4SFCnvatSXY438 F7bdGnVcmUIANe2FT5aJM8kpGjf0ROll9u27zrKHaEXY6AtTPiHE2dvKw== Received-SPF: pass client-ip=212.227.15.14; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Okam , 49809@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > Looks good. How much trouble would it be to provide a `setf' variant? A problem could be any syntax that is used for both pcase patterns and place expressions I guess. Michael. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 05 09:35:16 2021 Received: (at 49809) by debbugs.gnu.org; 5 Aug 2021 13:35:16 +0000 Received: from localhost ([127.0.0.1]:46210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBdWm-0005nT-Ax for submit@debbugs.gnu.org; Thu, 05 Aug 2021 09:35:16 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:53309) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBdWj-0005n8-LA for 49809@debbugs.gnu.org; Thu, 05 Aug 2021 09:35:14 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8724D80B63; Thu, 5 Aug 2021 09:35:07 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 00C058043C; Thu, 5 Aug 2021 09:35:06 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628170506; bh=M6f9N+30e6YIzT+n61AOkZUeyEW/V9xNsxzQ1ndwhPo=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=cLS3I3w6j89quDPR2X/4RvAkhxBRaR7LoTR9ukUY3TuJOeKyw9eAn34VaMI4XcKUx Ctq0cQD5hwL3sAExsqo/ind3Hvbprk8s1xEWHW0bNRUmVk8xf0I/tKUXTiZ1HrtuZE +/ekbmpb6ecuxybgFbqFdB0P0mzeL8PpUbeBL2VT982F8GuNlSn5cAmf9GZKUujC1I lB0qdZNLYTqtV9nKosDiUS01sHHxgHokQPU3y+6IQ1H9lK1TB/DfTOvbs+DJoxoI8S qiCl8aUB0y09K3gPO+/NTPSBS1BQsi6TPLppKYyVqyRttEZik7/homN68fIGYTkwSU +9fKcAshv3GVA== Received: from alfajor (unknown [216.154.29.138]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B924E1201C8; Thu, 5 Aug 2021 09:35:05 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87sfzowvp0.fsf@web.de> Date: Thu, 05 Aug 2021 09:34:55 -0400 In-Reply-To: <87sfzowvp0.fsf@web.de> (Michael Heerdegen's message of "Thu, 05 Aug 2021 03:02:03 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.093 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: 49809 Cc: Okam , 49809@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 (---) Michael Heerdegen [2021-08-05 03:02:03] wrote: > Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of > text editors" writes: > >> Looks good. > > How much trouble would it be to provide a `setf' variant? > > A problem could be any syntax that is used for both pcase patterns and > place expressions I guess. Adding support for (setf (pcase PAT) VAL) is very easy to do without any change to pcase or gv machinery. Adding support for (setf PAT VAL), is a bit harder (and introduces a risk because of the potential overlap, tho this risk is small: gv places are normally defined for "eliminators" whereas pcase patterns are usually defined for "constructors"), but still fairly easy. Mixing pcase patterns and gv places as in (setf `(,a . ,(aref V N)) EXP) would be the most flexible option but I haven't thought much about how hard it would be to implement, and I'm not sure it's worth the trouble. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 05 11:00:17 2021 Received: (at 49809) by debbugs.gnu.org; 5 Aug 2021 15:00:17 +0000 Received: from localhost ([127.0.0.1]:48054 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBer3-0008NG-HC for submit@debbugs.gnu.org; Thu, 05 Aug 2021 11:00:17 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:42389) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBer2-0008Mz-6K for 49809@debbugs.gnu.org; Thu, 05 Aug 2021 11:00:16 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 9C3BD10020E; Thu, 5 Aug 2021 11:00:10 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 5B0D31001F4; Thu, 5 Aug 2021 11:00:09 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628175609; bh=C/d2BLmLZB/L9X6MMFwAAqfB/VvUaPQA8sFeVwHfmno=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=hjnDFRUDUy0oNsccgudRN4j6VJiRzHnJnrLOl1sdDHFiM7SFFgwbaSyLV+vyACDHO BKg9ny7WZ6JPn3crWe+z4Rq+d7CuRpkvtWKUhro/lvnJzReyJ7bDynlfDceyY8YzAU yUZ7DJJgOX4vu/HgjoMDjhIaGrVbdX5xLL6z+1SmdchgLXJwWUhqtqR9XId4MNikGw PHT0GgzkBbh2KucWRAb3XL48ih1x2QSEaaKLMZ4lwDixOvFViQt6tl6AVD52CRozzC iECegm5sdcvGn54DCntzxzNIv2EdoF7yJJJF1jGARRS8+XhJqea36tpEISJZ6wTNxS 3sbBflVVL3NuA== Received: from alfajor (unknown [216.154.29.138]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2AAFB1202E4; Thu, 5 Aug 2021 11:00:09 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87sfzowvp0.fsf@web.de> Date: Thu, 05 Aug 2021 11:00:08 -0400 In-Reply-To: (Stefan Monnier's message of "Thu, 05 Aug 2021 09:34:55 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.095 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: 49809 Cc: Okam , 49809@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 (---) > Adding support for (setf (pcase PAT) VAL) is very easy to do without any > change to pcase or gv machinery. Well, except that it has to use a different name than `pcase` since `pcase` is already a GV place. Stefan "oops" From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 05 21:42:38 2021 Received: (at submit) by debbugs.gnu.org; 6 Aug 2021 01:42:38 +0000 Received: from localhost ([127.0.0.1]:48727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBosg-0005pm-M2 for submit@debbugs.gnu.org; Thu, 05 Aug 2021 21:42:38 -0400 Received: from lists.gnu.org ([209.51.188.17]:37308) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBose-0005pc-0q for submit@debbugs.gnu.org; Thu, 05 Aug 2021 21:42:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55644) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBosd-0003mD-Ob for bug-gnu-emacs@gnu.org; Thu, 05 Aug 2021 21:42:35 -0400 Received: from mout.web.de ([212.227.15.4]:49019) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBosb-0002S4-Iu for bug-gnu-emacs@gnu.org; Thu, 05 Aug 2021 21:42:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628214139; bh=Z8TFJTDM6nFrF3kcNtBvofalb1rlYT0A7MrTbNmckRc=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=ATWXhnaszP6ICOu+6jZCsBsK4Ip870lolSRXL2Unb+YtUSUqoXGCz4UohijpcU88z KpuX3ntWkwTgl5d8IwiBY4LQzSHM1zJ4Bi471EzPO3uaToK8EKa3VMBJS7Dl1M6RRk Z4/TKBdlzlcGy5tzZlCr84TvRUkw5j8ITl/qalv4= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N6sG3-1nDIZw0LRX-018JTC; Fri, 06 Aug 2021 03:42:19 +0200 From: Michael Heerdegen To: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87sfzowvp0.fsf@web.de> Date: Fri, 06 Aug 2021 03:42:16 +0200 In-Reply-To: (Stefan Monnier via's message of "Thu, 05 Aug 2021 09:34:55 -0400") Message-ID: <87pmurs613.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:7Xb9nGL8Ll50JQx9G9GeWbuaJMfrj32Z5ZoGQ6Rs7gM2hUycMAH LNh973nMv5KKrz9fw/IyCK/4BIQLPwK/4rwyyFUm8Sr16wuB8S8MQ3Gn5PyhK/pkMSe5QGQ iwQBQEaQI29kUltFP8BmSqruOFVi4KDtdOehzMv2VWI8Q5BbSQxLmxpjHMn8cAR8Qxh4fZn Q4LN0pba/B/BPZKgF3y8g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:T+ltZUV9KfI=:HxrUmConTKmHwGOHBlthIy fXNQFHN/AqknudvXdGCtOckhiT+IL8t7jETS6hFjEziVrokAkuSwmdA+GM1uJSe7U0ENMyMcI ZVIiRfP/PIqDeu3AnU/UbHemtUY59W1NyfhI5x02zyz+tmevINSECwXIrcoTiaSKLc9UVob3J Hr1Ic6vwYr1dvWv1QUCrkw0HdQa196kLQlbIfhmhs5oHfxPmWn5rsz4g5z9mK0m2/GTi0V5hX +HXvVJemUBau14c1IbbcZL06NlW2+SxQj2EHqKpAV3AChce94L06xmI7yu0X9RlKVgQhNHfn2 ylF9WI9p2UWD9SV7L7ycAmWmK6+Yq7s0THJtd8Z6H6aw6eQbEAoIzX5AwJyOSvzfa7I5bgOVY kXmoiTEvVsDqzACKY397tFZjhaw7QW6lMLDMgFajhd4s/8H8oF7/SeCVNORMGuo2H7jAIDqrL SmDYQv+6sHJ2pUGkyEcnSFl+fX8XKFJrZiD2L5CYGkJzAfmUrHCyJfz3GgE0B+Mc2JfFpPxoK D9KlpLATO1/jiDP6+Sw7wkOigHORAnrMXzy8MBSiht251zpxCj1HqUNYCx04DCIuJJ/I3HWGv PWS3dcH4CCwrntxc1GPDe0JL0mRwQiXoZUVGGReaTU1h/pToGQ0ZkP/+E9gOITEspHjYeFbtj 2Gp3thiYyaw8JSmu+0Zvw5gKuQYTuhflD8cizjE+CPkC7WFuVlc2PKLpYZLtYnrSkECJC7uUh 7R76DLsKO06gOfjVXmiTKmgaRbDclZiialpvzVkF7xoenRo4d2Ja3NtGT6qoWrmX8+bhr+1Kg WOf9G5MQTEZ5AXckOIiv0B3C7kY7wxU9c50WqMcPgJaxHkqXLR9B0a9uFCpQ/C5FogjjCV8y6 WfQbSUIaDYeyBqaZHSmR2nb39WFaWpoijqUHD59dg4HVx+jEHnvMtJ1MjOtNF3xAJWEiWZmpk agHp56FZf2fUMnW4TIeAH372/dbuIN0zMBsYzsftPKik5uKnyqWvXSyLz8lzGSpSrLYXmw3rY 452ToB0hJvT87WSFCSrWaCUjFuhbPtZEuaM5CFM14a716kO9QBvhwGKrCp5DaLwt92n5x1LXo 45/dBe3y/6kohwheV+Bv4r75YFaU4FOd9IS91uGNgVL46IAUbpjJtRXcQ== Received-SPF: pass client-ip=212.227.15.4; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Okam , 49809@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > Mixing pcase patterns and gv places as in > > (setf `(,a . ,(aref V N)) EXP) > > would be the most flexible option Yes, that's what I had in mind. Also for plain `pcase' I guess. Maybe we could use an explicit (gv PLACE) pattern that is like SYMBOL but compares/binds/sets the PLACE instead of the SYMBOL. Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 06 00:07:18 2021 Received: (at 49809) by debbugs.gnu.org; 6 Aug 2021 04:07:18 +0000 Received: from localhost ([127.0.0.1]:48833 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBr8g-0000zI-1S for submit@debbugs.gnu.org; Fri, 06 Aug 2021 00:07:18 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:63968) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBr8d-0000z2-J5 for 49809@debbugs.gnu.org; Fri, 06 Aug 2021 00:07:16 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 6CE8B8090A; Fri, 6 Aug 2021 00:07:09 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 2A437803F9; Fri, 6 Aug 2021 00:07:08 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628222828; bh=ue5yA++/6zBhcNTXZN5YcA7N+PqCQb5CBKsxSoq+JlA=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=D04j9Zgl+zF4v+C9PXKLiNDua1MiSVSBRNGPpjDdzJwrDzva0qV7i8vQLB7KNRCqo 4ezvvxnAQXF4e4ETMojX/Gn28HySaH14UQB4aRlSQfeJ9BRt+MCqJvNlJ9HZFaLLee pbhAsoYpE+ZV5a4Warg9gp3JRtv7fneMzf1x5nIrKBy7GsG1G2a013f2Z/umO+RlE5 ke0CyKYvBtQPuW1iWk5BXkXSLGDVnL5qDsm0p9gHLDrTBLZiyALPSemUcj91knd61I xptCO6/y9l3qskmwCB9rZcUTfJP0+5UqhDMoXod3BBkfxubvmsB+MkJnorcGB1pI28 H6LsUNWiSVw/w== Received: from alfajor (unknown [216.154.29.138]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id DB8AE120315; Fri, 6 Aug 2021 00:07:07 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87sfzowvp0.fsf@web.de> <87pmurs613.fsf@web.de> Date: Fri, 06 Aug 2021 00:07:07 -0400 In-Reply-To: <87pmurs613.fsf@web.de> (Michael Heerdegen's message of "Fri, 06 Aug 2021 03:42:16 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.092 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: 49809 Cc: Okam , 49809@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 (---) > Yes, that's what I had in mind. Also for plain `pcase' I guess. > Maybe we could use an explicit (gv PLACE) pattern that is like SYMBOL > but compares/binds/sets the PLACE instead of the SYMBOL. I don't see how that would work. `pcase` is designed to test and extract data. It then makes that data available by giving it names (local variables). The SYMBOL pattern doesn't "set" that variable, it creates a fresh new one, but that operation doesn't exist for gv places (the only thing we can do there is get and set). It would make sense for `pcase-setq`, of course, but for `pcase` I just don't see how that would work (unless you'd want it to work like `cl-letf`, but that's like dynamically scoped let so I think you'd be hard pressed to find enough compelling use cases to justify it). Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 06 00:28:24 2021 Received: (at submit) by debbugs.gnu.org; 6 Aug 2021 04:28:24 +0000 Received: from localhost ([127.0.0.1]:48853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBrT6-0001Yn-3G for submit@debbugs.gnu.org; Fri, 06 Aug 2021 00:28:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:38362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBrT5-0001Yf-7j for submit@debbugs.gnu.org; Fri, 06 Aug 2021 00:28:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51710) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBrT5-00005r-0E for bug-gnu-emacs@gnu.org; Fri, 06 Aug 2021 00:28:23 -0400 Received: from mout.web.de ([212.227.17.12]:36757) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBrT3-0000B5-Gt for bug-gnu-emacs@gnu.org; Fri, 06 Aug 2021 00:28:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628224088; bh=5CnzkRs9aKUvY5qsezq+lxH6boFlJRrT8fQQqknN/ik=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=FMA0Q8z9GqkOT0jbHtfzaZU715hhjZTTTSzAk9kDtwulz1po5yIm09ND0gxmjTJbH gN+0vs+FUIsQTMaKJJwM518+Sb8SmWNGe8SJ6fzmw9hfocgs2ZgMGfthH8vgcVWHWy Bhi0Ke1TwOO/ciNP3P8fYt2yRj0NF7fjMAjyuYd0= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0LlWKh-1mkeNz0fn5-00bMZe; Fri, 06 Aug 2021 06:28:08 +0200 From: Michael Heerdegen To: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87sfzowvp0.fsf@web.de> <87pmurs613.fsf@web.de> Date: Fri, 06 Aug 2021 06:28:06 +0200 In-Reply-To: (Stefan Monnier via's message of "Fri, 06 Aug 2021 00:07:07 -0400") Message-ID: <87pmurnqnd.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:7B3rtfB0+wSaxDwn31t/ZDF7FGV50tU590iHk/aErohIDiR49ZY X48UssbAiBeUwvfnIseaaema0Szwapoy5zF8d9wtaeG7yBhK213pB6Q+qc/f3fyhGynL2rg 7km7D2n19Q6FOqB9GO2+l39JYZQOt+A9XHbK2GX3tIrKdUm92xtmn5c2njwMy4o2+N9pUjW nyhy4mIQ1Rn4zlDe1L7Jg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:dRjac6/FOCk=:93ZKQGf2hA83Ci5T+fLH0T iOirNMLIBcYjxz/IccEFH4n8mAPlpPw2S9y+cYWl+6InyrqmDXwPTL32iaPhxzw/rvTD8Uqor MT3MX6re/hkRR0mX3mBQFT73208K6uLSvYKH7m/Oij3SfskuJ9hCXA6+pPKdMVFbNEgIyTfDx DVdRHqbMWLlFNrcDKLtgzHW13dYVxecdMJdj+Z2L6nChSjOC3EzTltkJlisb0v0gBV7J4GO5a L/lIL+V/5HsFMIncYeOU8dfPAUz5TLFMi1WMmQUiu0BJOBbGSZZ3yZguz75I2th3xyMcFqc/3 uB7aqcQQr/33kJ4YwK02CrJoC1+40Iz10xMUrBTHK2UOPgMqeu2a/RYL8ldGoaQEpJY7z0kYa 3woZsFJAHwRphKah0A2cMzrk37mWj1JIrgxZn7F/d5aJAUAY3tBfNHa+HV9+4LDeuioiyZ1Ne xRbEuwSf5/H4NQGwa3Q5jiMCVfuY0UUKhoH+nq2X7hEfrU/gb8XwffEybcNv3bO6W6LBvgB6W 9QfQtY3qjxtb8XsRpx6IS6JB/RptIAvzkmaGPLpnKH6mwLCLzm/tZlQsF+qT02MQCsvo8HEW4 H39r6SppCtVKrUM9VO+/T7FYJQgDEkrpauuBaoUhotknx48+vlo3vDPXE/Zel8gq/qVfoMxj3 EZtKCku8wc1FgneoPFCOPjKgKirSvjyWg21ysPpe5GfkqbWv+S7HnbDhI1nU5Pj3CO0VxvSUn tUSV4EZC5RMtdwtdy9s6WqDsj6ce92XgH8OmzU78jour0+iQ1c56h8vGt7o9uFCwQdnvhMTPy PUBsRSxD8Z3LJFyXA/3D/oaJjXWWDI73NXhV773uBku384O7PmP9hqOQQdqumbbNgNGQ9P0cP MK4OkTEBTpamjomid9EQFUWzTjN9QNqyp6rVUcIDVmZmW7kNN9iEbs2Cgv1m+FHhUqRIdOevz mVdT1IRxV+G5MGIJ6d8x8X+0oZS4aobgY8AaBAw7uOaC6M5ehGSjg5l05KMEr6yrNC3Xc1USt Tj5JXyZJ0h5O3nbOh5bYUfCW7Bw5Go+52lDDv4+3q+0gnVvGEG0hHMG/sNdl8tR6EmcafNw1Q pGjTBbrQxbyF4F4MkSC/iNisBG1tSp9ClBzYwxN8Z1wk+Bsk0y8GDc7vA== Received-SPF: pass client-ip=212.227.17.12; envelope-from=michael_heerdegen@web.de; helo=mout.web.de 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_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Okam , 49809@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > (unless you'd want it to work like > `cl-letf`, but that's like dynamically scoped let so I think you'd > be hard pressed to find enough compelling use cases to justify it). Yes, that's what I had in mind. I sometimes even missed the ability to create dynamical symbol bindings using pcase patterns. And no, I have no clue if it would be a good idea. If you have a bad feeling about the idea then you are probably right. Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 06 18:33:55 2021 Received: (at 49809) by debbugs.gnu.org; 6 Aug 2021 22:33:55 +0000 Received: from localhost ([127.0.0.1]:51492 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mC8Pb-00015l-4B for submit@debbugs.gnu.org; Fri, 06 Aug 2021 18:33:55 -0400 Received: from mail-4322.protonmail.ch ([185.70.43.22]:62761) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mC8PX-00015S-7e for 49809@debbugs.gnu.org; Fri, 06 Aug 2021 18:33:53 -0400 Date: Fri, 06 Aug 2021 22:33:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1628289223; bh=hG9XgZ7kk5TNk7cn4H4MQtu/jbdZi2qDa3y55mRHN0Q=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=MKuaEgaOioxJPlMywePP1ReLz0wdKcR5r8xThLY0ouprE6bdHsDtcYhSjyyzUaaSb WrFVkyfKxiJW0DeIMXP0NKtfKJUGKHbOlaIUJVIO8xlqSQz8K+FywbkyfHfIZc+L3C Wy9iPVzW55dHFwG7balxbrCyxZa8ZnkLdWz0SgFc= To: Stefan Monnier From: Okam Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: In-Reply-To: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_Ye9asrvN9cDy2dRTpISh2z5pjx3HXKsqHPAg6RDcKTk" X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49809 Cc: 49809@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: , Reply-To: Okam Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_Ye9asrvN9cDy2dRTpISh2z5pjx3HXKsqHPAg6RDcKTk Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 8/4/21 7:06 PM, Stefan Monnier wrote: > I don't think we should try and combine them: it's not worth the > code complexity. Personally I'd even restrict the calling convention to > (pcase-setq PAT VAL), but if you want to accept the more general case > with multiple PAT+VAL, I'd prefer expanding it to a (progn (pcase-setq > PAT1 VAL1) ...). I think the resulting code would be simpler/cleaner. Done. >> +@defmac pcase-setq pattern value@dots{} >> +Bind variables to values in a @code{setq} form, destructuring each >> +@var{value} according to its respective @var{pattern}. >> +@end defmac > > I prefer keeping "bind" for the case where we create new variables > (i.e. let-bindings) rather than for assignments. This was changed to the phrase "assign values to variables". > > Looks good. But could you add a few corresponding tests to > `test/lisp/emacs-lisp/pcase-tests.el`, including tests for things like > > (pcase-setq `(,a ,b) nil) Added with others. Do you think that the added tests are sufficient? Thank you. --b1_Ye9asrvN9cDy2dRTpISh2z5pjx3HXKsqHPAg6RDcKTk Content-Type: text/x-patch; name=v2-0001-Add-macro-pcase-setq.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0001-Add-macro-pcase-setq.patch RnJvbSAzOTFiZGI0ZWZjMjViMWMzYzUyMWIyN2Q2MjAzYTVkZTE3M2EyZDE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogRWFybCBIeWF0dCA8b2thbXNuQHByb3Rvbm1haWwuY29tPg0K RGF0ZTogU3VuLCAxIEF1ZyAyMDIxIDEyOjMzOjE0IC0wNDAwDQpTdWJqZWN0OiBbUEFUQ0ggdjJd IEFkZCBtYWNybyAncGNhc2Utc2V0cScNCg0KKiBsaXNwL2VtYWNzLWxpc3AvcGNhc2UuZWwgKHBj YXNlLXNldHEpOiBOZXcgbWFjcm8uDQoNClRoaXMgbWFjcm8gaXMgdGhlICdzZXRxJyBlcXVpdmFs ZW50IG9mICdwY2FzZS1sZXQnLg0KDQoqIGRvYy9saXNwcmVmL2NvbnRyb2wudGV4aSAoRGVzdHJ1 Y3R1cmluZyB3aXRoIHBjYXNlIFBhdHRlcm5zKToNCkRvY3VtZW50IHRoaXMgbWFjcm8uDQoNCiog dGVzdC9saXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwgKHBjYXNlLXNldHEpOiBUZXN0IHRo aXMgbmV3IG1hY3JvLg0KLS0tDQogZG9jL2xpc3ByZWYvY29udHJvbC50ZXhpICAgICAgICAgICAg fCAgNSArKysrDQogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysr DQogbGlzcC9lbWFjcy1saXNwL3BjYXNlLmVsICAgICAgICAgICAgfCAzMSArKysrKysrKysrKysr KysrKysrKysrKysrDQogdGVzdC9saXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwgfCAzNiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIDQgZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0 aW9ucygrKQ0KDQpkaWZmIC0tZ2l0IGEvZG9jL2xpc3ByZWYvY29udHJvbC50ZXhpIGIvZG9jL2xp c3ByZWYvY29udHJvbC50ZXhpDQppbmRleCA1MDI2ZDBhNGQ3Li42ZTRhNTIzNGUyIDEwMDY0NA0K LS0tIGEvZG9jL2xpc3ByZWYvY29udHJvbC50ZXhpDQorKysgYi9kb2MvbGlzcHJlZi9jb250cm9s LnRleGkNCkBAIC0xMzEyLDYgKzEzMTIsMTEgQEAgRGVzdHJ1Y3R1cmluZyB3aXRoIHBjYXNlIFBh dHRlcm5zDQogdXAgYmVpbmcgZXF1aXZhbGVudCB0byBAY29kZXtkb2xpc3R9IChAcHhyZWZ7SXRl cmF0aW9ufSkuDQogQGVuZCBkZWZtYWMNCiANCitAZGVmbWFjIHBjYXNlLXNldHEgcGF0dGVybiB2 YWx1ZUBkb3Rze30NCitBc3NpZ24gdmFsdWVzIHRvIHZhcmlhYmxlcyBpbiBhIEBjb2Rle3NldHF9 IGZvcm0sDQorZGVzdHJ1Y3R1cmluZyBlYWNoIEB2YXJ7dmFsdWV9IGFjY29yZGluZyB0byBpdHMg cmVzcGVjdGl2ZQ0KK0B2YXJ7cGF0dGVybn0uDQorQGVuZCBkZWZtYWMNCiANCiBAbm9kZSBJdGVy YXRpb24NCiBAc2VjdGlvbiBJdGVyYXRpb24NCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9O RVdTDQppbmRleCA5NWEyYzg3ZDA1Li4wZjExY2FmNTEyIDEwMDY0NA0KLS0tIGEvZXRjL05FV1MN CisrKyBiL2V0Yy9ORVdTDQpAQCAtNTUzLDYgKzU1MywxMCBAQCBUaGUgbmV3ICdjbC10eXBlJyBw YXR0ZXJuIGNvbXBhcmVzIHR5cGVzIHVzaW5nICdjbC10eXBlcCcsIHdoaWNoIGFsbG93cw0KIGNv bXBhcmluZyBzaW1wbGUgdHlwZXMgbGlrZSAnKGNsLXR5cGUgaW50ZWdlciknLCBhcyB3ZWxsIGFz IGZvcm1zIGxpa2UNCiAnKGNsLXR5cGUgKGludGVnZXIgMCAxMCkpJy4NCiANCisqKiogTmV3IG1h Y3JvICdwY2FzZS1zZXRxJw0KK1RoaXMgbWFjcm8gaXMgdGhlICdzZXRxJyBlcXVpdmFsZW50IG9m ICdwY2FzZS1sZXQnLCB3aGljaCBhbGxvd3MgZm9yDQorZGVzdHJ1Y3R1cmluZyBwYXR0ZXJucyBp biBhICdzZXRxJyBmb3JtLg0KKw0KICsrKw0KICoqIHByb2ZpbGVyLmVsDQogVGhlIHJlc3VsdHMg ZGlzcGxheWVkIGJ5ICdwcm9maWxlci1yZXBvcnQnIG5vdyBoYXZlIHRoZSB1c2FnZSBmaWd1cmVz DQpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3BjYXNlLmVsIGIvbGlzcC9lbWFjcy1saXNw L3BjYXNlLmVsDQppbmRleCAwMDY1MTdkYjc1Li4xNGFmNzBhNjViIDEwMDY0NA0KLS0tIGEvbGlz cC9lbWFjcy1saXNwL3BjYXNlLmVsDQorKysgYi9saXNwL2VtYWNzLWxpc3AvcGNhc2UuZWwNCkBA IC0zMTcsNiArMzE3LDM3IEBAIHBjYXNlLWRvbGlzdA0KICAgICAgICAgIChwY2FzZS1sZXQqICgo LChjYXIgc3BlYykgLHRtcHZhcikpDQogICAgICAgICAgICAsQGJvZHkpKSkpKQ0KIA0KKzs7OyMj I2F1dG9sb2FkDQorKGRlZm1hY3JvIHBjYXNlLXNldHEgKHBhdCB2YWwgJnJlc3QgYXJncykNCisg ICJBc3NpZ24gdmFsdWVzIHRvIHZhcmlhYmxlcyBieSBkZXN0cnVjdHVyaW5nIHdpdGggYHBjYXNl Jy4NCisNCitcKGZuIFBBVFRFUk4gVkFMVUUgUEFUVEVSTiBWQUxVRSAuLi4pIg0KKyAgKGRlY2xh cmUgKGRlYnVnICgmcmVzdCBbcGNhc2UtUEFUIGZvcm1dKSkpDQorICAoY29uZA0KKyAgIChhcmdz DQorICAgIChsZXQgKChhcmctbGVuZ3RoIChsZW5ndGggYXJncykpKQ0KKyAgICAgICh1bmxlc3Mg KD0gMCAobW9kIGFyZy1sZW5ndGggMikpDQorICAgICAgICAoc2lnbmFsICd3cm9uZy1udW1iZXIt b2YtYXJndW1lbnRzDQorICAgICAgICAgICAgICAgIChsaXN0ICdwY2FzZS1zZXRxICgrIDIgYXJn LWxlbmd0aCkpKSkpDQorICAgIChsZXQgKChyZXN1bHQpKQ0KKyAgICAgICh3aGlsZSBhcmdzDQor ICAgICAgICAocHVzaCBgKHBjYXNlLXNldHEgLChwb3AgYXJncykgLChwb3AgYXJncykpDQorICAg ICAgICAgICAgICByZXN1bHQpKQ0KKyAgICAgIGAocHJvZ24NCisgICAgICAgICAocGNhc2Utc2V0 cSAscGF0ICx2YWwpDQorICAgICAgICAgLEAobnJldmVyc2UgcmVzdWx0KSkpKQ0KKyAgICgocGNh c2UtLXRyaXZpYWwtdXBhdC1wIHBhdCkNCisgICAgYChzZXRxICxwYXQgLHZhbCkpDQorICAgKHQN CisgICAgKHBjYXNlLWNvbXBpbGUtcGF0dGVybnMNCisgICAgIHZhbA0KKyAgICAgKGxpc3QgKGNv bnMgcGF0DQorICAgICAgICAgICAgICAgICAobGFtYmRhICh2YXJ2YWxzICZyZXN0IF8pDQorICAg ICAgICAgICAgICAgICAgIGAoc2V0cSAsQChtYXBjYW4gKGxhbWJkYSAodmFydmFsKQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHZhciAoY2FyIHZhcnZhbCkp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsIChjYWRy IHZhcnZhbCkpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlz dCB2YXIgdmFsKSkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFydmFs cykpKSkpKSkpKQ0KIA0KIChkZWZ1biBwY2FzZS0tdHJpdmlhbC11cGF0LXAgKHVwYXQpDQogICAo YW5kIChzeW1ib2xwIHVwYXQpIChub3QgKG1lbXEgdXBhdCBwY2FzZS0tZG9udGNhcmUtdXBhdHMp KSkpDQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwgYi90 ZXN0L2xpc3AvZW1hY3MtbGlzcC9wY2FzZS10ZXN0cy5lbA0KaW5kZXggMDJkMzg3OGFkMC4uYzUz NjQ4MzgzYSAxMDA2NDQNCi0tLSBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL3BjYXNlLXRlc3RzLmVs DQorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9wY2FzZS10ZXN0cy5lbA0KQEAgLTExMCw0ICsx MTAsNDAgQEAgcGNhc2UtdGVzdHMtY2wtdHlwZQ0KICAgKHNob3VsZC1lcnJvciAocGNhc2UgMQ0K ICAgICAgICAgICAgICAgICAgICgoY2wtdHlwZSBub3RhdHlwZSkgJ2ludGVnZXIpKSkpDQogDQor KGVydC1kZWZ0ZXN0IHBjYXNlLXNldHEgKCkNCisgIChzaG91bGQgKGVxdWFsIChsaXN0IG5pbCBu aWwpDQorICAgICAgICAgICAgICAgICAobGV0IChhIGIpDQorICAgICAgICAgICAgICAgICAgIChw Y2FzZS1zZXRxIGAoLGEgLGIpIG5pbCkNCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkp KQ0KKw0KKyAgKHNob3VsZCAoZXF1YWwgJygxIDIpDQorICAgICAgICAgICAgICAgICAobGV0IChh IGIpDQorICAgICAgICAgICAgICAgICAgIChwY2FzZS1zZXRxIGBbLGEgLGJdIFsxIDJdKQ0KKyAg ICAgICAgICAgICAgICAgICAobGlzdCBhIGIpKSkpDQorDQorICAoc2hvdWxkIChlcXVhbCAnKDEg MikNCisgICAgICAgICAgICAgICAgIChsZXQgKGEgYikNCisgICAgICAgICAgICAgICAgICAgKHBj YXNlLXNldHEgYSAxIGIgMikNCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKQ0KKw0K KyAgKHNob3VsZCAoPSAyIChsZXQgKGEpDQorICAgICAgICAgICAgICAgICAocGNhc2Utc2V0cSBh IDEgYCgsYSkgJygyKSkNCisgICAgICAgICAgICAgICAgIGEpKSkNCisNCisgIChzaG91bGQgKGVx dWFsICcobmlsIFsxIDIgM10gNCkNCisgICAgICAgICAgICAgICAgIChsZXQgKGFycmF5IGxpc3Qt aXRlbSBhcnJheS1jb3B5KQ0KKyAgICAgICAgICAgICAgICAgICAocGNhc2Utc2V0cSAob3IgYCgs bGlzdC1pdGVtKSBhcnJheSkgWzEgMiAzXQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBhcnJheS1jb3B5IGFycmF5DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFRo aXMgcmUtc2V0cyBgYXJyYXknIHRvIG5pbC4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG9yIGAoLGxpc3QtaXRlbSkgYXJyYXkpICcoNCkpDQorICAgICAgICAgICAgICAgICAgIChs aXN0IGFycmF5IGFycmF5LWNvcHkgbGlzdC1pdGVtKSkpKQ0KKw0KKyAgKGxldCAoKGEgbmlsKSkN CisgICAgKHNob3VsZC1lcnJvciAocGNhc2Utc2V0cSBhIDEgYikNCisgICAgICAgICAgICAgICAg ICA6dHlwZSAnKHdyb25nLW51bWJlci1vZi1hcmd1bWVudHMpKQ0KKyAgICAoc2hvdWxkIChlcSBh IG5pbCkpKQ0KKw0KKyAgKHNob3VsZC1lcnJvciAocGNhc2Utc2V0cSBhKQ0KKyAgICAgICAgICAg ICAgICA6dHlwZSAnKHdyb25nLW51bWJlci1vZi1hcmd1bWVudHMpKSkNCisNCiA7OzsgcGNhc2Ut dGVzdHMuZWwgZW5kcyBoZXJlLg0KLS0gDQoyLjI1LjENCg0K --b1_Ye9asrvN9cDy2dRTpISh2z5pjx3HXKsqHPAg6RDcKTk-- From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 06 22:12:21 2021 Received: (at submit) by debbugs.gnu.org; 7 Aug 2021 02:12:21 +0000 Received: from localhost ([127.0.0.1]:51667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mCBoz-0006NH-0N for submit@debbugs.gnu.org; Fri, 06 Aug 2021 22:12:21 -0400 Received: from lists.gnu.org ([209.51.188.17]:53080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mCBos-0006N4-KW for submit@debbugs.gnu.org; Fri, 06 Aug 2021 22:12:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48786) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCBos-0005Qv-Dz for bug-gnu-emacs@gnu.org; Fri, 06 Aug 2021 22:12:14 -0400 Received: from mout.web.de ([212.227.15.3]:38097) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCBop-0001H2-LK for bug-gnu-emacs@gnu.org; Fri, 06 Aug 2021 22:12:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628302317; bh=U3a+YK6YEDXP47JnTyiqQKLNyU+qfFxe5eHFXxFXtKY=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=YQcfBk2IeFr8VlY+Ydv6Pg9tkFJ836PIrB2RzyaXypweb6u9UIN3fdZlGJJqgKlR/ dUSaXONBaiQieJjRVc41A6en3GxlZzZEn292vbB7i6xjbZ4qYeWFv5P0SLOSvJ9stK mjuhfWbiqVzVd6R63/khdglxrKLRZPrLZ3HpcouI= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb002 [213.165.67.108]) with ESMTPSA (Nemesis) id 0Lym19-1nF8Z81eUR-016AzE; Sat, 07 Aug 2021 04:11:57 +0200 From: Michael Heerdegen To: Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> Date: Sat, 07 Aug 2021 04:11:55 +0200 In-Reply-To: (Okam via's message of "Fri, 06 Aug 2021 22:33:36 +0000") Message-ID: <87eeb6dmvo.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:9RKyVtQB/2qdxx6RIUqb57vwXe+hW4h7NZO1tFzoCHTGAFl4iR3 3OwlIzcIiIHPzH9zQhf0J8m6Uy4WZXpDIEH+mdF+vGQqKmHYIMqpciUcMd7pT9aPXHf+aWr HIK4/zuOYGfoO+SNjcHLzB59jdew6O1mkFdN+0SSZfAIvrNhuiCwrhACewjmW8Rz9GINNac ioP3Eyd0EUyaQASgcEA9g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:5OBcEbCcy8Q=:Rv4bn+xBfV4HZsV+LOwvuk 8ZS+0E5dKLDhlJFNqiSHdmddQ//NnsiWzS7qLDPyZIn/UyFeO4GR8381S5hQlBv6a24RnVAp6 ID41778eWyS5W6FqxbY1mFHNhpoMyHdaUC1st6n9YiXl0lg1wKoRKTGaKWbEPyJIYYVYMpsbt 55wDXwprDL6UVukikfno4b6lEZ1fJq0y0DTiJgzKbPH0JDMrVTHGJmaxYwTGd8YjHSsgqKC1e MbTLiHHLa46ldFgp3GbG5R+oyp/9xcQIi/FZ93snIlQBBZTWgejsF7Ug4X23SDt5oxQuf95Wp R7JqLnXpf0V31VUBF9DzmcATVs+mvJiUeIvb1r24r5OMGwU0SO2AemkNyWOey8Y56DRNhrL55 pUgv+Bp326nZEoEqwIQNAIHqLiWs/M4Z79nrpaQR4O6hIc/ApOkDT+iGs+beeVb3s75VwxXR8 j5+nfEHfw7TAVkYiH6VwsCKo9nOE9jJ8l8Og+d4ZuRMwRtTYwthjLp5OLMI1Bhlq1qKuLiZTp x0nz4F1pofb0djf087jTyAtFdcg9mMGMOw2SyCKBwPUBtxPztJdCC/DKc2uNQKSHe0sJuACu+ MozudVqop2Liiz0Jf315Cz+5N2RzLPGcejXkkHvEOrag8lF4TIeMg2YH82BOU8Ij+jWWMKBDX KZZKYisxsQYsgSdMthOv3+fhi3z15JRHoJIXvHaeBb8K1e06wEIKx2lsiE+GArrm4G8We+MjR jdH5o1DjVqPuKG8I6z8w0dzvpaxAAXWo0135LNiExA/4zo0GBqqkXiXmNWR3Cs3HymQekKYHU vmQVbLRRpXeh41njfBasu+rOWm/hp3tEXkRNeSRdBPFn6htkQIpm22QYkkepkl9mbl3Ydixpa 9CuL+Nl4X2hKDQDa9IjBGNFUhNFj7/fart0xuijU/Wlv7j5sZrG2h8VeP+rM5AW/eZUkXgrrD NqZthCO7C5LC2HgPqb78znziVvtfY7CY4ULC7BHBxVjhR+17mZu6zQ8Uem7aU19/1/uKgAI/+ lArUHjDCLI/xNAQQ0iPBJMbZ88jT8NJo45GHNx6+C+1aSay692ClR+TVC/AcRJ+9kCrxS82NG qphAhGIA40kj3OfC3XMISTHtICGAJQ9W23cqk/KaEMj3e7QZ3OxWXMyBg== Received-SPF: pass client-ip=212.227.15.3; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Okam , 49809@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > +(defmacro pcase-setq (pat val &rest args) > + "Assign values to variables by destructuring with `pcase'. > + > +\(fn PATTERN VALUE PATTERN VALUE ...)" Can we maybe enhance the docstring a bit? I think we should at least cover these points: - The PATTERNs are normal `pcase' patterns, the VALUES are expressions. - Evaluation happens sequentially as in `setq' (not in parallel) - When a PATTERN doesn't match it's VALUE, the pair is silently skipped (completely, no partial assignments are performed, AFAIU) Maybe adding a simple example would not be too bad as well? Thanks, Michael. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 07 11:42:21 2021 Received: (at 49809) by debbugs.gnu.org; 7 Aug 2021 15:42:21 +0000 Received: from localhost ([127.0.0.1]:53032 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mCOSr-0000at-3c for submit@debbugs.gnu.org; Sat, 07 Aug 2021 11:42:21 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:44760) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mCOSn-0000ad-Tw for 49809@debbugs.gnu.org; Sat, 07 Aug 2021 11:42:20 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 812DF440806; Sat, 7 Aug 2021 11:42:11 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 482024407A2; Sat, 7 Aug 2021 11:42:10 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628350930; bh=z7BneETzmqIct1LHBh3JW3Dqdy0wIt7E0lJevjfsPOE=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=knwtzC/Vu9cva/+hVJVL7gT7QGukXe5Qh07+rge43kEihpxflp8VqcQLyvySfjGGM paEjA1KSt9u/yl660mL/uyMQvBT3CmALQXB4xq6kuvTyUms3WW0a6pUcFTmqs72v4s a9LXtZF8HhG1Fu8XhgV7Lk1Lg63GT32lL/nrF6Lba/v1WHcyjaUjO7nwUKgHxo6ZQX S1vpPiKy74ejUdWOzzEERyTAIi8y+jkYjwRuRke0fQBXhW3PfATXMpP9c0bZ0VlrFT 6n1GX1NGF/7VNB5VcSNGzYZGrrhiZex8BsReWJtesBgnCuO3KTxoCyQ5u4u2g+Ld0+ yKmsPsfHvfn4A== Received: from alfajor (unknown [216.154.29.138]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id EDC8B1203D8; Sat, 7 Aug 2021 11:42:09 -0400 (EDT) From: Stefan Monnier To: Okam Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> Date: Sat, 07 Aug 2021 11:42:09 -0400 In-Reply-To: (Okam's message of "Fri, 06 Aug 2021 22:33:36 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.092 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: 49809 Cc: 49809@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 (---) > Added with others. Do you think that the added tests are sufficient? The new code looks OK to me. Just one thing, tho: > + (should (equal (list nil nil) > + (let (a b) > + (pcase-setq `(,a ,b) nil) > + (list a b)))) The result is the same whether `pcase-setq` assigns nil or doesn't touch the vars, so this test is not very effective. I'd rather do: (should (equal (list nil nil) (let ((a 'unset) (b 'unset)) (pcase-setq `(,a ,b) nil) (list a b)))) But Michael points out that it seems your code won't perform the assignment if the pattern doesn't match, which I find to be an odd behavior. I'd expect a behavior like that of `pcase-let`, instead. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 08 20:29:02 2021 Received: (at 49809) by debbugs.gnu.org; 9 Aug 2021 00:29:02 +0000 Received: from localhost ([127.0.0.1]:55086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mCtA5-0002I0-W8 for submit@debbugs.gnu.org; Sun, 08 Aug 2021 20:29:02 -0400 Received: from mout.web.de ([212.227.17.12]:49627) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mCtA2-0002HT-2V for 49809@debbugs.gnu.org; Sun, 08 Aug 2021 20:29:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628468927; bh=zjtSey9lHePfVBI1XwywlMvsGB/1tKAGukMEAZmQiQw=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=V7dHn1qtxdc7vUP/bJ3XROqvSKMlYrdanaC8yqEgLqoCguYKn9ZUiJevdIH2P1TOZ NW4LQZRFFPgQHUKd26+JL01amjPfvtRiob9u7ZQUhCzaG/m/DmT1nZUoBpbZ6S/Q51 qWJtI2pXyR9q2Q6O0k04vI4UrIg8b2VyNsSO31rA= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1N2jaQ-1nFp4N1q4i-0136Mu; Mon, 09 Aug 2021 02:28:47 +0200 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> Date: Mon, 09 Aug 2021 02:28:46 +0200 In-Reply-To: (Stefan Monnier's message of "Sat, 07 Aug 2021 11:42:09 -0400") Message-ID: <87im0fwjep.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:imFe/Tqqo8HpNSqiXjrvV9kPjVFryqgAMdBmYZYf2RzbAuZE7ix zd8I6uXezdnlkMJ/j95kVvrSAY5xEfK+tKKAEYEZ0LK9VB+7Ppr+zsHUdpStO5LSAO460yY 7X5h3gt5rhCqH8HYkiQaXbtPmnh26vvEFZC9Fatuq5iiiTJBhj/oI4ukPXho2/FzS3Xr0KU 8xO/Ds7Cf7KVyCJAJWbOw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:6TZXh9Vd/+s=:yhUGl8ifg8qosM82198wy5 pbWUXFeNukFDM4Ax3vGlk+uu71ZZ3SlXXAAfX9jktRoJbGK7YjYpno2cw3Y+jUrg5z/lnTVa/ A9H3KSG2y83aEVoYjjGK8PnGlr+lpmh3lxfoe9jkQy3KSMDPc7wWv2En4SLZSND50yfoSMdsh sTy0+dhDOY5xwglgNyR1p2vK5zzQxZy0HYqUvkrEBd6lT13VJ3abVrI4u0Re6Xx1rhPBo3n5K mAQUJ82JUv9Zt9NBeIgSfZPVxbsgm3g5/o4JLPWyqigNCNfqvO0IRHp2u7lUqfE6yKMbiHcgc NU1Ao+f4Ct6ep3DT4GBxx1CPGLrSQBOszELHg1Mq2Gk6XH2CYqJ4d8sWkWOVbwQj6YlYtaUv8 sYPJxxalIGFN7XVNAzmO6IFTRaPf/EXLOdAR96g5Zfr9rnzaDkljnQU67DFmiOfXk4ZylGVWq 9DaIRNW5a4dpOGBSsvzqtWuvHOJVGcxT6JfiwlxC1BdYRbMCZHHKRe5TBRhxyGlnqw2dBanCo Koj839enhgWF/RbkA/RwVoij5hBBLQ4jaVWOJHbgN63XM2m+rKsr/VOkwlr7GOti8BmOxvSHQ vdgBAm/b9Sy+5PyUpHv1DEixccR5k2WvNcoINvp2v16HWl6Ceh/OJRCaFU17k2UaadeLjJlO+ CheRcHgvj25q05eqXzKukuYvrFokCtrrfRnpegjdQJzM3Lc4BbiZOaNTCaxgbozysRZqipc+O qxGh1QkvewAFFr/MvTspXUggLuQhcpBCDO+YodxTVEmSklZPqg8jJDzsfF7bqf3vaiXMMzdWE VLC9zT2hyG/dxawVxENmOgIJt6CqIQlnCg9yuAbWTn7YQ4VafqT34rzSqNdxYZXwNcypn3Y+a sY9azwiTD2nB1HMbctCLdUOLFYAKYHNBBUovZTGXnHdQ055lTZtQ/viJXE2tuke1+7PsnGi0b o6AIpDkObrJtz67O/raUDN6lV5qTeeyg6jUMbD40Xu+A0H7+WQAl9a9gl/It0uCpujCXTbrjm +sm1mTV4SO4LaFtYbwDtMKV8VSFRmNrKLKfYgehbfCiVIWPcA07GD9vkYODFEVMuvqeK8LqnV jxz9RFOpZ0Blg1gXxZPV+fesDRlahEJ6eR2DGGC4vdbgXMj+SzxDfoInQ== Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49809 Cc: Okam , 49809@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 (-) Stefan Monnier writes: > I'd expect a behavior like that of `pcase-let`, instead. I don't recall why it was not achievable to make `pcase-let' reliably error for non-matching patterns. Would that be possible for `pcase-setq'? (What for example would happen if we just wrapped each PAT inside (or PAT (guard (error "pcase-setq: PAT doesn't match"))) ?) Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 09 08:51:32 2021 Received: (at 49809) by debbugs.gnu.org; 9 Aug 2021 12:51:32 +0000 Received: from localhost ([127.0.0.1]:56320 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mD4ke-0006tj-Kn for submit@debbugs.gnu.org; Mon, 09 Aug 2021 08:51:32 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:49199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mD4kc-0006tW-9Z for 49809@debbugs.gnu.org; Mon, 09 Aug 2021 08:51:31 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 206B54411A1; Mon, 9 Aug 2021 08:51:24 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id BE83E4411BB; Mon, 9 Aug 2021 08:51:22 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628513482; bh=y+XUGptSBVo2bNUdJ1VHdQKjsnDAFS4xFhUyhMYsD3U=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=hNACGR0d8T+sBBgpuSf9TLIOvi8mjtkr7AAvdr5MQoTBTOxMcaOPmg8LOqkUR4Z5H V4sXHN+45eK0VlEylJb/yCPDxue8u11ZoQeWbrw+lK9oImVB+bq9Cs+OpOvZPBrXa/ IkNPLi9QEI5TliEQoQ695s59NwHpFiN0LrzFUubWXroLGk+3HO3vjNt27Jm54pkQ5M xuTK+o/o83TP+g+hksBgAyHNkGyJGV3ZOW6BZj4VZUFjx+lJD059k2wCbyQ4N6T5Wa KfS4oa4JELJEn22VggBlWGBeXsMLxJr6n+nCsX/MvY8Peimkop6oEx/Axi/nazRPg7 TSGl7GYmVfr5w== Received: from alfajor (104-222-120-40.cpe.teksavvy.com [104.222.120.40]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 56214120249; Mon, 9 Aug 2021 08:51:22 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87im0fwjep.fsf@web.de> Date: Mon, 09 Aug 2021 08:51:21 -0400 In-Reply-To: <87im0fwjep.fsf@web.de> (Michael Heerdegen's message of "Mon, 09 Aug 2021 02:28:46 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.099 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: 49809 Cc: Okam , 49809@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 (---) Michael Heerdegen [2021-08-09 02:28:46] wrote: > Stefan Monnier writes: >> I'd expect a behavior like that of `pcase-let`, instead. > I don't recall why it was not achievable to make `pcase-let' reliably > error for non-matching patterns. The main difficulty is to convince me that it's a good idea. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 09 23:13:38 2021 Received: (at 49809) by debbugs.gnu.org; 10 Aug 2021 03:13:38 +0000 Received: from localhost ([127.0.0.1]:58139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDICs-0005co-C7 for submit@debbugs.gnu.org; Mon, 09 Aug 2021 23:13:38 -0400 Received: from mout.web.de ([217.72.192.78]:33343) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDICn-0005cW-02 for 49809@debbugs.gnu.org; Mon, 09 Aug 2021 23:13:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628565193; bh=qDwyZVSETIG/M9FSV5w7ZM9xppRQapLaIbhYeSL+XOo=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=OhMqQ5jz18+18P0QktCC1+wytTPxAF/ZPM1MHLTTJuM/Dn1iclC8xcUwY2uW4MkBM IPoE1nadktih266Xe3GI5Pp/9itiAvKclI7BHXYd3Fsh5p7C6JmIGDElrxbrhqPa4C S1YOViJsImbWqWEU1i3cecMFBcUkNs/flsD1SSbQ= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0Lmu2K-1mlFye3UHU-00hA1F; Tue, 10 Aug 2021 05:13:12 +0200 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87im0fwjep.fsf@web.de> Date: Tue, 10 Aug 2021 05:13:11 +0200 In-Reply-To: (Stefan Monnier's message of "Mon, 09 Aug 2021 08:51:21 -0400") Message-ID: <87eeb22drs.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:BLt10lwht7m/lk2gIDbyG02vaJEjr4RelYxrLGystxXrZGARqJa ATm7/rFHVbKqlvEbuV2VTn/yJsvPRsCznW2DH/7xgM2jHZ8lcROxGEuwJAXmhfJeF1iI8U2 4sDY60HQY6XrXHHgU71c2i+3ZfgDKAXvtw6BMs8A7/U8FLGFHSWnNgnnu/VsUQovIyZumCh 0DK5lO6ynza8HpId1tRFw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:xa7N7O+BTE8=:2C4HetUKGkgz9lC1oaCxc7 nUV9Kby5K/VvWC/IG8/2808hYn1l69RYRjd9ghHxQJRMKSPb8kAgNXYfb4IlgeEtjAICDF6s9 vXT16+ejc78OVwX5oXArdzwbr5qE4G8qEK/dr22z3eUOOhCL5li1ZLUcJ9Vd1xEmzzjvvE72u y7s83SRIjR6iHWBq1MCOWLvPFleOQRV4wfMhuzRRFjng9fclu8RWbr13MAIAbfqfzij2bDK3A CEIcE+hDWpypknDEX3rbkAQSqSf1HXXZGwKiZc+PGrZ8a/ydsczHJD5iF0p0WHjnzXF1FLAR1 JqrDQt+U0YKwvvcPSFpNO1k497Xc01y3C0j7IJ3vEGuaiq/gwkasQcJbq73uZivJj+Hzz0w1E 0E8yDoO1jX7rCUMhjj1AjB76zEaIeeX1XewZx7LqfEsA3LnwGllcU0oc4hggE52mNfJpF4ocn 8oLEJVWVQxay1H7kTNPEQMvIU+JnwihYDELPML0d52znv/eoTY/IvzeAIn6h4bR3cB4AitJgm opF/To8P1VYoZwoHTIsxzhfJ+5eMnjC6OHdxi7nL7xXmo96uKuRjF0orDuxN23BR3v7IjZHvo SzEqqkJ4PMK220xya/fg3jnjVuUjJ7c4UOWZEAF8fu5v0xokM8yMiPdnrJme3CjbyMAmUzKBv mzm6FV+nWgKrQjjUvVGJb7BYqdBcWhUWoW9CdD/6X7H/RcdeDDK0+id7y2Yqc+clAu0foQyTK LTD884jttymIoSz9NfBpKkMfRMvY7qea0SMcca6VqUvouHqz3XQq9Xs1WADSZX6ql6obHYu+3 PLTsfNtcux7+Cljv1dajTBcAIl/63UldVjqH+u/AyFF3CGZwawXt62GKIAWanQSbZKYyWOEQv EU22k4+hAHub93PBfrmM9GWw5njIlCS1w70o7R255dRqiBurepWY+5DgfxKUonjFQAHWX23N4 rfsZx40YFvMArYB+cRTG0YaL4C/JEj8sUC3GUHuOm10zm2p51+HiDmqGclUVOeW+QFgm0Hf/s nQqxUsHTRLYUmeCl1w1LoTUA3Mbpv5JVnPmzm0C2jv/H68EvDGOAT6Yd9oM6bRze6Z5pRqBkA Jv7TZ3Q3KWEiMzSdrESGi9hi8i8jYmUAC9HFrTAxV5ELJOOc7PnGfEnHQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 49809 Cc: Okam , 49809@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.7 (-) Stefan Monnier writes: > > I don't recall why it was not achievable to make `pcase-let' > > reliably error for non-matching patterns. > > The main difficulty is to convince me that it's a good idea. Oh - that thing again ;-) Writing down pcase patterns is a bit more error-prone for quite a few people than writing other Lisp expressions (agreed?). If non-matching patterns don't error and silently just cause undefined behavior, it's later harder to find out what went wrong and where. Problems may show up only much later and then it's harder to locate the cause. Undefined behavior has no use per se, unless it has a larger impact on efficiency. And why again do you think it is not a good idea? Michael. From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 11 17:57:47 2021 Received: (at 49809) by debbugs.gnu.org; 11 Aug 2021 21:57:47 +0000 Received: from localhost ([127.0.0.1]:36827 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDwEM-0002XF-PI for submit@debbugs.gnu.org; Wed, 11 Aug 2021 17:57:47 -0400 Received: from quimby.gnus.org ([95.216.78.240]:34368) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDwEL-0002X0-2U for 49809@debbugs.gnu.org; Wed, 11 Aug 2021 17:57:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=pbwdaT8pHo4+HWcgo6iBl0GUKJ4nva/+Ccr2hC1IOJ0=; b=qTVzfIBn/6RTGz163eIYMpfqRC a9TYr55oHHcapWCF+RhV9640YbHYUkCtdjXLTW0K22hsMwAdt39VpeCN2KQ6hH0QAwtA+VMNhe44f msBQtp4oFzFZUEXnqvCou8EWfVe63dhrOJxz9sUD0IhSi1aPEnOC1L5jMbZQXLWC+8Vs=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mDwE8-00050n-3x; Wed, 11 Aug 2021 23:57:36 +0200 From: Lars Ingebrigtsen To: Michael Heerdegen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87eeb6dmvo.fsf@web.de> Date: Wed, 11 Aug 2021 23:57:29 +0200 In-Reply-To: <87eeb6dmvo.fsf@web.de> (Michael Heerdegen's message of "Sat, 07 Aug 2021 04:11:55 +0200") Message-ID: <87czqjod9y.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Michael Heerdegen writes: >> +(defmacro pcase-setq (pat val &rest args) >> + "Assign values to variables by destructuring with `pcase'. >> + >> +\(fn PATTERN VALUE PATTERN VALUE ...)" Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49809 Cc: okamsn@protonmail.com, 49809@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Michael Heerdegen writes: >> +(defmacro pcase-setq (pat val &rest args) >> + "Assign values to variables by destructuring with `pcase'. >> + >> +\(fn PATTERN VALUE PATTERN VALUE ...)" It seems like there was general agreement to adding this, so I've now applied Earl's patch, with the following addition to the doc string: > Can we maybe enhance the docstring a bit? I think we should at least > cover these points: > > - The PATTERNs are normal `pcase' patterns, the VALUES are expressions. > > - Evaluation happens sequentially as in `setq' (not in parallel) > > - When a PATTERN doesn't match it's VALUE, the pair is silently skipped > (completely, no partial assignments are performed, AFAIU) > > Maybe adding a simple example would not be too bad as well? Stefan Monnier writes: > The result is the same whether `pcase-setq` assigns nil or doesn't touch > the vars, so this test is not very effective. I'd rather do: > > (should (equal (list nil nil) > (let ((a 'unset) > (b 'unset)) > (pcase-setq `(,a ,b) nil) > (list a b)))) I've also added this to the tests, but what it actually returns instead... > But Michael points out that it seems your code won't perform the > assignment if the pattern doesn't match, which I find to be an > odd behavior. > > I'd expect a behavior like that of `pcase-let`, instead. ... because I have no opinion here, really -- behaving like `pcase-let' would be good, but on the other hand, the current behaviour also kinda sorta makes sense. So feel free to adjust the behaviour (or not). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 11 17:57:51 2021 Received: (at control) by debbugs.gnu.org; 11 Aug 2021 21:57:51 +0000 Received: from localhost ([127.0.0.1]:36830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDwER-0002XW-3I for submit@debbugs.gnu.org; Wed, 11 Aug 2021 17:57:51 -0400 Received: from quimby.gnus.org ([95.216.78.240]:34380) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDwEO-0002X5-CE for control@debbugs.gnu.org; Wed, 11 Aug 2021 17:57:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=T9nKrin6zCBpR20Ajf/EMTwIC3SaJo1Yo+7dfbWzrFI=; b=la+qG4L5UfZMiY9Sg8r2e4VHo/ 3lKLTiwjgHvSlhwiObHbDaVe+Bhes0DbFjO7sYXRnz85GIi7L7Ba9r3C+QBZusVc62ImBKYozWinO eGeKe95+Rlsthp+PGON01jg2LDTDVE/uXtXUzkK90j+otgqJuMJUvuqi33AXUlzh0OS0=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mDwEG-00050x-B6 for control@debbugs.gnu.org; Wed, 11 Aug 2021 23:57:42 +0200 Date: Wed, 11 Aug 2021 23:57:39 +0200 Message-Id: <87bl63od9o.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #49809 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 49809 28.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) close 49809 28.1 quit From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 12 02:13:52 2021 Received: (at 49809) by debbugs.gnu.org; 12 Aug 2021 06:13:52 +0000 Received: from localhost ([127.0.0.1]:37182 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mE3yS-0002XC-8X for submit@debbugs.gnu.org; Thu, 12 Aug 2021 02:13:52 -0400 Received: from mout.web.de ([212.227.15.14]:35287) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mE3yQ-0002Wx-DQ for 49809@debbugs.gnu.org; Thu, 12 Aug 2021 02:13:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628748820; bh=chx+q9LzI/mQUho84YgthjV+ivr4tIoNH+TiiU35jgg=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=pgiVdg7kKZKtO6LIUUcbMCI17uiTv3SF5uu2uQ/JEz91mF9xBy6AX1+0FpodBjVWY QZxKZd1a+wlujLZp4lKNv9HhGIpnIFMrqMM5Kj+9AMy7XbfuvcOwIZHwQ7etA93L6Z vTBTm6t2qWDwkMozn5Mj+vutEF8W3TjeQI0eT4Ao= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MRA59-1mgPZE3evP-00UYYL; Thu, 12 Aug 2021 08:13:39 +0200 From: Michael Heerdegen To: Lars Ingebrigtsen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87eeb6dmvo.fsf@web.de> <87czqjod9y.fsf@gnus.org> Date: Thu, 12 Aug 2021 08:13:36 +0200 In-Reply-To: <87czqjod9y.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 11 Aug 2021 23:57:29 +0200") Message-ID: <87wnor5gxb.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:sp+oAxbRUdY71HwYuQ6Ui6R3YrUqMOoaU0UMWlyLULzyvyURfbo W1Vkx/lPiUKLxXJDQyK2jlASu5UwpbdtTsWoozgBLtbeQP7R0NhOdvq2v7lgJFt1ivQZO8f 1JtRb4wiTB+dCnG2LcyBO1RvMUp9fTTNJzw0irsDLGml0Tuwk4cWYA1oTcHZ3Xbb9ZGr4Os Us7VS5stlPUM233HyWVLg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:1Teqn78xrO0=:LYwLfp6i9jtOlHdJeyTnVd fCKL1F5ZDO2cBsKVjM+u4amnBfuPVdRkETAQNelK7YhzRFbKJn5EgKYjl7e0BZaIkJW5Jo67N Zg3bj6yanmwCFKM9GC3vPVrzZQd5Q9FXMgYph8WB/vceYGFKnEOWhotpzxswK0NsOXHszm5Th YIBqFyxonwxsQDYLFRnykOB2/mRf+06AsnV/aHT8svmOG9YoEWtWH48V4xg3e7eZfKwQLSvKA SJQZMV/QOGJcAV/VS1YbGtyFzyc3Y+V4AypwFz+FMhpmQu2PpXlSXP6Ve7f98CL6IyZ0VKecT w7I9Gx8+gjXWd5fiXE7J1QhBm/yVd5XtdPeiV1EK5kKhQrblmh592rWwoY9jqWeG5tZdCBKkE /DP+QmivlgGLBmLKvfW9sNdPdeBOsFw0mjC9+zuEgPkUMZ65aN/l4AqYv4VTaJVOl9pObcb/X ftcGqLUHZLsLqJqBXVclFy9hbcpF6qqkrzJIv6Kc4pVi5uUEehxf+4RfKrBtua04SmBo3NWBm DkESAVplC4EcvtgjgVNKLx37S5LS3MGmtEXBLaT2xBIDecHVLUOAa0zYtoXFx4cX/o/fW9/9h d14BBQ40M8Rt5PtM4KpRJ512OxaqxVjTVTIEgAUyOU41sRJxq1IX/GRXhZ5MQxFyfspr76fNy +aIhI9NX67HKjg3kM4cbD5UcMXGzXQKvfQLpQJdbtUWZb2nzT754+WTpcVxXt5jZQLPGiqW1X jdZHgRCGTsZkMQfByzjTEC4MFM4caXnGLW/LvoJxOmJUeuJVyr4fEPi84Nky1wLkDNswkWRW7 cki5NHcxLYrkBGkB+O531hrNVr/fclGIVvuBdKuovPjVbk8BPBLjjD7kSio4S9H54Y4wZ+1WZ 66XH+ziaa41m1e0LV4kIxjYH0J/yQZr5nmdy0MZpPd97sYr8560FXjU5WQgWLXCf1J/oYcxYR SSq7ZBX10Rq9wNhaRlxdLmoV0R7xa2MzwMq5LtqIbKO5MHhqnyA5PQYTpIzg9DbTMzPE4A7UX Xv7ziRCQDXPsI/jKYJ2HyM7j+zzOBR1UKmXm854oaWEHaZ4NWVN5BjVy30MArEPRPQeGIYQQC Ccn9QF/B1rMECEGfiHtJcPWC2fv5oXaT7lcs/EKvVPs5HTAZb1KAlw6QA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 49809 Cc: okamsn@protonmail.com, 49809@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Lars Ingebrigtsen writes: > > But Michael points out that it seems your code won't perform the > > assignment if the pattern doesn't match, which I find to be an > > odd behavior. I hope that this is even true in all cases. > > I'd expect a behavior like that of `pcase-let`, instead. > > ... because I have no opinion here, really -- behaving like `pcase-let' > would be good, but on the other hand, the current behaviour also kinda > sorta makes sense. Here is something else that is odd: (let ((a 17) (b 17) (x 17)) (pcase-setq (or `((,a) [(,b)]) x) '((1) [(2)])) (list a b x)) ;; ==> (1 2 nil) The first `or' branch matches, nevertheless is the binding of `x' being set to (a totally unrelated value) nil which doesn't make much sense. Michael. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 12 08:11:47 2021 Received: (at 49809) by debbugs.gnu.org; 12 Aug 2021 12:11:47 +0000 Received: from localhost ([127.0.0.1]:37738 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mE9Yj-0007hh-0z for submit@debbugs.gnu.org; Thu, 12 Aug 2021 08:11:47 -0400 Received: from mail-40133.protonmail.ch ([185.70.40.133]:13361) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mE9Yd-0007hQ-I7 for 49809@debbugs.gnu.org; Thu, 12 Aug 2021 08:11:39 -0400 Date: Thu, 12 Aug 2021 12:11:22 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1628770288; bh=Tumpv6PaCB43PRw2vY2qJwg/jkJ3RbR/iOTbd47w8WM=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=nHwFXrdTeaocExOOy+lPpYxJZKV3QsgajewDg3qgut0vMrqME6UD8GsU74x12TSaq TxuMzQqkppnFzLqkGUVF8AgjXwbtRTitX2gOmqy6ITA3bz1dfEap+EI0z463Emt9XA b6N0IaV+35aGs+8LJpH6aP+s7J5qc9j1Hd2tlRYY= To: Michael Heerdegen , Lars Ingebrigtsen From: Okam Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: <142fe5f4-663d-4236-a77c-0fcdfa528280@protonmail.com> In-Reply-To: <87wnor5gxb.fsf@web.de> References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87eeb6dmvo.fsf@web.de> <87czqjod9y.fsf@gnus.org> <87wnor5gxb.fsf@web.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_oyHqsnTW3A0iXH4zilK0KI2w3S6BblP2L9PHiyItmA" X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49809 Cc: 49809@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Okam Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_oyHqsnTW3A0iXH4zilK0KI2w3S6BblP2L9PHiyItmA Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 8/12/21 2:13 AM, Michael Heerdegen wrote: > Lars Ingebrigtsen writes: > >>> But Michael points out that it seems your code won't perform the >>> assignment if the pattern doesn't match, which I find to be an >>> odd behavior. > > I hope that this is even true in all cases. > >>> I'd expect a behavior like that of `pcase-let`, instead. >> >> ... because I have no opinion here, really -- behaving like `pcase-let' >> would be good, but on the other hand, the current behaviour also kinda >> sorta makes sense. > > Here is something else that is odd: > > (let ((a 17) > (b 17) > (x 17)) > (pcase-setq (or `((,a) [(,b)]) > x) > '((1) [(2)])) > (list a b x)) ;; =3D=3D> (1 2 nil) > > The first `or' branch matches, nevertheless is the binding of `x' being > set to (a totally unrelated value) nil which doesn't make much sense. > > > Michael. > I think that the behavior makes sense for a pattern-matching `let` and maybe not so much for a destructuring `setq`, which was my intended use case. I think that it is different because the effects of the `pcase-setq` form could be less temporary than the effects of the `pcase-let` form. If thought of as a destructuring `setq`, then I see the value in signaling an error when a pattern doesn't match, as you said, but I guess that would be inconsistent with the value assignments that `or` generates. I've attached an example version that would set all of the named variables to nil before assigning values from the pattern, but I feel like it is not the best behavior. Please correct my understanding if that is not what was meant by "a behavior like that of `pcase-let`". --b1_oyHqsnTW3A0iXH4zilK0KI2w3S6BblP2L9PHiyItmA Content-Type: text/x-emacs-lisp; name=pcase-setq-example.el Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=pcase-setq-example.el KHJlcXVpcmUgJ3BjYXNlKQ0KDQooZGVmbWFjcm8gcGNhc2Utc2V0cSAocGF0IHZhbCAmcmVzdCBh cmdzKQ0KICAiQXNzaWduIHZhbHVlcyB0byB2YXJpYWJsZXMgYnkgZGVzdHJ1Y3R1cmluZyB3aXRo IGBwY2FzZScuDQoNCkVhY2ggUEFUVEVSTiBhbmQgVkFMVUUgaXMgaGFuZGxlZCBzZXF1ZW50aWFs bHkuICBQQVRURVJOIGlzIGENCm5vcm1hbCBgcGNhc2UnIHBhdHRlcm4uICBWQUxVRSBpcyBhbiBl eHByZXNzaW9uLg0KDQpJZiBhIFBBVFRFUk4gZG9lcyBub3QgbWF0Y2ggaXRzIFZBTFVFLCB0aGVu IHRoZSB2YXJpYWJsZXMgaW4NCnRoYXQgUEFUVEVSTiBhcmUgc2V0IHRvIG5pbC4NCg0KXChmbiBQ QVRURVJOIFZBTFVFIFBBVFRFUk4gVkFMVUUgLi4uKSINCiAgKGRlY2xhcmUgKGRlYnVnICgmcmVz dCBbcGNhc2UtUEFUIGZvcm1dKSkpDQogIChjb25kDQogICAoYXJncw0KICAgIChsZXQgKChhcmct bGVuZ3RoIChsZW5ndGggYXJncykpKQ0KICAgICAgKHVubGVzcyAoPSAwIChtb2QgYXJnLWxlbmd0 aCAyKSkNCiAgICAgICAgKHNpZ25hbCAnd3JvbmctbnVtYmVyLW9mLWFyZ3VtZW50cw0KICAgICAg ICAgICAgICAgIChsaXN0ICdwY2FzZS1zZXRxICgrIDIgYXJnLWxlbmd0aCkpKSkpDQogICAgKGxl dCAoKHJlc3VsdCkpDQogICAgICAod2hpbGUgYXJncw0KICAgICAgICAocHVzaCBgKHBjYXNlLXNl dHEgLChwb3AgYXJncykgLChwb3AgYXJncykpDQogICAgICAgICAgICAgIHJlc3VsdCkpDQogICAg ICBgKHByb2duDQogICAgICAgICAocGNhc2Utc2V0cSAscGF0ICx2YWwpDQogICAgICAgICAsQChu cmV2ZXJzZSByZXN1bHQpKSkpDQogICAoKHBjYXNlLS10cml2aWFsLXVwYXQtcCBwYXQpDQogICAg YChzZXRxICxwYXQgLHZhbCkpDQogICAodA0KICAgIChsZXQqICgocGNhc2Utc2V0cS11bmlxdWUt dmFycyBuaWwpDQogICAgICAgICAgIChleHBhbnNpb24NCiAgICAgICAgICAgIChwY2FzZS1jb21w aWxlLXBhdHRlcm5zDQogICAgICAgICAgICAgdmFsDQogICAgICAgICAgICAgKGxpc3QgKGNvbnMg cGF0DQogICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAodmFydmFscyAmcmVzdCBfKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGZsYXQtdmFyLXZhbC1saXN0KSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvbGlzdCAodmFydmFsIHZhcnZhbHMpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHZhciAoY2FyIHZhcnZhbCkpDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbCAoY2FkciB2YXJ2YWwpKSkNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bmxlc3MgKG1lbXEgdmFyIHBjYXNlLXNl dHEtdW5pcXVlLXZhcnMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXNo IHZhciBwY2FzZS1zZXRxLXVuaXF1ZS12YXJzKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChwdXNoIHZhciBmbGF0LXZhci12YWwtbGlzdCkNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChwdXNoIHZhbCBmbGF0LXZhci12YWwtbGlzdCkpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBgKHNldHEgLEAobnJldmVyc2UgZmxhdC12YXItdmFsLWxpc3QpKSkp KSkpKSkNCiAgICAgIGAocHJvZ24NCiAgICAgICAgIChzZXRxICxAKG1hcGNhbiAobGFtYmRhICh4 KSAobGlzdCB4IG5pbCkpDQogICAgICAgICAgICAgICAgICAgICAgICAgcGNhc2Utc2V0cS11bmlx dWUtdmFycykpDQogICAgICAgICAsZXhwYW5zaW9uKSkpKSkNCg== --b1_oyHqsnTW3A0iXH4zilK0KI2w3S6BblP2L9PHiyItmA-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 12 11:06:58 2021 Received: (at 49809) by debbugs.gnu.org; 12 Aug 2021 15:06:58 +0000 Received: from localhost ([127.0.0.1]:39666 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mECIM-0004ew-1X for submit@debbugs.gnu.org; Thu, 12 Aug 2021 11:06:58 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:49491) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mECII-0004eh-Js for 49809@debbugs.gnu.org; Thu, 12 Aug 2021 11:06:56 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 697151001FC; Thu, 12 Aug 2021 11:06:48 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 3ECC41001CF; Thu, 12 Aug 2021 11:06:47 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628780807; bh=nGHXH3SuUSR1lzPpCqxj7JC4tC116/wLXdpHmefUBFI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=JLJ/EC7Sm6uhyzMaoT2lbCrM6K6H9jFfF/pRgAKTmtt65qyDRlWFPRFA/PxJPat0z pMo/wOblnQ2sYYo6/V/GkohNfjsAXETlIh7CaEq7OKTCA0Xsm8ibETiAh97vwr/OG/ qceN407GyhnP2z3BhD7eIzoUzoWwYM/iSNA7DEK+5y0OHn4eKJPqNBOrKFdm0kLk+Z rvXyDGF+c/3DiKHhQ5u68vmIPOuYbXfbhW6Vw+AZZY7v/hvn4q5LGWSttxElpJ4D8J 3+1Mvr8tDBHb9uMCd82dRnns8WjrZcILDNrhoEqO0rOGsx5GgvtpdjXl/T5V8UJf5+ Xl3w8K4WbczZw== Received: from alfajor (104-222-120-40.cpe.teksavvy.com [104.222.120.40]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 0AE121203C5; Thu, 12 Aug 2021 11:06:47 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87eeb6dmvo.fsf@web.de> <87czqjod9y.fsf@gnus.org> <87wnor5gxb.fsf@web.de> Date: Thu, 12 Aug 2021 11:06:36 -0400 In-Reply-To: <87wnor5gxb.fsf@web.de> (Michael Heerdegen's message of "Thu, 12 Aug 2021 08:13:36 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.046 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: 49809 Cc: okamsn@protonmail.com, 49809@debbugs.gnu.org, Lars Ingebrigtsen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > (pcase-setq (or `((,a) [(,b)]) > x) > '((1) [(2)])) > (list a b x)) ;; ==> (1 2 nil) If you want to do different things depending on which pattern matches you should use `pcase` rather than `pcase-setq` (or `pcase-let` for that matter). Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 12 12:14:11 2021 Received: (at 49809) by debbugs.gnu.org; 12 Aug 2021 16:14:11 +0000 Received: from localhost ([127.0.0.1]:39813 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEDLP-0002V1-BI for submit@debbugs.gnu.org; Thu, 12 Aug 2021 12:14:11 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:20845) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEDLL-0002U9-0E for 49809@debbugs.gnu.org; Thu, 12 Aug 2021 12:14:10 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 2406A1001FC; Thu, 12 Aug 2021 12:14:01 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id D62D2100091; Thu, 12 Aug 2021 12:13:59 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628784839; bh=MsPOJl2u0KXuIT+HKAoGJYXJc7M7st7eaVfydtjkzcI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=lUn6n3hhkcVNFIlc3id2AU7WPbQlKew2kBFLudu0WRa7Mk9U3/RXNIKDzu4sFk+lz kfafma5dWl4WkiAzMY7zqCHly478zHUw0vgFSEeKzKsvYpy/9dgYzlnlVuDMji9res 2hMlg7ofTykNxQ0/iStLqS/jjAe46t7rU2A5AS1n4brKGmTiSBeFn3hDfeuEZUnu1K 3r8Z/syjdoiGeY1KTGdAeTLJU/oKbgxNKFRqzEBjiuJvr80jo0whkAJ4hu+U8qUt8K v92HG/hutkskP/+tWX8zeveNMC3/0G2pUgCMgKfPtYR1zeTkVWwbxvwZv4VZo85Wpc jSlYdAY4eqaoQ== Received: from alfajor (104-222-120-40.cpe.teksavvy.com [104.222.120.40]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9F1D21203D8; Thu, 12 Aug 2021 12:13:59 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87im0fwjep.fsf@web.de> <87eeb22drs.fsf@web.de> Date: Thu, 12 Aug 2021 12:13:58 -0400 In-Reply-To: <87eeb22drs.fsf@web.de> (Michael Heerdegen's message of "Tue, 10 Aug 2021 05:13:11 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.046 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: 49809 Cc: Okam , 49809@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 (---) > Undefined behavior has no use per se, unless it has a larger impact on > efficiency. There is indeed a significant difference in efficiency. E.g. the code for (pcase-let ((`(,x ,y) (EXP))) (VAL x y)) looks like: byte code: args: nil 0 constant EXP 1 call 0 2 dup 3 car-safe 4 stack-ref 1 5 cdr-safe 6 dup 7 car-safe 8 stack-ref 1 9 cdr-safe 10 stack-ref 3 11 stack-ref 2 12 constant VAL 13 stack-ref 2 14 stack-ref 2 15 call 2 16 return Instead of: byte code: args: nil 0 constant EXP 1 call 0 2 dup 3 consp 4 goto-if-nil-else-pop 3 7 dup 8 car-safe 9 stack-ref 1 10 cdr-safe 11 dup 12 consp 13 goto-if-nil-else-pop 2 16 dup 17 car-safe 18 stack-ref 1 19 cdr-safe 20 dup 21 not 22 goto-if-nil-else-pop 1 25 stack-ref 3 26 stack-ref 2 27 constant VAL 28 stack-ref 2 29 stack-ref 2 30 call 2 31 discardN-preserve-tos 2 33:1 discardN-preserve-tos 2 35:2 discardN-preserve-tos 2 37:3 return For a semantic where the let is skipped when the pattern fails to match and byte code: args: nil 0 constant EXP 1 call 0 2 dup 3 consp 4 goto-if-nil 3 7 dup 8 car-safe 9 stack-ref 1 10 cdr-safe 11 dup 12 consp 13 goto-if-nil 2 16 dup 17 car-safe 18 stack-ref 1 19 cdr-safe 20 dup 21 goto-if-nil 1 24 stack-ref 4 25 constant error 26 constant "No clause matching `%S'" 27 stack-ref 2 28 call 2 29 return 30:1 stack-ref 3 31 stack-ref 2 32 constant VAL 33 stack-ref 2 34 stack-ref 2 35 call 2 36 return 37:2 stack-ref 2 38 constant error 39 constant "No clause matching `%S'" 40 stack-ref 2 41 call 2 42 return 43:3 dup 44 constant error 45 constant "No clause matching `%S'" 46 stack-ref 2 47 call 2 48 return For the semantics where we signal an error when the pattern fails to match. > And why again do you think it is not a good idea? Because if you want different behaviors when the pattern matches and when it doesn't, you should use `pcase`. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 12 22:55:59 2021 Received: (at 49809) by debbugs.gnu.org; 13 Aug 2021 02:55:59 +0000 Received: from localhost ([127.0.0.1]:40166 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mENMS-0001Lg-0R for submit@debbugs.gnu.org; Thu, 12 Aug 2021 22:55:59 -0400 Received: from mout.web.de ([212.227.15.14]:34155) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mENMM-0001LO-5X for 49809@debbugs.gnu.org; Thu, 12 Aug 2021 22:55:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628823341; bh=WdSlQTtw5r7Yr/J794o6wcsMjxDRv3vAlSbqovIkkjY=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=rE4gZ8JkBnsvuJxKEQ6c1WkEvXZyrDspqmUTHwfH1pp+ICKKVnBu4jmEiB0G/7YZu A+1SLQmof/T8qG2fZHQr76TxEFnt68Yu+K4ZVFQgoOyzcGOGXS1vhSR+1BAgDwXjag hDZdZxCpRKgOLl7yTJoGlQ7/9d7FyaU6IJgmMoKw= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MKdHE-1mWzdQ3NjY-00KtlM; Fri, 13 Aug 2021 04:55:40 +0200 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87eeb6dmvo.fsf@web.de> <87czqjod9y.fsf@gnus.org> <87wnor5gxb.fsf@web.de> Date: Fri, 13 Aug 2021 04:55:39 +0200 In-Reply-To: (Stefan Monnier's message of "Thu, 12 Aug 2021 11:06:36 -0400") Message-ID: <87r1eyvys4.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:SMMgQtOUG9l1B3qKIL6P85piP5V0o3kcEGo5sPXkBSxe2i/dOMl N1v1BiNejXFwe3kHckifjS3g0A/eKPPyKO3fEjOZORsAWw0j1MJ/Xcobh0Ji+rdFdsJziRN apzNWU8pSkK6pHViFRHorP2eQa7VWu7lUVaGPV2XV/aJrh2QExbTfUAJhoBm6mwq2CSFLjs 4hPxy0dFfU7ugJN5rBWrg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:mm291dHrP28=:trxAm9Uy1eZDdRrFKORxUh keBb+oIo5+1bOZR9Dp2Mtkc/lb1QC9i/QKtZmfw+iVOkukHv9L8htSuIAZPm74mTTMA200ci7 CYs3APFE45egQiVIIKagRHpgbKMeU3BAZhjS/cbD5mpFc1irmjLzx5FB2mz+P6ic6SQHfzfpB LgownNKqvW9Dqo0ZtU5PLbJBJ8l3py5x4SHOqXlDC3FYEHSnOakcT3/6TlbhCsKCExxv+Xqs9 FrW/hRcUfGfs4eKoQBhF3OtHPqPOzhf+3+GI0BDufMVAyhblUeVpzW0nxa/so0jkQReR93sJq hyJq9N4ddOWdOzsvo3PTq/eLgJ1H2vGD1HSKukBnKJJxwxmPvfS+GRbSwGoOY2BRpc6MufMsW ouCt2CKaKJsatakFq75ycDtQAMozLKqK9KDS8fJRE40y4C2xIFvfJ1KguNj4HpKPzikQYxHRA e1uegOh7OmKMNGMZ1BJGsVyfGHrG9bU96xoaSAQTomOSEwfMaQCHo0ei/gTYy2ilYYV3XSnf7 GA23n91FvSQFWogrM1MWmHgxRNjmzunvQSrYlof74OZvfgdmaKxByM5dq8Vl5+2vy/1MCWFNH +TPcmSdfYYeOROy0pJ8MMxmjytlMGwbRHlPnFGRvJj7bFUG4jD00ztyGhkQ0xKp8TXT1WLjpN bu6wAES90PNG19KTUBZU7LJOS4jyEZlJhG1YaGv73zcMilzXG4ovFbTYcEyNOwk3xLnhWYd/D /MVX2W3rvNKkWktJcvaa4Qhbbdpne9ToAc4HiTIMPTkm/8HRO/XvvAREWgIv4kB8VtaCvLAA+ pyxDba5rmZLWG5vwRqFhN1Dc579D4JnHpSnp8BvBZojRYN78+KOwbvo06C6FJF/EGUHnkJR2A 46kyr52M5q0CTrD3wN1AbzQs4L/Tnns+9eQknZB/Df4v5B0DVv7yoFw/2omYSjg50AOasF7hU 5ZjGLSh4Z9mAipZ0sqI8606uQJJyb5ybsjyvnLuW8be5ZZFOQE5NiPRa+U0eVblOC5eteEiOP 3e95ckJdfhX/rLwbVlpV3/beMiRw+1rB0oyMhgg0OqG2Uje0VRvm5TOl2fe/mNWCu/uyyAgMI bpWLGuSmR/7B/hvwuuxeMNfdGAuyLuo91uB6QqJOgwndN5U3DDwBp/rnQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 49809 Cc: okamsn@protonmail.com, 49809@debbugs.gnu.org, Lars Ingebrigtsen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Stefan Monnier writes: > > (pcase-setq (or `((,a) [(,b)]) > > x) > > '((1) [(2)])) > > (list a b x)) ;; ==> (1 2 nil) > > If you want to do different things depending on which pattern matches > you should use `pcase` rather than `pcase-setq` (or `pcase-let` for > that matter). Is using a pattern like (or `[,a ,b] `[,a ,b ,_]) ok? Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 13 01:17:44 2021 Received: (at 49809) by debbugs.gnu.org; 13 Aug 2021 05:17:45 +0000 Received: from localhost ([127.0.0.1]:40342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEPZd-00058D-3r for submit@debbugs.gnu.org; Fri, 13 Aug 2021 01:17:44 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:63766) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEPZX-00057u-Ge for 49809@debbugs.gnu.org; Fri, 13 Aug 2021 01:17:39 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 5BEBB440871; Fri, 13 Aug 2021 01:17:29 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 1F3BE44083C; Fri, 13 Aug 2021 01:17:24 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1628831844; bh=6R4YwPEUkXkwBDGSStsw+AseWlkC7R3XZ12H/amryZM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=CuLKjPtNCM4FmK89xHzYt8JGUPjGX3V3f9tErS/+u+Gs9XE8s0e2IBJAdRTHuTkY4 UbRlG5QrolPfKu5LBneHhmDQ9ZCE9A/wJSX/sB9eGmSPGVHLpXZnn4Jl47023Tn9lZ 6cHB4HZshpQ+eXPDMOblD9yHLJXTpzGZatTIG7GuK0Z9n3NnO24mNu2OJt3B++GePC siL7u9Fyf2Cokl0Nf7If48exUpAuTV1/17H7YZZF/3DggSH/iwDONDdeB70ImjkyJS tbKuGP1DPBszdEMmqiKlpcabVBUrDSnpu/qRhGhuyHk3EWVN0NKDmSNkvjiKkTQMZZ Yo1YaNAEUdHzw== Received: from alfajor (104-222-120-40.cpe.teksavvy.com [104.222.120.40]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D2F9A12029C; Fri, 13 Aug 2021 01:17:23 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' Message-ID: References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87eeb6dmvo.fsf@web.de> <87czqjod9y.fsf@gnus.org> <87wnor5gxb.fsf@web.de> <87r1eyvys4.fsf@web.de> Date: Fri, 13 Aug 2021 01:17:23 -0400 In-Reply-To: <87r1eyvys4.fsf@web.de> (Michael Heerdegen's message of "Fri, 13 Aug 2021 04:55:39 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.087 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: 49809 Cc: okamsn@protonmail.com, 49809@debbugs.gnu.org, Lars Ingebrigtsen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Michael Heerdegen [2021-08-13 04:55:39] wrote: > Stefan Monnier writes: >> > (pcase-setq (or `((,a) [(,b)]) >> > x) >> > '((1) [(2)])) >> > (list a b x)) ;; ==> (1 2 nil) >> >> If you want to do different things depending on which pattern matches >> you should use `pcase` rather than `pcase-setq` (or `pcase-let` for >> that matter). > > Is using a pattern like > > (or `[,a ,b] `[,a ,b ,_]) > > ok? Of course, tho it does the same thing as just `[,a ,b], only less efficiently. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 13 01:26:24 2021 Received: (at submit) by debbugs.gnu.org; 13 Aug 2021 05:26:24 +0000 Received: from localhost ([127.0.0.1]:40355 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEPi4-0005Lx-I1 for submit@debbugs.gnu.org; Fri, 13 Aug 2021 01:26:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:38234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEPi2-0005Lp-P5 for submit@debbugs.gnu.org; Fri, 13 Aug 2021 01:26:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50378) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEPi2-0004ZH-Ic for bug-gnu-emacs@gnu.org; Fri, 13 Aug 2021 01:26:22 -0400 Received: from mout.web.de ([217.72.192.78]:60199) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEPi0-0004CI-Tw for bug-gnu-emacs@gnu.org; Fri, 13 Aug 2021 01:26:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1628832364; bh=OVtmRiVo0Vsi4wZbNJIaJypwh1NRX5/Gxq1zN+dccfk=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=DXTSDaI9cLP9QDFJ70ASeMOmOBmgrGbVnaOWGV2TmFjpSi8k1j4nxTUjWM4cqK/W3 gPGbLGgjsELYMQUSe/NPh7Xqxvaxwj26oSNWQBDktgdsM6zjxpx4Ego3PZtBG+n1zJ /CqxsuDkfSCpCWFG+z8WMnTrjFhrvFAZMxk5OJho= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0LzbLS-1n9Jdu2joo-014hlK; Fri, 13 Aug 2021 07:26:04 +0200 From: Michael Heerdegen To: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#49809: [PATCH] Add macro 'pcase-setq' References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> <87eeb6dmvo.fsf@web.de> <87czqjod9y.fsf@gnus.org> <87wnor5gxb.fsf@web.de> <87r1eyvys4.fsf@web.de> Date: Fri, 13 Aug 2021 07:26:03 +0200 In-Reply-To: (Stefan Monnier via's message of "Fri, 13 Aug 2021 01:17:23 -0400") Message-ID: <87mtplx6dw.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:gEckdj/31wqSSS+5Im8faf6jTv9S7UxQYn35pi/WUwhuzSPr0xp l8v+5smERV/b/MVyVZkXtNJEblnWYhPd2+ZG9jqoUmlleb1O6qmkPeZ9DdPaP5cCv+5RnoT 1Jx/TJWZFEbySSuWpHui/RXId6JOVwl4AitR9yT6BsSoPUYMAKsx4r8I9cCWOxzTB2y4oC3 FtgOXodeP3x6gmkIeWpXg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:DYhiMsizpHE=:3gNEu1tO8UbzwFMFX7mDti NbePmY1OWD1L2peUy2y0ngpZp7pDbyoWzYHVPHbpP/S2Q9N4+/tlv6pu1jVzm+CMzRXZG+rUF lRxjAY1CO54v2U1fkqdrToQf/WcWMtjdaTiscYoTKMhLSMK5m3nUE5oamph2COX6ce5faQ9rM yh9mhvsryF2xbDeGCcVriH0FGJC7hsJVnIxoLgls0Fo+s7Pv1E/miWbET08/6muREt1pRz6lM KmVqw06YO1jydDBqmV8BpiHo/iL++fk9JoQyKIAyBtSnh7AQcfgWKps4+ko1HOGPeU+9xSZuk h7OFbKsHKve4IPqxTLPn2HbWbK2L9njxcKKI5e2BKvPs5/8A2YossPBeprYDsR3RMHnLUGHpb 3TpnTn/JB1x7fMgbXGtmDKzgFK4cs4gsV5Obsm+SEa8BVqYzJ7Ze8tmU7rUwNT2YkRG3f8b6w gTP4ehlf1Ic59wKc4H0jLyZGKAGipjyIC+lxn4lRJu6p9O7gXsS7VRH75G5wbsm1TQYfecSXK 5pWMxtoUTHtwMJRNrxZBKxvatl4tsVt9NCjHL5pmiLSvak6bb6GAN16CIh05pz07u09ChUYYH OvyuV+sezbgKaPc1NHhto0AiQDtkU5JKSBFJibzkyyMzHFKkiflQWGO4jONWH4K+MXnWR4X1m ksDT40nXDidpadJnlcQMprQZP9VSL6BgQrKt1qpNgNTE3OJJtPbwhy4Iy92RtyHPXQUKEivIJ ndmhkyzM+b1NiqGko0jgGYbdotaCzE9IHcdaNSjmv3utXwMYl82ougP4FDPZIhl+alFpy24aL U6lWYRiQ2JVWNHuCv4gUAwtLG8bP6xkOy6zpN/3k73i5A96Z7N3REJQMjKcFP+gM7tzAEhb2F 29JT5OnELOZTMg1lzu8cXX2vyeN37rxymSFQpwkcMLvePOzxK1rBnehWOIi58MwfMcT+W3n9N 4t9e5u+fkg1EJnDmf/xp/+RtFmkNnv2PhIBJ5IHnwyeputo+Jg+WMoUDqLKIaLhsuyZsBWlNo VQ8nFWzKZoESz7O5Ugi9F5/gWq2b/jwO4rAjANBmre8DK1R7XyazuDL8xkPYcsUuTIu2Y51cX tLg/o3tTW2jh0VFRAWJ/1TNG6HSAbaLJgv/UZaxSIzT8rBNj5sCD32kTQ== Received-SPF: pass client-ip=217.72.192.78; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: okamsn@protonmail.com, 49809@debbugs.gnu.org, Lars Ingebrigtsen , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > > Is using a pattern like > > > > (or `[,a ,b] `[,a ,b ,_]) > > > > ok? > > Of course, tho it does the same thing as just `[,a ,b], only > less efficiently. I see. Michael. From unknown Sat Jun 14 03:47:57 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 10 Sep 2021 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator