bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#34975: 26.1.92; In backquote, the comma marker does not work with va


From: Michael Heerdegen
Subject: bug#34975: 26.1.92; In backquote, the comma marker does not work with variable name started with dot
Date: Mon, 25 Mar 2019 02:33:49 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Drew Adams <drew.adams@oracle.com> writes:

> > I dunno or have forgotten for what it had been intended, there are no
> > real uses in the Emacs Elisp sources.
> >
> > > (let ((.foo 42)) `(,.foo))
>
> Yes, it's intended.  It acts the same as ,@
>
> I might use it instead of ,@ to convey (to a human)
> a connotation that what follows is not a proper list
> (or is not necessarily a proper list), whereas ,@ is
> typically thought of as splicing in a list of elements.
>
> (I don't in fact use it, apparently, but I thought I
> might have, and if I did use it instead of ,@ then it
> would no doubt be for that reason.)
>
> On the other hand, Common Lisp says that ,. has this
> difference in meaning from ,@:
>
> "Anywhere ``,@'' may be used, the syntax ``,.'' may
> be used instead to indicate that it is permissible
> to destroy the list produced by the form following
> the ``,.''; this may permit more efficient code,
> using nconc instead of append, for example."

Yes, thanks.  I also found that post:

https://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00330.html

The state is the same as back then: ,. is a reader macro in Emacs Lisp,
but the head of the expansion (the symbol named ",.") doesn't have any
semantics, even not in backquote.

Michael.





reply via email to

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