Received: (at 71503) by debbugs.gnu.org; 21 Jul 2024 11:17:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 21 07:17:18 2024 Received: from localhost ([127.0.0.1]:54805 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sVUZ3-0007Rd-Qa for submit <at> debbugs.gnu.org; Sun, 21 Jul 2024 07:17:18 -0400 Received: from mout01.posteo.de ([185.67.36.65]:40137) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1sVUZ1-0007RP-9H for 71503 <at> debbugs.gnu.org; Sun, 21 Jul 2024 07:17:16 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 21552240029 for <71503 <at> debbugs.gnu.org>; Sun, 21 Jul 2024 13:17:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1721560627; bh=d1mXl20sg7Tvz1u7CW9gmumWDFBhXt7tXcfdHA+24SQ=; h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=Mb+0aoh8/njkKJr6dPnqrBCJSJDWHQzX2zGL0NqkxLnanxLiWyZF1kZI0SnIo5rea +ZII80lP5F6DyN4k975eTYG4tCLx3hIA+0v78D3Kt4NHfx/dTwA1dofGiPlf+fTccD n60J5puDi2N00W4bo8QeZxSYE7mHs+J5vbmrQ0XXqy+Q+5R50I06fgjVdRr/wFCQ1a U7OXhWmccifL7eKc52Qwf/Gx2R0tTP+u+8YWuaMNLHdCvzhGh+p4iurleF1NwtgVuD Ok1hvwDTIy7x68RnCnC/xWg07EPhLXavufUmvEQmsvYExewM/zYxhbzP1tYxHgiTxe vUV6L31/+jQDA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4WRgq61fvZz6tlh; Sun, 21 Jul 2024 13:17:06 +0200 (CEST) From: Philip Kaludercic <philipk@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected In-Reply-To: <86r0bocpd6.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 20 Jul 2024 13:46:45 +0300") References: <87r0d2lfjd.fsf@HIDDEN> <87h6dvud8u.fsf@HIDDEN> <86tthlidap.fsf@HIDDEN> <86frsn55t3.fsf@HIDDEN> <865xt0e6wc.fsf@HIDDEN> <87ikx0mk4c.fsf@HIDDEN> <86r0bocpd6.fsf@HIDDEN> OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66; url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66"; preference=signencrypt Date: Sun, 21 Jul 2024 11:17:05 +0000 Message-ID: <87zfqbkn9q.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71503 Cc: mekeor@HIDDEN, monnier@HIDDEN, 71503 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Eli Zaretskii <eliz@HIDDEN> writes: >> From: Philip Kaludercic <philipk@HIDDEN> >> Cc: mekeor@HIDDEN, monnier@HIDDEN, 71503 <at> debbugs.gnu.org >> Date: Sat, 20 Jul 2024 10:29:55 +0000 >> >> >> > > The difference is that pcase-lambda doesn't do case-distinction, but >> >> > > just pattern matching/destruncting. So if the pattern-matching fails, >> >> > > then the variable is just not bound, instead of the entire expression >> >> > > falling back to returning no value/nil. I am guessing you wanted to >> >> > > have something like Scheme's `case-lambda'[0]? Or we could >> >> > > clarify this >> >> > > point in the docstring. >> >> > >> >> > Would you mind suggesting a clarification for the doc string (and the >> >> > ELisp manual as well)? >> >> Sorry, I didn't realise you were pining me. I was thinking of something >> like >> >> diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el >> index 5a7f3995311..f546ba34c7c 100644 >> --- a/lisp/emacs-lisp/pcase.el >> +++ b/lisp/emacs-lisp/pcase.el >> @@ -241,9 +241,10 @@ pcase-exhaustive >> ;;;###autoload >> (defmacro pcase-lambda (lambda-list &rest body) >> "Like `lambda' but allow each argument to be a pattern. >> -I.e. accepts the usual &optional and &rest keywords, but every >> -formal argument can be any pattern accepted by `pcase' (a mere >> -variable name being but a special case of it)." >> +I.e. accepts the usual &optional and &rest keywords, but every formal >> +argument can be any pattern accepted by `pcase' (a mere variable name >> +being but a special case of it). Keep in mind that BODY is always >> +evaluated, regardless of whether the argument-patterns match or not." >> (declare (doc-string 2) (indent defun) >> (debug (&define (&rest pcase-PAT) lambda-doc def-body))) >> (let* ((bindings ()) >> >> but now I notice that `pcase-let*' documents that all expressions should >> match, >> >> Each EXP should match its respective PATTERN (i.e. be of structure >> compatible to PATTERN); a mismatch may signal an error or may go >> undetected, binding variables to arbitrary values, such as nil. >> >> Since `pcase-lambda' inherits these semantics we would have to propagate >> this promise -- or be more specific about what happens, e.g. binding >> values to nil. > > Thanks. If this still can be fixed by some documentation changes, I'd > prefer to do that. In that case I think it would be better to stick to a warning like the one in `pcase-let*'.. Stefan Monnier <monnier@HIDDEN> writes: [...] > I tend to call "any pattern accepted by `pcase'" a "Pcase pattern". > More importantly, we should refer to `pcase-let` rather than to > `pcase` here and we should likely use the term "destructuring (binding)". What do you think of: --=-=-= Content-Type: text/plain Content-Disposition: inline diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el index 5a7f3995311..fd6b0c8db5c 100644 --- a/lisp/emacs-lisp/pcase.el +++ b/lisp/emacs-lisp/pcase.el @@ -241,9 +241,14 @@ pcase-exhaustive ;;;###autoload (defmacro pcase-lambda (lambda-list &rest body) "Like `lambda' but allow each argument to be a pattern. -I.e. accepts the usual &optional and &rest keywords, but every -formal argument can be any pattern accepted by `pcase' (a mere -variable name being but a special case of it)." +I.e. accepts the usual &optional and &rest keywords, but every formal +argument can be any pattern destructed by `pcase-let' (a mere variable +name being but a special case of it). + +Each argument should match its respective pattern in the parameter +list (i.e. be of a compatible structure); a mismatch may signal an error +or may go undetected, binding arguments to arbitrary values, such as +nil." (declare (doc-string 2) (indent defun) (debug (&define (&rest pcase-PAT) lambda-doc def-body))) (let* ((bindings ()) --=-=-= Content-Type: text/plain > Stefan > -- Philip Kaludercic on peregrine --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at 71503) by debbugs.gnu.org; 20 Jul 2024 14:06:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 20 10:06:50 2024 Received: from localhost ([127.0.0.1]:53713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sVAja-0004b9-Gy for submit <at> debbugs.gnu.org; Sat, 20 Jul 2024 10:06:50 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:60029) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1sVAjZ-0004aq-5f for 71503 <at> debbugs.gnu.org; Sat, 20 Jul 2024 10:06:49 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id AD1794400B7; Sat, 20 Jul 2024 10:06:41 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1721484400; bh=W9gr0pIePc3axyk6u/4iLz6/zg0A7o8/Cd3dewW1m+A=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Ayu1yrx0gE0uBzbPfpuwpfb17wtoaguvJ/iekqMT9XAFZFxqxCqy+2P28AkUp9kA2 KTbLwH1RRHJsISHjHjjeadT0eDWt4627HJXrebtni9NyPtqOgfHRnrXjl5/if5hlh+ Q9iyK1tbr4oj8qz7ccG8svuITRIL9ZvtLG8yeLbBzZZpD9Nxl9ywSjM3g3L+tu/cgq gUTckyM5ERDtpE5ZhWvX8OmUvN1s+1QByVcF+VBEdu/mVSKgZPIKV2twfBB01w8b7V Wet7IetrxlS/pN/rT7f0udyZDXlwj/RRTaZcLG1R8H/CKbcrCg09p/o1RRn3lF7ElK XKWQTAZyEzu5Q== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 28725440B54; Sat, 20 Jul 2024 10:06:40 -0400 (EDT) Received: from pastel (unknown [45.72.245.253]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E8B1212014D; Sat, 20 Jul 2024 10:06:39 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> Subject: Re: bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected In-Reply-To: <87ikx0mk4c.fsf@HIDDEN> (Philip Kaludercic's message of "Sat, 20 Jul 2024 10:29:55 +0000") Message-ID: <jwvy15w5fic.fsf-monnier+emacs@HIDDEN> References: <87r0d2lfjd.fsf@HIDDEN> <87h6dvud8u.fsf@HIDDEN> <86tthlidap.fsf@HIDDEN> <86frsn55t3.fsf@HIDDEN> <865xt0e6wc.fsf@HIDDEN> <87ikx0mk4c.fsf@HIDDEN> Date: Sat, 20 Jul 2024 10:06:18 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.251 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 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71503 Cc: mekeor@HIDDEN, Eli Zaretskii <eliz@HIDDEN>, 71503 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > (defmacro pcase-lambda (lambda-list &rest body) > "Like `lambda' but allow each argument to be a pattern. > -I.e. accepts the usual &optional and &rest keywords, but every > -formal argument can be any pattern accepted by `pcase' (a mere > -variable name being but a special case of it)." > +I.e. accepts the usual &optional and &rest keywords, but every formal > +argument can be any pattern accepted by `pcase' (a mere variable name > +being but a special case of it). Keep in mind that BODY is always > +evaluated, regardless of whether the argument-patterns match or not." > (declare (doc-string 2) (indent defun) > (debug (&define (&rest pcase-PAT) lambda-doc def-body))) > (let* ((bindings ()) I tend to call "any pattern accepted by `pcase'" a "Pcase pattern". More importantly, we should refer to `pcase-let` rather than to `pcase` here and we should likely use the term "destructuring (binding)". Stefan
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at 71503) by debbugs.gnu.org; 20 Jul 2024 10:46:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 20 06:46:56 2024 Received: from localhost ([127.0.0.1]:51878 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sV7c8-0004G1-77 for submit <at> debbugs.gnu.org; Sat, 20 Jul 2024 06:46:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58138) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sV7c6-0004Fo-Je for 71503 <at> debbugs.gnu.org; Sat, 20 Jul 2024 06:46:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sV7c0-0005P0-JW; Sat, 20 Jul 2024 06:46:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=pc8zMUWAkcxM5zOhFo5bavnNPiP1DfwXKldLIJm/j4U=; b=VQm35qZcSNX8 uYtOJB5OrGVOUJyKaTJtOqD6BvJ0ObSn+zTTjxTdvknqnreHXBdTLjYFKmPuzjYZXMTQOM7z0ilNo GZ+W56OWOFBHKDzN99E4Ap304J1QnyOp7NzJvx4FrSHNoRdw5eg2EtTIUSo3ETRrQ1HT8nM0ewU0j tgcL7/HxyT1h/YmvplyLIk+l/xQYmfzOdnYxKR99BpYq7BIkgcX4+6JAIs4b4mltbeWsnGCRq88oB GQU4/OJydSo3h2IMAMx13h4HHpaIFycCBKpfuUICw7JGtIFrsUNzufyTXBH9samDemAzeJC2lws4e gU3cHtD1MsvEqeNb5iBCUA==; Date: Sat, 20 Jul 2024 13:46:45 +0300 Message-Id: <86r0bocpd6.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN> In-Reply-To: <87ikx0mk4c.fsf@HIDDEN> (message from Philip Kaludercic on Sat, 20 Jul 2024 10:29:55 +0000) Subject: Re: bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected References: <87r0d2lfjd.fsf@HIDDEN> <87h6dvud8u.fsf@HIDDEN> <86tthlidap.fsf@HIDDEN> <86frsn55t3.fsf@HIDDEN> <865xt0e6wc.fsf@HIDDEN> <87ikx0mk4c.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71503 Cc: mekeor@HIDDEN, monnier@HIDDEN, 71503 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Philip Kaludercic <philipk@HIDDEN> > Cc: mekeor@HIDDEN, monnier@HIDDEN, 71503 <at> debbugs.gnu.org > Date: Sat, 20 Jul 2024 10:29:55 +0000 > > >> > > The difference is that pcase-lambda doesn't do case-distinction, but > >> > > just pattern matching/destruncting. So if the pattern-matching fails, > >> > > then the variable is just not bound, instead of the entire expression > >> > > falling back to returning no value/nil. I am guessing you wanted to > >> > > have something like Scheme's `case-lambda'[0]? Or we could clarify this > >> > > point in the docstring. > >> > > >> > Would you mind suggesting a clarification for the doc string (and the > >> > ELisp manual as well)? > > Sorry, I didn't realise you were pining me. I was thinking of something > like > > diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el > index 5a7f3995311..f546ba34c7c 100644 > --- a/lisp/emacs-lisp/pcase.el > +++ b/lisp/emacs-lisp/pcase.el > @@ -241,9 +241,10 @@ pcase-exhaustive > ;;;###autoload > (defmacro pcase-lambda (lambda-list &rest body) > "Like `lambda' but allow each argument to be a pattern. > -I.e. accepts the usual &optional and &rest keywords, but every > -formal argument can be any pattern accepted by `pcase' (a mere > -variable name being but a special case of it)." > +I.e. accepts the usual &optional and &rest keywords, but every formal > +argument can be any pattern accepted by `pcase' (a mere variable name > +being but a special case of it). Keep in mind that BODY is always > +evaluated, regardless of whether the argument-patterns match or not." > (declare (doc-string 2) (indent defun) > (debug (&define (&rest pcase-PAT) lambda-doc def-body))) > (let* ((bindings ()) > > but now I notice that `pcase-let*' documents that all expressions should > match, > > Each EXP should match its respective PATTERN (i.e. be of structure > compatible to PATTERN); a mismatch may signal an error or may go > undetected, binding variables to arbitrary values, such as nil. > > Since `pcase-lambda' inherits these semantics we would have to propagate > this promise -- or be more specific about what happens, e.g. binding > values to nil. Thanks. If this still can be fixed by some documentation changes, I'd prefer to do that.
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at 71503) by debbugs.gnu.org; 20 Jul 2024 10:30:09 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 20 06:30:09 2024 Received: from localhost ([127.0.0.1]:51868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sV7Ls-0003qz-Kg for submit <at> debbugs.gnu.org; Sat, 20 Jul 2024 06:30:09 -0400 Received: from mout01.posteo.de ([185.67.36.65]:36751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1sV7Lq-0003pv-00 for 71503 <at> debbugs.gnu.org; Sat, 20 Jul 2024 06:30:07 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 64177240028 for <71503 <at> debbugs.gnu.org>; Sat, 20 Jul 2024 12:29:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1721471398; bh=bXOf150drr+G6o87o04NWuMeD7enAc9XE4FO6ByaCCM=; h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=I0KANMapo+d5LiItKPPKdV0Fl1N4pCbUkgGPCpea1/qcvpoQbh/9TIKcH/SVkmPIC bhl5EGST3iiP86vPlGWCc4whokBRlZBk2UeEIbOnGUDteo+SsFqyoYSi+yuGTobVZM 4XxtLWMPhezYsvHcZnMULf4pXWqnuSTqN/sk8nZInhzlZg0eUIdcofgbyEGmwVAEBC P61iC9C0yNnwQW6vP9I6e6Byeb/3wo0CvhZ/RKJgi5dCuOLWQOFAA+B4IIb1HBqI6M v7lKQzirNjsCu82tvAb7ChMSBFvxKQQxzQGGkUYnUPmNl0eG4qbFg+HDiHyjoxGhdY BD9jKRJAJBeLw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4WR2q909CWz6trs; Sat, 20 Jul 2024 12:29:55 +0200 (CEST) From: Philip Kaludercic <philipk@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected In-Reply-To: <865xt0e6wc.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 20 Jul 2024 12:42:43 +0300") References: <87r0d2lfjd.fsf@HIDDEN> <87h6dvud8u.fsf@HIDDEN> <86tthlidap.fsf@HIDDEN> <86frsn55t3.fsf@HIDDEN> <865xt0e6wc.fsf@HIDDEN> OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66; url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66"; preference=signencrypt Date: Sat, 20 Jul 2024 10:29:55 +0000 Message-ID: <87ikx0mk4c.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71503 Cc: mekeor@HIDDEN, monnier@HIDDEN, 71503 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain Eli Zaretskii <eliz@HIDDEN> writes: > Ping! Ping! > >> Cc: mekeor@HIDDEN, monnier@HIDDEN, 71503 <at> debbugs.gnu.org >> Date: Sat, 06 Jul 2024 10:38:00 +0300 >> From: Eli Zaretskii <eliz@HIDDEN> >> >> Ping! >> >> > Cc: mekeor@HIDDEN, 71503 <at> debbugs.gnu.org >> > Date: Sat, 22 Jun 2024 11:37:02 +0300 >> > From: Eli Zaretskii <eliz@HIDDEN> >> > >> > > Cc: 71503 <at> debbugs.gnu.org >> > > From: Philip Kaludercic <philipk@HIDDEN> >> > > Date: Fri, 14 Jun 2024 08:42:25 +0000 >> > > >> > > Mekeor Melire <mekeor@HIDDEN> writes: >> > > >> > > > I was expecting these two expressions to evaluate to the same value. >> > > > First, we call `pcase' on a value with a pattern involving `and' and >> > > > `guard': >> > > > >> > > > (pcase "value" >> > > > ((and v (guard (string= "not-value" v))) v)) >> > > > ;; => nil >> > > > >> > > > Second, let's use the same value and pattern, but this time using >> > > > `pcase-lambda': >> > > > >> > > > (funcall >> > > > (pcase-lambda >> > > > ((and v (guard (string= "not-value" v)))) v) >> > > > "value") >> > > > ;; => "value" >> > > > >> > > > Am I missing something or is this a bug? >> > > >> > > The difference is that pcase-lambda doesn't do case-distinction, but >> > > just pattern matching/destruncting. So if the pattern-matching fails, >> > > then the variable is just not bound, instead of the entire expression >> > > falling back to returning no value/nil. I am guessing you wanted to >> > > have something like Scheme's `case-lambda'[0]? Or we could clarify this >> > > point in the docstring. >> > >> > Would you mind suggesting a clarification for the doc string (and the >> > ELisp manual as well)? Sorry, I didn't realise you were pining me. I was thinking of something like --=-=-= Content-Type: text/plain Content-Disposition: inline diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el index 5a7f3995311..f546ba34c7c 100644 --- a/lisp/emacs-lisp/pcase.el +++ b/lisp/emacs-lisp/pcase.el @@ -241,9 +241,10 @@ pcase-exhaustive ;;;###autoload (defmacro pcase-lambda (lambda-list &rest body) "Like `lambda' but allow each argument to be a pattern. -I.e. accepts the usual &optional and &rest keywords, but every -formal argument can be any pattern accepted by `pcase' (a mere -variable name being but a special case of it)." +I.e. accepts the usual &optional and &rest keywords, but every formal +argument can be any pattern accepted by `pcase' (a mere variable name +being but a special case of it). Keep in mind that BODY is always +evaluated, regardless of whether the argument-patterns match or not." (declare (doc-string 2) (indent defun) (debug (&define (&rest pcase-PAT) lambda-doc def-body))) (let* ((bindings ()) --=-=-= Content-Type: text/plain but now I notice that `pcase-let*' documents that all expressions should match, Each EXP should match its respective PATTERN (i.e. be of structure compatible to PATTERN); a mismatch may signal an error or may go undetected, binding variables to arbitrary values, such as nil. Since `pcase-lambda' inherits these semantics we would have to propagate this promise -- or be more specific about what happens, e.g. binding values to nil. >> > Thanks. -- Philip Kaludercic on peregrine --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at 71503) by debbugs.gnu.org; 20 Jul 2024 09:42:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 20 05:42:54 2024 Received: from localhost ([127.0.0.1]:51741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sV6c9-0007yW-Sw for submit <at> debbugs.gnu.org; Sat, 20 Jul 2024 05:42:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sV6c8-0007yG-KQ for 71503 <at> debbugs.gnu.org; Sat, 20 Jul 2024 05:42:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sV6c3-0001dh-2z; Sat, 20 Jul 2024 05:42:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=cDvBZkhCb4VcESEX/o3gldnyzkMKanq9cb8z8a5UDNM=; b=GutmEhGQSybH naaapPJK9iIumZmAYq3P6Yqx+Ftq9rN8OI1mvCgVOlTcxCoTHKwCY6ZxkaR5rVS0u5Uocg+LKBvM6 Q//8f+IKgqsoHW1bnb90CJAwe94jKSx9q+tJqYQ+ZoFuqfNnamM5Xn6E0h7gC5os2Hk86qj3QtWOd /a4MJTZ1YVRjz3B3HGzg0uPJNsau3ab5fRDeBe7Nx086XOMMDJeuwC5eNPFDf8y355dMZITPqxdE0 +uiMN8wuws2c+/JNCzWgNg1FPGNis3WqrMIg07dVt/eRKTQGR8E+Pz1kCxardw3mbU/CZnQL6ITpw r2W6YXNVoSV63+58guy7hg==; Date: Sat, 20 Jul 2024 12:42:43 +0300 Message-Id: <865xt0e6wc.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: philipk@HIDDEN, mekeor@HIDDEN In-Reply-To: <86frsn55t3.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 06 Jul 2024 10:38:00 +0300) Subject: Re: bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected References: <87r0d2lfjd.fsf@HIDDEN> <87h6dvud8u.fsf@HIDDEN> <86tthlidap.fsf@HIDDEN> <86frsn55t3.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71503 Cc: monnier@HIDDEN, 71503 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Ping! Ping! > Cc: mekeor@HIDDEN, monnier@HIDDEN, 71503 <at> debbugs.gnu.org > Date: Sat, 06 Jul 2024 10:38:00 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > Ping! > > > Cc: mekeor@HIDDEN, 71503 <at> debbugs.gnu.org > > Date: Sat, 22 Jun 2024 11:37:02 +0300 > > From: Eli Zaretskii <eliz@HIDDEN> > > > > > Cc: 71503 <at> debbugs.gnu.org > > > From: Philip Kaludercic <philipk@HIDDEN> > > > Date: Fri, 14 Jun 2024 08:42:25 +0000 > > > > > > Mekeor Melire <mekeor@HIDDEN> writes: > > > > > > > I was expecting these two expressions to evaluate to the same value. > > > > First, we call `pcase' on a value with a pattern involving `and' and > > > > `guard': > > > > > > > > (pcase "value" > > > > ((and v (guard (string= "not-value" v))) v)) > > > > ;; => nil > > > > > > > > Second, let's use the same value and pattern, but this time using > > > > `pcase-lambda': > > > > > > > > (funcall > > > > (pcase-lambda > > > > ((and v (guard (string= "not-value" v)))) v) > > > > "value") > > > > ;; => "value" > > > > > > > > Am I missing something or is this a bug? > > > > > > The difference is that pcase-lambda doesn't do case-distinction, but > > > just pattern matching/destruncting. So if the pattern-matching fails, > > > then the variable is just not bound, instead of the entire expression > > > falling back to returning no value/nil. I am guessing you wanted to > > > have something like Scheme's `case-lambda'[0]? Or we could clarify this > > > point in the docstring. > > > > Would you mind suggesting a clarification for the doc string (and the > > ELisp manual as well)? > > > > Thanks. > > > > > > > > > > > >
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at 71503) by debbugs.gnu.org; 6 Jul 2024 07:38:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jul 06 03:38:13 2024 Received: from localhost ([127.0.0.1]:45491 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sPzzp-0005IF-EO for submit <at> debbugs.gnu.org; Sat, 06 Jul 2024 03:38:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43692) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sPzzn-0005Hx-9J for 71503 <at> debbugs.gnu.org; Sat, 06 Jul 2024 03:38:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sPzze-00038F-2C; Sat, 06 Jul 2024 03:38:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=AkFgevUKqLqlTOiWh5zqfE4tMaK+YvkaP3Ot4xwhuqI=; b=Nl7xZz8ivsuW EzmsWFD6NhUPLfRrp+qZmoWFsXz4eIOGGUCsibSj8gNOlKmJEIzXqRiWWPBod5L1XQ+M/bdsGW21l y4qJvI34G7YXODILLv+jLOTRMdY9UDJ6jjVXFd+ljhu//Y1f2+RnzDLJkXQuPEmMg2zeodfNX1nQ7 qpK3/5dP6d21r3TqAnIl7m9UDDTBQ1gzXr4IlwRF4530UHyF8hh2mh3PmAqmU+EX68KdxfXgBy5FV iZMKqTb63/6PMTeeg3G5UxJQAwdt4vQ4bMcNLRgupw5msRAFqqArsJGJDZRDIvNGegbiJ9WncITQC fu6huPQKv+GLmgapMLv1ZA==; Date: Sat, 06 Jul 2024 10:38:00 +0300 Message-Id: <86frsn55t3.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: philipk@HIDDEN In-Reply-To: <86tthlidap.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 22 Jun 2024 11:37:02 +0300) Subject: Re: bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected References: <87r0d2lfjd.fsf@HIDDEN> <87h6dvud8u.fsf@HIDDEN> <86tthlidap.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71503 Cc: mekeor@HIDDEN, monnier@HIDDEN, 71503 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Ping! > Cc: mekeor@HIDDEN, 71503 <at> debbugs.gnu.org > Date: Sat, 22 Jun 2024 11:37:02 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > > Cc: 71503 <at> debbugs.gnu.org > > From: Philip Kaludercic <philipk@HIDDEN> > > Date: Fri, 14 Jun 2024 08:42:25 +0000 > > > > Mekeor Melire <mekeor@HIDDEN> writes: > > > > > I was expecting these two expressions to evaluate to the same value. > > > First, we call `pcase' on a value with a pattern involving `and' and > > > `guard': > > > > > > (pcase "value" > > > ((and v (guard (string= "not-value" v))) v)) > > > ;; => nil > > > > > > Second, let's use the same value and pattern, but this time using > > > `pcase-lambda': > > > > > > (funcall > > > (pcase-lambda > > > ((and v (guard (string= "not-value" v)))) v) > > > "value") > > > ;; => "value" > > > > > > Am I missing something or is this a bug? > > > > The difference is that pcase-lambda doesn't do case-distinction, but > > just pattern matching/destruncting. So if the pattern-matching fails, > > then the variable is just not bound, instead of the entire expression > > falling back to returning no value/nil. I am guessing you wanted to > > have something like Scheme's `case-lambda'[0]? Or we could clarify this > > point in the docstring. > > Would you mind suggesting a clarification for the doc string (and the > ELisp manual as well)? > > Thanks. > > > >
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at 71503) by debbugs.gnu.org; 22 Jun 2024 08:37:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 22 04:37:13 2024 Received: from localhost ([127.0.0.1]:44317 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sKwFE-0008Oo-Mg for submit <at> debbugs.gnu.org; Sat, 22 Jun 2024 04:37:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54010) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sKwFC-0008OY-Fi for 71503 <at> debbugs.gnu.org; Sat, 22 Jun 2024 04:37:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sKwF7-0006U7-4A; Sat, 22 Jun 2024 04:37:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=KXvm8DK2QTtDmbqBDRSqnmVoWaO09yTrb76gfUrBmKY=; b=QHFFnTnd0pN6 Ib5uh5bptJJAK8GxTh8BWP40EMnLe3Gc5g9hhLzewpwh2GjVnXX4WDbnye3d6bmgyMhLdNMMhb+Nl pZBqeS9N4eRj/uhtBsSzsAx9G2UwPwnRh9OxTrvwZiXcajDUPY2H/cL43SylFZNk4m2G5H3StBkpV Fmis0pyj85XgunreMDvGMFnN1/mYzkwMJVIFRvXnUZdIxn4+iGE5AOjCHMfCSf3XN95oRCQoOr+6H cxmOwLSTTmwFgJ6St7mhcBzqOZWqCIyDP7IA4APL2OWTaMVDibOOKA4KiP3NfoIRH5zgBOIw+aVo2 8X4WnliAomoyKZomEyfYdQ==; Date: Sat, 22 Jun 2024 11:37:02 +0300 Message-Id: <86tthlidap.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN>, Stefan Monnier <monnier@HIDDEN> In-Reply-To: <87h6dvud8u.fsf@HIDDEN> (message from Philip Kaludercic on Fri, 14 Jun 2024 08:42:25 +0000) Subject: Re: bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected References: <87r0d2lfjd.fsf@HIDDEN> <87h6dvud8u.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71503 Cc: mekeor@HIDDEN, 71503 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: 71503 <at> debbugs.gnu.org > From: Philip Kaludercic <philipk@HIDDEN> > Date: Fri, 14 Jun 2024 08:42:25 +0000 > > Mekeor Melire <mekeor@HIDDEN> writes: > > > I was expecting these two expressions to evaluate to the same value. > > First, we call `pcase' on a value with a pattern involving `and' and > > `guard': > > > > (pcase "value" > > ((and v (guard (string= "not-value" v))) v)) > > ;; => nil > > > > Second, let's use the same value and pattern, but this time using > > `pcase-lambda': > > > > (funcall > > (pcase-lambda > > ((and v (guard (string= "not-value" v)))) v) > > "value") > > ;; => "value" > > > > Am I missing something or is this a bug? > > The difference is that pcase-lambda doesn't do case-distinction, but > just pattern matching/destruncting. So if the pattern-matching fails, > then the variable is just not bound, instead of the entire expression > falling back to returning no value/nil. I am guessing you wanted to > have something like Scheme's `case-lambda'[0]? Or we could clarify this > point in the docstring. Would you mind suggesting a clarification for the doc string (and the ELisp manual as well)? Thanks.
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at 71503) by debbugs.gnu.org; 14 Jun 2024 16:08:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 14 12:08:58 2024 Received: from localhost ([127.0.0.1]:40805 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sI9U1-0001YL-Rv for submit <at> debbugs.gnu.org; Fri, 14 Jun 2024 12:08:58 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:24616) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <drew.adams@HIDDEN>) id 1sI9Tx-0001YA-9d for 71503 <at> debbugs.gnu.org; Fri, 14 Jun 2024 12:08:56 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45EDH3ma022425; Fri, 14 Jun 2024 16:08:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= from:to:cc:subject:date:message-id:references:in-reply-to :content-type:content-transfer-encoding:mime-version; s= corp-2023-11-20; bh=EYz84K1x+xDkyT2BseCVLh48/14kJ9GCajv1rrjhZOI=; b= hdoG4aGGXoc0CMyzKSkvv/V5ly80KgMGZquhcdTh5fONeVUqq/f9z0cVe9MLQKX/ /2SF9vj3FkiZK/4iwRee4QGBdpVUQ+UgjqyEnKd26iYwev/vcHdpPLmTm+ZjG+X6 LTffDUCzlsge2ekHR6l7mTDdTvh4ugLxDkxBbZWNyFlinVX2pPcc7x2YbCrakgTt maJS63W+RUfzgRY2cdXlWqU9/MWwJbPC1iLe9X/HsmbLOmlrAfEFIx9SSyWxgGcG caTavasuM0qOe5CvCWYYUeqIyrwfraxTo+QcG8vkWYVge7qLgMr2rNBPv2dk7jXt EiYwLxfr5nJmB0JGRafgKA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ymh7fuw68-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Jun 2024 16:08:50 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 45EF1Hw3020432; Fri, 14 Jun 2024 16:08:49 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2169.outbound.protection.outlook.com [104.47.59.169]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3yncb04kpc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Jun 2024 16:08:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LARrTW00fkUD0DJoZZg3HJfe0sNlsuhmUak0Az28/3KKXTk3AOyIVl7MaAX6GVRonfBVS10Ni2RtqpjtWKi+hc2+q4Wy20PGYlbLGDEtNldlCEbg4VpVRpeQUgMUK1bDtfXqtRnFI65+6js7UBKkOWT1FQVKLUYq8dSEFtt2yacvX2m+0yiP3FvwgGZFfBHtVggf9SPJ1eyBavHyB87tZocQrRwr8pePsIQiyU8//A6EfNVYbc5puGi+odg5WJb5z3Q9hlfmkVLci/9IxwC/8zLPIaNATSJ0PhB2dJJ7AFSAWmSKu2R1/WrcwSqwiEAkDE2kkeYz1WiDFUUtXx6iUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EYz84K1x+xDkyT2BseCVLh48/14kJ9GCajv1rrjhZOI=; b=Z8kypgRXKoWVvCrkt11livg15MFdmfIuDAuuF2dgFd930y0YwGHzf/uxyNQYhfvKlML6XLo2C5A83t7/CcnEWra0UG9glxUkLpo/08RijKcxCkiAbgAIY1JADRs7TjC8gEmFoiwTKGaGB4l5DtTrypGx/t2fSw+qpnMTH3jxcvyVLjeBOEWb2EQDnoLyJJFoGEFAwxFAbqTXf8YzS9nki0DCCMliU7KCojaea7tXOdZpj0aRaQmPYhK4S6Rw0K3uoSk57lPeqEGWMiSIFfLDmejAzzUaVqmg9aXAvUNU+WPpYz68fQTnvtjHpjvi0AF7xHdwzzupzIM2b5SJdcoyeQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EYz84K1x+xDkyT2BseCVLh48/14kJ9GCajv1rrjhZOI=; b=qK1KOmKJ7I8TEV45zmtYXiTGydBosKGBvfeM0WHajq4CY/jBTSrqVq5kSi1xvCAmdDe+cbW9PryspWGAe015uWIedHiqmgc+cL9psGyVNAAfwYM9HEi9FcnCm+LK5iCGit+ANNfCITfNLcX3DuegcBVPei8bLChsppadko/01hM= Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by IA0PR10MB6794.namprd10.prod.outlook.com (2603:10b6:208:43a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.40; Fri, 14 Jun 2024 16:08:45 +0000 Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::b75a:ef76:884a:dd27]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::b75a:ef76:884a:dd27%4]) with mapi id 15.20.7677.024; Fri, 14 Jun 2024 16:08:41 +0000 From: Drew Adams <drew.adams@HIDDEN> To: Philip Kaludercic <philipk@HIDDEN>, Mekeor Melire <mekeor@HIDDEN> Subject: RE: [External] : bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected Thread-Topic: [External] : bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected Thread-Index: AQHavjbxZLFZfJRkeEWDusLQZL6YcbHHbEvw Date: Fri, 14 Jun 2024 16:08:41 +0000 Message-ID: <SJ0PR10MB54884B3521161CC99C357428F3C22@HIDDEN> References: <87r0d2lfjd.fsf@HIDDEN> <87h6dvud8u.fsf@HIDDEN> In-Reply-To: <87h6dvud8u.fsf@HIDDEN> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|IA0PR10MB6794:EE_ x-ms-office365-filtering-correlation-id: 110d6fc9-2239-47aa-1ff4-08dc8c8c4246 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230037|1800799021|366013|376011|38070700015; x-microsoft-antispam-message-info: =?us-ascii?Q?w+e4JLh1itny8SHsX0lWlhLvm07or8qp71h9R9SuAfzDa+GSVBFezDXjncfj?= =?us-ascii?Q?hX5daZYWCDWbSQrY/2VOQFSctrGMd0x7axvsR0opTtCW/SwHevY7AcL3NR+J?= =?us-ascii?Q?YdU/xTs1Sh/WDUuinHwzKgld/i55/MHYOiwlf2PKrD7WYNaGnVvLDppnqU3F?= =?us-ascii?Q?8KBrvOZ/V6S74+3n/5YwCpMvLSZhQ4OyM8pA/l5ZUVyFIOr5/CE2hAPwWNkr?= =?us-ascii?Q?nsJGKkzfC6Z/spIdQ4vByxK912NvMA81NZ9qGK4E58XfS71oMZmz5kJErMCp?= =?us-ascii?Q?cpC5/DL2166OEmVkOmt4MywqUkU9zjlRp0haTvNghc9ObZtKCRGK3x0/WRTj?= =?us-ascii?Q?bndjGRjzKHuzwTAcb40bAsdpmujcEY2gE2JgubV8A2SYg3gYXZq/kSUwEgna?= =?us-ascii?Q?VEcMPr8jtsRDdiGb8pa2S53g5ZW6rq+hFkW+FysYijcfNGtiB41yng0HRyKt?= =?us-ascii?Q?ACBkixw9ZbPwMmZziW6DtLoMu2CXAjSDENNqTJf7WDsLKLhwXLWLgzoKu4us?= =?us-ascii?Q?JEep3fYy90lG7P0Dmogxc2m3/0ncldxnjDJjzNHlI7ZSbtdiGYEomZYJWBK9?= =?us-ascii?Q?+OaY7cxtAs+YwXW24cXHrk0FJ4UXxUmyU7hJduYdklL/l1o6H2PvDq0fxk9Z?= =?us-ascii?Q?084JYB8O9H+H0zbKlCYdrXc8OJpj66tKpQ7dFjNXsolZ0yLzZKqEiyfK1osF?= =?us-ascii?Q?UIPFe01u1GA9sQoqx0WsrPfah2Vqq5yuc8e2J8bM+9wBSXEha1A6ewzMgBBV?= =?us-ascii?Q?bMuJte3nfq4q1o4JC39xVAY2VlLKeJc29kxyKcmfK7yo9wcvx8mpShSJJ7Qd?= =?us-ascii?Q?zE3KQDCG0w6jRyrp0+Rx9lAmvlI3DKH1OU4IORYaQXX1ZwXqZ6nbso8kbsgO?= =?us-ascii?Q?zvsaCMUQvug/B60aCtZHoWHnQfX9rXoyRCJLPNESFDqbsNnxpUKBN56YMmr9?= =?us-ascii?Q?wDZHBUJobzSYxBtlArXfHfFHuB0nYq1MDx1Efmdsxb5KAjjXx3sNzOPQ9zue?= =?us-ascii?Q?4Ygvkn7ox0P4R19HSv7fRnnhP99CKCbHEOQG+Zwur3iEyYmUwOmkaDxQrD+z?= =?us-ascii?Q?z0jc+pwkHEFgTOu+qz00RoLrOmNuCt5DTT8OYs3Ntr9Dc8IGQ5XhIO2pFYY8?= =?us-ascii?Q?U1qSpEJ/vZjPil615Tp0lUkYsB1HBTFbdAQFH79vKS0U1pFtoh2tLM0g/KcQ?= =?us-ascii?Q?nMy5eyJVsUe+bMLafRlC3ooORbTCsh/yWt/bH+VPelpXJQGnnl0sLDyYXMhl?= =?us-ascii?Q?kSH3RmltWHDtD+c301WvWOqhFZdhXeH0VqI7iDWwig/8PB7/Mqhohrkjdhxm?= =?us-ascii?Q?/kFED6scDZ+wvIwRMEQP4kgBLIk7I4j2frnLU16teiwrFCclYO1xv4l/7iWu?= =?us-ascii?Q?qOQQDDY=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230037)(1800799021)(366013)(376011)(38070700015); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?nklXICG6IPo1cR6FqCbTGZMT2Ju39Kn6aeIG1QWD1+AvS2sJCPKLplk6vftY?= =?us-ascii?Q?kZKPfVo3tTseGAPOVprmuwkhzn1Eo23ZnePk2nTJvSgzXR6cvR0tgjXbGdhv?= =?us-ascii?Q?lpCDlP1tYQoyjfd+tTdW/OyhPUnY67px2Pl2xhwFuGq8j2d/hAAodBJZdyih?= =?us-ascii?Q?tDT22iS492Gj8rXbPIcIMCBueoCnxLhd3vLjTKHYdG9eGPPLtVkbw67B/O5a?= =?us-ascii?Q?rx7AUTvm5B5F4fhS4cb222eYMkAzC9OTBu8bNVgIV+ierckX/4B+ZCVv3G2C?= =?us-ascii?Q?VQkARmHqwAu+QPy6YvUx8eAb6+lmBWNOod5EOoQJsZ8fgFVmUuvpQR1cq15b?= =?us-ascii?Q?4pZvHJ7Lc1hn7kW932dtLGd5++mj4yUnMMj0Q5LaHQ6QwrWQxEW//CyJM8Pr?= =?us-ascii?Q?xY1tba3Px+/6Lb23Fu3NbUEvcCSvvz66PEnp7nBLkzMCdZFXhYacpwEvASfV?= =?us-ascii?Q?k4kG2HAGCYDiyqJ3chE7QhIEyJBa1flOWPrrRoHVrfaTWyxpRuTDpGQ4OM27?= =?us-ascii?Q?INdgADUaJLwg3KjbTBeBI1kelHNFDtWloSwlKjegG6ScthizbVmKkVmx0Xha?= =?us-ascii?Q?qXQqVMUlw1gAIcJjdneRCG3nRESmLNWX72Zw9zVo2hzWvZ1EzaYdJ2K6K2g5?= =?us-ascii?Q?n69LlX73PcdG9YCj50pmSQXb841v4+Yrab8HPsRMOoIRSHsQCOhtXKzTTEJ4?= =?us-ascii?Q?8hMmuvEa0wV4XdvpR15MgBa9cX5WXj4s7jYLbDzm/Gn5BO2wy6oPjrtXdEMs?= =?us-ascii?Q?1fN2mNOxHA6eXkqMtHgncUfrkn6gSESEYXvk11iRnfv3UEjlwrRHJD8fr8Vi?= =?us-ascii?Q?fTY/HuZXsb0ULrer929xXvQqoh/nt+0TweJUMm4o0+fHkhnxqICFiDIZY7al?= =?us-ascii?Q?msSiChvCOgjMtVi/q85iV4CcbXs4zXvsmN7mhvtQ14bjZDki+GZjwCO7wYa6?= =?us-ascii?Q?zxp4EHVMyky4sNcOx1devexO9aFjswt83LXlqIZRQzDgn7eXpG42bf66qfG/?= =?us-ascii?Q?b7MqyxbcnSInupfYVd4Byc23tMrxbAzWTnxDpa7VJuzkbYgHNSB5xdIOCWXH?= =?us-ascii?Q?3Ww9s/nfSG6V8w24ZXhiOa3jsbWTxMG4KX+wzBSUq/W1/dzDLJj6mjWsyVxC?= =?us-ascii?Q?GYduoe3jQu6Fqpi7iP1SNGMWKN2wG0kAXk0jS1zb1th9x9Y3yYgPU9l0uMWs?= =?us-ascii?Q?5KltEXkcF1CK0GB5edpZNxedSpqHO6pMSozbkMwV3JNRuKiFue9CKSAR/nZW?= =?us-ascii?Q?S0lnC90xxrKjIyJezZ9bD7gFpqSQ6/REGrX9vuHcKp7SO1SRpBpOTEf643S7?= =?us-ascii?Q?4eAgFNiEtWhwWLG1tz/OXqCVQMK6KrpafWmv/nyWtukQ2n6NJSssk4RX+8D8?= =?us-ascii?Q?+wXViMEcb6S7qIiBpeRjQT/LE415Rnoa8fk3ZrR4a1PKpcMgaYy1ryONe8mK?= =?us-ascii?Q?op2pXdrYdV95JKKDCpkLqqaNCeh3RyQGYEWvJnWalU2WEAitFqst+wZypIS5?= =?us-ascii?Q?GmWLM2QahiifEBG405x3iqdgy0Ip1ejlYrsUYfO1vE9Ze2zShWPC+rOoScup?= =?us-ascii?Q?Lg2SvSYizZBAqC9zwAzU2ZDsK26jOUUxg7dqS+TE?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 12MqkQg2crl0+XgC4DifUCyLW3mmOxCL3G4Ji5nEKLJSOGmGIJTM/kJrFqZKm+INo92u5c5w9Ylo8aSbgoJbDtFkC0P9Hefffse7l8pVyq9XKBp7XyjRwFhMM8owMeTxwBhDWEvGOLahIL95gPr5bCt4LbHoEFbTvvX3Z8KXL5nABkhVKiOURWTUCI9okGFd35qV/Sc5Ol7HJuhh6Dm0psSKYvwfSdtpQNhuh3qZ3oj86F1uY6EwM4Ws0KCtXXMhSw3W09hxyMOlvgfYm+8G/N4uG95nttcOnROtVV2rqwDAzJ7zB2lWuF+efdG4XzjjtYzNRgiTUf1P/g3VF4/WOTE2WQJQrx7P9Rg2ti7NiDvasZWq+hRzXbhjRMShYwvc5gkefBxIGr8wSLwVmnb0SQGx7w9mNrdRwxeiGw0Obx5sSat8hx7rKoUHEYsUrLPxjFo+0SPsRneZdLfWx8stltMp972fduIAp23JXU9EKzhoRLEQjKmlqOSHuNumPlSwomgJFPA9NUD/cXr/WMtMgKToZ42zqJbl5IedFAz5uTOUkVZsChLnEUPScVw74verLM4FaujTtaeEMMN1XQzNISYMkGUjhQDZ6UzhGlKBug4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 110d6fc9-2239-47aa-1ff4-08dc8c8c4246 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jun 2024 16:08:41.4514 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HVsN1mstynZKO9I2T+tww6mGJR7p5L6jK/q8I8rbsNQM8bhfeDoZ6u3picr0NMrsWflvAITl1on2PrlKXOsZag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR10MB6794 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-06-14_13,2024-06-14_03,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 mlxscore=0 phishscore=0 mlxlogscore=673 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2405010000 definitions=main-2406140109 X-Proofpoint-GUID: amMeJmA2b-BP1xO6VhBEHMBOQuNpNCIP X-Proofpoint-ORIG-GUID: amMeJmA2b-BP1xO6VhBEHMBOQuNpNCIP X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71503 Cc: "71503 <at> debbugs.gnu.org" <71503 <at> debbugs.gnu.org> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) > The difference is that pcase-lambda > doesn't do case-distinction, but > just pattern matching/destruncting. Unless I'm mistaken, this confusion has surfaced several times now... Is it really a good idea to call this "pcase-" <anything>, if it has nothing to do with case distinction, i.e., control flow? Why not a name that suggests destructuring or pattern-matching, and binding? Common Lisp at least calls its (weaker) construct `destructuring-bind' - pretty clear.
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at 71503) by debbugs.gnu.org; 14 Jun 2024 08:42:37 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 14 04:42:37 2024 Received: from localhost ([127.0.0.1]:39903 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sI2W5-0003j8-8r for submit <at> debbugs.gnu.org; Fri, 14 Jun 2024 04:42:37 -0400 Received: from mout02.posteo.de ([185.67.36.66]:56037) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <philipk@HIDDEN>) id 1sI2W1-0003is-Bz for 71503 <at> debbugs.gnu.org; Fri, 14 Jun 2024 04:42:35 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 1E87A240104 for <71503 <at> debbugs.gnu.org>; Fri, 14 Jun 2024 10:42:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1718354547; bh=0+fBUuPqMbugK6MqULc2J3dIzsoys3+Zi+7ltTaNuNA=; h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=q1AWFNmV7tGwsi+5Ls+hIeG08aAInFOt2W9afH0jPQR1r3Qz1tZTXHQOL5Qa77i29 EIVowGTWIHZ6IzVOh9LdskCQiMWblzSBMz5ps4ZX+c3Cq+shsIf5pEETb7CmhPnHyn /qpLJ1JtbDQEQeTlVqnolRFuneLZ1dhEejeve2BkGaYCmzwKD0PAkzvtSCqBC21Ecz Qrox8k7oP6JZngAbXDi2GMR4UkTNruHQo/gXoQ/su8W3hzSqTBJZjQq1UUuE8AlWBY Gh3aumrt65LQOVICnwXk/Z/eG/5nvIFrKjzom5m8ZFqfp8QAtF7iM5KKa13oMnh3n2 93W6qYFV8aDlg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4W0t7k16bDz9rxL; Fri, 14 Jun 2024 10:42:26 +0200 (CEST) From: Philip Kaludercic <philipk@HIDDEN> To: Mekeor Melire <mekeor@HIDDEN> Subject: Re: bug#71503: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected In-Reply-To: <87r0d2lfjd.fsf@HIDDEN> (Mekeor Melire's message of "Wed, 12 Jun 2024 08:40:54 +0000") References: <87r0d2lfjd.fsf@HIDDEN> OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66; url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66"; preference=signencrypt Date: Fri, 14 Jun 2024 08:42:25 +0000 Message-ID: <87h6dvud8u.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71503 Cc: 71503 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Mekeor Melire <mekeor@HIDDEN> writes: > I was expecting these two expressions to evaluate to the same value. > First, we call `pcase' on a value with a pattern involving `and' and > `guard': > > (pcase "value" > ((and v (guard (string= "not-value" v))) v)) > ;; => nil > > Second, let's use the same value and pattern, but this time using > `pcase-lambda': > > (funcall > (pcase-lambda > ((and v (guard (string= "not-value" v)))) v) > "value") > ;; => "value" > > Am I missing something or is this a bug? The difference is that pcase-lambda doesn't do case-distinction, but just pattern matching/destruncting. So if the pattern-matching fails, then the variable is just not bound, instead of the entire expression falling back to returning no value/nil. I am guessing you wanted to have something like Scheme's `case-lambda'[0]? Or we could clarify this point in the docstring. > In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version > 3.24.41, cairo version 1.16.0). [0] https://index.scheme.org/filterset/r7rs_small/%28scheme%2520case-lambda%29/case-lambda -- Philip Kaludercic on peregrine
bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 12 Jun 2024 08:41:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jun 12 04:41:14 2024 Received: from localhost ([127.0.0.1]:37505 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sHJXd-0005z3-Q1 for submit <at> debbugs.gnu.org; Wed, 12 Jun 2024 04:41:14 -0400 Received: from lists.gnu.org ([209.51.188.17]:33808) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mekeor@HIDDEN>) id 1sHJXb-0005yv-DM for submit <at> debbugs.gnu.org; Wed, 12 Jun 2024 04:41:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <mekeor@HIDDEN>) id 1sHJXc-00045B-Bk for bug-gnu-emacs@HIDDEN; Wed, 12 Jun 2024 04:41:12 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <mekeor@HIDDEN>) id 1sHJXZ-0003Bw-GK for bug-gnu-emacs@HIDDEN; Wed, 12 Jun 2024 04:41:12 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id E51CA24002A for <bug-gnu-emacs@HIDDEN>; Wed, 12 Jun 2024 10:40:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1718181659; bh=6JVoAXghi92dpr9qpE2q1uFoi9n2IU2WxHlZi4CdHtU=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:From; b=dE7+qPimuJl/y6MhbaYCETO2OvflgI8WGpBW3jll+KI4fNS2XXezAfM8ghL9bmxOw 15olYMsEq86EUJKmpqf714Xo9fdQlQoMGdR06MqKkAiHUWZV+xVV/cECwAKYSYOlG8 JL7m/TpGLXXQ1umfsxK2YYOesJiRw+B3NWcSTGffHgWGkKMyPjIXF9EjOvZzvYHefM PmzruF5VH8w/aVsQWCxK00bl4D2c0GoNSAEjfaQTOf79gae5U41tmxbLtqQXtjtsKZ 9tGuY5MLbz8/39yPS5tJV9AVDdLoTEETqP5FKLWWPLwxCVhbFJW6Bd/X7MBxUs12ds vOfQjpHivJ3gA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4VzfBz0Xgsz9rxD; Wed, 12 Jun 2024 10:40:59 +0200 (CEST) From: Mekeor Melire <mekeor@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 30.0.50; pcase-lambda (with "and" and "guard") does not work as expected Date: Wed, 12 Jun 2024 08:40:54 +0000 Message-ID: <87r0d2lfjd.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=mekeor@HIDDEN; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) I was expecting these two expressions to evaluate to the same value. First, we call `pcase' on a value with a pattern involving `and' and `guard': (pcase "value" ((and v (guard (string= "not-value" v))) v)) ;; => nil Second, let's use the same value and pattern, but this time using `pcase-lambda': (funcall (pcase-lambda ((and v (guard (string= "not-value" v)))) v) "value") ;; => "value" Am I missing something or is this a bug? In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.16.0).
Mekeor Melire <mekeor@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#71503
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.