bug-gnu-emacs
[Top][All Lists]
Advanced

[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: Wed, 8 Feb 2023 03:09:04 +0000

> > > It is obvious that the Lisp implementation of
> > > the "`" macro receives symbolic expressions.
> >
> > This is about the Lisp reader.  When you write
> > ",X" in that explanatory comment it's ambiguous
> > whether "X" is an arbitrary sequence of chars
> > or some Lisp sexp (read separately after reading
> > the ",").  ",abcd" is handled differently than
> > ", abcd", as we've gone over several times now.
> 
> So you want to add to the text that X is an expression?  Or anything
> else?  We surely don't want to explain the complete parsing process
> there.  What do you suggest to write in that comment?

Dunno.  I didn't intend to use ",X" at all.  That
was from you.

I think that should particularly be pointed out in
comments is this bug: that "\," evaluates, just
like "," does, when inside backquote.  And it even
splices, like ",@" does.  This isn't obvious, even
if it might be a rare/corner case.

"\," that is not immediately followed by a symbol
char is handled as if you'd written ",@" instead.
One would (I would) expect a bare "\," to be read
as a symbol with no special behavior, just as
reading "abc" is (but remove all the double-quotes
when reading this, of course).

I'm sorry, but now I'm just repeating myself.  I
really don't have anything more/new to say about
this.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]