Pascal: sbcl defaults to pretty-printing; James did show the example pretty-printed. After macroexpansion, backquoting is lost.
James: any given use-case is going to come out better or worse in CLISP.

Here's a sample (not from any actual code) that I should like to work as it does now in SBCL:

* (defmacro  hair (x y) ``(bar ,',@x (macrolet ((,,y (k) `(blub (frob ,',x) ,k))))))
* (macroexpand-1 '(hair (a) b)) => `(BAR ,'A (MACROLET ((,B (K) `(BLUB (FROB ,',X) ,K)))))

same test in CLISP, "the other Gold standard":
(macroexpand-1 '(hair (a) b)) =>
(LIST 'BAR 'A (LIST 'MACROLET (LIST (LIST B '(K) (CONS 'LIST (CONS ''BLUB (CONS (LIST 'QUOTE (LIST 'FROB X)) '(K)))))))) 

Thus my belief that Slime has been doctored. 



On Fri, Aug 1, 2014 at 9:44 PM, Pascal J. Bourguignon <pjb@informatimago.com> wrote:
"James M. Lawrence" <llmjjmll@gmail.com> writes:

> CL-USER> (macroexpand-1 '`(foo ,x))
> (SB-IMPL::|List| 'FOO X)
>
> CL-USER> (macroexpand-1 '``(foo ,,x))
> (SB-IMPL::|List| 'SB-INT:QUASIQUOTE (SB-IMPL::|List| 'FOO (SB-IMPL::UNQUOTE X)))
>
> Code that contains backquotes now macroexpands into a mess of
> SB-IMPL::|List|s and SB-IMPL::|List*|s, reminiscent of CCL's
> treatment of backquotes. If the new behavior is expected (which it
> appears to be), it seems rather unfortunate to work so hard at pretty
> printing only to throw it away upon macroexpansion.
>
> Having readable macroexpanded code is a big advantage when writing
> complex macros. Each of us could presumably cite examples of macros
> that would be difficult to write without comprehensible macroexpansion
> output available. I have cases which would have been practically
> infeasible.
>
> Unless there is some way to fix this (seems not, short of going back
> to the old backquote technique), a workaround might be to write
> pretty-macroexpand-1, pretty-macroexpand, and pretty-macroexpand-all,
> and then have SLIME and other environments use that instead.

What's wrong with (pprint (macroexpand-1 form)) ?


--
__Pascal Bourguignon__                 http://www.informatimago.com/
“The factory of the future will have only two employees, a man and a
dog. The man will be there to feed the dog. The dog will be there to
keep the man from touching the equipment.” -- Carl Bass CEO Autodesk


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Sbcl-devel mailing list
Sbcl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel