GNU bug report logs - #61281
“`(a \, b)” equals to “`(a . ,b)”

Previous Next

Package: emacs;

Reported by: Xie Shynur <one.last.kiss <at> outlook.com>

Date: Sat, 4 Feb 2023 23:29:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Drew Adams <drew.adams <at> oracle.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: Xie Shynur <one.last.kiss <at> outlook.com>, "61281 <at> debbugs.gnu.org" <61281 <at> debbugs.gnu.org>
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.




This bug report was last modified 2 years and 127 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.