From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#49809: [PATCH] Add macro 'pcase-setq' Date: Sat, 07 Aug 2021 04:11:55 +0200 Message-ID: <87eeb6dmvo.fsf@web.de> References: <07ad5892-3343-4c35-00e3-9753bca5f67b@protonmail.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5019"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: okamsn@protonmail.com, monnier@iro.umontreal.ca To: 49809@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Aug 07 04:13:11 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 1mCBpn-00019Q-42 for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 07 Aug 2021 04:13:11 +0200 Original-Received: from localhost ([::1]:37378 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mCBpl-0005V5-2o for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 06 Aug 2021 22:13:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48902) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCBpe-0005Ua-Cw for bug-gnu-emacs@gnu.org; Fri, 06 Aug 2021 22:13:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40121) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mCBpe-00022p-6K for bug-gnu-emacs@gnu.org; Fri, 06 Aug 2021 22:13:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mCBpd-0006OI-Tx for bug-gnu-emacs@gnu.org; Fri, 06 Aug 2021 22:13:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 07 Aug 2021 02:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49809 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors" X-Debbugs-Original-Cc: Okam , 49809@debbugs.gnu.org, Stefan Monnier Original-Received: via spool by submit@debbugs.gnu.org id=B.162830234124511 (code B ref -1); Sat, 07 Aug 2021 02:13:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 7 Aug 2021 02:12:21 +0000 Original-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 Original-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 Original-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 Original-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 Original-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 In-Reply-To: (Okam via's message of "Fri, 06 Aug 2021 22:33:36 +0000") X-Provags-ID: V03:K1:9RKyVtQB/2qdxx6RIUqb57vwXe+hW4h7NZO1tFzoCHTGAFl4iR3 3OwlIzcIiIHPzH9zQhf0J8m6Uy4WZXpDIEH+mdF+vGQqKmHYIMqpciUcMd7pT9aPXHf+aWr HIK4/zuOYGfoO+SNjcHLzB59jdew6O1mkFdN+0SSZfAIvrNhuiCwrhACewjmW8Rz9GINNac ioP3Eyd0EUyaQASgcEA9g== 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/4zo0GBqqkXiXmNWR3Cs3HymQekKYH 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-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" Xref: news.gmane.io gmane.emacs.bugs:211357 Archived-At: 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.