Subject: =?Windows-1252?Q?RE:_[External]_:_Re:_bug#61281:_=93`(a_\, _b)=94_equals_t?= o “`(a . , b)”

From: Drew Adams <[email-masked]>
Date: Wed, 8 Feb 2023 03:09:07 +0000

> > Still, could you please show these uses of bare "\,"
> > explicitly?
> >
> >  $ clisp -q -x '`\,'
> >  $ clisp -q -x '`(\, x)'
> 
> | micha> clisp -q -x '`\,'
> | |,|
> | micha> clisp -q -x '`(\, x)'
> | (|,| X)

Great.  So clisp handles the case right (IMO).  It
doesn't seem to have this bug, at least.

> In Emacs we could as well change the symbol (or
> whatever object) used as "tag" for the expansion
> of the `,` reader construct.  But unless this
> solves some practical problem, since there is
> the cost of breaking code, I don't understand
> why we are still discussing this.
> 
> You would suggest to make a change like this, Drew?

I can't speak to the code change that should be
made.  (But I think I understand you, and yes,
I think something like that is what's needed.)

I do wish the code behaved solidly, with no such
"capture" of occurrences of "\,".  But I've
already agreed with you that I doubt anyone will
fix this, and maybe it's too risky to bother
doing that.

I don't see the risk so much (if at all) in that
some code might exist that depends on the bugged
behavior.  I seriously doubt that.  But (1) I
don't know that, and nested etc. backquote
expressions can get very complicated.

I do expect some risk in someone trying to fix
this and ending up causing more problems.
That's the code breakage I'd worry about.
That's a reason I won't be pretending to have
the right code fix.

Assuming the bug isn't going to be fixed, I'd
propose we just describe the problem in a
comment.  That can be done with words or with
code examples.  This thread is already full of
both. ;-)