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


Message #104 received at 61281 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Andreas Schwab <schwab <at> suse.de>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>,
 Xie Shynur <one.last.kiss <at> outlook.com>,
 "61281 <at> debbugs.gnu.org" <61281 <at> debbugs.gnu.org>
Subject: RE: [External] : Re: bug#61281: “`(a \,
  b)” equals to “`(a . , b)”
Date: Tue, 7 Feb 2023 18:00:50 +0000
> In clisp, backquote is implemented via system::backquote,
> system::unquote and system::splice.  Thus the symbol |,|
> has no special meaning.

If the symbol |,| has no special meaning inside backquote
then that answers my question.

Still, could you please show these uses of bare "\," 
explicitly?

 $ clisp -q -x '`\,'
 $ clisp -q -x '`(\, x)'

You showed the following, which are not in question.
Elisp does the same thing for these - it (correctly)
reads "\,X" as the symbol named ",X", even inside
backquote sexps.

>> $ clisp -q -x ',X'
>> *** - READ: comma is illegal outside of backquote
>> $ clisp -q -x '\,X'
>> *** - SYSTEM::READ-EVAL-PRINT: variable |,X| has no value
>>
>> $ clisp -q -x '`\,X'
>> |,X|

It's only _bare_ "\," that Elisp treats the same
as an unescaped comma (","), provoking eval of
what follows it.  What does clisp do for bare "\,"
(i.e., not immediately followed by symbol chars)?




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.