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#61281: =?UTF-8?Q?=E2=80=9C`?=(a \, b)=?UTF-8?Q?=E2=80=9D?= equals to =?UTF-8?Q?=E2=80=9C`?=(a . , b)=?UTF-8?Q?=E2=80=9D?= Date: Tue, 07 Feb 2023 02:40:27 +0100 Message-ID: <87o7q68d84.fsf@web.de> References: <87a61tgdkx.fsf@web.de> <875ycghgv1.fsf@web.de> <871qn4hfte.fsf@web.de> <87fsbju0of.fsf@web.de> <875ycfoyph.fsf@localhost> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22201"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Xie Shynur , "61281@debbugs.gnu.org" <61281@debbugs.gnu.org>, Drew Adams To: Ihor Radchenko Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Feb 07 02:41:24 2023 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 1pPCz5-0005ZJ-HG for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 07 Feb 2023 02:41:23 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pPCyt-0006yD-MR; Mon, 06 Feb 2023 20:41:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pPCyr-0006y0-HH for bug-gnu-emacs@gnu.org; Mon, 06 Feb 2023 20:41:10 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pPCyk-00044S-9d for bug-gnu-emacs@gnu.org; Mon, 06 Feb 2023 20:41:09 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pPCyj-000470-TP for bug-gnu-emacs@gnu.org; Mon, 06 Feb 2023 20:41:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 07 Feb 2023 01:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61281 X-GNU-PR-Package: emacs Original-Received: via spool by 61281-submit@debbugs.gnu.org id=B61281.167573405515786 (code B ref 61281); Tue, 07 Feb 2023 01:41:01 +0000 Original-Received: (at 61281) by debbugs.gnu.org; 7 Feb 2023 01:40:55 +0000 Original-Received: from localhost ([127.0.0.1]:50497 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pPCyd-00046X-3y for submit@debbugs.gnu.org; Mon, 06 Feb 2023 20:40:55 -0500 Original-Received: from mout.web.de ([212.227.15.3]:37545) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pPCyU-00046B-2Z for 61281@debbugs.gnu.org; Mon, 06 Feb 2023 20:40:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1675734031; bh=tz3ui5f65VxbufCwT76h51N5U7UwEQcMhqLdT9FCy8E=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=sIr2k8027DvJ46K0uw0Gkl1fw65jL5VGL4Q32BkWJA6l1/d90CJtsU5D7DZH1JmBk udHamqcbsqXnXLFTIkKrKsHujKaeSlVUVqxYe7AqntEcH/Y9D94YZ/+px26kp+jArM lMcpNlmrVYPcAdVnHfRePCzoNthq86htwmKhnIHuY3a7sXp4qI8nxNtUmjlAHaKbY5 uwgElryU8wGGG2DgUwcbRZELOOkB2tRp9K3Ca4jn8gQZA8jOKQn5oR65mvKUpqwk9x 3e7xq+JLCHMN6gYwSpsFaXf+RtYAKfh81tc4XqwNbNkqA0VGN0f1j+Ht6NcvKROCY/ D0Pf9n3nL6ioA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Original-Received: from drachen.dragon ([84.59.210.57]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MeDQZ-1orFOb3lOJ-00bJL2; Tue, 07 Feb 2023 02:40:30 +0100 In-Reply-To: <875ycfoyph.fsf@localhost> (Ihor Radchenko's message of "Mon, 06 Feb 2023 10:49:46 +0000") X-Provags-ID: V03:K1:OkFRqZv+Y74dnjxpWyM6WJWKcHtmMWmPP48NSAXc6fEXLXYFP6o EPBpVJxAiJ5TgDYOy5Aax0eEmJajSstuollT5oM83YVeOYRwTbooq/zzxkRPNAblXbCOXBJ ETTUHWhKtzdtXHZpbEmgNzx0t783laOWCUnr4t4KVg0CnkNHqxBuPCy7ysvQkVUDeG8HzVF 8aIYtKkuJn+QtrNsHm+mw== UI-OutboundReport: notjunk:1;M01:P0:CsR1XONBahA=;up/U8+xA7ARsKryvdNMe5EkN3Rf 4mJ4dPJSMvjySAY3FxCkL1zSfq08AKk8k919rG3sa6uX+uHhBnE4PsNGvuZD/W8tWFIn+nPJc boYhY6PODavJyPCD1zpKYvBpyYksynKGLFxo3ktgOOW2OMRVlK41FQW0Ofvr6/P0zNJm7Hnti nvJvYEw+NeqrlBK5wrtUqwjfojqvMVpte5C32wrslTLp+8XIuMM2aIlBTIMJ8h/6iF0Ll5+HT KKgmDMAhaHvmBAvBZ0NshYiTwGea9M7moMqAp22J76GuM3vlxTNvQBuBCLi52pBeDjvmyp0X1 ntqFJmfLQ/zBW6bqmtmyAe2MGUqd3hZCYRMIJghSyttbNscRN2UvmpamFu+5h/9BzoTcoe11c QtjRAl4KNw/n1C3fA37PoHbhKT9FIUave3wJFpVmD2AleoREixgYXUwVpCUKQq9COlsAltaRu X5MX9JCvPFSMvsmZhaywFwVYZrfXrjv3SF8oQ0ZybdPoH8YXjA+uJ71EvR+DSN9c5PsSwFo6I r/HkS5kDiPYoWnelMKYH+MM7PkxFSEBNTur5nn9D0oXxWNbu/sWoNdBFGzcW7VZ77YkmSTQci utOmSjdp+2o+Y4J4/CzjodcgnnmB92Cz7rL9ABhU5zJsBIo9YgQl+VbhxEeo/SK/i0zBh3d9R Vrx5izx+IF1mmsk2CEmWS0sHuhtfAzEg6UuPe0an3CLyGH59MiGXvLhJBlok3moGlu1+9A2K2 CHKQwCy2iuYYZ/yhVyKhOKTd7v6vV3+9qMylCodutV9ZcT+q7rOXZBTwO4m9KsFEuYOlRHXX 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:255006 Archived-At: Ihor Radchenko writes: > I recall one user had a need to macro-expand something that indented to > be passed to another macro-expand. We did not find a way to retain "," > in the macro-expanded sexp. I guess you are describing the common difficulties related to multiple levels of backquotes (nested backquotes). These are tricky (for human brains) and you need to know little "tricks" to get what you want (took me a while to discover how to deal with nested backquotes, maybe we should have examples in the manual?). Anyway, you (only) need to use trivial quoting, it is not necessary and probably not good style to use the symbol "," instead of the reader construct in human written code. Compare: #+begin_src emacs-lisp ;; Substitution at the same place at multiple levels: (let ((f 'my-function)) ``(when (funcall ,,f) (do-something))) ==> `(when (funcall ,my-function) (do-something)) ;; Substitution once, by outside level backquote: (let ((f 'my-function)) ``(when (funcall ,',f) (do-something))) ==> `(when (funcall ,'my-function) (do-something)) ;; Substitution once, by the inside backquote ``(when (funcall ,,'f) (do-something)) ==> `(when (funcall ,f) (do-something)) or simpler: ``(when (funcall ,f) (do-something)) ==> `(when (funcall ,f) (do-something)) #+end_src You probably tried to get some of these cases work, and it's not trivial to get to a solution the first time one encounters this problem. But this has not directly a relation to what we discuss here. If you rewrite ,X as (\, X) you have additional ways to express the above things, looking like (,'\, X) etc (though these are less readable). But, unless I guessed wrong what you were originally trying to achieve, you just have to solve the nested-backquotes problems like in other Lisps, Elisp is not preventing you to use any of these syntaxes. It's just that trying the (\, X) rewrite doesn't bring you closer to the solution of the original problem. Michael.