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: 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)?





reply via email to

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