From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Code for cond* Date: Sun, 25 Feb 2024 10:03:48 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14466"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Feb 25 16:17:23 2024 Return-path: Envelope-to: ged-emacs-devel@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 1reGFn-0003XU-Dc for ged-emacs-devel@m.gmane-mx.org; Sun, 25 Feb 2024 16:17:23 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reGFF-000867-5Y; Sun, 25 Feb 2024 10:16:49 -0500 Original-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 ) id 1reGFD-00085d-1R for emacs-devel@gnu.org; Sun, 25 Feb 2024 10:16:47 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reGFB-00073L-3U; Sun, 25 Feb 2024 10:16:46 -0500 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id D5FC3800C7; Sun, 25 Feb 2024 10:03:54 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1708873429; bh=esoq0zhSasvA0yTrwVWhj0BPeivurt4etevjyvGw1HE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=crxR0g3lmgrNbZvuD/NJVntaBSVSfkwX5F6uQVxEjXcDMFd4aQMXUcJUurytEax6z EZ68CjACLrOmgF3Tr1H1htB3+2feeUHWSDVGNpdDwhoWXWn2RW3gYoeneeOCSvxJGM GOI67WqE5DJCQu7TFi6QfPIW4Lm45qOT/P3h6EbE5LH/dYHoiWqkXNUHhwjvJZJMpW B7Z9iz274uxBTj32BGr3QO1FatjZAjfcJQFh4lli5qfJzj8Gi/a3HOAl22VYPUS9ro GX6spdZRuQ19XFvo4jO0YMDUWE28GD8dlNsGrKYXzF67O5xF0fvzgdmEepqTinUlDm zudHGZ7w3SSlg== Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 94EE98017A; Sun, 25 Feb 2024 10:03:49 -0500 (EST) Original-Received: from alfajor (unknown [45.72.205.238]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6ADDF12034B; Sun, 25 Feb 2024 10:03:49 -0500 (EST) In-Reply-To: (Richard Stallman's message of "Sat, 24 Feb 2024 22:14:15 -0500") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, 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-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:316525 Archived-At: > If what you want is to ignore the last cdr of one specific list, it is > hard to find anything simpler than `. ,_'. But that approach becomes > messy when you need to put it at the end of many lists in one pattern. > One of the first pcase examples I saw needed to do that. [...] > So I added a way to change the default locally for whether to check > the last cdr or not. Hmm... that leaves more questions open: - Which example was that? Have you found many others? - What do you reply to my own experience that we often want to accept not only longer lists but also shorter lists? - It doesn't explain why you apply it recursively. - As you say for "one specific list, it is hard to find anything simpler than `. ,_'", yet you added `cdr-safe` which applies to a single pattern, and thus typically to a single list, unless the pattern is a big (or ...) pattern which are rather unusual. BTW, regarding "anything simpler than `. ,_'", there is ",@_". Whether it's "simpler" is debatable, of course, but it is one char shorter. Pcase doesn't support it, but I've hesitated to add support for it (the problem is that general support for ,@ in backquote patterns is somewhere between hard and undesirable, so I'm not sure it's worth adding support for it only in those cases where it can be supported satisfactorily). Stefan