From unknown Thu Jun 19 13:55:36 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#72328 <72328@debbugs.gnu.org> To: bug#72328 <72328@debbugs.gnu.org> Subject: Status: [PATCH] Nested backquote in pcase Reply-To: bug#72328 <72328@debbugs.gnu.org> Date: Thu, 19 Jun 2025 20:55:36 +0000 retitle 72328 [PATCH] Nested backquote in pcase reassign 72328 emacs submitter 72328 Thuna severity 72328 normal tag 72328 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 27 21:05:28 2024 Received: (at submit) by debbugs.gnu.org; 28 Jul 2024 01:05:29 +0000 Received: from localhost ([127.0.0.1]:42531 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sXsLo-0006G2-H9 for submit@debbugs.gnu.org; Sat, 27 Jul 2024 21:05:28 -0400 Received: from lists.gnu.org ([209.51.188.17]:34768) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sXsLm-0006Fv-TZ for submit@debbugs.gnu.org; Sat, 27 Jul 2024 21:05:27 -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 ) id 1sXsJW-0004l6-8b for bug-gnu-emacs@gnu.org; Sat, 27 Jul 2024 21:03:06 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sXsJU-0005fE-DM for bug-gnu-emacs@gnu.org; Sat, 27 Jul 2024 21:03:05 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-428101fa30aso7176535e9.3 for ; Sat, 27 Jul 2024 18:03:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722128582; x=1722733382; darn=gnu.org; h=user-agent:mime-version:message-id:date:subject:to:from:from:to:cc :subject:date:message-id:reply-to; bh=I0o7+uFlPCijem/fyWW1LyCyp4hDEUHgkaWCfUlNCjo=; b=YDECmJL2wj1VdCIdicl/fFAl7pu7avFVXdEl/1zU+vHGUrOiSlxSzknt8EgREdxtCE LqF3gP8gwOBezDNJZ+c8hbuXb04GoZmdco0vitv0I26ticYGtDFvGBLD6ekfLFUH7493 00UXHmbmOdbAGidh6pb/5LPTYNADawb1BhDdb8qKBANGen+5wzmHcFnsVIrVmwzMqDVM 8w5WCeAvC9KjFqvqHcxcYSkK/C0XfluaHW255T3EJawa/eR50j+6ggX8ReurBuTno6Ww NDRRzXrtj/dbZZ8eIcWLMtj+SkjKZKDE2KPlSURiU8dh0agodxPTPjmTWiRx5xl/JkVg u6og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722128582; x=1722733382; h=user-agent:mime-version:message-id:date:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=I0o7+uFlPCijem/fyWW1LyCyp4hDEUHgkaWCfUlNCjo=; b=Wh9/Wz0qNMNUadv0rHcBHaKfISVpkl8gHucJHQSoq18HVyy8CbOuVUTse6txOWdKCj H1knjy9g6Wjegpdwz0bxjkCL87clHCyBhaHYAgN0n+4dS+upl2ZkjAUnjW357R1osUJ1 jot8YMYp1i5Q5Qi19qmLjaJ4B7vPCrEMAE3LzBNApc8HI4raWqr1g8VFowZb12Ys6pWd hWdRKEurT3PL9dZJEau/yh94pfckGrL2NUw68AxkElpdfDW5YcdbAkAuTPEbOo5YCw9K o5ha6R1KEUXJpiPbnNjexaNi4tm9XGzcYTHGU/1Y5p/iblwjLPSPvrzOly5TU1UqG2W5 J1pQ== X-Gm-Message-State: AOJu0YwE00WT9cd1UU/4hvjaDkzMwC3MUzvQu/UepZMddiZmWNmNPh1n ySxF7jrkLW4/OI/o9IqyDvWVgo5FTWjvCrdOpX28QttrHidbHPHKx7W0BA== X-Google-Smtp-Source: AGHT+IFf607LH08lZZjau9qhj9xREwQqpJNKm4XFVsA7DVrWWn+5JOCC8Kzr7fGZMJ+Lkk4BDCdDYg== X-Received: by 2002:a05:600c:1f96:b0:428:1310:b6b5 with SMTP id 5b1f17b1804b1-4281310b8dfmr25357285e9.34.1722128581697; Sat, 27 Jul 2024 18:03:01 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36b367fca75sm8686492f8f.58.2024.07.27.18.03.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Jul 2024 18:03:01 -0700 (PDT) From: Thuna To: bug-gnu-emacs@gnu.org Subject: [PATCH] Nested backquote in pcase Date: Sun, 28 Jul 2024 02:40:00 +0200 Message-ID: <87jzh62vtr.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" User-Agent: Gnus/5.13 (Gnus v5.13) Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=thuna.cing@gmail.com; helo=mail-wm1-x32a.google.com 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_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain Assuming a hypothetical `(pcase-assert OBJ PAT)' I would expect the following to succeed: (pcase-assert '`,nil ``,nil) (pcase-assert '`,1 ``,,(pred integerp)) (pcase-assert '`,@(list) ``,@,`(list . ,_)) which is to say: a comma should match its argument as a pattern only if it escapes the original backquote (currently comma at all depths "escape" the original backquote). In case there is any interest in this, I have prepared a patch which both adds the above as tests to pcase-tests.el and implements them in pcase.el. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Handle-nested-backquotes-in-pcase.patch >From 9e7ab85e84bbdaf2520dee52aeec8b650b349c6a Mon Sep 17 00:00:00 2001 From: Thuna Date: Sun, 28 Jul 2024 02:34:20 +0200 Subject: [PATCH] Handle nested backquotes in pcase * lisp/emacs-lisp/pcase.el (pcase--expand-\`): Treat nested commas and comma-ats as literal symbol matches, only consider their arguments as patterns (or error in the case of comma-at) if the comma escapes the original backquote. * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-nested-backquote): Add tests for the behavior of nested backquote patterns. --- lisp/emacs-lisp/pcase.el | 17 +++++++++++------ test/lisp/emacs-lisp/pcase-tests.el | 5 +++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el index 5a7f3995311..a4c855432ce 100644 --- a/lisp/emacs-lisp/pcase.el +++ b/lisp/emacs-lisp/pcase.el @@ -1142,17 +1142,18 @@ \` (declare (debug (pcase-QPAT))) (pcase--expand-\` qpat)) -(defun pcase--expand-\` (qpat) +(defun pcase--expand-\` (qpat &optional depth) + (unless depth (setq depth 0)) (cond - ((eq (car-safe qpat) '\,) (cadr qpat)) - ((or (eq (car-safe qpat) '\,@) (eq qpat '...)) + ((and (<= depth 0) (eq (car-safe qpat) '\,)) (cadr qpat)) + ((and (<= depth 0) (or (eq (car-safe qpat) '\,@) (eq qpat '...))) (error "Unsupported QPAT: %S" qpat)) ((vectorp qpat) (let* ((trivial t) (contents nil) (upats nil)) (dotimes (i (length qpat)) - (let* ((upat (pcase--expand-\` (aref qpat i)))) + (let* ((upat (pcase--expand-\` (aref qpat i) depth))) (if (eq (car-safe upat) 'quote) (push (cadr upat) contents) (setq trivial nil)) @@ -1163,8 +1164,12 @@ pcase--expand-\` (app length ,(length qpat)) ,@(nreverse upats))))) ((consp qpat) - (let ((upata (pcase--expand-\` (car qpat))) - (upatd (pcase--expand-\` (cdr qpat)))) + (let ((upata (pcase--expand-\` (car qpat) depth)) + (upatd (pcase--expand-\` + (cdr qpat) + (cond ((eq (car qpat) '\`) (1+ depth)) + ((memq (car qpat) '(\, \,@)) (1- depth)) + (t depth))))) (if (and (eq (car-safe upata) 'quote) (eq (car-safe upatd) 'quote)) `'(,(cadr upata) . ,(cadr upatd)) `(and (pred consp) diff --git a/test/lisp/emacs-lisp/pcase-tests.el b/test/lisp/emacs-lisp/pcase-tests.el index e777b71920c..2649e754beb 100644 --- a/test/lisp/emacs-lisp/pcase-tests.el +++ b/test/lisp/emacs-lisp/pcase-tests.el @@ -191,4 +191,9 @@ pcase-tests-mutually-exclusive (should (pcase--mutually-exclusive-p (nth 1 x) (nth 0 x))) (should-not (pcase--mutually-exclusive-p (nth 1 x) (nth 0 x)))))) +(ert-deftest pcase-tests-nested-backquote () + (should (pcase '`,nil (``,nil t))) + (should (pcase '`,1 (``,,(pred integerp) t))) + (should (pcase '`,@(list) (``,@,`(list . ,_) t)))) + ;;; pcase-tests.el ends here. -- 2.44.2 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 28 10:51:40 2024 Received: (at 72328) by debbugs.gnu.org; 28 Jul 2024 14:51:40 +0000 Received: from localhost ([127.0.0.1]:44217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sY5FM-0002vI-Er for submit@debbugs.gnu.org; Sun, 28 Jul 2024 10:51:40 -0400 Received: from mout.web.de ([217.72.192.78]:52017) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sY5FK-0002v5-I8 for 72328@debbugs.gnu.org; Sun, 28 Jul 2024 10:51:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1722178280; x=1722783080; i=michael_heerdegen@web.de; bh=wA9ztWy5rGjVlilAnEXQL7rP0XTQ14rYA+37KElOGWU=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=Azi9iyN/vSTXhEdUnSRWmn76LKpIkqVxZ7k7OvOw4IU4iwoqUGTiZFdTgd8LhFL1 XaEz8psmQ7aFX5wzqsNUQ5EXNfEbR5+9KRAsHNcAARqsEzb0wKsS1vWQYw4BJctPl 7vVSEFOHc9q3wtM5dG9RfDuHEHZm2NtGzbb372f+/BqFBWZXBwMHSYQGCFGLIDp0Z 4kPzvsGXXBZkBe1R47v9ecaGPQPrwm84ZcwKt8EhBEQjwqcGC9o3xdhJ+CrZ+2Jg8 kGNhUzueGCLjrMDLvIu1BqK4QakMSGuqoapgLf7BbMbZywEYgPeDsPhHU1tp9AYiW aDlOHpFO6OwxsHN6Rg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.113]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MUCz3-1sgZXH0sEd-00R4kp; Sun, 28 Jul 2024 16:51:20 +0200 From: Michael Heerdegen To: Thuna Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87jzh62vtr.fsf@gmail.com> (Thuna's message of "Sun, 28 Jul 2024 02:40:00 +0200") References: <87jzh62vtr.fsf@gmail.com> Date: Sun, 28 Jul 2024 16:52:09 +0200 Message-ID: <877cd5k1ra.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:Dqnoi1u5pIjWckYe46cQcP6O9EALdAPVUBBhrbfa3+jZjC7rEan ZatJcU91O3h+9zUKst6Y1PtVo4xibp5AUMkBBRwAh7jClfp1BPiwMaR4u4mk69BR3xsnK+I gvO6/bdBoEe9K+hQJsQyOv0jB4+iyCNCY7wfUTl41kHhRT7SWh9gXJnRsw4wUb5SR/OxG/d lDQJPciOQHEQTtRZ8WHHg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:pRhZcduQ61c=;WeJ9VC+teKFsUkfnWRO8Z5YcUrH xgZbtlrfpFsx6mQ20M06GMzz85quKjVPx0bGpFzJP0zRHJmThG+vHyVpW2ArsmOM26UROfYwb 5EKyMmE71EZ83N2rbZFB11nPsOfhMuJ4yCmEDBzvSCWQmPextNR7Dg3lR8lWn5CYCt/mtZHzx u3gbWEFd37VHdshp744ntsp0AsuFFXPkkjoW/yAD9VUYxstCzJD2/82iw9EEcosys0l0J2TFf iaQq+Ehtsb87rkGP8RZXJ0r8dGXjDQtlH8HwSHbdBG8O8/D2qlskoiPbzBgySco6n+ooMZlgZ GXr+GQ+Pg7CJrwjUzPOohz6PkGOtww0D397q71D59W5/M0QOXHCDJmzPlNvPdlMsblNr9bSWe PKio7nePlq6GXVZmK/sHV8eRdd7+YWBpVefdrTSjA69PgwHa+NWgqV2Tu6NYw4xbd2nsKdM4B QQ+UfyHTQFdPwekQEb7FhU5higiwOzT+R2+OfDa4WqhHBCfWI5JzG4AwbajE6DbKAL88YDkHO JG/trSDaVq9XxUBiosoOWhIalDDHHVQSFgaU/ywjutdMNQkkYVbttdvXNcauLtIrTBhJL+J44 wValwLovOuT47fgqgmWwCgmRUenqXa/5L5W5yVEpKAgKxmB7DWzK/kdEteq721musDWRa2ar3 BMPDE+lPa162+O5mJbdTwenqN26hu1c1oE3642QGVyWa+JHKp4nt3XBClWDKPAXo1kg03+zly BvyQdXBMejOV4ixLSIA+TQz0ZL4QRqOAMnbLGDskMeXLhN4NeITs2Gs4Z4zGjfuNpo3cFcokH hwuaUU1pw0WnpUGOqXWsJ79A== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 72328 Cc: 72328@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 (-) Hello Thuna, > a comma should match its argument as a pattern only if it escapes the > original backquote (currently comma at all depths "escape" the > original backquote). why do you want to behave `pcase' like that? This would be a backward-incompatible change, breaking existing code. And this change would break the symmetry between `backquote' the macro and backquote patterns in `pcase'. This is an important design idea. And I don't see any advantage either. Michael. From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 28 11:52:40 2024 Received: (at 72328) by debbugs.gnu.org; 28 Jul 2024 15:52:40 +0000 Received: from localhost ([127.0.0.1]:44270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sY6CO-0004al-2E for submit@debbugs.gnu.org; Sun, 28 Jul 2024 11:52:40 -0400 Received: from mail-ed1-f50.google.com ([209.85.208.50]:56601) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sY6CL-0004aX-Iu for 72328@debbugs.gnu.org; Sun, 28 Jul 2024 11:52:39 -0400 Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-5af51684d52so2312692a12.1 for <72328@debbugs.gnu.org>; Sun, 28 Jul 2024 08:52:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722181880; x=1722786680; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=BcSBcfMOxu/3S0mZdYWI096U4rFgRF3xIBUrYXtPX54=; b=KeXiRlIZW/kWrlijmDZaIYzb90+tOsYpi2Bj2QpsnOvAEuISJCUJrr6/CPmeJRD6pr 7usxQHHTSVAe8vyfkf9tbB203FWQOlSn/JS+yUu2w6U5bUn2wyt9AEKsVx1aRrBmIfYZ wbzJPuRw8M9IgVtzt+sfPCUt9cnK+3QoEPHh2aSdQsaACuhnWmEttaSwGSLydnLoVWJi u1MrOXA0TP8TxRpzHnT7q5tCDOJ0awxdYmmFuqGtvXBVQ5Y9XKYlBHGSUU2esFFwc+Aw Ha2JK950/PEjqTVpezbggO16Zz6Y9FTjoX7p8nQoh8EkKIav+IzMSI7AiSPY+S8w9fWN 2NrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722181880; x=1722786680; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BcSBcfMOxu/3S0mZdYWI096U4rFgRF3xIBUrYXtPX54=; b=W7YiEP7oD86mc4viHHf1BD46p/IDT8oR8mKVgNs4ot8BG+//U8XvUOD/aXVTz9JEfV GrHCcgsAUo+7v3cAu5euSJYq5i0w47eg2zK/B92xqGfgdNcuH9besyAO6Wm+hLhrNBUI okme29uJb4/WYOC0IkNxsBHPDvYL726tHQ5PU0et0P8s/3ZElNZ5aPYwrNA40NZKpXsN huCd0VIzzlKkj2R7QpcQZ+kVAKO69meIK1YW0J5e4tl8ELCOTvJGHykVP0sPbExyC+d5 j2TYSBa0K3Iw89JuNokhn5r1NZMAmokQPplq4UK5fo8ygkpNI22HPyQw2pl81CWUv/Xp WDhA== X-Gm-Message-State: AOJu0YzDhF4VxvAicQC3cGuy5QJ2YmJxMJONmJKVjatA00J2XQCZ7+od f8pXKKQ036aB0/FsaUjqpDb8DxWLEthZfXleXoqhIc7SJ0ZYSWh00j/KmA== X-Google-Smtp-Source: AGHT+IGJ5pQJPobMMeNep+lM4w+lfiexixjfyg7ptQHpTyuwBOBT9UqFrI8ato37PnaNXwVweHgReA== X-Received: by 2002:a17:907:7f0b:b0:a7a:cc10:6682 with SMTP id a640c23a62f3a-a7d4008541dmr333603566b.40.1722181879332; Sun, 28 Jul 2024 08:51:19 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7acab536cesm397467766b.84.2024.07.28.08.51.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Jul 2024 08:51:18 -0700 (PDT) From: Thuna To: Michael Heerdegen Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <877cd5k1ra.fsf@web.de> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> Date: Sun, 28 Jul 2024 17:51:17 +0200 Message-ID: <871q3d347e.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: 72328@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 (-) > This would be a backward-incompatible change, breaking existing code. Yes, I forgot to mention this in my original report, but given how unintuitive (IMO) the current behavior is, I expect that very few people will be using patterns which would be effected by this change. > And this change would break the symmetry between `backquote' the macro > and backquote patterns in `pcase'. This is an important design idea. I am not quite sure why you think that this breaks symmetry with the backquote macro; the purpose of this patch was to establish a symmetry in the first place. Would you consider the examples provided as unnatural? > And I don't see any advantage either. AFAICT right now the only way to match an unevaluated (or quoted) `,foo is with `(,'\` (,'\, foo)) which is quite unideal. It is not often that you need this but having this not be representable in this way is not particularly useful. From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 28 12:03:11 2024 Received: (at 72328) by debbugs.gnu.org; 28 Jul 2024 16:03:11 +0000 Received: from localhost ([127.0.0.1]:44275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sY6MZ-0004r2-93 for submit@debbugs.gnu.org; Sun, 28 Jul 2024 12:03:11 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38276) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sY6MW-0004qm-5t for 72328@debbugs.gnu.org; Sun, 28 Jul 2024 12:03:10 -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 ) id 1sY6ME-0004em-74; Sun, 28 Jul 2024 12:02:50 -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=Em3MYUjHw/ixML5DRXWgEtZrK1RhfK+gVc+LrTevptM=; b=Q2ulL66l7Upl aLwlzv78CumQ+3gvF+/Lf5EPt2iTcR5hV4Qt540xG69GrpSmbCYaEbdi1pDIaoeMxGwrZ68ysmhrm T/QvO5L6SoTOuuv7OGzDGCqfTsCHUMktXxtL04AoFh3rcSA2MqDuspVGYkToHFzl2Mjt0yfYEfjmu XwUgUGJoAwn1h1k8AEQeee3CnQRoL/s3CSvu601E6Vbiv/7moAYAoGUpu+qXE/U9lcy3RrBwRCBz0 Jp7t2lzz6rSgj11iXrjpdTy3QLyrI0pQVUr0fU8z5LRGNn4o+Se1dUQqk+6nI+bIU7PSRxW69h9pr zT/3MwCyap61nP8LvUwJLg==; Date: Sun, 28 Jul 2024 19:02:47 +0300 Message-Id: <86sevtzeqg.fsf@gnu.org> From: Eli Zaretskii To: Thuna In-Reply-To: <871q3d347e.fsf@gmail.com> (message from Thuna on Sun, 28 Jul 2024 17:51:17 +0200) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, 72328@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 (---) > Cc: 72328@debbugs.gnu.org > From: Thuna > Date: Sun, 28 Jul 2024 17:51:17 +0200 > > > > This would be a backward-incompatible change, breaking existing code. > > Yes, I forgot to mention this in my original report, but given how > unintuitive (IMO) the current behavior is, I expect that very few people > will be using patterns which would be effected by this change. Famous last words ;-) Bitter experience has taught us that this kind of arguments invariably causes changes that break someone's code or setup. So we try to do that only if absolutely necessary. Which doesn't seem to be the case here, AFAIU. From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 28 12:22:28 2024 Received: (at 72328) by debbugs.gnu.org; 28 Jul 2024 16:22:28 +0000 Received: from localhost ([127.0.0.1]:44293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sY6fE-0005Lk-0W for submit@debbugs.gnu.org; Sun, 28 Jul 2024 12:22:28 -0400 Received: from mail-qv1-f48.google.com ([209.85.219.48]:55667) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sY6fB-0005LX-R5 for 72328@debbugs.gnu.org; Sun, 28 Jul 2024 12:22:26 -0400 Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-6b7a4668f1fso14333916d6.3 for <72328@debbugs.gnu.org>; Sun, 28 Jul 2024 09:22:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722183668; x=1722788468; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MjI8dLDEY78hxgW+1OKJTrYnvk4M8emLdXWXDN2h00Q=; b=iYcg7QsIfoLZgTYwjbUaxW6EhLxeY1fh+gxSL7CNAxDXJO8C8HVxFoAb/w1HaySVlU tSiAwXo45uQEs67OxXK/vEGZiPjw7IH8bCDUC71j0Q/WSiKnHNUQh9HHi2p+BqqPbI2L HoFqGY8zQLD//SkuILXHXX3qUdZSiDguW7chEdsDEKmW+qWrsaGfes7omfoZPTGUnTeW CEUisbdnP7ipOiZ2e3kk5FE2jyIPwLHgkojzfJmKzxXFgEYDNe9zusk45J9pYvHkPP0p RsZOJv7GqYY/SpdDteUwRQP9BDDo0/idjRQihlWqzlZwZpNSL/ZzFJpoV9J4lmQSVHhs uMZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722183668; x=1722788468; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MjI8dLDEY78hxgW+1OKJTrYnvk4M8emLdXWXDN2h00Q=; b=KDvm7jeLXX1lxHki6icw9RMD7AfJJQkBDRraO+xwem/6DTVtPjyMnX4q8KPSx2Ceiw qiXSbDqor3ZabJS3aKPeThGmCN3YSRhuiiHtpykyEOKCcmWoGImQBppCN0CXGc3DuRDW LPgI7mhFE1CEF2zgeyjXxN5pjpJwgacK5E5yzlnQhMY5FMK769zsy/a9VXFMxbNU2n/s c1am2kMfnOg4aC5TI+i6yG4bWt64mYMWcPvzBMJceSvJ8zQEd1WrYiX1v8Wu42F7MSKh 29sveUsfvPE4Zeb5Y0MVf+w2QQdE0jicVWQ+TLLRP0Wk8n8gcQ4ahOgPidvYQm1mHYAT QfBQ== X-Forwarded-Encrypted: i=1; AJvYcCX8SfO/xIK6n+7r5iSArmgilzrPdKJAzXWi7L5PeUfHXGI2we9WFp8p43hwHQol56euJn9/uVu0T7WhxhTNz7+oEg6dCnE= X-Gm-Message-State: AOJu0YwwKG9wmonfQ1ExVL+hkC/sfDIgC6pF3V72YeXdGY044+UPrbJ0 Wq9DLVwbSRNqVzO0SWQkJxWRmIPhARyF0rlG2H24Y8rRvhTtj9i7zQaYBCF71u4jLGgZ+TEwiuQ s5s1BcNMlpTWo6mzpR3865sNKOD8= X-Google-Smtp-Source: AGHT+IGt2TmYmwtcgdVwH4FwroMnsOpUsnYhBqzYhB12w18pwkH/X+7ecg0zKoFyjogI/Xss8jcrExNNZ53Tit8PNmM= X-Received: by 2002:a05:6214:124d:b0:6b7:97d1:9a94 with SMTP id 6a1803df08f44-6bb55ab9e29mr63737436d6.36.1722183668419; Sun, 28 Jul 2024 09:21:08 -0700 (PDT) MIME-Version: 1.0 References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <86sevtzeqg.fsf@gnu.org> In-Reply-To: <86sevtzeqg.fsf@gnu.org> From: Thuna Date: Sun, 28 Jul 2024 19:20:57 +0300 Message-ID: Subject: Re: bug#72328: [PATCH] Nested backquote in pcase To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000cb5541061e5121a4" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: Michael Heerdegen , 72328@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 (-) --000000000000cb5541061e5121a4 Content-Type: text/plain; charset="UTF-8" Fair enough. It would not be particularly difficult to keep the old behavior while giving an obsoletion warning in case someone is using it "wrong", but that would require that the new behavior be considered "correct". What is overall opinion here? --000000000000cb5541061e5121a4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Fair enough.=C2=A0 It would not be particularly difficult= to keep the old behavior while giving an obsoletion warning in case someon= e is using it "wrong", but that would require that the new behavi= or be considered "correct".=C2=A0 What is overall opinion here? --000000000000cb5541061e5121a4-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 29 12:03:40 2024 Received: (at 72328) by debbugs.gnu.org; 29 Jul 2024 16:03:40 +0000 Received: from localhost ([127.0.0.1]:46218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYSqZ-00085F-FD for submit@debbugs.gnu.org; Mon, 29 Jul 2024 12:03:39 -0400 Received: from mout.web.de ([212.227.15.4]:53975) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYSqV-00084o-0I for 72328@debbugs.gnu.org; Mon, 29 Jul 2024 12:03:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1722268991; x=1722873791; i=michael_heerdegen@web.de; bh=wFOrOlkObCB3PUXvQ6S+sPZptqau8HIKQa9ggJ5ZNCw=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=Z225+j2NnSlh9ZWYIIMbIAN4ziJqk4EBpMzaW21cysq4Wqq+lJau2iz4qqcgYtc7 S1kvigQ3uEN6HuOyFH9Ur8BxxoUIrONb2Vcx6mbatiF3hf6Tbo76GZMCAjVjrU28l vonsLzKvLnaei7O42vhlzghHIxOlp+Y79YXaPflvpRzL2ZsMNEGPxASLde+jKY72u mt7gIPOvB5vBaUI+jKkNP0id+kO7wdCfurwgEqb15uG+/hBK7fexrtDMBjkI2sH1O k9eCyw+02Z6T5YIEXgv1BUmGSutSRqjjJa1rXOui2nkNcmw67ZlPBq2LqHtEL+hT5 yXH0iF53BsSY6N8agg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.113]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N79RI-1sDQtn0zOu-013KYi; Mon, 29 Jul 2024 18:03:11 +0200 From: Michael Heerdegen To: Thuna Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <871q3d347e.fsf@gmail.com> (Thuna's message of "Sun, 28 Jul 2024 17:51:17 +0200") References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> Date: Mon, 29 Jul 2024 18:03:59 +0200 Message-ID: <877cd4rxqo.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:T0N1VBGqH6TebyEX2o3/hhyHwYhp32LWtGBYk4kz6jv50hdFU+J fIToWhvk0fYFxCrb7lQA6RFIQDUifucZ2RDyuZLQ19x/TTNL4YljdgIm4R6+5s5ztFa5kuh CdlyiWaXKKlRS/EovXDqJH+VhUTaIq0ABt/uoZrKG+Er3y5PGiMu/eUbAfKeWAYvwshRZnG c0inwyJN9VpomZDcN51OQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ihtEXl/WaUY=;aE+LrkIc66q8UwEP9D11lGINL2O s85IPLgnxGWI9oBFnkKZIWCRJ/iuM3+Ur2Hg1Iq/MUEtSnR4jY/uKrqLkFtip8ohI0iP3x56x j37nxVvqrMK1HsO/An3Hw0kQmT+eNULAsUYH/qI+ziht+rgiJe4qrK98sQh0dEXgPU+l8DbCi VYv4X5xhMOlRWfPIHbhhS/XAaZuVfJlO6PVrbiNSGLqGbVoFDu2tE6497Wfah5uUPXC/uAog7 GnmxLyX1FKHpcECDHMY0UpflV2scuUAWZ5r0l7jT6dA7+VsDgZSVaqDMQDLRUEuKr6GshylzN kAITe+XuTjT1ohoeYNgTDCyLWUK4B6+LZxKBXxY2lim4+aeb9k7nVuU0Y//+rlgX6drWCl6Ck IBkRZri1B3hF1MRH/ITbt/eKa4Bmj7Y/9ZlqWSuj8B7r+3iDdrqIAfMPyeQbZeXYnAReQwuXM d31Yv4PToYeOuGewbeI1/62tXH1D8Q9LqctaxQPLtDXB4urKcqm0a8CK+BoQ6kl2kanQx2wBf WmW64FKk4SR4fVfILu7qEdpmYvujOBGdNj8UUs4p/rIhPgI1ksyGlJlA5Eg9s8Q091xtK1r11 u7mLqgfRsr75fD3OsJ8pWcpRrPmQx5xLf9wZ07Bpqa0Ka/YF0tE1CvQngRdHdlzV6AuKfua93 9eGSBBzR7jckqFHYqQnuuPmQIFczj+Dxk0eW3NCSaHzEMZ2WQA2yJj8WKwblBt956NNQemP9Q EQyFxlh1PhhdtcFMwRUGf48WDZzzDNCq1jZKtUkRdBTj9Q+K6YVPxzGhCgC9WqM5MjrlnDBeL RrYghp3jO+C/AikhV9zKnmLg== Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: 72328@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 (-) Thuna writes: > > This would be a backward-incompatible change, breaking existing code. > > Yes, I forgot to mention this in my original report, but given how > unintuitive (IMO) the current behavior is, I expect that very few people > will be using patterns which would be effected by this change. We have _dozens_ of such patterns in the Emacs Elisp sources that would break. Your expectation is wrong. > > And this change would break the symmetry between `backquote' the macro > > and backquote patterns in `pcase'. This is an important design idea. > > I am not quite sure why you think that this breaks symmetry with the > backquote macro; We want that something like this works as expected: #+begin_src emacs-lisp (let ((a 1) (b 2)) (pcase `(69 foo (97 ,a ((,b)))) (`(69 foo (97 ,a ((,b)))) (list a b)))) =3D=3D> (1 2) #+end_src I think it's obvious what I mean with symmetry between backquote and pcase backquote without giving a formal definition. > the purpose of this patch was to establish a symmetry > in the first place. Would you consider the examples provided as > unnatural? I'm more concerned about what we would loose. > AFAICT right now the only way to match an unevaluated (or quoted) `,foo > is with `(,'\` (,'\, foo)) which is quite unideal. If `foo` is the literal symbol you can simply match using a quote pattern like in (pcase '`,foo ('`,foo t)) =3D=3D> t > It is not often that you need this but having this not be > representable in this way is not particularly useful. It indeed gets ugly when one wants to match a non-constant backquote expression using a backquote pcase pattern with partial unquotes (the "mixed case"). But making pcase backquote patterns less expressive just to make this special case simpler doesn't make sense to me. OTOH I agree that having a convenient solution for this kind of problem would be nice. Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 29 12:45:54 2024 Received: (at 72328) by debbugs.gnu.org; 29 Jul 2024 16:45:54 +0000 Received: from localhost ([127.0.0.1]:46225 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYTVS-0000gO-Do for submit@debbugs.gnu.org; Mon, 29 Jul 2024 12:45:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39490) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYTVO-0000gA-AA for 72328@debbugs.gnu.org; Mon, 29 Jul 2024 12:45:52 -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 ) id 1sYTV5-0008FU-62; Mon, 29 Jul 2024 12:45:31 -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=w4CghIaDUk9LgmWzKOmjFbAaY1+frBxlbhJ27etircI=; b=TdJzgYbyfDdP f0lWegfSz3SG5CdpTVFnOtabeyyY83s+UMM1CfSgtYSutXjxpv8//EIiBSvMR3u1ceT/nwKiSYUUJ /uXjzjMcUr6xI2wWmD2cCogxYHPIayObtQlwBbPjgT9JXlj/7EHlJBpf+dtDNQSXNtNH/0y5I4xi1 Gdmhfcjo8VcXeFTUYFzorVB7b75EjQp6ubKnPip4ucCNPjpFS2mBu8VJIr2VGj5S7cGQJNjMceVyA SMBVgvB1vRcCUEBzVP/Y8jCJdphfojTmt6Zj+3UvvDCxuYPKbdKJ6DWFO80JKNlEGd4qJJ0D/3TNr hEQF4t2cXB55YCQO0mD7Ew==; Date: Mon, 29 Jul 2024 19:45:29 +0300 Message-Id: <867cd4ywnq.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen , Stefan Monnier In-Reply-To: <877cd4rxqo.fsf@web.de> (bug-gnu-emacs@gnu.org) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: thuna.cing@gmail.com, 72328@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 (---) > Cc: 72328@debbugs.gnu.org > Date: Mon, 29 Jul 2024 18:03:59 +0200 > From: Michael Heerdegen via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > Thuna writes: > > > > This would be a backward-incompatible change, breaking existing code. > > > > Yes, I forgot to mention this in my original report, but given how > > unintuitive (IMO) the current behavior is, I expect that very few people > > will be using patterns which would be effected by this change. > > We have _dozens_ of such patterns in the Emacs Elisp sources that would > break. Your expectation is wrong. > > > > > And this change would break the symmetry between `backquote' the macro > > > and backquote patterns in `pcase'. This is an important design idea. > > > > I am not quite sure why you think that this breaks symmetry with the > > backquote macro; > > We want that something like this works as expected: > > #+begin_src emacs-lisp > (let ((a 1) (b 2)) > (pcase `(69 foo (97 ,a ((,b)))) > (`(69 foo (97 ,a ((,b)))) > (list a b)))) ==> (1 2) > #+end_src > > I think it's obvious what I mean with symmetry between backquote and > pcase backquote without giving a formal definition. > > > > the purpose of this patch was to establish a symmetry > > in the first place. Would you consider the examples provided as > > unnatural? > > I'm more concerned about what we would loose. > > > > AFAICT right now the only way to match an unevaluated (or quoted) `,foo > > is with `(,'\` (,'\, foo)) which is quite unideal. > > If `foo` is the literal symbol you can simply match using a quote pattern > like in > > (pcase '`,foo > ('`,foo t)) > ==> t > > > > It is not often that you need this but having this not be > > representable in this way is not particularly useful. > > It indeed gets ugly when one wants to match a non-constant > backquote expression using a backquote pcase pattern with partial > unquotes (the "mixed case"). > > But making pcase backquote patterns less expressive just to make this > special case simpler doesn't make sense to me. OTOH I agree that having > a convenient solution for this kind of problem would be nice. Stefan, any comments? From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 29 13:45:10 2024 Received: (at 72328) by debbugs.gnu.org; 29 Jul 2024 17:45:10 +0000 Received: from localhost ([127.0.0.1]:46283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYUQo-0002Ap-9Q for submit@debbugs.gnu.org; Mon, 29 Jul 2024 13:45:10 -0400 Received: from mail-lf1-f49.google.com ([209.85.167.49]:45339) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYUQm-0002AV-3k for 72328@debbugs.gnu.org; Mon, 29 Jul 2024 13:45:08 -0400 Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-52efd8807aaso5791308e87.3 for <72328@debbugs.gnu.org>; Mon, 29 Jul 2024 10:44:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722275028; x=1722879828; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=9iKHdHq+6Mc5iUq6tJlDO0d/+2ylXPcylznmI3B71Zc=; b=Ra2zTA7MVbLyODfS7CsDlRXyHl1SFobhjGQQkDB11Wzz+0gfFkrlddhM4DnxyCYLCK itYgzltFnkcFO4Ijp7zBlKbIPKxqx3SkrUCXDkkPL9DE0RS3TUVv9stFbbd2IdYf5t6o AF/hwYbH60Ek50IpUN+zKqXntgEXlHt2hhxLol/3FDyBdPheSdMyHkp5C6Zavb+/5Zil Krdo1CNt7q666xfkZbNVhkTfsFiIacERMV2KWQPwNlJ5JgXbjJKzGVc+VZxRtedsh7Bu KpnaFbuZO6YlZs24BUDsZLGJbw2MpNUerJ2PxowU8fei00uWccglLGrY77gPEC4QFCNt yAUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722275028; x=1722879828; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=9iKHdHq+6Mc5iUq6tJlDO0d/+2ylXPcylznmI3B71Zc=; b=K3Bxn/kqYo7Y3Iisru5XjfHw4x8eextwD70W9pQBQLLcZdox5lJvqvma/mNgiH8e3p yYuMRZAkoLhp0N4VgyEqRUfkQnCUhwLLu7IvDk2esNzNXP4SNN25yFLKSZMQKTVzJRdq WJ+eq0z0wHA1XV8UCsyrFvBRu/hBfq0ByYoNK6RPgLCSBVQDSBg2MVFwtD8eeKab4q6O x1hxE2xDkGkMMMOrHxkCu6s0vsa3gt8QjaCleS0bO/JEIOpnOz6ZXMhbI4VgLSEsxhjj ec61YtlxQK9/tJKQZvfjr688BLofduKckxuzU9n4I/EPYPDV8j6k97d15WeHT4D2dYVC gdXA== X-Gm-Message-State: AOJu0YzpIiUTbFMyAZndFxiBs5GcSZOtTscybwp0J6JFsDyvP65D5tXG h4UM7d7pP5M/JhB1s18bqk8krp11bwjv+Ul7QpBu0TOU1Yjsy0HFKY4p1fMbd98= X-Google-Smtp-Source: AGHT+IHbjPgCbQqf+XXJiX7vx7MQObIEqCeugkMIFLdCsHi0cOE6iRpLMsQ9zcUoSL93GiqeriWfoQ== X-Received: by 2002:a05:6512:ac2:b0:52b:c1cc:51f1 with SMTP id 2adb3069b0e04-5309b281170mr6403376e87.23.1722275028030; Mon, 29 Jul 2024 10:43:48 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7acadb8072sm533235766b.196.2024.07.29.10.43.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jul 2024 10:43:47 -0700 (PDT) From: Thuna To: Michael Heerdegen Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <877cd4rxqo.fsf@web.de> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> Date: Mon, 29 Jul 2024 19:43:45 +0200 Message-ID: <87v80o14by.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: 72328@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 (-) >> > And this change would break the symmetry between `backquote' the macro >> > and backquote patterns in `pcase'. This is an important design idea. >> >> I am not quite sure why you think that this breaks symmetry with the >> backquote macro; > > We want that something like this works as expected: > > #+begin_src emacs-lisp > (let ((a 1) (b 2)) > (pcase `(69 foo (97 ,a ((,b)))) > (`(69 foo (97 ,a ((,b)))) > (list a b)))) ==> (1 2) > #+end_src I feel like there is a possible misunderstanding. I am not preventing a backquote pattern from going deeper into a list. Your example would remain perfectly consistent under the new behavior. What *wouldn't*, however, is something like (let ((a 1) (b 2)) (pcase `(69 foo `(,bar ,,a ((,,b)))) (`(69 foo `(,bar ,,a ((,,b)))) (list a b)))) Which currently errors on two counts: 1. ,,a in the pattern first expands the initial , as though it escape the backquote pattern (not the one before (,bar...) but the one before (69...)) and tries to match the object - which is (\, 1) - against the pattern ,a which is of course nonsense so the macroexpansion fails. 2. ,bar in the pattern tries to match the corresponding object - which is (\, bar) - against the pattern `bar' which binds the object - once again (\, bar) - to `bar'. Do you disagree that the result of this form should also be (1 2)? > I think it's obvious what I mean with symmetry between backquote and > pcase backquote without giving a formal definition. Unless our definitions of symmetry are different, the example above is a clear situation where the current behavior does not have symmetry with the backquote macro. > It indeed gets ugly when one wants to match a non-constant > backquote expression using a backquote pcase pattern with partial > unquotes (the "mixed case"). > > But making pcase backquote patterns less expressive just to make this > special case simpler doesn't make sense to me. OTOH I agree that having > a convenient solution for this kind of problem would be nice. The drawback of this new behavior would be that you could not match, say, the unevaluated object ``10 against `` where indicates an integer, as ``,,(pred integer) would match against a `(,'\` (,'\, ,(pred integer))). We can still match it, but only with the same ugly syntax as before: `(,'\` ,(pred integer)). While this is not ideal, I still consider the new behavior an improvement. From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 29 15:04:46 2024 Received: (at 72328) by debbugs.gnu.org; 29 Jul 2024 19:04:46 +0000 Received: from localhost ([127.0.0.1]:46346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYVfq-00048D-0C for submit@debbugs.gnu.org; Mon, 29 Jul 2024 15:04:46 -0400 Received: from mout.web.de ([212.227.15.14]:37877) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYVfm-00047y-Mk for 72328@debbugs.gnu.org; Mon, 29 Jul 2024 15:04:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1722279860; x=1722884660; i=michael_heerdegen@web.de; bh=CI72t5SQYsb58Rb/+mhY1d5tjlgf2Oy/z7jjtbFV05k=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=Ovo9+l7t03jEBYeKaIWWrD9tOKGFuAKyBXlw2+/cckjOE7ulhbERf+6Dc3Tx9Asn G9WMroR0/c8xoWj/ycxoUkG9uaVGixbo67AUghvzHRKuCZbdA78ZETvR9eeeVuWQU g0nczlxRK1yfoyOgCSOZR98CZGiDX+CaSB18WIQ4bOl2Qg8hJCOKp6p84xY3tZwqF kPXuYOg8le5EpXTW7LO61+P7pcrOPrGctmJeOZmoazq9TkQsFpoOb/ZD8FxSlVAPi 9AbBqBhM1tPXJKXksqWGcZKubulKOk8anQHWzRbSWCWiaRKWXvatuVXfyAvN2/1x3 fDuRRojYaDda5DYG+A== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.113]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MtPre-1sHFxy1kwI-01783o; Mon, 29 Jul 2024 21:04:20 +0200 From: Michael Heerdegen To: Thuna Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87v80o14by.fsf@gmail.com> (Thuna's message of "Mon, 29 Jul 2024 19:43:45 +0200") References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <87v80o14by.fsf@gmail.com> Date: Mon, 29 Jul 2024 21:05:11 +0200 Message-ID: <8734nsrpco.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:6PR6Nh8yfVXUXXazRLelFK70F8MxcLzNpUiW7ghcXXHDQg6THu6 twkVoLJKU50S1++q8Y3IqD2cvsWgkgJ4wsUhfkjob+Xx9m1xGOtnJtnM9pmFWLpdPKZEkFD QfLRKylPZ6nh+nabitCRSOYskIOo532GlSiU+9utOSGKB/kAn7CbwsCW1q1mv1mW/PxoW3C DIv/gdtw26XDtCspEpT2Q== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ti2wcrOEK0w=;OuTNRHi+VhtihGG8vswp5aOfIWK 5WP+xEu4qmWC/B2p4Ttwysib9chl+3oNr8Ak4UNigKCI14cxPIMeP5dYEXH92hBtWpvE0FJ7W zLFTD5MmUdYlEKXCiAfalJ0istJw7fngfkwCdRNhNkzsxLpOlNEEKNSOVdj1M+z/eXXW3mCO4 OLbo5qbmTAMK5KYILQx6DmpJzkEbZvF5NppoadQc+PRsEJ/4W+qlUm8gLofRdUVgNpUVm9shu va/3DDyOTkCWIeX53RAI3xEb5Et7REuZDUixXMF1c6meOwj5+Ty8++ZuAQKt0R7pzNMSU5II1 qREXt+eIxYwXOw3bE7cLJHsbW6hol8GpHF9gTCyGb5GvNyzlLxmDxIUkJma913Lv1ymRWgSRc UTXDxNoq2TxT5yHbYQS5M3kb0zRnSLGJPdvKRD1eYFfMlhBaRdFRxKBeYs7ggAgwLpZBYnLUy T/jJ/wyufdu8sePebkZG+vIWr4mrJrYNbGHVF+25n6m6JPOuKgwYGtX69cWmdmjPNGWpm0ZDb X9icUzF7C71RwTQm5BcEwsia1JszhDsj2dekL7IUhbIozfJUWo5YkkV51ok1S8plJ1OSurJ+N Sd8XwYyHfNVsM6F9HlwzifLdNXz2Kw0MPawaSyCccE+ymcpMyY5/zkprU2quJB/5rBlPz8l5T OPOgLXeKvd1FSJtF4GgDHehwds59GODv1LSqisBTrW/JhEz8C8U6t16Gg5zTYoBMHdTfs4EQ1 AaM1Q7KLG0XuA0D3N0mauVJM+mc792warapOBHZTAL5uxyKkjQwkOIOuP50Mb4HAC66SG9sWL pHhPGCjHhJ64/ih/xJ8R5WwQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 72328 Cc: 72328@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 (-) Thuna writes: > Your example would remain perfectly consistent under the new behavior. > What *wouldn't*, however, is something like > > (let ((a 1) (b 2)) > (pcase `(69 foo `(,bar ,,a ((,,b)))) > (`(69 foo `(,bar ,,a ((,,b)))) > (list a b)))) > > Which currently errors on two counts: 1. ,,a in the pattern first > expands the initial , as though it escape the backquote pattern (not the > one before (,bar...) but the one before (69...)) and tries to match the > object - which is (\, 1) - against the pattern ,a which is of course > nonsense so the macroexpansion fails. 2. ,bar in the pattern tries to > match the corresponding object - which is (\, bar) - against the pattern > `bar' which binds the object - once again (\, bar) - to `bar'. I see, thanks. Yes, I misinterpreted what you wanted to do in your patch. > Do you disagree that the result of this form should also be (1 2)? Maybe. I have to think about it. Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 29 22:11:14 2024 Received: (at 72328) by debbugs.gnu.org; 30 Jul 2024 02:11:14 +0000 Received: from localhost ([127.0.0.1]:46423 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYcKX-0004s0-QM for submit@debbugs.gnu.org; Mon, 29 Jul 2024 22:11:14 -0400 Received: from mail-ed1-f52.google.com ([209.85.208.52]:49480) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYcKV-0004rm-Er for 72328@debbugs.gnu.org; Mon, 29 Jul 2024 22:11:12 -0400 Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-5a1337cfbb5so7045042a12.3 for <72328@debbugs.gnu.org>; Mon, 29 Jul 2024 19:10:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722305392; x=1722910192; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=RYAAEA1BMUoC6YS0FDnQ3HhrYGHu4kSF18Zvz2FB03c=; b=jKdAkS5grbBbCcY1Dwlrs40MUJ8yBhN6UoHK0yi3DuOSGWglJcs/u4Fuun5Skiwyqd XBF71CZ501vBh7qi0zwTsiqnDUf19nyZ1MppPlkDaCBnhiasCvJ4w7LXrWK9OKb5FO0o +sGA2FSUXm/nnOa8BZBTb2IONE/GE7OxiiByQ73Qrq4BzfaC6kzjoK8q10EeN/1Tp5Qs 0DnS9yeSJy7vBct9Kk8YPnaE0I+ZTaEFM2dhl92GJ2bkorGsgPadawrtAEr0l+r3Urre SiDd9tASLXV0SYWxXc0BRr9B6rPr8Nu7livDWDjB6nJ/ggj7Hrh3E6YEaZOQMjKjz/t2 Azrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722305392; x=1722910192; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RYAAEA1BMUoC6YS0FDnQ3HhrYGHu4kSF18Zvz2FB03c=; b=DoVZbjqoigBO0yaYSkil1K225+bLdYjXP8aWzF9DBHMEcUh3sLG5Wtw1r8ckoxr9Rb dmScILwi/uKEE9z6XJwu7aSuFjqqs27+KtiYGSYszqzrV1Uu2zhjtMyqnebo71/Tc/m3 cKRVn+jWRlWstZWTVmoQJ2sVBQgtxXCSjFvE71qUi7Y0QCzOC8ark24QTRUUa2ZraLP2 SIk6nO9u+zbf4j8tOGTMJA1fNJqb+9iePv+cAjH+G9Z0Ohn2GLXEQs/t2SYpEIdJXIkm HL/Gsthrka4dQL+gjAhlakO4T2OhtIBYu3LouBjI2Sp9b9stKMAkCFTcenEx+u4CN5Cc gMWA== X-Gm-Message-State: AOJu0Yza8QnetLcCeE379LBPDZSlDLT5pxdDKPRRz7mqRwSRTgTfEZoU SKMuvT2FCCB6vQDLUBRliIUxWrp+OEQloYTA6uj3FkYDrnnNG4yo/U5vkHS/cRs= X-Google-Smtp-Source: AGHT+IGzlC3fNjPbULBkUGRsTDBnyUc8Kzws+xr2RiRgjBeFqglBT1x6Z/exejQAKoC4Cv1wrqWPUA== X-Received: by 2002:a17:907:9409:b0:a77:c976:2987 with SMTP id a640c23a62f3a-a7d4006cb89mr600863666b.29.1722286745218; Mon, 29 Jul 2024 13:59:05 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7acadb7c53sm552049366b.192.2024.07.29.13.59.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jul 2024 13:59:04 -0700 (PDT) From: Thuna To: Michael Heerdegen Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87y15kq65n.fsf@web.de> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <87v80o14by.fsf@gmail.com> <87y15kq65n.fsf@web.de> Date: Mon, 29 Jul 2024 22:59:03 +0200 Message-ID: <87le1j29uw.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: 72328@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 (-) >> I feel like there is a possible misunderstanding. I am not preventing a >> backquote pattern from going deeper into a list. Your example would >> remain perfectly consistent under the new behavior. What *wouldn't*, >> however, is something like >> >> (let ((a 1) (b 2)) >> (pcase `(69 foo `(,bar ,,a ((,,b)))) >> (`(69 foo `(,bar ,,a ((,,b)))) >> (list a b)))) > > Ok - so backquote the macro handles nested invocations of backquote > specially (the nested calls are not expanded individually, only the > outermost backquote expression gets expanded), while the pcase' backquote > implementation is backquote agnostic, it currently treats it like any > random symbol. Your patch tries to adapt pcase backquote to the > backquote macro semantics. Correct? Yes, that is precisely the case. I'm afraid I wasn't able to explain it well enough. > If there aren't any downsides then this makes a lot of sense and would > be a good thing to do indeed. The one downside that I can see is the situation I mentioned in my previous message where you explicitly *want* to bypass all backquotes, plus the fact that this is backwards incompatible, even though to be effected you would need to be making use of the fact that comma behaves this way - which I still don't believe will be too common - though there could be an obsoletion period where comma still bypasses backquotes but warns the user to change off of that behavior. All code making use of the new behavior will firmly be incompatible with older versions of emacs for which this is not patched, however. From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 29 23:20:42 2024 Received: (at 72328) by debbugs.gnu.org; 30 Jul 2024 03:20:42 +0000 Received: from localhost ([127.0.0.1]:46504 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYdPm-0006db-05 for submit@debbugs.gnu.org; Mon, 29 Jul 2024 23:20:42 -0400 Received: from mout.web.de ([212.227.15.4]:40783) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYdPj-0006dN-Te for 72328@debbugs.gnu.org; Mon, 29 Jul 2024 23:20:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1722309619; x=1722914419; i=michael_heerdegen@web.de; bh=rLVwuD50D1nug1Hwnyc3aYxBuaSAx4y461mfWTG/GSs=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=c9eWQepv/+JlzlU/HjCfikuv+9l4N2/JUvBovZDoOQsHOsY00pLsUHBrvOA1Whqd 1zOjezlhit13SHO8UWuvDRnCAE260wWzAHT2pF3aq0beHlCIpDEBcIUM50Y+m0j1S c9Pp9PsMgmZCbPtTfPQ3pSOlz5kWQcQYNIEUYTxq1sielc0+J5REjqkMx2/Tv7rDu g3G2pWQhJcs/YhurNVrj9elXirSjrxtWqYPcS2w2p4132N1t1AQ0aPqEHR96qUm1E qgq6PLuL/n+XCSx9gwkCpq8n0gjwrI8EImw3ycE85jLCNVrnhFf8tosPOmzs41Dbj muc9k6ph59BPszphow== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.113]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MQPdl-1suAiY1spd-00RlkX; Mon, 29 Jul 2024 22:44:19 +0200 From: Michael Heerdegen To: Thuna Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87v80o14by.fsf@gmail.com> (Thuna's message of "Mon, 29 Jul 2024 19:43:45 +0200") References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <87v80o14by.fsf@gmail.com> Date: Mon, 29 Jul 2024 22:45:08 +0200 Message-ID: <87y15kq65n.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:jkkx1pEbKac8ALsvFku2Uvs+5QojNkYKP0s5+5DSVGzcvmnx0s8 KqeY8R8/fmmwIm5OqGdKx9ExIwKcx3ZQ5KjUiMFwz+ZmCG5y1TSK4Z1g9lj/5oGchd0y0rn 7v3wzoiANC6Pz9Brm0dbbZFVdNhfPW7Hf2Vo8wVo4nbrYe75+ro82K55wSqumm6E9EUiKCN 46B30YPxOLJJmCnOUd3ag== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:EZHCSt3MqOI=;J+UP6b/XhMKe6u9GV6/v+9CuUZH xA2Uh1Nwi+b5nNRkMKRKPX/z3VkBbQxXER49u7QEa+oUOssAgaXEV8vQnickEYIIxF54JKPOQ oznw+b0WV6Bf9GEHYLwUeCwiMYZWXSphNai9ZRh4rsdpOeujt9KUTLIOk5ScVBg5loZaeTvdz ynsBRcA7nxVBL1OcwVYkQiKKPclrcHr4TJf/lkTbGe2MtpGIWdKyG08c7oKu+rwjqDxRSBOhP AeeO/WBIQgzPEbnphl4RwAloLNDZyvB6fVS1m4opRd8BHmQqasw1IYKUkETJuIBNTNNgmjBUT ikiVMblfDE2mpiHQHv2HY4SMmTyXym/j4Kl0mjuJ28WS/w9VC1UMpqLBOzKju2BOjjTxwZo/o XMK5GF7qWxjXDA+lbLLzfAsQNda+ceelnG7706WfSAaO6YpGzmYOiMosJlYKfzgwObP32nsku eHG56m+VXtxOS1qS1l4zeougKt/TTxiv5JEjmLoT8L+qeJSlZcIRLcFktj0rM8f75Sk2rHgyU ppGklZ7Ps5Dd59zAfra0lQPU7nbpF/vKvX/3JVSt43BPPDTcpcpphQAWfYX5LnLzX+HYJdVqU 0agjc8PJoYQUo88wM445L7s2pKUsJzN34uEYFH+ZhPb8RzfMJZntF3mT180S8mZ543qKUnqHa x7IovEqfPg3E0Uj2kFN+AYcBrAoNIdg07UymPOMZUF4Q7bAP1KSS7pstxvEVDrFFiPkaELomX TaQqtpwsEXlJTCLw91BZQDJcCiMGFiwh1H/45hhVZm1s44H63YJENoAI8VVYRaatRg8G2NxuF 9SvFffy4f7KL3T39Ackg18/Q== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 72328 Cc: 72328@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 (-) Thuna writes: > I feel like there is a possible misunderstanding. I am not preventing a > backquote pattern from going deeper into a list. Your example would > remain perfectly consistent under the new behavior. What *wouldn't*, > however, is something like > > (let ((a 1) (b 2)) > (pcase `(69 foo `(,bar ,,a ((,,b)))) > (`(69 foo `(,bar ,,a ((,,b)))) > (list a b)))) Ok - so backquote the macro handles nested invocations of backquote specially (the nested calls are not expanded individually, only the outermost backquote expression gets expanded), while the pcase' backquote implementation is backquote agnostic, it currently treats it like any random symbol. Your patch tries to adapt pcase backquote to the backquote macro semantics. Correct? If there aren't any downsides then this makes a lot of sense and would be a good thing to do indeed. Let's wait for Stefan then. Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 30 03:46:00 2024 Received: (at 72328) by debbugs.gnu.org; 30 Jul 2024 07:46:00 +0000 Received: from localhost ([127.0.0.1]:46886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYhYW-0005LT-26 for submit@debbugs.gnu.org; Tue, 30 Jul 2024 03:46:00 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:48548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYhYU-0005LF-32 for 72328@debbugs.gnu.org; Tue, 30 Jul 2024 03:45:58 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id EBF794404D1; Tue, 30 Jul 2024 03:45:36 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1722325535; bh=nl4h09CSJi4Ssll/kc9x2XbkElXFTwP0gv3QWCKPDtM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=PLSa67KHWVuOCjNht3EoDmgmdgAP73w6k3GX/Y5Fe9eajA5h6ZghJZ0i8JuHfob4/ 6B64+9FlvzWkueZIiw4zfbfzJo4l12FHixYcfQ3x4l/8B2if2p3uWCtVdrfe1BBFDy ZmRoWD+/wcJRoaXfibPItSTzOo/k4LIle5QWRveyLKtVcH+bWbRdj7r0ciuwS43uwz lh/GL4rcuZaVLs23tM0EqYjHckRdTm0LogYYbFRTviOx7iKE4dGWPVgC+dg3FtdglZ nlsiRr44Q43e5vSAwUefsX6+TtgqMzM397QhqXR9Kv7Yw8UJL4pD3tSnpFYvxMtdNI NYfLb0wZyW5Iw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 32E3C44050D; Tue, 30 Jul 2024 03:45:35 -0400 (EDT) Received: from asado (dyn.144-85-159-142.dsl.vtx.ch [144.85.159.142]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B696F120115; Tue, 30 Jul 2024 03:45:33 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <867cd4ywnq.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 29 Jul 2024 19:45:29 +0300") Message-ID: References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> Date: Tue, 30 Jul 2024 03:45:31 -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 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: 72328 Cc: Michael Heerdegen , thuna.cing@gmail.com, 72328@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 (---) > Stefan, any comments? FWIW, when I (re)implemented the Pcase backquote with `pcase-defmacro` I hesitated between doing what Thuna suggests and what we have now. I opted for the current behavior because it's simpler (at least from the implementation's point of view), even though it admittedly breaks the symmetry with the backquote macro. I think I'd be interested to hear about "real life" cases out there where this choice would make a difference (in either direction). If we indent to change the behavior, I think we'd first need to introduce a warning for patterns that would be affected by the change. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 30 13:52:46 2024 Received: (at 72328) by debbugs.gnu.org; 30 Jul 2024 17:52:46 +0000 Received: from localhost ([127.0.0.1]:48368 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYr1i-0003Pg-2I for submit@debbugs.gnu.org; Tue, 30 Jul 2024 13:52:46 -0400 Received: from mout.web.de ([212.227.15.14]:37367) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYr1f-0003PS-Dz for 72328@debbugs.gnu.org; Tue, 30 Jul 2024 13:52:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1722361936; x=1722966736; i=michael_heerdegen@web.de; bh=kWt4KXd8TIkq0uT8+Tpvf9MLFr+zvIby/X10ETRx/z8=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=OrHegA0S07uhmmoV8Twy7mXPR2Duw05/ZeXINi1cEm3FPGzzlO8S/fK7Mvw7epDj DWzFVzespcMNkIdIap5j+hB3R3DBl7CABumWL/51yvsAkEXEMOoCytBpfVGqGpeWB R/oIj95d6P2xeBYBnGWjkJOq3vt7H+yQfcYeKGLN4AEOi1+BzmZHJKEUfW6ylC1cn Aexe4wRFzN1ivrhBDfpQrFFfbHEVyc4d8SthTtG/WFL2XUaO/uJbTOv92RB6E2f2n iFlpRP5xDqdTQp5BTu74bQdoFOTSGfMVXbEQ5vSRXnLRYNvB9Jq4kEmJ4yTgBTq7c RmpjpxwIpkxmB6qSZg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.113]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1Mr7ek-1rx2AQ3NUk-00k9vC; Tue, 30 Jul 2024 19:52:16 +0200 From: Michael Heerdegen To: Thuna Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87le1j29uw.fsf@gmail.com> (Thuna's message of "Mon, 29 Jul 2024 22:59:03 +0200") References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <87v80o14by.fsf@gmail.com> <87y15kq65n.fsf@web.de> <87le1j29uw.fsf@gmail.com> Date: Tue, 30 Jul 2024 19:53:04 +0200 Message-ID: <87wml2wyv3.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:FKkE8lhexNjAsjpHX7cs+PBJHeVXw5ySX+34+53KNfHXk6Jh+97 vWA8P9HD/HrrhbNY8wgkps1xUzAlgo87IOgKBQ5pKpAeEwamCMysyEKJUQSbw5qUyWf39vj co3tfgji6hU4ynqIq1UWcuTE+Yq7clir+ZK3Mo3a4dOnFCE/86AobuUSleES3Vc8jgjNLAy Vb/9R4W9JfruZp6M0c+bA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:BsdtMGO5ZEA=;2uRDv+pfrA2HeMDhuiG+rk7FRy1 kQZxUGLrTBs7QaLY35vHo/5lF/CuQCY/8A7IpHBjZyPxWc5zgIast84SPJf4fXU03SfsGqWb4 Rk9qAPa6/LQVaHA/26urX3IIIhT4XlVemsXdR+NDHJd/ccIpAjZ4HWfTQTftwgLGMCu/fjiNJ eg3XqPxvwoJtp58UqmiA7cVNCZaPQyXQpwaUDoCHmyrCqwFSKNBVE9aQVSuDOkYeebnZXmuB0 EnkvlhgwgNiwLQ16FBxOmsc7xtCGkgkwkALtq8Jlr0qcSDbEH5Rx6qqPIQV6nuEXa0YfJv0Im n1UxeVAUMIIE/W7rmKtHx2OUoLcxRcYxEjfbxGb8nz0tdpf8HQNb74mydQde4GJIIvD1gNN3c Rp63NCY7tVzwiadga8btHVRG7JgCL0n3SwDFusRq5i6Sl1O6wrZH2MXCuXzgqz3o5yaBviI3J py4pJxo6m4pwx8uZUuZis6TTsXxwu7JOqf37QfdUr5lCj+E21onF0aX+uWa1vcRvoyOB+f0jY qdaeKeIMQdisIE3MOmnOBtsTKEs99SKxcT75ffu1luYDEOpUXbiuEUM/X+5IcpGk00CeP1HLq 2LzI40vEBxI9NYE8HFaK/7mrEsMCbkCeOvQaKzBOIn3MUz9p7kx8qAtyNCd9TtXoDZX39E2/+ mZNqKtqQ9kyhABK6YaXRrmX4j/ZJqF8hI3gfEvKSRiYuP1hnKQkRt5eXsPNHm9AdT/w0/KAOp N1qvLqAwWv6qDKns4VUScG6Tp/SmS6HZeE3cjYnMgVlQkRgHR40+saoThiGHG//DyJSijt2rc /XCdaUY9aAOW7dl0a+FLOKaQ== Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 72328 Cc: 72328@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 (-) Thuna writes: > The one downside that I can see is the situation I mentioned in my > previous message where you explicitly *want* to bypass all backquotes, > plus the fact that this is backwards incompatible, even though to be > effected you would need to be making use of the fact that comma behaves > this way - which I still don't believe will be too common - though there > could be an obsoletion period where comma still bypasses backquotes but > warns the user to change off of that behavior. All code making use of > the new behavior will firmly be incompatible with older versions of > emacs for which this is not patched, however. Ok. I actually found something I wrote myself. In "el-search" I am using a pattern like used here: (pcase '`qpat (``,qpat qpat)) --> qpat i.e. a pattern checking for backquoted QPATS. When your patch is installed this pattern doesn't match any more. I could rewrite that of course - I just wanted to share the example without implying anything else. Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 02 20:09:29 2024 Received: (at 72328) by debbugs.gnu.org; 3 Aug 2024 00:09:29 +0000 Received: from localhost ([127.0.0.1]:53882 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sa2Kv-00012T-7b for submit@debbugs.gnu.org; Fri, 02 Aug 2024 20:09:29 -0400 Received: from mail-lj1-f176.google.com ([209.85.208.176]:55641) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sa2Ku-00012H-0t for 72328@debbugs.gnu.org; Fri, 02 Aug 2024 20:09:28 -0400 Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-2f035ae1083so105825071fa.3 for <72328@debbugs.gnu.org>; Fri, 02 Aug 2024 17:09:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722643682; x=1723248482; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=CZoQ36QeCcw+LroWnrQUxJ+QxgWBctFAcPLYQxWicwU=; b=Hpr93GTBZSej0mdfZMuqeIZ5Ui8Jl9mt6GNM39E9XC0InWmj/zSrEJodg+2+igkhfT GcjNblVaS2hUD8DY412sWMYnYvbutPFH5+zvtsYocsHL7bpeBmHcOxzpyV7uIB4F70lB 9VIqMtq9qMVDyNq1dJvw4zDungRPwkAGzfV3cLt52S1w1L0U6myRd59qO9Fo8JzGGfZ3 H6ehtz1bf4HmCK01Hxrg5fCr76MKETakb5ipX1HHOf2SmjGM7YLQWJow33cH32t/IW3y FYOKjG27pnxxvIhJe7Jc9Fs6zxy5c2hwqtw+U2oKZnCYOT7QG7cYPT16V2xvQUtZC4ET cWkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722643682; x=1723248482; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=CZoQ36QeCcw+LroWnrQUxJ+QxgWBctFAcPLYQxWicwU=; b=R2pfPT36xRNHIEHDiEb9oRpe/AqSqmNNyG9f9j5z73WrnngvLV95riGZxp/wNOqf+d JYhxSw0Fr7Se9fWV2Z8bPalTKO9x3q3Hum/b7eS0rNf6zsQLGGGEkYWBi9W7aSvceS3N CZe0MjjP7/setdecyo14ppO32vrNxwJuAkQQlG1ZIL3jj9wD+FsvvWSncQplFmPcClKx s0yjIG8T3SCqFF/3HeSETjBF/DlyOSJdq1BkMT3DLI8phuD7WJG1bkaUwDBpDI4CWijl voDE2kFoPRNo401ELGPAkwTjel2skBzB15J58bNYzIvz/QqSBc9Qk1mQCOO7yjWVJ4f0 FiKw== X-Forwarded-Encrypted: i=1; AJvYcCWbSNIlvYTp6cI2tXACisN11l5sVBSCG5BU8vfI7xgrJ+8emE3+o5Nc3auhDgE8zezcbMs6sWFjw0rAuFyu0h2lVS5yAlA= X-Gm-Message-State: AOJu0Yzodt5gqi9sPel6FbFXeqqYRkQdCBxBykJytYHcEfM+f41rC8Sm gfp1O/Qaelk3Y3/H7hayRAz5r7+153POoFHwTScFJf2u+kJ+IIVb+IN4Lg== X-Google-Smtp-Source: AGHT+IEeHcj8e/HPZe/9ri069x/tZW5RKOpw8QoYdc/5cjV/oEuqnltphJXDZj30ZWWRjPWooGwagw== X-Received: by 2002:a2e:9c90:0:b0:2ef:2c87:3bd7 with SMTP id 38308e7fff4ca-2f15ab0c200mr32552701fa.37.1722643681766; Fri, 02 Aug 2024 17:08:01 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4282b8ada7esm111305275e9.15.2024.08.02.17.08.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Aug 2024 17:08:01 -0700 (PDT) From: Thuna To: Stefan Monnier , Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> Date: Sat, 03 Aug 2024 02:07:59 +0200 Message-ID: <87mslumpsw.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: Michael Heerdegen , 72328@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 (-) > I think I'd be interested to hear about "real life" cases out there > where this choice would make a difference (in either direction). For what its worth, a very imprecise search through all melpa packages revealed exactly zero pcase patterns which this would effect. I will write down the process in case someone wants to try and replicate it themselves: - Clone all repositories in melpa via `make', `package-build-all', or if you are in the horrible situation that I am where every other query doesn't resolve do (in the /path/to/melpa/package-build/ directory) emacs --batch --eval '(push default-directory load-path)' \ -l package-build -l package-recipe \ --eval '(mapc (lambda (file) (message "cloning %s" file) (ignore-errors (package-build--run-process "git" "clone" (package-recipe--upstream-url (package-recipe-lookup file)) (concat "../working/" file)))) (cl-remove-if (lambda (file) (file-exists-p (concat "../working/" file))) (package-recipe-packages)))' - Obtain a list of .el files which contain both "pcase" and "`". - Obtain the pcase forms in those files via (let ((print-level nil) (print-circle nil) (original-buffer (current-buffer))) (with-temp-file "~/pcase-output.eld" (let ((output-buffer (current-buffer))) (with-current-buffer original-buffer (mapc (lambda (file) (kill-buffer (with-current-buffer (find-file-noselect file) (while (re-search-forward "\\_) id 1sa7oM-0001yP-TT for submit@debbugs.gnu.org; Sat, 03 Aug 2024 02:00:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sa7oK-0001xe-W0 for 72328@debbugs.gnu.org; Sat, 03 Aug 2024 02:00:13 -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 ) id 1sa7nv-0001DO-U0; Sat, 03 Aug 2024 01:59: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=neCcImxhC2eEbCopzlYv+vnvXwA7j3gJEatKWSP4Fco=; b=lLlspekn4ZcT GBMkbDHdRv+s1KxEQu3wQX6Ra7aGZghrI7NifBwyrlQ2ZncSZAnwtOr548rq3YE0QcMCLQB4Xv3RV wX7Wyp+XbydIIqKMO6oe6wAtdwClw0GkZS4pNcz+Dl0WGOo2Wsq9wGNptlDqU1VIDIEk2WY3tSm0D x692t3vM4KqxGHKnCS5wC8neju3DZQMnsHyirX8MKtTprjsNWWbWI7xer0q7gBdlV7IVStxBtZhMR 2zQEJkbjsbID4WYLuRu5nZ4X9VLma0X8gJVksuW8SAbpC9ql1MxFJXDgoftkT5IXYImdQy/E9nJhp pkNY50jWC8Wlg3Ux5WKpcw==; Date: Sat, 03 Aug 2024 08:59:46 +0300 Message-Id: <86msluuox9.fsf@gnu.org> From: Eli Zaretskii To: Thuna In-Reply-To: <87mslumpsw.fsf@gmail.com> (message from Thuna on Sat, 03 Aug 2024 02:07:59 +0200) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, 72328@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 (---) > From: Thuna > Cc: Michael Heerdegen , 72328@debbugs.gnu.org > Date: Sat, 03 Aug 2024 02:07:59 +0200 > > > > I think I'd be interested to hear about "real life" cases out there > > where this choice would make a difference (in either direction). > > For what its worth, a very imprecise search through all melpa packages > revealed exactly zero pcase patterns which this would effect. Thanks, but I think Stefan meant to say that we would need real-life use cases to change the current behavior. So if there are no such cases, it makes the decision less likely. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 03 09:24:30 2024 Received: (at 72328) by debbugs.gnu.org; 3 Aug 2024 13:24:31 +0000 Received: from localhost ([127.0.0.1]:54191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1saEkI-0004i1-Ln for submit@debbugs.gnu.org; Sat, 03 Aug 2024 09:24:30 -0400 Received: from mail-wr1-f50.google.com ([209.85.221.50]:61655) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1saEkF-0004hm-LG for 72328@debbugs.gnu.org; Sat, 03 Aug 2024 09:24:28 -0400 Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-368712acb8dso4420629f8f.2 for <72328@debbugs.gnu.org>; Sat, 03 Aug 2024 06:24:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722691382; x=1723296182; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=+/p+6sr1HIZphZ+VJVPr98cIn1rYg6Z4Kw019GXLJgg=; b=TfClBSSsaAEpqtZvuluaUuidp+bnnZCgEr98B6rjnE4x4zeKex9TC75s61Ob6sxLur GTv2zaBA+Qd36p3QdJ1E0mgplWjBSM2XrTqaI72VRMQpW3mICv+2SDaKWC4VGXBYiPgk qs12t09cjU6CJoPzs8bX4gxH38uJsMPliEJkdU0kFbHINCYzOCpxN/Hiqx1vpWiDqw6M UHyj1C+doZRWAyOJ8P/KDt0nrNVipnYqw2MF6Y1oGSOcGxrhrl3ePAN4QA931xpSmtRp omBA8vRh2IrQJUCjXuaNiPpfhAYrdJujC1wDhUyiklvA4kW+rlQsMWEKSVnG+1tWJqEZ G3Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722691382; x=1723296182; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+/p+6sr1HIZphZ+VJVPr98cIn1rYg6Z4Kw019GXLJgg=; b=F89iSOJ3ys/FCkojmLSBgztCzAVDqGV2gFtL1IYvZNwviiqocRj+Rv84KL1Sixu803 qx810kcPf/RAMvzUbM0KR8SzmXgcShQaI6BpehGiYtPsifapTDn7s3BIexWhYGHJD4g4 xp0E59QCzmgbcLCxNAnofWe+imU7YGAbVOKtrKn1Gfgb4hLImK43pwBkg0nb38uF3sjP YeXgAP6bg0kgvQr8rniuQnGETA0ffaWHOzIUu3qzfohOtvt11AQXrv6fotM9NiKfjmcI l8KbNSsqAY/J+/iPkPuRruzOpSg5iP5m876EoJnvm6u/Yeb4o/INsupsuGs0O4cvFTAa oa8g== X-Forwarded-Encrypted: i=1; AJvYcCU0J5fIpibOZzdbYIUsMJ7PN1KKCTr2y3T4UHRzxd0OwwRIn2RWsGWbQOS08RiH2LdgJLNC15tkv7MYPb6svyInKYJQSps= X-Gm-Message-State: AOJu0Yzw/2jOUO80oDM3xN4vU69SWUv39NhV4aZyp8+Qa6ih5x+HXgab Z14OwEi2LkDL8Kpj5dztblm97ICiUc94upo0tzaGnieYk9rKfJ4krpVXrW+2 X-Google-Smtp-Source: AGHT+IF9nLMJzSPxStNHpdD2ECTXiPK/DRD/KbsIAVTSvvwbhGx6L6jnE7rb4EwyQfRcEODoO1CJYA== X-Received: by 2002:a5d:4389:0:b0:368:584c:3341 with SMTP id ffacd0b85a97d-36bbc1000b0mr4064497f8f.35.1722691381265; Sat, 03 Aug 2024 06:23:01 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36bbd06d841sm4333295f8f.101.2024.08.03.06.22.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Aug 2024 06:23:00 -0700 (PDT) From: Thuna To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <86msluuox9.fsf@gnu.org> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> Date: Sat, 03 Aug 2024 15:22:49 +0200 Message-ID: <875xshn3km.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, 72328@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 (-) >> > I think I'd be interested to hear about "real life" cases out there >> > where this choice would make a difference (in either direction). >> >> For what its worth, a very imprecise search through all melpa packages >> revealed exactly zero pcase patterns which this would effect. > > Thanks, but I think Stefan meant to say that we would need real-life > use cases to change the current behavior. So if there are no such > cases, it makes the decision less likely. I don't see how Stefan's message could be interpreted that way. If almost no code is effected by a change then whether to apply that change or not should depend solely on whether it is considered an improvement, even if theoretically. From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 04 13:09:57 2024 Received: (at 72328) by debbugs.gnu.org; 4 Aug 2024 17:09:57 +0000 Received: from localhost ([127.0.0.1]:57114 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1saek0-0001Dj-W0 for submit@debbugs.gnu.org; Sun, 04 Aug 2024 13:09:57 -0400 Received: from mout.web.de ([212.227.17.12]:43851) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1saejy-0001DL-U1 for 72328@debbugs.gnu.org; Sun, 04 Aug 2024 13:09:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1722791359; x=1723396159; i=michael_heerdegen@web.de; bh=Fn1/ThtiCaTG5Tt48Cym3Mvp3ln0PSqmHsH7KdktZEE=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=YJZ5/P5jNCRWryFBaFRRxsHqR0InamWasIXV/akSTN9vb9L9ZhQSDqFu0SHRhPVl PycRyn9kl2+eyf+32cXfATq+71PNGa/QwaRrvI1xphrXg1MfI2mRSCYDO2ufHbZEu HWRQphCQ8RYljoCQRPMjcQSDCRuev1wYZ6wGKNMDiz6dRwptjXV4Id/Ao2aNpz5rN OHrbEWYHnY9++5x4b1w2jBQFvBJs/TIfb5Ew+MyL5pvZQXTzDDritjvUnNVg0vqv0 8pzS9hU7+ykNlEXnh/NexV6H+wDSaOJUimrIWDzQda1V9MfFAx6zmp2xDCU1h/iBA rMRGC5hSLFopIqudmQ== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.76.229.204]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MqZMQ-1rwrvD2LpI-00fPdp; Sun, 04 Aug 2024 19:09:19 +0200 From: Michael Heerdegen To: Thuna Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <875xshn3km.fsf@gmail.com> (Thuna's message of "Sat, 03 Aug 2024 15:22:49 +0200") References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> Date: Sun, 04 Aug 2024 19:10:10 +0200 Message-ID: <87cymo6wp9.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:qxN9iO2wnLu+S3OEKCbLXx1llLFumPBVntIY797u5k1Ut4gOQKE kTIO6pMRiC0EYxcElCy+86jT3rn0LkW1fIXVXQBHzNke4HJEM7+ZNoChFqpT0Tk0MGNS4l0 3SuENGnEDZsrUf4Yd7F4yLBXFcCUsAr97o5/etD77mQEMn3vEkwDjhnjgKPwKZHu5OIUup8 NMSoMFaEMl3LfOHC0IWEg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:GjpYdmL4Sxk=;Y+xkTE0NzaqRsK9wqZ75ZDoeDTK QEXSfixT7eIIgtzfAlGmy3RKZkfQEWXvDXb1PpvJD6WuR5QHerNaaVEZSrd4V/VXCkXTPbpOy T5HVi9sJCHfIhcjYwhJbGwum/GTTPlYF4TYT5f55+55JaqRSCwywVkPucIzoZt3I97weXAubB sUkJ1gbn2Igt0g/jgoiQx2iW9U/SDKMziXkxsVq+8B2JIbVKlyemUwHGo7Sea71smFUoPeAtf 1HYmaihspIUKBrw+JIU3q6rOi4rIVIyz3aljZSoSgFm0cP58EzGtO0TP4sKOG/wbwZCHfXcjx x80aTizrijIrGOAzGnWkfrrM1EDS1I6T8Nl8u3v1L51kSctkX0c8eFKGlpdeVjwJfDdNOn75B jHYkT6Wi4kW4OKEg+qVuWAmJmDu+Am3j+I5Cg5GtCR1E/kzGoCdpadQnxkM3y1UihphhG5pJQ pJMOucu8pjtBKvAE61hhIIHB48FEd1iotjnuQVjFN119mnHfVPkPLDoZRhFxSzdMYBn/UwVSS VzHxtZhfJ2DwFi0g3uX4F8PDMj5FTX/po7hzwNiuN2fKG2pkZN1SaOfPi0RlLAk4yJvuSQSo+ 3/lFMNcl/HregPS5DfG8Ytolie19NEPFMqVcraEqV3UFJ1f5JKAjT2qJteKvrF8Ppqzi1R6b8 P8gRG+Fh3kGE4FkIMOzsUcqAvhtynQye0Kvr0lwLRdz2FXiThS3TEyo5+GCw06Jyybg80ReNz ezHBn2yMR9zyD1QHT+G1B76XpZniVrCq20065xJug2SAJqVtqrB/zING84aQ0igZ+EBNP/uJ8 xib8V6f9omIogYE2lrhiwH9w== X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: Eli Zaretskii , monnier@iro.umontreal.ca, 72328@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 (-) Thuna writes: > > Thanks, but I think Stefan meant to say that we would need real-life > > use cases to change the current behavior. So if there are no such > > cases, it makes the decision less likely. > > I don't see how Stefan's message could be interpreted that way. FWIW, I interpreted it that way too. > If almost no code is effected by a change then whether to apply that > change or not should depend solely on whether it is considered an > improvement, even if theoretically. >From what I understand, coming to decisions as a maintainer is not that simple. And Stefan had reasons to choose the current implementation. So this is a relevant question and trying to answer it would probably help to come to an decision. Michael. From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 04 17:29:26 2024 Received: (at 72328) by debbugs.gnu.org; 4 Aug 2024 21:29:26 +0000 Received: from localhost ([127.0.0.1]:57453 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sain7-0001Jy-KU for submit@debbugs.gnu.org; Sun, 04 Aug 2024 17:29:26 -0400 Received: from mail-wm1-f42.google.com ([209.85.128.42]:58601) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sain5-0001JS-PV for 72328@debbugs.gnu.org; Sun, 04 Aug 2024 17:29:24 -0400 Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-4280ee5f1e3so67219185e9.0 for <72328@debbugs.gnu.org>; Sun, 04 Aug 2024 14:29:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722806875; x=1723411675; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=DV7w7M2E+Ka8XwJ3RzBofqVPlefeef68M1QbDwQse5w=; b=XO33+SWiJuXTdufZreTUYqekvlTXGL8QXvRIZR2n3Rh7gGOKy9EEQHdjEeI3AjjoZK 3JhJIU1zubIS0aDQkEAHGot8BA670MTSw+x00UMit898+gLZNGwc7oX3Y3b7ofPPdMTh ch9VA8JAjJUnnuUDxatD1wg/Cg7EUuHVISwdCwfCl7pLTqSICwQ2zd5vRAhZMDZkmBCz Vs1P9agwTOi/6VkEi8O2nH968AI/gypFgAZFfgHlG0izDSn4RL44ntJ3NutjqNpzli7p n7kGEuKPa6V8womzTe3lzKgzFHN9vEtvTppgJ0VdLt6sWSFDakQySvAfbHN2iY9/topP E1/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722806875; x=1723411675; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=DV7w7M2E+Ka8XwJ3RzBofqVPlefeef68M1QbDwQse5w=; b=Vc63sQ4ATIe0n3DTcE5yTDXS2LldqtI77tZIOsCfn2Us/eGaeqEY5Pk1S92pboBcOk 4nyZWwXwJl6pcKJyOJsZkX0lz5zto1aY8UYpZlMKn59XSidd+CortdiW2F23UpCzbT0D J0O2uQF4yj/Pjv4D8xE49fZADM0sUzmM5ObAoSPD2p9XQyrlmpAjibJVFBf2YZA2DQ2B 8GJu2feIdxm2LlnmUjzVx2JY6yTwaCwx0ZYLSUGwz+EpPCO0jmjWIcHC/71oIznjwH7J WvVh1pYmDRFw1nnZktKMQr2esKhJP705xd4gsi1NphVwva1RC0CWzVYHWgdoqL0kdw0s kR6g== X-Forwarded-Encrypted: i=1; AJvYcCUF0MwLuY5d1RbgAPygXSkFTnJ1VjWLbuP8gGE3VxAgaDAwdds7+lqUGJ55WinI60S/T4kL7Rm51KgKNYU2YYkhow6EZQU= X-Gm-Message-State: AOJu0YxlrvOjkAIRtw6emLSQuX+Ia9hwtaGzbLUoSPPO4ioi18fjhvod QqWGknIiBjKf7ZDBDey5x0TDEjGzXa7cZa9L7phPe4ubLcn1iAD56NV9dcQ/vw0= X-Google-Smtp-Source: AGHT+IGXmdSVOzYcpjUS+2FE2WyKRhq0xCRfUlt0mTK+ydV0GiELi9v057EXUPU3yNuEd2B8d2TDRg== X-Received: by 2002:a5d:6d8f:0:b0:368:3b83:65be with SMTP id ffacd0b85a97d-36bbc0db025mr8952637f8f.26.1722806875212; Sun, 04 Aug 2024 14:27:55 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-36bbcf0c2c8sm7998429f8f.9.2024.08.04.14.27.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Aug 2024 14:27:54 -0700 (PDT) From: Thuna To: Michael Heerdegen Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87cymo6wp9.fsf@web.de> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> Date: Sun, 04 Aug 2024 23:27:52 +0200 Message-ID: <87v80gkmg7.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: Eli Zaretskii , monnier@iro.umontreal.ca, 72328@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 (-) >>> Thanks, but I think Stefan meant to say that we would need real-life >>> use cases to change the current behavior. So if there are no such >>> cases, it makes the decision less likely. >> >> I don't see how Stefan's message could be interpreted that way. > > FWIW, I interpreted it that way too. My understaning is that the utility of going through use cases for or against the new behavior is to determine whether it would be an improvement or not. The absence of any such use cases does not mean anything in either direction, but simply that this is not a usable tool. Furthermore, just intuitively, why would the absence of users of a feature be a reason to not improve it? If the contention is that this is not an improvement then I would rather that argument be made instead. Note that I do not believe that there are no people who would be effected by this, positively or negatively. However, my search through melpa shows that producing such examples will be difficult and this thread will likely not see many (if any) replies, aside from the one shared by Michael and the one I provide below. >> If almost no code is effected by a change then whether to apply that >> change or not should depend solely on whether it is considered an >> improvement, even if theoretically. > > From what I understand, coming to decisions as a maintainer is not that > simple. And Stefan had reasons to choose the current implementation. The stated reasoning was that implementational simplicity was valued over symmetry with backquote. There is an argument to be made that the current behavior, though at odds with backquote, is preferable in the context of pcase. Such an argument has yet to have been made, however. > So this is a relevant question and trying to answer it would probably > help to come to an decision. Very well. In that case, here's the original case which prompted me to look into how pcase's backquote behaves: (defun macroexp-null (exp) "Return non-nil if EXP will always evaluate to nil. This form does not take non-local exits or side-effects into account." (pcase exp ((or 'nil ''nil '#'nil '`nil ``,,(pred macroexp-null)) t))) which without this change would read as: (defun macroexp-null (exp) "Return non-nil if EXP will always evaluate to nil. This form does not take non-local exits or side-effects into account." (pcase exp ((or 'nil ''nil '#'nil '`nil `(,'\` (,'\, ,(pred macroexp-null)))) t))) From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 05 07:52:46 2024 Received: (at 72328) by debbugs.gnu.org; 5 Aug 2024 11:52:46 +0000 Received: from localhost ([127.0.0.1]:58172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sawGb-0004Ey-M8 for submit@debbugs.gnu.org; Mon, 05 Aug 2024 07:52:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sawGa-0004Ea-24 for 72328@debbugs.gnu.org; Mon, 05 Aug 2024 07:52:44 -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 ) id 1sawG7-0004MR-ND; Mon, 05 Aug 2024 07:52:15 -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=Ugq8NFWs/KUTaMf+W9Byw9JpNm4/247BYznUGVqVZOM=; b=JgYNyKBweS8H h5D/Cfe8bdgZpGFJZYJN5zueQeIasQgbA+0jMZCCcZPtmARDH0npdtmjeV2SNCyHavXUf8MBH5sDw F+hbuM2vO2MECx/9udoud/CP90kUhiRgIOyZ9pwR1A+ZfWwra3hNRuPaMb1OBDyJCQTfqGSeMP6Oa qnt18ONgA2K0USavAvxhzGzvqPVVEHgDF6bcgFOcJ9NkbGBLC4H0DVLmbDdwhcEKzDnqAIbHFy5iI MTLOWi0t/EtYWOxoHZqJFT7XsAvEJZxtzOYk07bl9LlSCrgg0ITeubHfchMjoUQVHgA27QqXLqdfr kp1QdIf2xYQavUNsNXtAnA==; Date: Mon, 05 Aug 2024 14:52:11 +0300 Message-Id: <86ikwfqj9w.fsf@gnu.org> From: Eli Zaretskii To: Thuna In-Reply-To: <87v80gkmg7.fsf@gmail.com> (message from Thuna on Sun, 04 Aug 2024 23:27:52 +0200) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, 72328@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 (---) > From: Thuna > Cc: Eli Zaretskii , monnier@iro.umontreal.ca, > 72328@debbugs.gnu.org > Date: Sun, 04 Aug 2024 23:27:52 +0200 > > >>> Thanks, but I think Stefan meant to say that we would need real-life > >>> use cases to change the current behavior. So if there are no such > >>> cases, it makes the decision less likely. > >> > >> I don't see how Stefan's message could be interpreted that way. > > > > FWIW, I interpreted it that way too. > > My understaning is that the utility of going through use cases for or > against the new behavior is to determine whether it would be an > improvement or not. The absence of any such use cases does not mean > anything in either direction, but simply that this is not a usable tool. The existing implementation has an advantage up front, because it exists and presumably can be used by some Lisp program. We try very hard not to break anyone's code, even if we are not aware of such code, and therefore an incompatible change in behavior can be justified only if there's a very good reason. Thus the request for real-life use cases. AFAIU, those real-life use cases don't have to be from existing packages, they can be from your own practice. You just need to explain why you needed the behavior you are requesting. > Furthermore, just intuitively, why would the absence of users of a > feature be a reason to not improve it? Because the danger of breaking someone's code is not something we ignore lightly. So the improvement must be significant, and the use case must be a practical one, to trump that. > Note that I do not believe that there are no people who would be > effected by this, positively or negatively. We've learned from bitter experience that such arguments are usually false. IOW, we don't really know enough to make such assertions. > > From what I understand, coming to decisions as a maintainer is not that > > simple. And Stefan had reasons to choose the current implementation. > > The stated reasoning was that implementational simplicity was valued > over symmetry with backquote. That' too. But the mere existence of the current behavior is also important. > Very well. In that case, here's the original case which prompted me to > look into how pcase's backquote behaves: > > (defun macroexp-null (exp) > "Return non-nil if EXP will always evaluate to nil. > This form does not take non-local exits or side-effects into account." > (pcase exp > ((or 'nil ''nil '#'nil '`nil ``,,(pred macroexp-null)) > t))) > > which without this change would read as: > > (defun macroexp-null (exp) > "Return non-nil if EXP will always evaluate to nil. > This form does not take non-local exits or side-effects into account." > (pcase exp > ((or 'nil ''nil '#'nil '`nil > `(,'\` (,'\, ,(pred macroexp-null)))) > t))) Thanks, now you just need to explain why you needed this code and what did its caller do to require this. From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 05 15:34:17 2024 Received: (at 72328) by debbugs.gnu.org; 5 Aug 2024 19:34:17 +0000 Received: from localhost ([127.0.0.1]:59493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sb3TE-0001pF-JR for submit@debbugs.gnu.org; Mon, 05 Aug 2024 15:34:16 -0400 Received: from mail-wm1-f45.google.com ([209.85.128.45]:47149) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sb3TC-0001p2-Sy for 72328@debbugs.gnu.org; Mon, 05 Aug 2024 15:34:15 -0400 Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-428163f7635so74255285e9.2 for <72328@debbugs.gnu.org>; Mon, 05 Aug 2024 12:33:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722886366; x=1723491166; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=C320gN9RalZqe9LddP1Kd0SEdYBZGZKY8H6PZlok13Y=; b=m3XaOZErnqUqrEIdE5i9SNvW/UATFZf6SyBIOAmJ2INyKIK6EtlQCLD1RijSbySLDf +Q6LmF27JVMjONbEOVTOdDNrUckKe6nN4xZ6Q4rrwyDAfGbkTYAb+Ql33H3TTGYBRsaT BDgYMngATJtLt9rk3S8goGaCKQh2+Rj/nLCVs+YA44KiD6wyjsptwmb36JtzhH1v7Kcj xBqcJSPD6bAHrphaGiDcYPzW7Z/8xrxG5yiTwKVDF33u1vcpVQp/zUCGuceJIQeuPo8r 5TYDjNwqrosiHFkOoqarBCvIZd99KEH1yTAiFMvuOghUO0MDmpwbIwMtkoeoTWYCJAbb qs0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722886366; x=1723491166; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=C320gN9RalZqe9LddP1Kd0SEdYBZGZKY8H6PZlok13Y=; b=IYSKAY6DXqVB6QM8JrW61jMbLM4f+SdFL8vkAVGiOLpz3pomhqkvUhoOVFSEnou4t4 yQUgCLKoGkxDybR75D6BhfgFZ1sPut7VtEHlyTwePUGJ7orVMh6ulHQ7JD722M9o7sc8 1S5y90znsnDVZ3TzWUhU0Nddv3FHVtzLmF4vxVy6X1oEXXiEscNEsQwtpV0ieC+RCKlm fg8silxWiBOiLrSdywofTaByGMPVfUMvcjcJEQR9ozBOYGhiVQ8UAt4q221aHN8tNTrg oO0esi/oYPVnirkhAsGB5wtloNlsAxNU7ylrQA70+nnDARusNjX1GQ06QFf9sdQRVthR xleA== X-Forwarded-Encrypted: i=1; AJvYcCXVLvqCmmjmqHLb+2Kz7h3cWRPsTFJ1z3lMqQ+7g4+bRRCY2WSfqNoOVVBW9iunhiMyrtSu5dy4FkDH7Lxdfa4lg5LQBuI= X-Gm-Message-State: AOJu0YwXHm3qJ1Qqh4wxupdem2azTSYtmJCHdZEN4RERq5jGwnb+s12w gvAYcA3SmS2ly1t12h3kCB5Zs7jX9dwg4AXI4/f4+jHLAad1dPmw4tyjsg== X-Google-Smtp-Source: AGHT+IEqbLbXWfzojWdne4Lgre7F9JGkUT36k24S72kX6mwpvpvX//lmoUYTOyVFEznqsF2/izf9ww== X-Received: by 2002:a05:600c:4e16:b0:426:5b51:109d with SMTP id 5b1f17b1804b1-428e6b83835mr79844695e9.36.1722886365196; Mon, 05 Aug 2024 12:32:45 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-428e6e329b6sm149369535e9.20.2024.08.05.12.32.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Aug 2024 12:32:44 -0700 (PDT) From: Thuna To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <86ikwfqj9w.fsf@gnu.org> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> Date: Mon, 05 Aug 2024 21:32:43 +0200 Message-ID: <87a5hqzrxg.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, 72328@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 (-) >> Note that I do not believe that there are no people who would be >> effected by this, positively or negatively. > > We've learned from bitter experience that such arguments are usually > false. IOW, we don't really know enough to make such assertions. I think there is a misunderstanding. I am not saying that there isn't anyone who would be effected by this, it is the opposite. I understand that this will effect people, and I agree that at minimum there needs to be a decent period where the current behavior is maintained but marked as obsolete. An indefinite feature-freeze is where I have a problem. >> Very well. In that case, here's the original case which prompted me to >> look into how pcase's backquote behaves: >> >> (defun macroexp-null (exp) >> "Return non-nil if EXP will always evaluate to nil. >> This form does not take non-local exits or side-effects into account." >> (pcase exp >> ((or 'nil ''nil '#'nil '`nil ``,,(pred macroexp-null)) >> t))) >> >> which without this change would read as: >> >> (defun macroexp-null (exp) >> "Return non-nil if EXP will always evaluate to nil. >> This form does not take non-local exits or side-effects into account." >> (pcase exp >> ((or 'nil ''nil '#'nil '`nil >> `(,'\` (,'\, ,(pred macroexp-null)))) >> t))) > > Thanks, now you just need to explain why you needed this code and what > did its caller do to require this. I do not understand what you are asking for. Whether `macroexp-null' should exist or not, what it is trying to do should be fairly clear, so should the way in which it benefits from the changed behavior. I also cannot provide any justification for this patch above and beyond what I have already mentioned in my initial message: This patch establishes a symmetry between pcase's backquote pattern and quasiquote, which allows trivially matching against the result of a quasiquote form. I would appreciate it if you would state your opinion on this patch, putting aside concerns of backwards compatibility for a moment. I am working under the assumption that this is an improvement and is desirable, yet I have not yet heard from you or Stefan as to whether you see it that way or not. From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 06 04:22:04 2024 Received: (at 72328) by debbugs.gnu.org; 6 Aug 2024 08:22:04 +0000 Received: from localhost ([127.0.0.1]:59931 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbFSG-0003m0-8e for submit@debbugs.gnu.org; Tue, 06 Aug 2024 04:22:04 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:50349) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbFSD-0003lU-PH for 72328@debbugs.gnu.org; Tue, 06 Aug 2024 04:22:02 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 9D8964409F4; Tue, 6 Aug 2024 04:21:30 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1722932489; bh=B3j852Qro0XwqMzAcRdWE2MEEjNa38ZovaNIqk/+q8c=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=ikaixJg98FOel6d1XN3aWxP5pDlHXNpHIZ3OuF7ddH8GajETgJTwen7DCYjR1qF9n 2psEL2GQOKTr+wLI7jCOZZX2m/98Hd/c1pI6VUXG6ZPkRAu7/xPvkDZSoHZxabrhGx gNEHqQaP3Q763l7yT/S6SHxmOB4PqagpKUsHA+6JKAktay8TnFeM2ptqikAbgNbXwy 4KPQhIAj9vVYSHrMXGFJEuvFbzJnP2NXf0A+3FUFBZRml59eUxnzhphzJBLRrp/yuu sAFX2t6WuE+oqLKcghwsSWstyY8J9XmvE/xLh670yVE3tDmiXaJoaDoL4zsWCfjIaa oMYBcBqgpFPwA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 27266440460; Tue, 6 Aug 2024 04:21:29 -0400 (EDT) Received: from asado (213142096242.public.telering.at [213.142.96.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D3FFA120646; Tue, 6 Aug 2024 04:21:27 -0400 (EDT) From: Stefan Monnier To: Thuna Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87a5hqzrxg.fsf@gmail.com> (Thuna's message of "Mon, 05 Aug 2024 21:32:43 +0200") Message-ID: References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> Date: Tue, 06 Aug 2024 04:21:25 -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 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: 72328 Cc: michael_heerdegen@web.de, Eli Zaretskii , 72328@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 (---) > I think there is a misunderstanding. I am not saying that there isn't > anyone who would be effected by this, it is the opposite. I understand > that this will effect people, and I agree that at minimum there needs to > be a decent period where the current behavior is maintained but marked > as obsolete. An indefinite feature-freeze is where I have a problem. Maybe the simplest is to add a warning when we encounter a nested backquote, stating that this is not supported. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 06 07:16:42 2024 Received: (at 72328) by debbugs.gnu.org; 6 Aug 2024 11:16:42 +0000 Received: from localhost ([127.0.0.1]:60216 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbIBF-0000sJ-UY for submit@debbugs.gnu.org; Tue, 06 Aug 2024 07:16:42 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58560) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbIBE-0000rk-7d for 72328@debbugs.gnu.org; Tue, 06 Aug 2024 07:16:41 -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 ) id 1sbI8d-0001An-Mp; Tue, 06 Aug 2024 07:13:59 -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=+3TGKnhgbR3M7SbcINt2uEG0LYyFA7HLYyNoJpDXL3I=; b=Ym471FHgxqFM x+gQm8mcs+AwIYRBXVyCq+TP3+XLpwi5dunxgMGIYNLHU3+ywCpZhpH07G59q/MGjUBNG/cjD24eF WWX4HDd0vvpPg+I2I/ZU3uQbHxVNSXYmU8dP1/J2A507rProTaVodi/9ZDu4OwoNDBjwDN5qxCa2E ndhGJI8qmLgHvvbglSLTbGbQUwc1UA2ivF3kVNiPdiYMt3/wj4nvjmhvuIL1VIEzDN0/Mq4Kv7bx2 rm1XF6bGrbp3DX/Y9+Gbwgs1rgS04YcvGAqoV+PYuOxxGfIVeykZtWooCmB2QaqzoPGjOHjbwl47x vaI8xrX+i4xDrkLwXjPbbQ==; Date: Tue, 06 Aug 2024 14:13:35 +0300 Message-Id: <86o765q4yo.fsf@gnu.org> From: Eli Zaretskii To: Thuna In-Reply-To: <87a5hqzrxg.fsf@gmail.com> (message from Thuna on Mon, 05 Aug 2024 21:32:43 +0200) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, 72328@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 (---) > From: Thuna > Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, 72328@debbugs.gnu.org > Date: Mon, 05 Aug 2024 21:32:43 +0200 > > >> Note that I do not believe that there are no people who would be > >> effected by this, positively or negatively. > > > > We've learned from bitter experience that such arguments are usually > > false. IOW, we don't really know enough to make such assertions. > > I think there is a misunderstanding. I am not saying that there isn't > anyone who would be effected by this, it is the opposite. I understand > that this will effect people, and I agree that at minimum there needs to > be a decent period where the current behavior is maintained but marked > as obsolete. How do you envision making such a behavior change in a way that will leave the current behavior still maintained (and obsolete)? > An indefinite feature-freeze is where I have a problem. Disagreeing with a specific change is not tantamount to an indefinite feature-freeze. It is quite possible that someone will come up with a different idea of a change, which we will be able to reconcile easier with the previous behavior. > >> (defun macroexp-null (exp) > >> "Return non-nil if EXP will always evaluate to nil. > >> This form does not take non-local exits or side-effects into account." > >> (pcase exp > >> ((or 'nil ''nil '#'nil '`nil ``,,(pred macroexp-null)) > >> t))) > >> > >> which without this change would read as: > >> > >> (defun macroexp-null (exp) > >> "Return non-nil if EXP will always evaluate to nil. > >> This form does not take non-local exits or side-effects into account." > >> (pcase exp > >> ((or 'nil ''nil '#'nil '`nil > >> `(,'\` (,'\, ,(pred macroexp-null)))) > >> t))) > > > > Thanks, now you just need to explain why you needed this code and what > > did its caller do to require this. > > I do not understand what you are asking for. Whether `macroexp-null' > should exist or not, what it is trying to do should be fairly clear, so > should the way in which it benefits from the changed behavior. I asked to explain _why_ you need this. Risking to say the obvious, a program exists to do some job, and a function like the above is therefore part of some larger job. We are asking you to describe the higher-level context, which we could then use to try to decide whether the need is important enough to justify the backward-incompatible change. > I also cannot provide any justification for this patch above and beyond > what I have already mentioned in my initial message: This patch > establishes a symmetry between pcase's backquote pattern and quasiquote, > which allows trivially matching against the result of a quasiquote form. We would like to hear reasons for wanting this. > I would appreciate it if you would state your opinion on this patch, > putting aside concerns of backwards compatibility for a moment. I am > working under the assumption that this is an improvement and is > desirable, yet I have not yet heard from you or Stefan as to whether you > see it that way or not. I believe Stefan did say that. Me, my only stake here is the concern of backwards compatibility, which is why I'm talking only about that. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 06 09:11:34 2024 Received: (at 72328) by debbugs.gnu.org; 6 Aug 2024 13:11:34 +0000 Received: from localhost ([127.0.0.1]:60439 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbJyP-0004g2-Ts for submit@debbugs.gnu.org; Tue, 06 Aug 2024 09:11:34 -0400 Received: from mail-lj1-f171.google.com ([209.85.208.171]:50362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbJyN-0004fh-7u for 72328@debbugs.gnu.org; Tue, 06 Aug 2024 09:11:32 -0400 Received: by mail-lj1-f171.google.com with SMTP id 38308e7fff4ca-2eeb1ba0468so9688531fa.0 for <72328@debbugs.gnu.org>; Tue, 06 Aug 2024 06:11:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722949801; x=1723554601; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=EOS7EOryl29esSYh/PyRbsKCEMW60p+9HKQ1G7CAh/E=; b=moDtCyfVxacGQsrBuzS4f6RuYO6pqRgMYylmSs+/kq6fIhTvQCVkOWvlkFkxrpRsTr 3lFMXm3mYXT7I3PDXRgFr1tDywfp32Jap1cVJEQkTeKF2y/wV/BAZZV5kzewRuq8ZWw/ OtrjbiiITMRHaSnHpvA0g3bqjxg4z7uWHeFfit47xVM0q2ROTxF28qj34rcU7vcBDJN5 JWXYzqTbWbYPXT2SPQoqZrrPuaXO4M5P1Zm20KGS26CWoS/wP2K/CY6WSmo4cndO1Owv WbhbhJwgp1Xn0zhsHLsX4ivNrVZ4olRejVuI9vVjtv4NutaR87KAmmXdO6AmU9fxNHH5 WsUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722949801; x=1723554601; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EOS7EOryl29esSYh/PyRbsKCEMW60p+9HKQ1G7CAh/E=; b=rdEFAPAuYH5vAFvaXOE+/iZdsLTnD7poWJiBXDJrutDVcA19to2gSrAxQVDSQnjLqD BGTg2J2keBg0yUtHhjFdtqw8DAM9d/HnTNCIYWkruFHGWVw7APfRJESWjW1kg4fJvGvb wBLTljnaGESD7dkdV5WogLrlEv2eV2fCeCsqN9Pgm0fz/UWf+vUmqFQexX0v87E7L3gl QSSpDyQMihvmtf6/km4mujZCQ2DuevNHRRsnanTeFOf1QkKhOG89G8cp+P0WFivM11J2 +oAeRzRBzhX589sdHURuaak3BduXXEs/8CU8GX5PV5PLB+UnpP1TP6eXFZXVyMI9wYWn 9yzw== X-Forwarded-Encrypted: i=1; AJvYcCU5bJ8MYPPdxUk3jKkJaTNqrZc1ckubuNK7dkakApz5HiT/f9pfvZUx+g7QDMJ6BdgIwbWW1cTqhtX3Rs0Y9GFWHTT5mh0= X-Gm-Message-State: AOJu0YznTsyhIJOjrdPE2xO5vTKHdsnySNHx/50H4MHzJTUsJnbC7lp1 aOSZUOCW6L5e1f0rfnQUCNqsIpy61gFzVKGGaKKVx9vKme21HRNgq2Rpfd9P X-Google-Smtp-Source: AGHT+IGz0Tbtn/gFbcMkRxHGaNXOYN/qwiqVqDKLqH46RQkowdsYX7xQ9B2Z769IAq+iXxU2OHRyYA== X-Received: by 2002:a2e:b170:0:b0:2ef:1bd5:bac3 with SMTP id 38308e7fff4ca-2f15ab419camr106154721fa.41.1722949800146; Tue, 06 Aug 2024 06:10:00 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-428fe2492fesm18883065e9.0.2024.08.06.06.09.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Aug 2024 06:09:59 -0700 (PDT) From: Thuna To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <86o765q4yo.fsf@gnu.org> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> Date: Tue, 06 Aug 2024 15:09:57 +0200 Message-ID: <871q31ztju.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, 72328@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 (-) >> >> Note that I do not believe that there are no people who would be >> >> effected by this, positively or negatively. >> > >> > We've learned from bitter experience that such arguments are usually >> > false. IOW, we don't really know enough to make such assertions. >> >> I think there is a misunderstanding. I am not saying that there isn't >> anyone who would be effected by this, it is the opposite. I understand >> that this will effect people, and I agree that at minimum there needs to >> be a decent period where the current behavior is maintained but marked >> as obsolete. > > How do you envision making such a behavior change in a way that will > leave the current behavior still maintained (and obsolete)? In the patch I provided the check for `(<= depth 0)' can be moved out of the conditions and into the branches as `(unless (<= depth 0) (macroexp-warn-and-return ...))' and it should work identical to how it does now. We can also semi-support the new behavior at the same time by making it so that if there are nested commas in the pattern it uses the new behavior. This should not cause any backwards-incompatibility because a nested comma in a pcase is currently just an error. If this is something that would be of interest I can look into providing a patch for it. >> An indefinite feature-freeze is where I have a problem. > > Disagreeing with a specific change is not tantamount to an indefinite > feature-freeze. It is quite possible that someone will come up with a > different idea of a change, which we will be able to reconcile easier > with the previous behavior. As long as the goal of such a change is to establish symmetry with quasiquote, you can not reconcile the fact that the current behavior and the expected behavior on the pattern ``,foo are incompatible. >> >> (defun macroexp-null (exp) >> >> "Return non-nil if EXP will always evaluate to nil. >> >> This form does not take non-local exits or side-effects into account." >> >> (pcase exp >> >> ((or 'nil ''nil '#'nil '`nil ``,,(pred macroexp-null)) >> >> t))) >> >> >> >> which without this change would read as: >> >> >> >> (defun macroexp-null (exp) >> >> "Return non-nil if EXP will always evaluate to nil. >> >> This form does not take non-local exits or side-effects into account." >> >> (pcase exp >> >> ((or 'nil ''nil '#'nil '`nil >> >> `(,'\` (,'\, ,(pred macroexp-null)))) >> >> t))) >> > >> > Thanks, now you just need to explain why you needed this code and what >> > did its caller do to require this. >> >> I do not understand what you are asking for. Whether `macroexp-null' >> should exist or not, what it is trying to do should be fairly clear, so >> should the way in which it benefits from the changed behavior. > > I asked to explain _why_ you need this. Risking to say the obvious, a > program exists to do some job, and a function like the above is > therefore part of some larger job. We are asking you to describe the > higher-level context, which we could then use to try to decide whether > the need is important enough to justify the backward-incompatible > change. And I am saying that that broader context of this example is not meaningful in any way; I provided it solely because of the ask for a real-life use-case. I would appreciate not being put in a situation where I must defend multiple patches (one not even proposed) at once. Whether this new behavior is or will be used in emacs does not matter. I am not proposing this change to make further patches more convenient, but because I believe that it is the correct way for pcase to behave. >> I also cannot provide any justification for this patch above and beyond >> what I have already mentioned in my initial message: This patch >> establishes a symmetry between pcase's backquote pattern and quasiquote, >> which allows trivially matching against the result of a quasiquote form. > > We would like to hear reasons for wanting this. At the risk of repeating myself: (pcase ``,foo (``,foo foo)) should not return (\, foo). The current behavior is unintuitive and makes patterns actually matching against quasiquote forms essentially write-only. >> I would appreciate it if you would state your opinion on this patch, >> putting aside concerns of backwards compatibility for a moment. I am >> working under the assumption that this is an improvement and is >> desirable, yet I have not yet heard from you or Stefan as to whether you >> see it that way or not. > I believe Stefan did say that. Me, my only stake here is the concern > of backwards compatibility, which is why I'm talking only about that. I don't see how we can discuss whether this patch has enough benefits to clear the hurdle of backwards-incompatibility if you are not willing to engage with the discussion of what this patch's benefits *are* to begin with. From debbugs-submit-bounces@debbugs.gnu.org Tue Aug 06 23:33:37 2024 Received: (at 72328) by debbugs.gnu.org; 7 Aug 2024 03:33:37 +0000 Received: from localhost ([127.0.0.1]:33433 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbXQe-0003db-NH for submit@debbugs.gnu.org; Tue, 06 Aug 2024 23:33:36 -0400 Received: from mout.web.de ([212.227.15.14]:37111) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbXQc-0003ce-EP for 72328@debbugs.gnu.org; Tue, 06 Aug 2024 23:33:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1723001572; x=1723606372; i=michael_heerdegen@web.de; bh=2XnKaOk43GU7czBC7elwtNVy1BV/c9WWv65cagy5t6Y=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=IvG7H255h+IhxCXXpdczTtfaGfhjxVVSOqNWuw7Ttq73VYUaf+pGBNHIWppTRKoB imqmasVxbLJX2KNeArvJOQj44PMVOGd3Rb8nZ0VaCy0C2nL3O+AHJPuD/WddO7CNi GBOcJ/qkizxBb2y4I8f4AQkmMB3pd/qjRHVP+ZefoZiDVf3ZWJOmt/75CqpKWSSrE ggLxIlYKqw8BwxjJ582WkPeXTKNlU4brpY7mt9hNqLtRviAishf8Uz+fSoIlQmMuJ WttTJguezlZKtpJh/mRYuflnJjT2q273/FVwNnRuaszaNfb66hCiEuRjeMZd0JwmW FwGURdU4Jf6dr9JKbg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.76.229.49]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MwjK2-1sGzMn3ZUY-00u0ja; Wed, 07 Aug 2024 05:32:51 +0200 From: Michael Heerdegen To: Thuna Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <871q31ztju.fsf@gmail.com> (Thuna's message of "Tue, 06 Aug 2024 15:09:57 +0200") References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> Date: Wed, 07 Aug 2024 05:33:40 +0200 Message-ID: <87bk2580rv.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:J2BO4S0t2x37I+mQoSuEoDg4HcEbg/QavCeD7l2dArcr87dg0U0 Hw0N+9es5LzP1Ss1Jyelbcs6NaNz4NIP+FzYmfku19cxVonbvhnmMvUe/odwiqdhDTcM0nH zMar0oMPXWXiS+hStr7hrp/7vf2RktxPQA3biq8CcHMpc66jpvCMoBmUXC15QXaXxmA+P3k 7+eMeFw9vloFEUnxqvBZw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:DgwVz9LrfvA=;UdssZkrG1oYMP732+PgnshfVRGs 2JKVFvRF5QuemYJ8HvuDiSzUpaGGjxTHXQ5klOUvup2wp38LwzmueygtPs1mkCIokcd7eLBb8 EXyEG2doa1UOLkcjCiVZdBKGLCYg2fihivAaDfpxb5XVT+Gav7SmWccYw0BwEbN3cclyWKFzY +MZIaSPVqWKSul5seX1zKvFL5Oychdb6wo3VHDi/6X0xX91mp0PEGtuUWoo47kRnZjtb36fyC /vk1nL2HEiiy9TvyMOwae65tH3Pqy75aaF6n83JhWzM5ya2LH3CQrT5JhUraIHT9CjcY1fwnd NSMAgKGn9YkTlBwTtCPGSV+nVxea2NwpfIi7ITqVVZv0iUcetz3rHinGKfBkGFZNxFf78Lo+l dqod4G4e6tgW6AFmQCb9P82mQhglZ+rLcE/Y6FnYgPTSyWQi5NUUyhM0CYRT5gpXydYCb1n8r njXnCebH0/iyZeg9WZdj6NXIh/1kAFjIw5/udm8H+ErGPMQ15xlWSKbCYWMCOAfPw1cmRQqHD O0BfIjg5YFsB79MYzB9TftNzOi8nvCDiF+5Xn9hPFYElx4jRpxxKii+QumJsOqES15izigM1d jmutV1jvxtb+TZvLrCTR76mVpXN+QnIstYWMxpaPikl9/CTwHQDqCAxwz9nQhQLZAkofh/aPI Qfvh/2hH6AHurfU1YNsyty8ZHehXzFLrRGXBu3YgSXzefWLP3cH2gXP28fM1f+m1FATFbYARC QIpAgpb8THa2adjcell7JoPPV4tiBi8+nwAPLd0FJze3h/bVq74hTgShYJx0QkzQYeqNT5hAU r3c/h2TkfO0FvuKhE+kX758g== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 72328 Cc: Eli Zaretskii , monnier@iro.umontreal.ca, 72328@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 (-) Thuna writes: > I don't see how we can discuss whether this patch has enough benefits to > clear the hurdle of backwards-incompatibility if you are not willing to > engage with the discussion of what this patch's benefits *are* to begin > with. He sees that of course, but it is not what he has asked for because it is obviously not enough. Eli has to ask these questions, he is just doing his job. He has to weight backward incompatibilities and potential breakage against potential further improvements. The second is what his question is about. If you as the one who proposes this change can't answer it with concrete examples, how could he come to a decision? So I suggest to avoid meta discussions about what we expect and how others should behave and, even if it sucks, try to answer Eli's questions without questioning his reasons and intentions all the time. Michael. From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 07 07:54:02 2024 Received: (at 72328) by debbugs.gnu.org; 7 Aug 2024 11:54:02 +0000 Received: from localhost ([127.0.0.1]:33880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbfEw-000309-EH for submit@debbugs.gnu.org; Wed, 07 Aug 2024 07:54:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54442) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbfEu-0002zd-9H for 72328@debbugs.gnu.org; Wed, 07 Aug 2024 07:54:01 -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 ) id 1sbfEP-0005BO-Gs; Wed, 07 Aug 2024 07:53:29 -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=EUjmEM/iZH2m09mFAs5PulLOtSnfNZkinuUzKT5XBjo=; b=bH0OttntbKTX EeTOghotjJgLcIxPmY9MPPR82PM56ThzTDnn5sK1rEHMaJ1G0uPwWyLLVpJUgZNZLCBIGRy18J67g 1Gh2cODR5u4WBozTZqjF6GHOlSgzoCxxL7I291eq26+jbMLECDKcw/uUiglL2b33iplHeQezEhhkK sbOrXNCLwMY9UmbHiwHqaKffEGfe83ymcj/EHkuz7w960zliryvcnsk2IFWsqnaneyIP5flTLS5vA MnJ7c9rsVsL9+P1TbUr9WUR8gNLvAlf7egUpnsoteza8qlS2H5hJbuVHZLjsw5aWeEEm0InxlG8OE kJ0yO7OI5+cDOB+oCeesyA==; Date: Wed, 07 Aug 2024 14:53:26 +0300 Message-Id: <86a5hoo8g9.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen In-Reply-To: <87bk2580rv.fsf@web.de> (message from Michael Heerdegen on Wed, 07 Aug 2024 05:33:40 +0200) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: monnier@iro.umontreal.ca, thuna.cing@gmail.com, 72328@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 (---) > From: Michael Heerdegen > Cc: Eli Zaretskii , monnier@iro.umontreal.ca, > 72328@debbugs.gnu.org > Date: Wed, 07 Aug 2024 05:33:40 +0200 > > Thuna writes: > > > I don't see how we can discuss whether this patch has enough benefits to > > clear the hurdle of backwards-incompatibility if you are not willing to > > engage with the discussion of what this patch's benefits *are* to begin > > with. > > He sees that of course, but it is not what he has asked for because it > is obviously not enough. > > Eli has to ask these questions, he is just doing his job. He has to > weight backward incompatibilities and potential breakage against > potential further improvements. The second is what his question is > about. If you as the one who proposes this change can't answer it with > concrete examples, how could he come to a decision? > > So I suggest to avoid meta discussions about what we expect and > how others should behave and, even if it sucks, try to answer Eli's > questions without questioning his reasons and intentions all the time. Thanks for representing my POV so clearly. From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 07 13:36:20 2024 Received: (at 72328) by debbugs.gnu.org; 7 Aug 2024 17:36:20 +0000 Received: from localhost ([127.0.0.1]:35058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbkaB-0005ju-IT for submit@debbugs.gnu.org; Wed, 07 Aug 2024 13:36:20 -0400 Received: from mail-wm1-f47.google.com ([209.85.128.47]:52225) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbka9-0005jh-8k for 72328@debbugs.gnu.org; Wed, 07 Aug 2024 13:36:17 -0400 Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-428243f928fso1384515e9.0 for <72328@debbugs.gnu.org>; Wed, 07 Aug 2024 10:35:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723052085; x=1723656885; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=L9PlBJApXykhNrdSYOPi41lyN0yUrcAdBN3Ae7kdUtw=; b=Tglptbv23aohxdkvjYXLuNkpqmCRo40KJ5sKMyaPk3cOeMRxAXegopJBoCHMgUtp1U g3a10SwvwJ7ep9/Aw9F+sj88+8VPyCLoC6fZh5pGAugz45LyIBIjXNAyG8Izxko2oPzG rdy5pSYalDvS5A1Yyuib//q/ldR4Gk1zEZIpQaFxUUZnp7NVRFaA4PWGi9bdM6rC0D1S ryS0lGOk7UMnJdIzNBUf9xq9Fz4BKRv94++MPrFLnWDCEGppWmBI+0rzDa6StX+k/Agw j7h07mXpl2mxP3JTgn0jTiL+psZN2HMtOeMeklHSab9x9nXvQ00gudmPxqQmOzCKObFY vZUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723052085; x=1723656885; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=L9PlBJApXykhNrdSYOPi41lyN0yUrcAdBN3Ae7kdUtw=; b=PHGe+6juWL56luZgobQH8gOXLAiYbgU81HRcbFFnzrZwTUcgAJwBZp1uim5KWbh/UI /b4c3CJobmkS2kfvSKXMEfJXX1XpRCDYEJX9kibgVKKJkM3BwlRMGV/MNiUFi/5qVqti XYdokIg62kvUu9D0CYzfmr1LQ2hr9S4Nt1zli0F2sFG1oEiXj5dBTP15iXO8GW6UtbJW 8wgotd5XmBkmsLkqEN1s5WEaRgY+bFkZMN2UgVale2LpyGt2r25J50cf1zw91GtAe+id VtoJJ0RMcN7tgv0VWFc5Lzh56t+HVjfbYD92eAcxGIAS8n/5MUaCwLAQSxf5K2oN7KKV znjQ== X-Forwarded-Encrypted: i=1; AJvYcCWYamGqDGvVI3hOKhaM+guPfJ+3JrtbTCSt1Wjj3jC44S1qwObqI8a9ms1dYOTWRLlMkUdDVszzJcQvJOuy23qec6MyXUs= X-Gm-Message-State: AOJu0YzpbMwHhAdH3eYJKykctiq2dZSILNQUDOGgn4uN5pSTCgFsStEb +qov92gdF+4nBF+jJqnYNpYzwAs1cu5vm/PS3RhCG22TF6Nd4eRgTvTQWq8P X-Google-Smtp-Source: AGHT+IEDxbDGpa8oIucGFW6OSdPB0kGrvxWIGNF9XPhCahcZl5FmgxX1qBJ0ZrB8XPhF7SiimfJTbA== X-Received: by 2002:a05:600c:35ca:b0:426:545b:ec00 with SMTP id 5b1f17b1804b1-428e6b2f0c5mr174185585e9.19.1723052085161; Wed, 07 Aug 2024 10:34:45 -0700 (PDT) Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4290579f58esm39453165e9.11.2024.08.07.10.34.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Aug 2024 10:34:44 -0700 (PDT) From: Thuna To: Michael Heerdegen Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87bk2580rv.fsf@web.de> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> Date: Wed, 07 Aug 2024 19:34:32 +0200 Message-ID: <87msloxmmv.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: Eli Zaretskii , monnier@iro.umontreal.ca, 72328@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 (-) >> I don't see how we can discuss whether this patch has enough benefits to >> clear the hurdle of backwards-incompatibility if you are not willing to >> engage with the discussion of what this patch's benefits *are* to begin >> with. > > He sees that of course, but it is not what he has asked for because it > is obviously not enough. It may not be enough but it is a necessary step. I am currently having to caveat all usage of the word "improvement" with either a weakener like "IMO" or a conditional like "if this is considered an improvement". Having to repeatedly try to appease implicit, unstated, and unchallangable contentions is rather tiring. > So I suggest to avoid meta discussions about what we expect and > how others should behave and, even if it sucks, try to answer Eli's > questions without questioning his reasons and intentions all the time. What I question is not Eli's intentions or reasons, but the consequences of complying with those requests: I fear that the moment I start defending and giving justifications for the existence of macroexp-null, this report will forever be reduced to just a "companion patch" whose sole purpose is to make a later patch *look* nice. My concern is that this will end up the same way me showing no code in melpa would be effected by this patch did - with my case being hurt on false grounds. I have evidently been unable to get my point across, so let me try to explain it yet again: The "broader context" has no effect on the decision to use pcase in macroexp-null, you might as well be asking my why I used cond. I use pcase in macroexp-null because for pattern matching it is by far the best tool there is and it makes for a much more readable and extensible code than (defun macroexp-null (exp) "Return non-nil if EXP will always evaluate to nil. This form does not take non-local exits or side-effects into account." (or (member exp '(nil 'nil #'nil `nil)) (and (eq '\` (car-safe exp)) (length= exp 2) (eq '\, (car-safe (nth 1 exp))) (length= (nth 1 exp) 2) (macroexp-null (nth 1 (nth 1 exp)))))) Furhermore, even if the resulting discussion concludes that macroexp-null should exist, that does not mean anything about this change; I have already demonstrated that the program can be written without it[1]. And the reverse implication is true: This patch can be accepted without macroexp-null. In fact, it is a stronger implication: This patch can be accepted without ever acknowledging the existence of macroexp-null. Given these two are separate things that do not need each other, and the example alone demonstrates the value of this new behavior in this specific situation, the continued inquiry on a justification can only bring about a single result: If I somehow fail to convince people that macroexp-null should exist, this makes a case against this patch. The opposite will not be true however (if I convince you that macroexp-null should exist will you not simply tell me to use the version which works pre-patch?). And let me also mention again why I think that this is a genuine improvement: You currently cannot match against a nested backquote object in any sane way. The pattern you need to match against the unevaluated form ``(,,) is `(,'\` (,'\` (,'\, (,'\, ,(pred integerp))))) and... how is this not considered a problem? That this thing works at all can only really be thought of as a coincidence, and it explicitly relies on `foo being (\` foo), which I would personally consider an internal implementation detail not to be used by outside code. There is a genuine loss with switching over to the new behavior: We run into the same issue as before when matching against an unevaluated form ``(, ,,). This is also why I want to have more discussion about the patch itself: The current behavior is bad at actually matching backquote objects as obtained by a single quasiquote macro, but the proposed behavior is bad at matching backquote objects obtained by multiple different-but-close quasiquote macros[2]. It is very likely that the result of that discussion will end up changing the way this patch actually works and maybe even result in the original behavior being maintained in the first place. [1] With or without pcase, though in this instance I am referring to the with-pcase version I provided in my previous messages. [2] You can only obtain an unevaluated form ```(, ,,,) via an evaluated form like ````(, ,,,,) where is a fixed symbol. If the pcase pattern is matching against all possible objects, that means that the objects it is matching must be coming from different quasiquote forms. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 08 01:57:49 2024 Received: (at 72328) by debbugs.gnu.org; 8 Aug 2024 05:57:49 +0000 Received: from localhost ([127.0.0.1]:35350 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbw9k-0007re-Rd for submit@debbugs.gnu.org; Thu, 08 Aug 2024 01:57:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41534) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sbw9h-0007rP-QA for 72328@debbugs.gnu.org; Thu, 08 Aug 2024 01:57:46 -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 ) id 1sbw9B-0007cY-Rp; Thu, 08 Aug 2024 01:57:13 -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=ZmD+HS++Lzhy+64/F7RcWrC8+BrMNSvS6SHEDZ+hGlM=; b=a2z4qiCFOEGW pGtqRKJLle6cH8SUVjNS25UdW6DlY6tJBZhzdFDc3K/ALQaHSqDx3lOicsujhgFPFjiQt38yeCVaM uzxSMfhdDAXdvY/NJUwKav9YjbEtxC6ah8u+hF4ksBBdxmu0I4Tx4DAHEZp9kCHpKvaGrDwNCcZP0 Bl7643+afUIbalkGpdjKbhEHEzf/Jbrk1JLcqW6HJXuj/7GXUe0swu5rklV9j2TR+BUe+vEh+DFJG y/i29TdVnfab6qCSCrtTvj8fzAJAUh7WefUClQa6ifGqLXSWgSCGqX3b0CxWeyFpJxYuXcKACxgVj qXJHDUtq9c2qH3g/59oB8g==; Date: Thu, 08 Aug 2024 08:57:11 +0300 Message-Id: <86jzgrmua0.fsf@gnu.org> From: Eli Zaretskii To: Thuna In-Reply-To: <87msloxmmv.fsf@gmail.com> (message from Thuna on Wed, 07 Aug 2024 19:34:32 +0200) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, 72328@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 (---) > From: Thuna > Cc: Eli Zaretskii , monnier@iro.umontreal.ca, > 72328@debbugs.gnu.org > Date: Wed, 07 Aug 2024 19:34:32 +0200 > > What I question is not Eli's intentions or reasons, but the consequences > of complying with those requests: I fear that the moment I start > defending and giving justifications for the existence of macroexp-null, > this report will forever be reduced to just a "companion patch" whose > sole purpose is to make a later patch *look* nice. My concern is that > this will end up the same way me showing no code in melpa would be > effected by this patch did - with my case being hurt on false grounds. You make it sound as if there's some hidden agenda in this discussion. There isn't. > I have evidently been unable to get my point across, so let me try to > explain it yet again: The "broader context" has no effect on the > decision to use pcase in macroexp-null, you might as well be asking my > why I used cond. I use pcase in macroexp-null because for pattern > matching it is by far the best tool there is and it makes for a much > more readable and extensible code than > > (defun macroexp-null (exp) > "Return non-nil if EXP will always evaluate to nil. > This form does not take non-local exits or side-effects into account." > (or (member exp '(nil 'nil #'nil `nil)) > (and (eq '\` (car-safe exp)) > (length= exp 2) > (eq '\, (car-safe (nth 1 exp))) > (length= (nth 1 exp) 2) > (macroexp-null (nth 1 (nth 1 exp)))))) > > Furhermore, even if the resulting discussion concludes that > macroexp-null should exist, that does not mean anything about this > change; I have already demonstrated that the program can be written > without it[1]. And the reverse implication is true: This patch can be > accepted without macroexp-null. In fact, it is a stronger implication: > This patch can be accepted without ever acknowledging the existence of > macroexp-null. > > Given these two are separate things that do not need each other, and the > example alone demonstrates the value of this new behavior in this > specific situation, the continued inquiry on a justification can only > bring about a single result: If I somehow fail to convince people that > macroexp-null should exist, this makes a case against this patch. The > opposite will not be true however (if I convince you that macroexp-null > should exist will you not simply tell me to use the version which works > pre-patch?). > > And let me also mention again why I think that this is a genuine > improvement: You currently cannot match against a nested backquote > object in any sane way. The pattern you need to match against the > unevaluated form ``(,,) is > `(,'\` (,'\` (,'\, (,'\, ,(pred integerp))))) > and... how is this not considered a problem? That this thing works at > all can only really be thought of as a coincidence, and it explicitly > relies on `foo being (\` foo), which I would personally consider an > internal implementation detail not to be used by outside code. > > There is a genuine loss with switching over to the new behavior: We run > into the same issue as before when matching against an unevaluated form > ``(, ,,). > > This is also why I want to have more discussion about the patch itself: > The current behavior is bad at actually matching backquote objects as > obtained by a single quasiquote macro, but the proposed behavior is bad > at matching backquote objects obtained by multiple different-but-close > quasiquote macros[2]. It is very likely that the result of that > discussion will end up changing the way this patch actually works and > maybe even result in the original behavior being maintained in the first > place. I think we all agree that your suggestion has some advantages in some situation. We also all agree that the problem you are trying to solve is solvable already by other means, so it isn't like the problem doesn't have workarounds, and the workarounds are not in general terribly kludgey or inconvenient. So justification for introducing such change in behavior is actually the main point that needs to be discussed, because it will be a main factor in the decision whether we want to install such a change. And the justifications that we are interested to hear are the situations where using the available behavior would cause such significant inconvenience or unclean code that having this new behavior would avoid. Then we will have to decide whether those situations are important enough for us to risk the incompatibilities, complicate the documentation, add backward-compatibility shims, etc. -- all of which make Emacs slightly more complex and slightly harder to maintain. This process and these considerations are inherent to the maintainers' decision process when a change is proposed that means incompatible behavior changes in Emacs. Talking about the advantages alone doesn't cut it. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 22 23:26:19 2024 Received: (at 72328) by debbugs.gnu.org; 23 Aug 2024 03:26:19 +0000 Received: from localhost ([127.0.0.1]:38643 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shKwM-00008F-VI for submit@debbugs.gnu.org; Thu, 22 Aug 2024 23:26:19 -0400 Received: from mout.web.de ([212.227.15.3]:50651) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shKwK-00007y-LS for 72328@debbugs.gnu.org; Thu, 22 Aug 2024 23:26:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1724383513; x=1724988313; i=michael_heerdegen@web.de; bh=e+i4LuXqK5aTsPsx1Vncfgj5m+6Mw+hJ8yYm/hRJUro=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=ISI5onr0OIgvLDOu8hdIvQrkTJBXgUum3gotTqcG8yFG2v06nVWQqbsUOLiq7ECm qQuV9R5KWjlMuU6C24SaGtFXe/OZNvJIIjHS/bXdF27d9CBU037Mmtfsjj/xjLD/b CQG4yukpj82P37VqZ9WazmTXFoqvtJwfEhbCo4bd6vhTSGaBQ8Q+odHpIQngpNICA 6J5RM5y+PJ2HnEoYUhuNoNTpBWs1QsCvM0/KHFqC8h1LhC2+HO0xu+GX7z1BGezfl jdVlWWmLlC7USfJhyYo4oGWX+j3+jDVC/fNZZ4AW9ZEa2VpcVBq3jgH70G1hG7I36 NT5EMB3La3TogCp9fQ== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.176]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MbTH3-1s6MLI2vFJ-00c3EX; Fri, 23 Aug 2024 05:25:13 +0200 From: Michael Heerdegen To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <86jzgrmua0.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 08 Aug 2024 08:57:11 +0300") References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> Date: Fri, 23 Aug 2024 05:25:59 +0200 Message-ID: <87v7zrncmw.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:fFWpIbv7LgsKzkfo6NLacxmxn7ormB96W+JnPBtUC+elZzUrW8F wf5+s974hBkAC6vgrhFkfLQaxQihJ1ITg0AWrO5bpiaBfJwZD/aQCl3tjOPotPIsAJqz2qk clc+ncuY4St9gU8YhgU/bJrI14X9+jG0lfdX3Cz6yvfmVFQGwzcEwVahnqT/Oum9txQIs5h /nVEccN1rhzf+eeXG0l9w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:7u38IYNjxNM=;9mvzKg1ixJtAp6BdN/sGctueobX q3sl9m2Q04XQ1rNWsOvvsNDBbecdrPqC4lOs9bRHj9CPdXHXqWnPNsMVJg7hGROzpayDXY96V X7APrxSd8hzAtXB+Hez5kubkOJvUZ9vhzPVRiILjd5EnzUs1QwWAALVEMo1LEGmHCSI/7zT2+ yUSSZz62M8g3VkuVXyJecTj0hs30NLih4cFXBPnCNsZ3GdcLnHiiZpWlwYk6N4pqroqppyb8q GaHfaDac/jCfJVPoWgvT+FGC6WFOx542XGsvqaZt5BbVZK2bX3YkIZyYCZeUZuQGaoky9F+Kw TRTs9IIUSnxHif2PIjfL0rRfJLl9SqhYIWzHc2I0zy/fmCdS2+gkwD8NwNSKtX2eeVNytStis 4EWhbKjEhTmvSbSZ2XmRHcT2dqW1st3JXAr/fVJUq/ub6+PLHicwDAahtsxu3fRjG5/pXa2tO luq6zeLmuR/koZqF4zqGVk2z3Xg+jES0aPMyCkTCT1GaOdR4ZNBpjR+LNkFGQZsVqvnC+X9wz HR6LTujXTZi032U5X0AZaH2fudRoAC8zM3p6n3Bm0kRXtZhN3Nv6rW00Gw89e/dBi/wuzX3nt VFl25pyiQ5A++AjphBlognQBabrWlFN6n0orQiHMz8cgXdPtJi5TQQYVgFeufMpIBFI2+w8mN BzxVDjeh8FWdverio7uej6esScxkpQ2ZdtDL7UIg30eKvDla2OoYHCTzdcBSR4fa95aFg66SZ 4uGWve/JtFvlFyIAT/ZEw+Q9ec4vB0vl8D4W04SEFl2JfcGPaLBHC8jzZVF9Sof+KxeyTKCig lIISLhXtBxrBtDlj9E3oBnzg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 72328 Cc: monnier@iro.umontreal.ca, Thuna , 72328@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 (-) Eli Zaretskii writes: [I'm trying to keep this discussion alive...] > > What I question is not Eli's intentions or reasons, but the consequences > > of complying with those requests: I fear that the moment I start > > defending and giving justifications for the existence of macroexp-null, > > this report will forever be reduced to just a "companion patch" whose > > sole purpose is to make a later patch *look* nice. My concern is that > > this will end up the same way me showing no code in melpa would be > > effected by this patch did - with my case being hurt on false grounds. > > You make it sound as if there's some hidden agenda in this discussion. > There isn't. Yes, Thuna, from experience I know that the way Eli asks questions for some people (including myself) sometimes suggests intentions that are not there. It's not a mistake to just answer his questions, IME. > So justification for introducing such change in behavior is actually > the main point that needs to be discussed, because it will be a main > factor in the decision whether we want to install such a change. And > the justifications that we are interested to hear are the situations > where using the available behavior would cause such significant > inconvenience or unclean code that having this new behavior would > avoid. Then we will have to decide whether those situations are > important enough for us to risk the incompatibilities, complicate the > documentation, add backward-compatibility shims, etc. -- all of which > make Emacs slightly more complex and slightly harder to maintain. Would be good to hear from Stefan how he would estimate the risk of potential incompatibilities. And the value of the change of semantics. [ The rest of my message is more or less a summary of aspects already given, from my perspective. ] Thinking more about it, from the things I can see, I think I'm in favor of this change. In the long run it makes Elisp more consistent. I don't know how often backquote values are needed to be matched. I guess not terribly often. OTOH, this ,'\, circus really can drive one crazy, it's not obvious what one needs to do at all to match a backquote value correctly, so it's also an improvement to enable people to do this in a reachable way, and the code also gets better readable. OTOH, I think the current semantics of pcase ` are easier to explain in a formal way. Dunno if this is an advantage though, since most people don't seem to understand them anyway. Thuna, do you have any other ideas where your patch would be a significant improvement - practical use cases? I must admit I'm not yet completely sure how the impact of the patch would on using el-search - although I often use it to search backquote expressions. Guess I'm too used to the current semantics now :-( What I can say is that I often wished that it would be easier, in one way or the other. Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 23 10:50:01 2024 Received: (at 72328) by debbugs.gnu.org; 23 Aug 2024 14:50:01 +0000 Received: from localhost ([127.0.0.1]:39969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shVc0-0002Td-UG for submit@debbugs.gnu.org; Fri, 23 Aug 2024 10:50:01 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:49106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shVbw-0002TL-6m for 72328@debbugs.gnu.org; Fri, 23 Aug 2024 10:49:59 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 60DA280B06; Fri, 23 Aug 2024 10:49:03 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1724424542; bh=pyF35L6iTjZChE6uHFWQTiEoWfIoV5gxFDcqgWz7x7o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=TXCHI2lMFs6mDpj8D9Ysf0EsAnx6IEyYeq3SH+5Wh4IgipeBnge7/MnwdExkiE+lu 6PvaaczY3TIRCgX6XvEPrZP2VlU6/+tLJZX51QUhtR3J6haQryOKQGW1wDu5G/02Q6 h3rWU8wc0d6OleTLCJQbO1xDMHacjmL1977tOorp42S6/d5MFxa6f7pM+W4Ja+A1ob UCuTy0+Op3AEQynT/Su6cAJXT5B5UFEb7KJWO6KXgf3D5CSmdOvRZR7wbgW0zGAMvL BeHLLnVj01IbjpjHhvTXeyFY72vDtwXpX2XcUh9IB7UxIGoUj18fDV0A5qWASsQ+C4 tDk3GV/GMjQow== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 1DE4380891; Fri, 23 Aug 2024 10:49:02 -0400 (EDT) Received: from asado (bras-base-mtrlpq0776w-grc-06-70-24-232-51.dsl.bell.ca [70.24.232.51]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 0CE3F12064E; Fri, 23 Aug 2024 10:49:02 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <87v7zrncmw.fsf@web.de> (Michael Heerdegen's message of "Fri, 23 Aug 2024 05:25:59 +0200") Message-ID: References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> Date: Fri, 23 Aug 2024 10:49:01 -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.223 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 T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: Eli Zaretskii , Thuna , 72328@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 (---) > Would be good to hear from Stefan The first step is to declare nested backquotes unsupported and add a warning when we encounter them. Until this is done, further discussion seems pointless. > how he would estimate the risk of potential incompatibilities. > And the value of the change of semantics. The risk of potential incompatibilities is exactly equal to the potential gain. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 23 12:05:08 2024 Received: (at 72328) by debbugs.gnu.org; 23 Aug 2024 16:05:08 +0000 Received: from localhost ([127.0.0.1]:40029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shWmi-0004jH-9z for submit@debbugs.gnu.org; Fri, 23 Aug 2024 12:05:08 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43656) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shWme-0004ij-HK for 72328@debbugs.gnu.org; Fri, 23 Aug 2024 12:05:07 -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 ) id 1shWli-0002QC-V8; Fri, 23 Aug 2024 12:04:09 -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=pEfwi+wert7SG1IUFdnVOaSOhcJnMaUz4HEJUsG5DhQ=; b=PZjuiho6PGEA 2VD1Piu810A4Eu5wrkuHGR83rJgFNDBK6+8q4+wcsM+8AcC17+lt2jqf8PFo4mlOKOVJ9lOCVQYJJ UF07fyllMF7DogPKiIa63x7XCKT1LvYl0v1a5ZdiUvGO5eI4+5qtLskXIDjg4PcxYPo0nQtrE3jmU RJmY1CHEz9rXzmHw6k/6qugKx17kzmH/baMwImpOKY0BoqARCWNN/vcxYMAGRUq5/RbxHqQK8s5kQ jU8BfVi5q+/VKlb6E3LEJ1MFuKK8olWJkK3J8+ccpsC6ZDmgOqNjmL5g7icP1CtIU4dN8SQsIa8fl 0mqN6/fxqoIhbrHdnoqUjQ==; Date: Fri, 23 Aug 2024 19:04:03 +0300 Message-Id: <86plpzp6oc.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Fri, 23 Aug 2024 10:49:01 -0400) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, thuna.cing@gmail.com, 72328@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 (---) > From: Stefan Monnier > Cc: Eli Zaretskii , Thuna , > 72328@debbugs.gnu.org > Date: Fri, 23 Aug 2024 10:49:01 -0400 > > > Would be good to hear from Stefan > > The first step is to declare nested backquotes unsupported and add > a warning when we encounter them. Where and how would you suggest to do that? From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 23 15:12:05 2024 Received: (at 72328) by debbugs.gnu.org; 23 Aug 2024 19:12:05 +0000 Received: from localhost ([127.0.0.1]:40138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shZhc-0001hb-Rj for submit@debbugs.gnu.org; Fri, 23 Aug 2024 15:12:05 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:11937) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shZha-0001h1-AB for 72328@debbugs.gnu.org; Fri, 23 Aug 2024 15:12:03 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D26964443F0; Fri, 23 Aug 2024 15:11:06 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1724440265; bh=OphU5rOZBjKbxNV/b302kVB+1D39RLRRSgA2Jpv5Z4w=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=exC7Epo8J823wZ0W95Y6ssV2Lvbmy+3h+3qiQ9ppuh741k/Rmd7Yb49tQ73huiGJW RqfjqVHObg29H0bjTYmeYW4tHdXFvsFKjszeSXb/7rJGvZpxdc4lq7FWnxM1lQXZjG SFitZ7PklFcRcT3nzymB71hVwYoGJ9PIGtj2vB+1UH60F5h/aP4tvqcpuegJKGfKGe yDr+J+kyfSiU/FlHrURbDb3PDbA0XtOU5Myjf1tnC1onxU7lGb3fNeiuE6EeW/SZc6 xFOyxyxtC09WhpWRIZsUImjdhSCRh7JF8dGVqQsA1RwZEWEgsYo0WwHWhjPvtS5xWT 4MKrs08R1fncg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 5EA464443EA; Fri, 23 Aug 2024 15:11:05 -0400 (EDT) Received: from pastel (unknown [216.154.9.87]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2EC67120287; Fri, 23 Aug 2024 15:11:05 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <86plpzp6oc.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 23 Aug 2024 19:04:03 +0300") Message-ID: References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> Date: Fri, 23 Aug 2024 15:11:04 -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.069 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 T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, thuna.cing@gmail.com, 72328@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 (---) >> > Would be good to hear from Stefan >> The first step is to declare nested backquotes unsupported and add >> a warning when we encounter them. > Where and how would you suggest to do that? Somethink like... Stefan diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el index fd6b0c8db5c..fe62820f0cb 100644 --- a/lisp/emacs-lisp/pcase.el +++ b/lisp/emacs-lisp/pcase.el @@ -1172,7 +1172,10 @@ pcase--expand-\` (upatd (pcase--expand-\` (cdr qpat)))) (if (and (eq (car-safe upata) 'quote) (eq (car-safe upatd) 'quote)) `'(,(cadr upata) . ,(cadr upatd)) - `(and (pred consp) + `(and ,@(when (eq (car qpat) '\`) + `((guard ,(macroexp-warn-and-return + "Nested ` are not supported" t nil nil qpat)))) + (pred consp) (app car-safe ,upata) (app cdr-safe ,upatd))))) ((or (stringp qpat) (numberp qpat) (symbolp qpat)) `',qpat) From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 23 15:32:58 2024 Received: (at 72328) by debbugs.gnu.org; 23 Aug 2024 19:32:58 +0000 Received: from localhost ([127.0.0.1]:40147 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sha1p-0002Jk-RG for submit@debbugs.gnu.org; Fri, 23 Aug 2024 15:32:58 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53298) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sha1m-0002JQ-AL for 72328@debbugs.gnu.org; Fri, 23 Aug 2024 15:32:56 -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 ) id 1shZyn-0000Aa-T0; Fri, 23 Aug 2024 15:29:49 -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=k+NNimvsbRBAnUTnYQ+p+JZV3lDRK6zu+DHou2OcTus=; b=ClecyFmevW6y JEHEPvsZCYUwhLJMMlcqXk6tdtUsPr3A3ff2mg2OosRjiaLEUF+IWoWCyEFwog8Gx8DklP9lio6SI UwONe7oc+X2yzbjBNFsmS/iDucYDDzCBA2lHS9iEFRutmCBk67F6WMYp76cdrFNMrOpgbfa6cTl0r 7Q9R9S6AAhxy/ehf4ylADG6ae1ue2n+BGmI4iba09AVbOyjAJxKD/YrW8QNvv0hwakv3Ldz0EwGAM i1+i8qeV6aIq8PsU+ujdWM+WEb2FSMNepyPqkJ96lFRUAgqXoBG54nxhm+3sojUYVAOljbLVpbP3l yOJZyhEShERC7hGCWzCwyg==; Date: Fri, 23 Aug 2024 22:29:10 +0300 Message-Id: <86ed6fox6h.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Fri, 23 Aug 2024 15:11:04 -0400) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, thuna.cing@gmail.com, 72328@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 (---) > From: Stefan Monnier > Cc: michael_heerdegen@web.de, thuna.cing@gmail.com, 72328@debbugs.gnu.org > Date: Fri, 23 Aug 2024 15:11:04 -0400 > > >> > Would be good to hear from Stefan > >> The first step is to declare nested backquotes unsupported and add > >> a warning when we encounter them. > > Where and how would you suggest to do that? > > Somethink like... > > > Stefan > > > diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el > index fd6b0c8db5c..fe62820f0cb 100644 > --- a/lisp/emacs-lisp/pcase.el > +++ b/lisp/emacs-lisp/pcase.el > @@ -1172,7 +1172,10 @@ pcase--expand-\` > (upatd (pcase--expand-\` (cdr qpat)))) > (if (and (eq (car-safe upata) 'quote) (eq (car-safe upatd) 'quote)) > `'(,(cadr upata) . ,(cadr upatd)) > - `(and (pred consp) > + `(and ,@(when (eq (car qpat) '\`) > + `((guard ,(macroexp-warn-and-return > + "Nested ` are not supported" t nil nil qpat)))) > + (pred consp) > (app car-safe ,upata) > (app cdr-safe ,upatd))))) > ((or (stringp qpat) (numberp qpat) (symbolp qpat)) `',qpat) Feel free to install on master, and thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 23 16:21:25 2024 Received: (at 72328) by debbugs.gnu.org; 23 Aug 2024 20:21:25 +0000 Received: from localhost ([127.0.0.1]:40163 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shamj-0003fF-0s for submit@debbugs.gnu.org; Fri, 23 Aug 2024 16:21:25 -0400 Received: from mail-wm1-f44.google.com ([209.85.128.44]:46407) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1shamh-0003ez-9U for 72328@debbugs.gnu.org; Fri, 23 Aug 2024 16:21:24 -0400 Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-42ab97465c8so18386585e9.1 for <72328@debbugs.gnu.org>; Fri, 23 Aug 2024 13:20:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724444368; x=1725049168; darn=debbugs.gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=S5CIaq8tV1zoGOjSEQd3BTJ3IsrHPVhL7N0NIKX+AD4=; b=bEXMTBqsKm9qydMVmnveCZN1B69jnM07731aqt8xP2ntLumgn0DGbOOymM36GVgI3E Qj1Lq8P4583GXSHsWulu/HNq1W31+W+eROV7lrZdR8V3zku9UDSeei49/IDYEeODr1SR sndot1oM+A9+Swicw+oi0sOfhkCzUbKu3x3fBvXrZM76mkCvENYxZf2AcoY6wM3IWz9g WCVYGZstDMNkBLzBmGDyfhhLJ92KeqkEkpUXlfTtoYsWYcGImi52aUXfJwLf7F/0DoNO +bKpbPi0106u8Sf1ObdggyweucA+TLxpD9t5BOq7pGpm0opwyHrK8gvlWxUje+a3o5x+ /raA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724444368; x=1725049168; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=S5CIaq8tV1zoGOjSEQd3BTJ3IsrHPVhL7N0NIKX+AD4=; b=msI4D6Zzq42Rci5WqJGNpvwopoa5GH/DQSaheT5jUTreYGE96Csy1o2lyaqk6PnNbq tY0J1oAHWAWlh/2frhqEBvOQNnzT+N9htHySdMaIIiIlfyV6Csbq/LnJ8gFOgDOjuJqJ 1kwXfWeJ0nr7vlYNrKkJQ2aSEdefEHMFgb8ZQknNqnNof9v9/5+99IB4g4p2Ttj+G+wQ /iqp24BbXgEVWNTEdSTR1DEydxc55CIaab+7EnEz8FFwXbe1YWLzlNwfsKk8J4s7eb4S Ai1C+eGyVezPmErVgh1tG8AbmI3F6vFgx/bXdoknUtmVMDB8KUV8VsO7S7iuZFnHgJoa Eskw== X-Forwarded-Encrypted: i=1; AJvYcCUoOAXCbBKSimRZtahhikiRL17ZSCu8mNFIdJ8aqwJfQl9FCPdNgnUdlK0XudXq2JCDqZuqDw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxfJr+qKmu/C7P1hObETfsh4KuWfzeRXtMmeuPvQVRbwdOBjSpQ ZM24PvPKY24fOOXrSiZxyBeCLR+FuZYf44TRyOo0oFT1NyM6OBB03nCXSQ== X-Google-Smtp-Source: AGHT+IGxhcJz5W/4FxzPklFwB/zWYVY8SxTy5GMV+043hBRHROnpaSbGyWsXqn4kiOYO6Z2hvO1GpA== X-Received: by 2002:a05:6000:8d:b0:368:747c:5a04 with SMTP id ffacd0b85a97d-3731185ad48mr1799024f8f.25.1724444367774; Fri, 23 Aug 2024 13:19:27 -0700 (PDT) Received: from thuna-lis3 ([85.104.179.223]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42abefc604dsm105532445e9.35.2024.08.23.13.19.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Aug 2024 13:19:27 -0700 (PDT) From: Thuna To: Eli Zaretskii , Stefan Monnier Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <86plpzp6oc.fsf@gnu.org> References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> Date: Fri, 23 Aug 2024 22:19:25 +0200 Message-ID: <87wmk7hu0i.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, 72328@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 (-) (Just to address the mail I'm replying to: ) >>> Would be good to hear from Stefan >> The first step is to declare nested backquotes unsupported and add a >> warning when we encounter them. > Where and how would you suggest to do that? If we say that a leading backquote[1] is unsupported in the backquote pattern, then we can just add at to the start of the `(consp qpat)' branch in `pcase--expand-\`' a check like (when (eq (car qpat) '\`) (warn ...)) and that would do.[2] I do not really think that making the nested backquotes unsupported is a good idea - this leaves the only (legal) way to express them in a backquote pattern as `(,'\` ) which is the thing I am trying to fix for commas in the first place. I would rather the original behavior be documented and marked as intended than to have backquotes be illegal entirely. --- Sorry for the radio silence. I have been a tiny bit occupied and haven't been able to spend enough time on this. I still do not really have any examples I can show, but I have been slowly gathering some thoughts on this, and I want to put them out there. >>> Thinking more about it, from the things I can see, I think I'm in favor >>> of this change. In the long run it makes Elisp more consistent. I went in the opposite direction. The more I think about it, and the more I try to write examples this would negatively impact, the less attractive this change starts to look. >>> I don't know how often backquote values are needed to be matched. I >>> guess not terribly often. This is unfortunately a part of the reason this discussion is not really going anywhere (with the other part being me, sorry about that!); this is a *really* niche feature. I expect that the number of people using it does not exceed two digits, if even that. >>> OTOH, this ,'\, circus really can drive none crazy, it's not obvious >>> what one needs to do at all to match a backquote value correctly, so >>> it's also an improvement to enable people to do this in a reachable >>> way, and the code also gets better readable. Yes, that is what I was hoping for with this change, too, but... >>> OTOH, I think the current semantics of pcase ` are easier to explain in >>> a formal way. Dunno if this is an advantage though, since most people >>> don't seem to understand them anyway. ...this is really the issue: The old behavior is very easy to wrap your head around, and its only downside is its inability to express a literal comma match, from which extends the inability to match against /results/ of a backquote form. On the other hand, when you are "out of bounds" of the new behavior - which is whenever you are trying to apply pcase patterns to a technically quoted form within the pcase[3] - you need to create a pattern where the normal backquotes go only as deep as your shallowest comma[4] with the result of the backquotes written using ,'\`. >>> Thuna, do you have any other ideas where your patch would be a >>> significant improvement - practical use cases? I must admit I'm not yet >>> completely sure how the impact of the patch would on using el-search >>> - although I often use it to search backquote expressions. Unfortunately, given the problem above, I would need to discover an improvement that I don't even know of yet to justify advocating for my patch. --- This idea is not yet fleshed out, and it is very complicated one, both conceptually and implementationally, but it would help maintain backwards compatibility while allowing a reasonable representation of literal comma forms in backquote patterns: What if a ,PAT form would match against PAT as though it were a pcase pattern /if any only if/ PAT would not error due to a misplaced call to a comma pattern, and otherwise ,PAT would match against a pcase backquote subpattern (\, PAT)? The way it's stated above is not really illustrative, so let me also explain how it works (as far as everyone will be concerned): Any comma you put before the actual final comma is matched literally. Trying to match against an (unevaluated) object of the form `( ,) would then be done using the pattern `(,(pred symbolp) ,,(pred integerp)) and an (evaluated) object like ``(let ,(list . ) ,,body) would be matched using the pattern ``(let ,(list . ,_) ,body) This comes with its downsides, one of which is that you need to eventually match /some/ pcase pattern to be able to insert a comma. For example, if we had swtiched the object above to ``(let ,(list) ,,body) you would not be able to do ``(let ,(list) ,body) or ``(let ,,(list) ,body) because they would both try to match against `(list)' as though it were a pcase pattern, but there is a solution, which is to just put a quote afterwards: ``(let ,,'(list) ,body) The actual thing that I have not yet managed to work out is whether this could cause a significant amount of false positives, that is, silently matching against a literal comma where an escaping one was intended. I am unable to even construct an example, so it may be that it's not actually possible, but it may also be that I am just not finding it which I can't discount. There is some issue with the way this works "backwards", in that you need to give it more commas the less commas it has (or rather as many commas as it is apart from the nesting of backquotes - this is difficult to even explain!), but I think a simplistic interpretation of it as "give it as many commas as you want to match" would alleviate this somewhat. I have a very rough implementation, but it's not actually working properly and needs a very big overhaul, so I won't (can't) provide it for others to check out how this would work. It should be feasible to do the calculation in your head, so please do that, sorry! --- [1] Currently, pcase doesn't actually check that a comma form is "valid", in that it must be a proper list of length 2, but only checks that the first element in the list is a comma. As a result, something like (pcase '(1) (`((\, (pred integerp) (error))) t)) ;; => t "works" even though it should either be a macroexpansion error or equivalent to the pattern '((\, (pred integerp) (error))). [2] We could be a bit fancier and have a single pcase form only warn once with some bookkeeping, but that would still essentially be something like (when (and (eq (car qpat) '\`) (not pcase--bad-\`-warnedp)) (setq pcase--bad-\`-warnedp t) (warn ...)) [3] Something like the unevaluated `( ,) where is quoted as far as the backquote is concerned. [4] This means that in the example in [3] you have to escape ALL backquotes with ',\`. From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 07 03:18:52 2024 Received: (at 72328) by debbugs.gnu.org; 7 Sep 2024 07:18:52 +0000 Received: from localhost ([127.0.0.1]:54646 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1smpid-0000Lf-Rf for submit@debbugs.gnu.org; Sat, 07 Sep 2024 03:18:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54350) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1smpib-0000LH-VJ for 72328@debbugs.gnu.org; Sat, 07 Sep 2024 03:18:50 -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 ) id 1smpiV-00058C-Vj; Sat, 07 Sep 2024 03:18:43 -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=+1saVO23Ra371aXVjl0dFdR/2v+G80sV7iOXuFbM0nY=; b=UGJL3iPfdmcB YT7SRA1fQVLBH3BVaOFRMFSKkErxhqMxWmWh62RKQyCU1nP0CJb5Nk8Ytlc7kZuUC50TtwVHlj4CT SqCEHC6ambJuM+DAxa9SoopVdzYfoMaNnIH6AlTuD6sml7c4UHJ0m40oDi98vkklFXT2aJTb4BGMU Jv0cTYJNzUcctYJ4+LQqUxt5A7s8Qp4SdrDH+CD5PHzxFmX12rAXDZ8j0f6fksks/Es9838t9l9oI 7qVk1MLbZTJ4nXgxKdfr0Na6k12uKPWvKFAuPcvUsHwBUjAoGNgRXJv8eMTGvXE9cZK5iIKMoSlAB btxJuQaHTKIzgFTo22KUDQ==; Date: Sat, 07 Sep 2024 10:18:26 +0300 Message-Id: <86o750ylrx.fsf@gnu.org> From: Eli Zaretskii To: Eli Zaretskii In-Reply-To: <86ed6fox6h.fsf@gnu.org> (message from Eli Zaretskii on Fri, 23 Aug 2024 22:29:10 +0300) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <877cd5k1ra.fsf@web.de> <871q3d347e.fsf@gmail.com> <877cd4rxqo.fsf@web.de> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> <86ed6fox6h.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, thuna.cing@gmail.com, 72328@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 (---) Ping! Stefan, should I install this in your name? > Cc: michael_heerdegen@web.de, thuna.cing@gmail.com, 72328@debbugs.gnu.org > Date: Fri, 23 Aug 2024 22:29:10 +0300 > From: Eli Zaretskii > > > From: Stefan Monnier > > Cc: michael_heerdegen@web.de, thuna.cing@gmail.com, 72328@debbugs.gnu.org > > Date: Fri, 23 Aug 2024 15:11:04 -0400 > > > > >> > Would be good to hear from Stefan > > >> The first step is to declare nested backquotes unsupported and add > > >> a warning when we encounter them. > > > Where and how would you suggest to do that? > > > > Somethink like... > > > > > > Stefan > > > > > > diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el > > index fd6b0c8db5c..fe62820f0cb 100644 > > --- a/lisp/emacs-lisp/pcase.el > > +++ b/lisp/emacs-lisp/pcase.el > > @@ -1172,7 +1172,10 @@ pcase--expand-\` > > (upatd (pcase--expand-\` (cdr qpat)))) > > (if (and (eq (car-safe upata) 'quote) (eq (car-safe upatd) 'quote)) > > `'(,(cadr upata) . ,(cadr upatd)) > > - `(and (pred consp) > > + `(and ,@(when (eq (car qpat) '\`) > > + `((guard ,(macroexp-warn-and-return > > + "Nested ` are not supported" t nil nil qpat)))) > > + (pred consp) > > (app car-safe ,upata) > > (app cdr-safe ,upatd))))) > > ((or (stringp qpat) (numberp qpat) (symbolp qpat)) `',qpat) > > Feel free to install on master, and thanks. > > > > From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 07 08:23:58 2024 Received: (at 72328) by debbugs.gnu.org; 7 Sep 2024 12:23:58 +0000 Received: from localhost ([127.0.0.1]:55083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1smuTu-0000MK-76 for submit@debbugs.gnu.org; Sat, 07 Sep 2024 08:23:58 -0400 Received: from mout.web.de ([212.227.15.4]:40583) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1smuTs-0000Lz-CI for 72328@debbugs.gnu.org; Sat, 07 Sep 2024 08:23:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1725711821; x=1726316621; i=michael_heerdegen@web.de; bh=jsCqPEgubdjmrkmyuDST414wF6QAeaszDJLZGitwK6Q=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=ofHGx3JTIOGcZgt+Xt8qBwhayJDqN6o3IWjB1mth94o0mVe3ILtUUgYKzr4FLTwh Fp4yTCGki3FAFpenRTMCmNSxftfA+zOe/5iIrbP2UKTw6EIopAKHsaU4vop6FMvAk zN/imPSY0IwwlcCzJIWjPMznmRy7B4kZg7X5C5QHYsBamPb3RxW1bCuineuhgG8ow OEyyst0DWz5De/Lrz+JQczLConLO7GZoXYUV2xLNgCw/fWR+Fa/bJuKbBjiX8FHeu ZP3/F9f7gQL5WjY68lLOBN3uS+9O0XSwL/pOBEiwmR3/VVfVysccTeaw3jDozRwj7 omP5GroL5O1TFRtp/g== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([84.59.210.176]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MiMAE-1s8ulP0pqo-00kLES; Sat, 07 Sep 2024 14:23:41 +0200 From: Michael Heerdegen To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <86o750ylrx.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 07 Sep 2024 10:18:26 +0300") References: <87jzh62vtr.fsf@gmail.com> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> <86ed6fox6h.fsf@gnu.org> <86o750ylrx.fsf@gnu.org> Date: Sat, 07 Sep 2024 14:24:29 +0200 Message-ID: <877cbnhcsi.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:RhUZKpH3CFiNLd6/cvfl9uqaDSbE+BOvpL4WGl4BREjwXILarM4 hZp6noCv5kq311n6Q32I9Y9X1exafNaoZd5GGAkDHNJGFOjgUD6DzJkkNWl60s8mqEPMpoQ VgsRZCKlI1yQsOd5s64EsgGf0yMKiqmBsb9yT8f+lRR1sjrRN4/Fvy4AoIIsoFpmZKtmupn 2MrRwnrR3/hgvP6hl+0xA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:f4EZsCZsWuw=;pU7SdPxFZmRLJbU8jK3KGoAHwkv AkEaVrU6GdZh485HqL/sjlQ1dgjNvy2oKoVDeCV5uiYXn4Amh49BaCDI0tVxk1lcFm+Lh/92A aSOlD6Y9rEqQPtjI2YMNdguT56QkdhQWEXlWmPo3/xrsaMJdOZaqYGATD/hQneCwCg/33ef0m xPI/rl6H9By3BnzWDt4ElZdpa1ebjmtueB4jpSnWFpZ9rOyCLiNXBMY1mK8H3JCUkdXubR6al mppeBgED5fwhjB89e/voWgTs2C7kADbHOHSOawjl2eCVRmRmG7Eyk25cQbNoXwcCgjhQv9Ww9 XzcvCVDGBKUUILy+FshJykW7IB+tMtoBcsAsg6Oa4MmMjFkJ1LYG4Ny3iENgZB1kUJhZTN+08 uh79DLTfe/5X+tm7lYuKZM40/tCR6t4+zBOKQZh21Nsz7BRQ335XUDCI102SA77bIR7BW3MW9 cHHhAw2XBdXr0PrHKxwsi7n/gEmsj0tZpdENHBxJuN/m9mbYlVEjvxVinBjAUxYLsOjIpkgyn QeI9KmHwYNWpEifV5idcKabJgig9InAFal9CFD+OSCBUa0gTP5SGwM48vt1/x5aEJxGgGVrQ+ 0NqIZhY90oS9k5XVp4MpMmj6SKDmKCgq3IpjcfE7OKhp6UJfHcBFCUje1TTguVfwpOu9rmnt/ aWevDOI7ohueYmJoGEwhyBqgdVaYbOAubM3SAp2cQeUR6Q2lWJwlM1tW5HNGldnVix5hKfu09 7rkR3IbeL2TGkLPBEv3jqzB6ghGprjCYayJADqNQwECLiIIxWjUffuWQHcFbUDFu5XG6V/qcM KR5vszAhhKh+NJCem/vS+Plg== Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 72328 Cc: monnier@iro.umontreal.ca, thuna.cing@gmail.com, 72328@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 (-) Eli Zaretskii writes: > Ping! Stefan, should I install this in your name? In the meantime I installed the patch locally and got two warnings when rebuilding Emacs completely: | In testcover-analyze-coverage: | emacs-lisp/testcover.el:472:8: Warning: Nested ` are not supported | ELC emacs-lisp/timer-list.elc | | In testcover-analyze-coverage-wrapped-form: | emacs-lisp/testcover.el:551:8: Warning: Nested ` are not supported But they should be trivial to fix (they are only warnings anyway). Michael. From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 21 05:04:22 2024 Received: (at 72328) by debbugs.gnu.org; 21 Sep 2024 09:04:23 +0000 Received: from localhost ([127.0.0.1]:37109 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1srw2Q-0001LM-KJ for submit@debbugs.gnu.org; Sat, 21 Sep 2024 05:04:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57326) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1srw2P-0001LA-Qa for 72328@debbugs.gnu.org; Sat, 21 Sep 2024 05:04:22 -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 ) id 1srw1z-0005It-Va; Sat, 21 Sep 2024 05:03:55 -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=UWBp0ua81YoIFpZYMY59HkwJbT1o0zGw9lNGYtE0Rpw=; b=bXTig2gSr52U T4PapnVlHuGicuwj1CaYNHPbNTCqjgRySqxcNDdex5Xo2Ht64ib783EuH7nuQSPeAqHZv0tcXdWsq /rkScNaVwX3VPhbTt1CrEF4XbsWLSDmbJPUfiFnbsAVYpUDaQuO7N2zcWneqsdMTaSDVSifquEPAE y6KHoRZhDa3RVEnexxb0GnyPfRJDCviLsZRkm3lcJCLzwzX5d0OHNvsWUAZ5IB1HfYU29r/g4Dv4h Uz7ZBkJCMQbN/Z6/dmbxgLxv2zg1aMujs3x+g8zQmP8drL/u53NzyHOAWBs6lj3qa/qxGOdFMLFQT EWEMm33vGqfsPYHz2Hw7gQ==; Date: Sat, 21 Sep 2024 12:03:52 +0300 Message-Id: <861q1d5qfb.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen , Stefan Monnier In-Reply-To: <877cbnhcsi.fsf@web.de> (message from Michael Heerdegen on Sat, 07 Sep 2024 14:24:29 +0200) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <867cd4ywnq.fsf@gnu.org> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> <86ed6fox6h.fsf@gnu.org> <86o750ylrx.fsf@gnu.org> <877cbnhcsi.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: thuna.cing@gmail.com, 72328@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 (---) > From: Michael Heerdegen > Cc: monnier@iro.umontreal.ca, thuna.cing@gmail.com, 72328@debbugs.gnu.org > Date: Sat, 07 Sep 2024 14:24:29 +0200 > > Eli Zaretskii writes: > > > Ping! Stefan, should I install this in your name? > > In the meantime I installed the patch locally and got two warnings when > rebuilding Emacs completely: > > | In testcover-analyze-coverage: > | emacs-lisp/testcover.el:472:8: Warning: Nested ` are not supported > | ELC emacs-lisp/timer-list.elc > | > | In testcover-analyze-coverage-wrapped-form: > | emacs-lisp/testcover.el:551:8: Warning: Nested ` are not supported > > But they should be trivial to fix (they are only warnings anyway). Ping! Ping! Stefan, could you please respond? From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 09:31:05 2024 Received: (at 72328) by debbugs.gnu.org; 22 Sep 2024 13:31:05 +0000 Received: from localhost ([127.0.0.1]:41089 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssMg4-0002wS-HD for submit@debbugs.gnu.org; Sun, 22 Sep 2024 09:31:04 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:31682) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssMg2-0002w5-KQ for 72328@debbugs.gnu.org; Sun, 22 Sep 2024 09:31:03 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 40FA6100044; Sun, 22 Sep 2024 09:30:35 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727011834; bh=Cow5Il2RJl6rmwxJHDvBkF9dyIrWZ//2OiIoJHKXxVk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=pT008DMOrlt3MNY7bQjDBj71INBrKO3wufaYqmR7UI9bexD9nbI+bD+N8ykAcxJ9W AJFR+YMaXO8G9lXEp45r9mNjELAGs/jD0yMTGXlIvEEajKt8GOuVVq2MGLEOAoqOVZ qEbaxAQS4KyP5Ic5gJ9L8XnpiwlWKMqkSJAyq7prpOV75oz+leX54+LRX2u1/f4KR3 Ihl7aB0tcHwuqck6sv2vgEYuhAzmYUExeoZWvfnNnNRKIQ6Qfdcv/kt6+Mw0UhNZk9 7iK4gZHswxf3OCpznAOoiBa5PoIfFYObFYaaAj1B14mp/GMXEkYk51mZ2t0+kRY7r5 +U1leDdhY327A== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 79106100035; Sun, 22 Sep 2024 09:30:34 -0400 (EDT) Received: from pastel (unknown [45.72.221.103]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 47673120500; Sun, 22 Sep 2024 09:30:34 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <877cbnhcsi.fsf@web.de> (Michael Heerdegen's message of "Sat, 07 Sep 2024 14:24:29 +0200") Message-ID: References: <87jzh62vtr.fsf@gmail.com> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> <86ed6fox6h.fsf@gnu.org> <86o750ylrx.fsf@gnu.org> <877cbnhcsi.fsf@web.de> Date: Sun, 22 Sep 2024 09:30:25 -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.020 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: 72328 Cc: Eli Zaretskii , thuna.cing@gmail.com, 72328@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 (---) >> Ping! Stefan, should I install this in your name? > In the meantime I installed the patch locally and got two warnings when > rebuilding Emacs completely: > | In testcover-analyze-coverage: > | emacs-lisp/testcover.el:472:8: Warning: Nested ` are not supported > | ELC emacs-lisp/timer-list.elc > | > | In testcover-analyze-coverage-wrapped-form: > | emacs-lisp/testcover.el:551:8: Warning: Nested ` are not supported > > But they should be trivial to fix (they are only warnings anyway). Indeed, these are cases which would change meaning under the semantics that was proposed in this bug report. The patch below would get rid of the nested backquotes, thus making that code "agnostic" to their semantics. Stefan diff --git a/lisp/emacs-lisp/testcover.el b/lisp/emacs-lisp/testcover.el index fb4a2a82d07..d916ca0f76a 100644 --- a/lisp/emacs-lisp/testcover.el +++ b/lisp/emacs-lisp/testcover.el @@ -469,7 +469,7 @@ testcover-analyze-coverage ;; form to look odd. See bug#25316. 'testcover-1value) - (`(\` ,bq-form) + (`(,'\` ,bq-form) (testcover-analyze-coverage-backquote-form bq-form)) ((or 't 'nil (pred keywordp)) @@ -548,7 +548,7 @@ testcover-analyze-coverage-wrapped-form 'testcover-1value)) ((pred atom) 'testcover-1value) - (`(\` ,bq-form) + (`(,'\` ,bq-form) (testcover-analyze-coverage-backquote-form bq-form)) (`(defconst ,sym ,val . ,_) (push sym testcover-module-constants) From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 10:19:30 2024 Received: (at 72328) by debbugs.gnu.org; 22 Sep 2024 14:19:30 +0000 Received: from localhost ([127.0.0.1]:42624 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssNQw-0005td-5I for submit@debbugs.gnu.org; Sun, 22 Sep 2024 10:19:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50866) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssNQu-0005tO-FZ for 72328@debbugs.gnu.org; Sun, 22 Sep 2024 10:19:29 -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 ) id 1ssNOM-00079G-JC; Sun, 22 Sep 2024 10:16:50 -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=CTm0xmSzQFk6LbED++reqCzwlXmZWFZc46PAo7edgZg=; b=rJszdKhb486s 786BWnoBM9X/8NjApIWL2Jt4/SFZfDuaihk3oVwEfKsuOgx1xumCz+r4rxss9q2/lzjIfp7IxaKrQ YO39iEaniVEXbkiw2qb0CdHD6Pz5GMPxA2lNmF75Fw2uYyh6CWy2andy8IdoQ1KgDkOwTvyHw9ULu fcpCZWvLE4ZZ0htVIvQCwd5G4o/8daJFf2s/UAl071FqnHP65RWRg1hgd3QMSQ+kdO4DS969bAh02 plqneOl4MRdz2R4YJhkhg8uhY6TdnQ3+Bw+hWLhmeCPUI6mMDIcbj4XK/9mzcJHGwD50pT0k4TO9L gXv9CsZv9B/IckNWvVJX5w==; Date: Sun, 22 Sep 2024 17:16:46 +0300 Message-Id: <861q1bixip.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Sun, 22 Sep 2024 09:30:25 -0400) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <87mslumpsw.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> <86ed6fox6h.fsf@gnu.org> <86o750ylrx.fsf@gnu.org> <877cbnhcsi.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, thuna.cing@gmail.com, 72328@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 (---) > From: Stefan Monnier > Cc: Eli Zaretskii , thuna.cing@gmail.com, 72328@debbugs.gnu.org > Date: Sun, 22 Sep 2024 09:30:25 -0400 > > >> Ping! Stefan, should I install this in your name? > > In the meantime I installed the patch locally and got two warnings when > > rebuilding Emacs completely: > > | In testcover-analyze-coverage: > > | emacs-lisp/testcover.el:472:8: Warning: Nested ` are not supported > > | ELC emacs-lisp/timer-list.elc > > | > > | In testcover-analyze-coverage-wrapped-form: > > | emacs-lisp/testcover.el:551:8: Warning: Nested ` are not supported > > > > But they should be trivial to fix (they are only warnings anyway). > > Indeed, these are cases which would change meaning under the semantics > that was proposed in this bug report. The patch below would get rid of > the nested backquotes, thus making that code "agnostic" to their semantics. I'm not sure I understand: this is instead of the patch you posted previously, or in addition to it? From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 11:21:17 2024 Received: (at 72328) by debbugs.gnu.org; 22 Sep 2024 15:21:17 +0000 Received: from localhost ([127.0.0.1]:42649 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssOOj-000152-7y for submit@debbugs.gnu.org; Sun, 22 Sep 2024 11:21:17 -0400 Received: from mout.web.de ([212.227.15.4]:54911) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssOOh-00014l-Gk for 72328@debbugs.gnu.org; Sun, 22 Sep 2024 11:21:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1727018440; x=1727623240; i=michael_heerdegen@web.de; bh=vCQKBBYLoS/Fq8hlnGMHogyzxs21Bd6BcIzASAOK3/4=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=XVfr7UIDaFept72evtvljiclU+XwZiqTkI1lZ2rV60314FXxdCPHDmhoYJSv75C7 QOtkFiSH43aTNmXQ3BNwmYuQYyZ+JHbBFO6k3zoo/9eShqUJFo8YHY1lrzL4Dw9KU ZqVO1B5N2SVd0JrQkedOMeEehHt1mPdXFhbZ1506IpN9EYEw4EYnHzpJp3IzJJ6hr SjGU5OnibfCJrPLkmCN9O3u23+7ZqkPiUzw9no2mtJjaJ2qRagV7f+waOPo6o0/NY v8v/xf7cetU8NUNldGhtJsgcfMq4Ya4wCzSj4/J/0Oys+xzq0f9EnO/uVkutjgQ5m jm4xFh17GkGrk7uqUA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.227]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MF2gW-1shLmZ3dmK-001hEq; Sun, 22 Sep 2024 17:20:39 +0200 From: Michael Heerdegen To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <861q1bixip.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 22 Sep 2024 17:16:46 +0300") References: <87jzh62vtr.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> <86ed6fox6h.fsf@gnu.org> <86o750ylrx.fsf@gnu.org> <877cbnhcsi.fsf@web.de> <861q1bixip.fsf@gnu.org> Date: Sun, 22 Sep 2024 17:21:27 +0200 Message-ID: <87frprbtoo.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:85mNPZ/3Li/mAWuooMdv7B2LYSnIvJyNBf3fIVT/ZnlZJ9CTk1V m/tBr8a45qJ3QZMmO71gYAslzKk46AbnYM3aGMrStddpjnftt1oWGHmBV7jabORJ+hi71+f ZqgJotd3BJ1fCOlIttT9cRvCQCVas6V9de16M2AaLe+OmTDxj5RRIkRtH2PeZtSiiiavcF9 m6zetjcQgScbLJQJeYAbw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:s6myXKsFnfY=;keKBMljqtXDMhvHwaTDPKIa8gJh LAd5uQpLH58CpUwN5NSNEJG2S1L/6o9+AePqL+hYr9G0SrMZL8amKSFQH6KSBktVrGhMrIjez MJjow7PvR4iNElEXbTDRwF40RtyjUuGPlBqsn03oZ3knwP3ydVXnjLIAt0pxZRmbxAiiK7P9N TzaW8NZPwTtpH7efdiMBnRBuIprDYW86XfEkc7b0o6Lm1IERdC6EW3825AGt8psWR4yQINUVw y0+Qfr6gA0bhzaggqe6E0A7HGaQ2MTo6n7HXTjhD5UpM0VPgnxwgfBEzNOaocnRAMQUBLY1nV JUEbskImt958wqMd4kL2SPcYV8JRcXN1XEEbiB6gRssBZh7QGalS57KDM3rRKpfkzWGjKOvy3 QccOdBWTqH5jIlf5CkUXIPVsoWPTnGswXJeVWtCVvW+GGwCnL6WaJdoB7m0xLloNGa/oHkDZx N+bffDwcXgdD0bOev9o0QM9RKOlGO5X5x5WPAsWRU/VAWZk88h1P5qo5qFAa9D2tbxxyXEXkP 7xeW5XP0xQO2U0MbUWS4lra3r63ydx6evswx9d6mAH3y1s7LapVpQ2Sf2xmaiLElZy2bfBmnL ontvtZYK3hbtT2zfqywKFDclqYiYDPGbpDClb/WSmvIi1lu8XJu39zptkrSqMYvdeRaRldriz xPMfbgrdNQwiQyLKvQLW0UF7Al+7Bk2W9iE4CkJUhYisXpVTh9sirToWWSMEq39iiu3rTIxcs UneXUYemU7Y4b6fDZu7b775HJ4KXDaBcYo0ILencVVsOf5ziVXMOcRFwXut2LVp9cbAUzi/Uy utoJ2j4FnBLXeokx14vdN8LDncFVtt/fdVNYfHK3h0h+M= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 72328 Cc: Stefan Monnier , thuna.cing@gmail.com, 72328@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 (-) Eli Zaretskii writes: > > Indeed, these are cases which would change meaning under the semantics > > that was proposed in this bug report. The patch below would get rid of > > the nested backquotes, thus making that code "agnostic" to their > > semantics. > > I'm not sure I understand: this is instead of the patch you posted > previously, or in addition to it? In addition, Eli: the first patch revealed two uses in "testcover.el" that now generate warnings when compiled. Stefan's second patch silences these new warnings. Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 23 07:19:23 2024 Received: (at 72328) by debbugs.gnu.org; 23 Sep 2024 11:19:23 +0000 Received: from localhost ([127.0.0.1]:43283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssh6B-0006zO-Gm for submit@debbugs.gnu.org; Mon, 23 Sep 2024 07:19:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60460) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssh69-0006z9-6v for 72328@debbugs.gnu.org; Mon, 23 Sep 2024 07:19:22 -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 ) id 1ssh3Z-0003PA-6e; Mon, 23 Sep 2024 07:16:41 -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=G/a3v0UEbQZh8d9k2F1bzvaeK9jE3JJIFpRftsxp28w=; b=IKPceQ9aNd9x CnZB/t3wjsOOZfcq2H9KHtR9WqTfPp3qzhQJrhHDSCXQ4oQsCy1rmIzEZg4GqMBfsi/jzXKH4Oio3 COpRs6hOCid0acTRjzeMCZAmtUERr9KdEILBxvedlW7iCazAQYIo0YHr7CPF8tzvkcRC82LJ13GOj pXAJ4z/lkAj1N2xK/FaXLeEDkwIDLIkVaEIX565u9z7Y1nm0HNXjx4spPNlb5d80OkRtf4Ey+xKql KQUSi27jn89mFpX9jtJ5ub/L2dhpi7owwkdObwxu5cFttVdhHDk164YVwwGP0tnw51gAQceLQVb/6 hIG0QlzRCVaoDMoX40R8CQ==; Date: Mon, 23 Sep 2024 14:16:36 +0300 Message-Id: <86frpqhb6z.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen In-Reply-To: <87frprbtoo.fsf@web.de> (message from Michael Heerdegen on Sun, 22 Sep 2024 17:21:27 +0200) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: <87jzh62vtr.fsf@gmail.com> <86msluuox9.fsf@gnu.org> <875xshn3km.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> <86ed6fox6h.fsf@gnu.org> <86o750ylrx.fsf@gnu.org> <877cbnhcsi.fsf@web.de> <861q1bixip.fsf@gnu.org> <87frprbtoo.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: monnier@iro.umontreal.ca, thuna.cing@gmail.com, 72328@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 (---) > From: Michael Heerdegen > Cc: Stefan Monnier , thuna.cing@gmail.com, > 72328@debbugs.gnu.org > Date: Sun, 22 Sep 2024 17:21:27 +0200 > > Eli Zaretskii writes: > > > > Indeed, these are cases which would change meaning under the semantics > > > that was proposed in this bug report. The patch below would get rid of > > > the nested backquotes, thus making that code "agnostic" to their > > > semantics. > > > > I'm not sure I understand: this is instead of the patch you posted > > previously, or in addition to it? > > In addition, Eli: the first patch revealed two uses in "testcover.el" > that now generate warnings when compiled. Stefan's second patch > silences these new warnings. Thanks, then Stefan, please feel free to install. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 24 14:40:13 2024 Received: (at 72328-done) by debbugs.gnu.org; 24 Sep 2024 18:40:13 +0000 Received: from localhost ([127.0.0.1]:35146 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stASK-0006qZ-L4 for submit@debbugs.gnu.org; Tue, 24 Sep 2024 14:40:13 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:28686) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1st9ru-00043h-Ah for 72328-done@debbugs.gnu.org; Tue, 24 Sep 2024 14:02:35 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 520DC100046; Tue, 24 Sep 2024 14:02:04 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727200923; bh=NjC+gGqkpH1zChu5txDlzLgQh4FdNFlO4S5SW5eM0HY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=WQZTI3byb8hLS/cK2VKe81XGPsQBjrnEgPXRbEfjIlqFaBM0vWx0cuKwj0p+RObqr +XJR7cFwKYuk4YEgdp8jccX3QQAautAg5QfaVC3rszlRGueBODN6EtgcmhrhcakxE2 rFpJGib18AeGExIrikztHhb3vpy6qiAFErBs7RqRE9aX2imS1ZJOXcakBe8xk7DIC8 /CksGAAHGo53n9LxViZFZlMhpsNiAo9ViAS7G4kRmMEF7CrAWAvHvMl3qP2RiHNhgO SIfLsv1h6UQ7mXo/OQxMf8kIIPKnuA9c29+HJrbBkzhyki01S6NxrL0SIL/BCWsz3q Y9tlhJKUF4xVw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id AC32610002E; Tue, 24 Sep 2024 14:02:03 -0400 (EDT) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9C8981207FD; Tue, 24 Sep 2024 14:02:03 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: <86frpqhb6z.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 23 Sep 2024 14:16:36 +0300") Message-ID: References: <87jzh62vtr.fsf@gmail.com> <87cymo6wp9.fsf@web.de> <87v80gkmg7.fsf@gmail.com> <86ikwfqj9w.fsf@gnu.org> <87a5hqzrxg.fsf@gmail.com> <86o765q4yo.fsf@gnu.org> <871q31ztju.fsf@gmail.com> <87bk2580rv.fsf@web.de> <87msloxmmv.fsf@gmail.com> <86jzgrmua0.fsf@gnu.org> <87v7zrncmw.fsf@web.de> <86plpzp6oc.fsf@gnu.org> <86ed6fox6h.fsf@gnu.org> <86o750ylrx.fsf@gnu.org> <877cbnhcsi.fsf@web.de> <861q1bixip.fsf@gnu.org> <87frprbtoo.fsf@web.de> <86frpqhb6z.fsf@gnu.org> Date: Tue, 24 Sep 2024 14:02:03 -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.159 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: 72328-done Cc: Michael Heerdegen , 72328-done@debbugs.gnu.org, thuna.cing@gmail.com 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 (---) > Thanks, then Stefan, please feel free to install. Done, thanks, Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 15:05:31 2024 Received: (at 72328) by debbugs.gnu.org; 25 Sep 2024 19:05:31 +0000 Received: from localhost ([127.0.0.1]:48682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stXKN-0001Su-02 for submit@debbugs.gnu.org; Wed, 25 Sep 2024 15:05:31 -0400 Received: from aye.elm.relay.mailchannels.net ([23.83.212.6]:23929) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stXKK-0001Pk-Ch for 72328@debbugs.gnu.org; Wed, 25 Sep 2024 15:05:29 -0400 X-Sender-Id: dreamhost|x-authsender|adam@alphapapa.net Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 79BBB90CE05; Wed, 25 Sep 2024 19:05:00 +0000 (UTC) Received: from pdx1-sub0-mail-a271.dreamhost.com (unknown [127.0.0.6]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 0C8B090D395; Wed, 25 Sep 2024 19:05:00 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1727291100; a=rsa-sha256; cv=none; b=saaV63EF1na6FWOXXfRJZBLtu91OGImXfVHiNemnhtsbcimY9ZpuxLXlcFGh/xVA2l443F mUQ0jkdeaUn3XNj6u3HI6lD6xSekpwM9LVH6Y/zSUEYuXsj2s1ngA5OvKk6YBGscDu3psa GkMZ73WbgXFi/vP49TWws+sKXjT7k+2utqSDh6mBIv7UAolyrAJCDz40spJbGFyi9n1Gpg 5eGNRJCL9K/HPSP8+ygE8c3WHlrLq/wLvKcP0Ejh0LH7ty5Cn29JRbRaVgAVGK+71c3pBM UWK248/rroHwVMCDe4/zel+ZgYwjnc/VvuWUdnn6J7nri5EZA1rnbCccWGX8Nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1727291100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UYDxHm7hxnYGuYk68NGZKz2C8UiBFYTbShxInyFom3Y=; b=J+HNHSLzkneQESuYIS37QFN0s1ge5BOUW/Diz6XiuoJvn/5JkriPgOaKviZg9Lf6Y4+Ycx pPqgHWoXcMQAMY3e6nyUxwk3TFtMxtsQQ2Ew9qIAZS8k1eWXO7iMNIoWz3tXbkyYmeY+Of J3sEiJN3bStE5jsAMXtbtjMozjB0gghv9FzKISFV803Oh3lfr9VePvidokPv122koZt0Bb 9IxuDmfAbkucxntawgQDFeYzUBIRBgNMkkdTafs++0Oa3cZ1HuxOd+2BLG/izmZr0HA1rc CBpO2KfawLmGYvqWDpeVo9qow+rt3vabYIqCEY5B++SRpoTn0Lbll+/l0rVg6g== ARC-Authentication-Results: i=1; rspamd-b5ccff48b-nfxv2; auth=pass smtp.auth=dreamhost smtp.mailfrom=adam@alphapapa.net X-Sender-Id: dreamhost|x-authsender|adam@alphapapa.net X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|adam@alphapapa.net X-MailChannels-Auth-Id: dreamhost X-Cure-Share: 473302f426bd5ef9_1727291100312_3352382347 X-MC-Loop-Signature: 1727291100312:1324169575 X-MC-Ingress-Time: 1727291100312 Received: from pdx1-sub0-mail-a271.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.122.91.73 (trex/7.0.2); Wed, 25 Sep 2024 19:05:00 +0000 Received: from [10.43.164.17] (unknown [193.56.116.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: adam@alphapapa.net) by pdx1-sub0-mail-a271.dreamhost.com (Postfix) with ESMTPSA id 4XDR4W1L9Bz6n; Wed, 25 Sep 2024 12:04:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alphapapa.net; s=dreamhost; t=1727291099; bh=UYDxHm7hxnYGuYk68NGZKz2C8UiBFYTbShxInyFom3Y=; h=Date:To:Cc:Subject:From:Content-Type:Content-Transfer-Encoding; b=v63BCT4cnu5HWrtHB0N4u/p5Qh5EQhZFwBz+BvV1gH7hoOTrw7LwInMGiMNmVBw9R 1RYAElmoMnwMhMpajXTdkAXRXDkegQyJ6ejmMVI6En6ahCVgHHAKlDnAlGp2Jh/x8y sR2CSO/o2YU6bIH31suGlPTfy79LrsYE4mXvjov6n3qfYjxw/dS9A30yheNWdmXC4Q FzTFbXHQ9OiWCZL0pZjlGOMiYxZY3pDSrz9JZYJKqWc41nYDZNO/jZWc+mirRKo5Fv ffjQIQtnX5OzN9yhY6BLlvRzbtp0wm6iQQWKSvq60H20BT5DR6MoIoioW8H9rFAHEU mNXgttGiNq+Fg== Message-ID: Date: Wed, 25 Sep 2024 14:04:57 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: 72328@debbugs.gnu.org References: Subject: Re: bug#72328: [PATCH] Nested backquote in pcase Content-Language: en-US From: Adam Porter In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, eliz@gnu.org, monnier@iro.umontreal.ca, thuna.cing@gmail.com 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: -0.4 (/) Hi all, Please forgive the intrusion, just a quick suggestion: Should the warning message include "pcase" somewhere? Unless I'm missing something, the message, not mentioning that, leaves little clue as to the source of the warning, reminiscent of the "Please avoid it" error which I had to grep the Emacs sources to find when I received it. :) --Adam From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 26 02:14:01 2024 Received: (at 72328) by debbugs.gnu.org; 26 Sep 2024 06:14:01 +0000 Received: from localhost ([127.0.0.1]:45370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sthlI-0003tT-KO for submit@debbugs.gnu.org; Thu, 26 Sep 2024 02:14:00 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44232) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sthlG-0003t7-5T for 72328@debbugs.gnu.org; Thu, 26 Sep 2024 02:13:59 -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 ) id 1sthki-0003EY-NJ; Thu, 26 Sep 2024 02:13:24 -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=7oWxFfMAtcHk3Z8Ex/5LTDHB2DoeD2DtJ06ADDk0hkE=; b=qBSQV4y1mM+o f9jKfDZKSYe6LeW7FjAGeRrsButZMN2d5yKPeOptJsRvloX570KCt55ktdV1fnP6Us6Dji62F5qxZ hJHxooAPLnX87ama2vhFWsMU5i17RfuxGGDB1E1zlnin6ukwcBv75GMzkKMr6QQelR1Kr68XkH9kk /2vjIJGZzctyGyOHOiQNqV/9ju5ehWMdzPLoSPZ/3A/dZJvEKB/iqlUyuA1MIse0fs150AmS1Avql LE6tc3RA7Og2Z14FmC6p6XGPcBCHIvecR0m5DktlfA9fmkPGaGYVKM3yIBuIwGhfHTFKYAyO/Sob3 DwQ2eAggRjRS9CFXUU+BMQ==; Date: Thu, 26 Sep 2024 09:13:13 +0300 Message-Id: <86h6a3aqo6.fsf@gnu.org> From: Eli Zaretskii To: Adam Porter In-Reply-To: (message from Adam Porter on Wed, 25 Sep 2024 14:04:57 -0500) Subject: Re: bug#72328: [PATCH] Nested backquote in pcase References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 72328 Cc: michael_heerdegen@web.de, monnier@iro.umontreal.ca, thuna.cing@gmail.com, 72328@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 (---) > Date: Wed, 25 Sep 2024 14:04:57 -0500 > Cc: eliz@gnu.org, michael_heerdegen@web.de, monnier@iro.umontreal.ca, > thuna.cing@gmail.com > From: Adam Porter > > Please forgive the intrusion, just a quick suggestion: Should the > warning message include "pcase" somewhere? Unless I'm missing > something, the message, not mentioning that, leaves little clue as to > the source of the warning, reminiscent of the "Please avoid it" error > which I had to grep the Emacs sources to find when I received it. :) I agree. From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 26 10:25:21 2024 Received: (at 72328) by debbugs.gnu.org; 26 Sep 2024 14:25:22 +0000 Received: from localhost ([127.0.0.1]:38448 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stpQn-0004ES-8o for submit@debbugs.gnu.org; Thu, 26 Sep 2024 10:25:21 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:12086) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stpFH-0003OW-Vt for 72328@debbugs.gnu.org; Thu, 26 Sep 2024 10:13:29 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 49E1510005D; Thu, 26 Sep 2024 10:05:24 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727359523; bh=v5fQFdy/Riwgy76zU4bPlCykWKxsUK1A3c1ExrWOqn0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=QBCnbjKMzKdKyAGNk9xU/mmbrM3WLiuLxMF/k5bGU+NgecfA56cPHmHcTob3TXmuy dyLxavgoWueThU/zvwTvI6jOpGCi82MEeR5T6fhCfiSt0WM8OsKPdUomYnmLAWcH80 VJS6kda4PmJZT6Vl3ireJI3Zv8ZvuiV9jx0CW/rRnTzLIXFI6NGkTVE3qBpLKgFdn7 2j6iWuyQ+MOTT8n7wPE0ZKrI8ho3PR+3wqoEzAgjNtVdufrHKG0I9b+yGF0YB+fV1S N1//69mdqOuASRloFxOxFaB1gTHV327vZjyEckNj/IYSW4ydCuphpkFispCyOfTZ2K sr+9WnwBLsPyA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id AF6BA100042; Thu, 26 Sep 2024 10:05:23 -0400 (EDT) Received: from pastel (unknown [216.154.18.220]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 759C11206C2; Thu, 26 Sep 2024 10:05:23 -0400 (EDT) From: Stefan Monnier To: Adam Porter Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: (Adam Porter's message of "Wed, 25 Sep 2024 14:04:57 -0500") Message-ID: References: Date: Thu, 26 Sep 2024 10:05:21 -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.100 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: 72328 Cc: michael_heerdegen@web.de, eliz@gnu.org, thuna.cing@gmail.com, 72328@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 (---) > Please forgive the intrusion, just a quick suggestion: Should the warning > message include "pcase" somewhere? Unless I'm missing something, the > message, not mentioning that, leaves little clue as to the source of the > warning, reminiscent of the "Please avoid it" error which I had to grep the > Emacs sources to find when I received it. :) Excellent point, thanks. I'll try and fix it later today along with the problem Andrea bumped into. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 26 16:42:24 2024 Received: (at 72328) by debbugs.gnu.org; 26 Sep 2024 20:42:25 +0000 Received: from localhost ([127.0.0.1]:51911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stvJg-00040M-Iy for submit@debbugs.gnu.org; Thu, 26 Sep 2024 16:42:24 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:37288) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stvJe-000405-Bg for 72328@debbugs.gnu.org; Thu, 26 Sep 2024 16:42:23 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 72E3E10005D; Thu, 26 Sep 2024 16:41:48 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727383307; bh=3TBaP3fknNHpbeeYBy4JM9zcJLDSYMeZuq6jeb7aw3o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Gl6mB5Y3utxH1bN6mSYIQJ8pDUe7E8HGQVk/2AOFt4jM8ZnMmpNte5CIYV0Zz7Dle BE644XJcz4YfpAIYSHRRA14Zd4TqSj2F0jx1oPDBt2Bm7Yrk1HiQzE7oosckTZ16gr 7hWE8Y94/SEBRTqWSPEM6OqCq2oiRgGvRqQsD/jG670GCcUZEJWYdDzqcp5T1wuqjQ SXOyeSSPkYfgizv47jcnWlLWqAnbJdIgWMppJPfc3sNabs9GNRtd9mnWSCA5Z8QB6X XoRQhM7noJIzMBwC2NIPGS/R+DEzVasPr0XLgbNkd9mFmdAY8jjLRjZaXmTl0kdbUy jnjIEVlU8nAXQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id DC7E6100042; Thu, 26 Sep 2024 16:41:47 -0400 (EDT) Received: from alfajor (modemcable115.250-20-96.mc.videotron.ca [96.20.250.115]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B3B1A120387; Thu, 26 Sep 2024 16:41:47 -0400 (EDT) From: Stefan Monnier To: Adam Porter Subject: Re: bug#72328: [PATCH] Nested backquote in pcase In-Reply-To: (Stefan Monnier's message of "Thu, 26 Sep 2024 10:05:21 -0400") Message-ID: References: Date: Thu, 26 Sep 2024 16:41:46 -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.125 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: 72328 Cc: michael_heerdegen@web.de, eliz@gnu.org, thuna.cing@gmail.com, 72328@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 (---) > Excellent point, thanks. I'll try and fix it later today along with the > problem Andrea bumped into. Should be fixed now. Stefan From unknown Thu Jun 19 13:55:36 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, 25 Oct 2024 11:24:10 +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