From: Stig H. <sti...@gm...> - 2012-08-27 19:54:33
|
On Sat, Aug 25, 2012 at 12:56 PM, Denis Potapov <po...@ex...> wrote: > * `(let ((a 1)) `(let ,a)) ;; Eval a form with backquote The first backquote may be a normal quote without changing anything. This is not a nested backquote issue. > (LET ((A 1)) > `(LET (SB-IMPL::BACKQ-COMMA A) > )) I'd say the problem is here. For some reason, PRINT messes up the printing of backquote expressions. It should either have printed (LET ((A 1)) `(let ,a)) or some expression with SB-IMPL:: that actually works. What it currently does is just wrong. And it stays wrong even if you set *PRINT-READABLY*. > > * (eval *) ;; Eval the result --- OK > > (LET 1 > ) * returns the internal expression without PRINT mindfuckery, so this works. > * (LET ((A 1)) `(LET (SB-IMPL::BACKQ-COMMA A))) ;; if typed directly --- not OK >... Whether you retype or cut-n-paste the mess PRINT produced, the result is still a mess. I agree that there is a bug, but thinks the bug is with PRINT, not with backquote. Stig Hemmer |