From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#49809: [PATCH] Add macro 'pcase-setq' Date: Sun, 01 Aug 2021 17:20:41 +0000 Message-ID: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> Reply-To: Okam Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_cFUI0HIbL34XZalBv4DmgzerLoOxnTAkSgWSmqBfU" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13752"; mail-complaints-to="usenet@ciao.gmane.io" To: 49809@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Aug 01 19:21:19 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mAF9L-0003Ni-Cw for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 01 Aug 2021 19:21:19 +0200 Original-Received: from localhost ([::1]:43452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mAF9J-0007Ni-GX for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 01 Aug 2021 13:21:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52450) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mAF94-0007NW-GR for bug-gnu-emacs@gnu.org; Sun, 01 Aug 2021 13:21:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53626) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mAF94-0001ad-27 for bug-gnu-emacs@gnu.org; Sun, 01 Aug 2021 13:21:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mAF93-00066u-T6 for bug-gnu-emacs@gnu.org; Sun, 01 Aug 2021 13:21:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Okam Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 01 Aug 2021 17:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49809 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.162783846123460 (code B ref -1); Sun, 01 Aug 2021 17:21:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 1 Aug 2021 17:21:01 +0000 Original-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 Original-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 Original-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 Original-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 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= 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" X-ACL-Warn: , Okam Xref: news.gmane.io gmane.emacs.bugs:211050 Archived-At: 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--