From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#50136: 28.0.50; A problem with rx-let expansion Date: Sat, 21 Aug 2021 13:45:45 +0200 Message-ID: <878s0vc97a.fsf@web.de> References: <878s0wcj3j.fsf@web.de> <87y28whw1b.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40696"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 50136@debbugs.gnu.org, monnier@iro.umontreal.ca To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Aug 21 13:47:48 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mHPTX-000AOR-Su for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 21 Aug 2021 13:47:47 +0200 Original-Received: from localhost ([::1]:36740 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mHPTW-0004em-Ab for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 21 Aug 2021 07:47:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48140) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHPSo-0004dl-VF for bug-gnu-emacs@gnu.org; Sat, 21 Aug 2021 07:47:06 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:52625) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mHPSo-0005st-1I for bug-gnu-emacs@gnu.org; Sat, 21 Aug 2021 07:47:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mHPSn-0007MW-Vs for bug-gnu-emacs@gnu.org; Sat, 21 Aug 2021 07:47:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 21 Aug 2021 11:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50136 X-GNU-PR-Package: emacs X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org, Stefan Monnier Original-Received: via spool by submit@debbugs.gnu.org id=B.162954637128231 (code B ref -1); Sat, 21 Aug 2021 11:47:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 21 Aug 2021 11:46:11 +0000 Original-Received: from localhost ([127.0.0.1]:35938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mHPRz-0007LH-Au for submit@debbugs.gnu.org; Sat, 21 Aug 2021 07:46:11 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:39638) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mHPRx-0007L6-U0 for submit@debbugs.gnu.org; Sat, 21 Aug 2021 07:46:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHPRx-0004CM-6b for bug-gnu-emacs@gnu.org; Sat, 21 Aug 2021 07:46:09 -0400 Original-Received: from mout.web.de ([212.227.15.4]:42769) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHPRs-00056z-KS for bug-gnu-emacs@gnu.org; Sat, 21 Aug 2021 07:46:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1629546347; bh=QltdNmNBmvzx9HZ4HrL2AIsxJI9XeXXVc7jWfUmZliA=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=OcVMo1t7STKRd8CKCXQO5G3ilL8v7Qw+ZvDiKa3K6NE9FmWm2vxCl24eEumKaJQwU 6hztTHXZd+sGLpU0RsAD9XpPAkcBG544iFv5XvLuMuT7Q8J3hI+JBNSOzBkMXRRRXv EAvGZ+cjWhvo7Q3sgrp+LwhshQOTX+on6DXmeLf0= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([88.66.201.45]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1M2Phi-1mLGGC3Oz0-004DOJ; Sat, 21 Aug 2021 13:45:46 +0200 In-Reply-To: ("Mattias =?UTF-8?Q?Engdeg=C3=A5rd?="'s message of "Fri, 20 Aug 2021 20:45:41 +0200") X-Provags-ID: V03:K1:abXoD/alWSJvF3cl0vIomrSSH2YQsEkr4M4lo/ZucPj5wky+m7C tTVNnWuQpo+5JHYY1kvnXnAiVlx4dxNuXBwEjfs2GxaG5TDTjvpSi7ENH5e8Qc2RocpLHsb 3fFqpwD1LLS223pB6+otu2H+XqG4ngsiIkifx/mTeE/dCKqwiMO59byDyGZ5emwgKCFfHqv hJkbTfeCHdQuk6IQouSWQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:PUy/hddhwlw=:VsBcFFzfkLXDm/P02lp2Py FyCcPXVrlWkqB0qlxZT6SsWDttgjaQZ4VudtKoGldaRNQnc8ptKaM7oGjSycN5UK4fNm8Ka0r LIcOk6bnO638ICi96jF0FAQ+wSyqIVL3rV3m7xhodTJfGcD6vzkEdVjkaQI1n39eog20hp7Kg bQqBQ7mLVk03VYXQodsgXbb6G/DyJf+dj9KNEFzadGoeO88YSoYqJc3hcMpEjeGI2hdzr4WpA HlTLqo5G1vqh8ZnDsTBM+CSKtped6t1vt5E9I4tGpzBkp2gb56G3pXkb4t3eiklyLuGs67BHd XyJt7nFFAsKNzU0iUnrJby12xOZVbKkaBwPeWNLuPYojrzxxN+BkBRvmpBFb6WMxvSDNA7EX3 2bUHlav1OzU9jcHSFxfoqz3svHACccF2I3T2HLwouEfJ4L2OenQdRpH9TR6/5/36ZV+pQ0LAe wNu18nzXLw479Bm1Q02q0MKeGEWT3HpYrB1zSgOsI07g3rduK3u7NwiBrF9rZttg2PHJ7Awyt YVs8sF/TxgaZUdaLj+5+WE40V2xQ6WaxZSEnf0DYPsylJe2WJ28OQqHpMY/bhXQDquApHt63I vYdBsrJKymk3arWQ8WjU/Sz+sZ8Hh5QdeoEE4KfdWCyRqXNNK1pZtiphP2UHBXImbuUUYDD0U qbKeY+p4ImWhmeTVVy9xYmslnab9efZCmi2/dGJs/0HczEDeuY8THjLd0JtdWTedxmi1v/psX wIVjdNmkXBWBwrKTEzIrZXYcBc/fV7FJk6SReSxRsPqR8EDeJhCUvG0xDO1X0NosA0JBpYsE Received-SPF: pass client-ip=212.227.15.4; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:212331 Archived-At: Mattias Engdeg=C3=A5rd writes: > Yes. It was (and is) a trade-off between the simpler "template-like" > semantics currently used and the programmatic "execute code" semantics > of Lisp macros. The idea was that the simpler semantics would be > simpler and sufficient for most uses, and `eval` forms could always be > employed in other cases. Ah ok, now my picture gets somewhat clearer. The semantics I wish for are already possible. I need to use `eval' on the one side, and &rest on the other. Since REST from &rest rest is spliced in, I can't use REST like a variable (and e.g. test whether any args have been provided, that is impossible, since in that case it expands to nothing); instead I can use something like (let ((args (list rest))) ...) inside rx `eval' and use that as argument list variable. I think I can live with that. Maybe it would be good to improve the docstring to say the things that I missed clearer? - Say explicitly that this mechanism is different from macros, instead it's just a simple substitution mechanism, and add a simple example to the docstring as a reference, even if we already have examples in the manual. Maybe also tell that using `eval' you can still have a macro-like behavior in the end. Michael.