[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61281: “`(a \, b)” equals to “`(a . , b)”
From: |
Drew Adams |
Subject: |
bug#61281: “`(a \, b)” equals to “`(a . , b)” |
Date: |
Sun, 5 Feb 2023 15:53:58 +0000 |
> > No evaluation by backquote, you mean? Yes, you need
> > to say `(a ,'\, b).
> > Is this really different in other Lisps (isn't `,' a
> > reader macro in Common Lisp)?
I think I spoke to this in my previous msg
today. Let me know, if you think not.
> I mean, what should the Elisp reader return
> when reading ",foo"?
Dunno. (read ",foo") and (read ", foo" return
(\, foo). Why? (Just because the current
implementation of backquote depends on that?)
(read "'foo") returns just 'foo - it doesn't
return (quote foo). (read "`foo") returns
`foo, not (backquote foo). (read "`,foo")
returns `,foo. And (read "\\,foo") returns
\,foo.
Maybe (read ",foo") should rather return
",foo" - but of course the Lisp reader would
need to behave accordingly. And maybe
(read ", foo") should return ",".
> It must be some expression, and backquote
> will have to handle this expression differently
> than quote for the thing to work.
See above.
Notice the error msg from (eval ',foo):
Debugger entered--Lisp error: (void-function \,)
,foo
eval(,foo)
(progn (eval ',foo))
Nothing in (normal) Lisp syntax shows the use
of comma as a function. ,foo doesn't look
like function-call syntax, does it?
And here's the error from either (read ",")
or (eval (read ",")):
End of file during parsing
Yes, an error should be reported in each case,
but I think it should just say that comma is
undefined outside of backquote.
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Xie Shynur, 2023/02/04
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/04
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/04
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/04
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Drew Adams, 2023/02/04
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/04
- bug#61281: “`(a \, b)” equals to “`(a . , b)”, Michael Heerdegen, 2023/02/04
- bug#61281: “`(a \, b)” equals to “`(a . , b)”,
Drew Adams <=
- 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, 2023/02/07