As Steve mentioned, the pretty printer is also involved here. Try setting
*print-pretty* to nil to see what sbcl is really doing.
--
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/
>>>>> On Fri, 10 Feb 2023 21:13:11 +0100, Andrea Monaco said:
>
> I see that SBCL expands this way:
>
>
> ``(,,@'(0 1 2) ,3) -> `(,0 ,1 ,2 ,3)
>
>
> so apparently the second comma is consumed while the first one is copied
> before each element of the spliced list.
>
> This behavior seems peculiar to sbcl, as clisp evaluates that form to
> (LIST* 0 1 2 '(3)) and gcl to (LIST 0 1 2 3): they both discard the
> other backtick-comma pair.
>
>
> I wonder what ANSI says on the matter. Does any of the two behaviors,
> the sbcl's and the clisp/gcl's, follows from the basic rules, for
> example those in
>
http://www.lispworks.com/documentation/HyperSpec/Body/02_df.htm?
>
> I'd appreciate any help. Thanks,
>
>
>
> Andrea Monaco
>