From: Pascal J. B. <pj...@in...> - 2014-08-02 01:48:22
|
"James M. Lawrence" <llm...@gm...> 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 |