[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61281: Double backquote expansion and ", "
From: |
Michael Heerdegen |
Subject: |
bug#61281: Double backquote expansion and ", " |
Date: |
Wed, 08 Feb 2023 00:33:04 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Ihor Radchenko <yantar92@posteo.net> writes:
> > 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.
> Could you elaborate?
On what? You said "We did not find a way to retain "," in the
macro-expanded sexp.", I tried to demonstrate how to handle this. As
you see, it is not necessary to use "," the symbol, the examples all use
the reader construct syntax and quoting.
If that doesn't answer your question, please ask more specific
questions.
> > 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.
Michael.
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, (continued)
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/05
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/05
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/05
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/05
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/05
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Ihor Radchenko, 2023/02/06
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/06
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/06
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/06
- bug#61281: Double backquote expansion and ", " (was: bug#61281: “`(a \, b)” equals to “`(a . , b)”), Ihor Radchenko, 2023/02/07
- bug#61281: Double backquote expansion and ", ",
Michael Heerdegen <=
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Andreas Schwab, 2023/02/06
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/06
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Andreas Schwab, 2023/02/07
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/07
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/07
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/07
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Andreas Schwab, 2023/02/08
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/08
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/08
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/08