GNU bug report logs -
#61281
“`(a \, b)” equals to “`(a . ,b)”
Previous Next
Full log
View this message in rfc822 format
> > No evaluation by backquote, you mean? Yes, you need
> > to say `(a ,'\, b).
> > Is this really different in other Lisps (isn't `,' a
> > reader macro in Common Lisp)?
I think I spoke to this in my previous msg
today. Let me know, if you think not.
> I mean, what should the Elisp reader return
> when reading ",foo"?
Dunno. (read ",foo") and (read ", foo" return
(\, foo). Why? (Just because the current
implementation of backquote depends on that?)
(read "'foo") returns just 'foo - it doesn't
return (quote foo). (read "`foo") returns
`foo, not (backquote foo). (read "`,foo")
returns `,foo. And (read "\\,foo") returns
\,foo.
Maybe (read ",foo") should rather return
",foo" - but of course the Lisp reader would
need to behave accordingly. And maybe
(read ", foo") should return ",".
> It must be some expression, and backquote
> will have to handle this expression differently
> than quote for the thing to work.
See above.
Notice the error msg from (eval ',foo):
Debugger entered--Lisp error: (void-function \,)
,foo
eval(,foo)
(progn (eval ',foo))
Nothing in (normal) Lisp syntax shows the use
of comma as a function. ,foo doesn't look
like function-call syntax, does it?
And here's the error from either (read ",")
or (eval (read ",")):
End of file during parsing
Yes, an error should be reported in each case,
but I think it should just say that comma is
undefined outside of backquote.
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.