Thank you for your reply.
I had not thought to check for any environment differences because both evaluations were done using Slime from a single Emacs buffer using C-x C-e (bound to `slime-eval-last-expression') and C-c C-p (bound to `slime-pprint-eval-last-expression'). Evaluation of *PRINT-CIRCLE* from the same buffer yields NIL. The following expression has the same problem:
(let ((*print-circle* nil)) (loop :for n :in '(a b c) :collect `(,n (gensym))))
C-x C-e yields: => ((A (GENSYM)) (B (GENSYM)) (C (GENSYM)))
C-c C-p yields: => ((A . #1=((GENSYM))) (B . #1#) (C . #1#)) in a *slime-description* buffer.
Are you unable to reproduce these results?
Is there some other factor to consider or check for? On Saturday, July 27, 2024 at 02:58:22 AM EDT, Marco Antoniotti marco.antoniotti@unimib.it wrote:
Hi check the *PRINT-CIRCLE* in both cases. I bet it is set differently. MA
On Fri, Jul 26, 2024 at 8:41 PM Mark Harig idirectscm@aim.com wrote:
Slime Developers,
The following was produced using SBCL version 2.3.11, slime-version "2.30", and Emacs version 29.4. (My copy of slime was installed using the ‘list-packages’ command in Emacs.)
For the following ‘loop’ expression, the function ‘slime-eval-last-expression’ returns the correct result:
(loop :for n :in '(a b c) :collect `(,n (gensym))) => ((A (GENSYM)) (B (GENSYM)) (C (GENSYM)))
But the function ‘slime-pprint-eval-last-expression’ does not return the correct result. Instead, it returns:
(loop :for n :in '(a b c) :collect `(,n (gensym))) => ((A . #1=((GENSYM))) (B . #1#) (C . #1#))
in the *slime-description* buffer. Is this a known error, that is, is it an acceptable result?
Please let me know if there is any other information you need to reproduce or diagnose this potential error.
Thank you.
--