Re: Slime 2.30: Discrepancy in eval versus pretty-eval of a `loop' expression

Mark Harig <[email protected]> Sat, 27 Jul 2024 14:21:13 +0000 (UTC)
Newsgroups gmane.lisp.slime.devel
Message-ID <[email protected]>
------=_Part_306609_1695223221.1722090073340
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

 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:
=3D> ((A (GENSYM)) (B (GENSYM)) (C (GENSYM)))

C-c C-p yields:
=3D> ((A . #1=3D((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 <[email protected]> =
wrote: =20
=20
 Hi
check the *PRINT-CIRCLE* in both cases.=C2=A0 I bet it is set differently.
MA

On Fri, Jul 26, 2024 at 8:41=E2=80=AFPM Mark Harig <[email protected]> wro=
te:

Slime Developers,

The following was produced using SBCL version 2.3.11,
slime-version "2.30", and Emacs version 29.4.=C2=A0 (My copy of slime
was installed using the =E2=80=98list-packages=E2=80=99 command in Emacs.)

For the following =E2=80=98loop=E2=80=99 expression, the function
=E2=80=98slime-eval-last-expression=E2=80=99 returns the correct result:

(loop :for n :in '(a b c) :collect `(,n (gensym)))
=3D> ((A (GENSYM)) (B (GENSYM)) (C (GENSYM)))

But the function =E2=80=98slime-pprint-eval-last-expression=E2=80=99 does n=
ot
return the correct result.=C2=A0 Instead, it returns:

(loop :for n :in '(a b c) :collect `(,n (gensym)))
=3D> ((A . #1=3D((GENSYM))) (B . #1#) (C . #1#))

in the *slime-description* buffer.=C2=A0 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.

--



--=20
Marco Antoniotti, Professor=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tel. +39 - 02 =
64 48 79 01
DISCo, University of Milan-Bicocca U14 2043=C2=A0=C2=A0 http://dcb.disco.un=
imib.it
Viale Sarca 336
I-20126 Milan (MI) ITALY =20
------=_Part_306609_1695223221.1722090073340
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div>                Thank you for your reply.<br><br>I had not thought to =
check for any environment differences because<br>both evaluations were done=
 using Slime from a single Emacs buffer<br>using C-x C-e (bound to `slime-e=
val-last-expression&#39;) and C-c C-p<br>(bound to `slime-pprint-eval-last-=
expression&#39;).  Evaluation of<br>*PRINT-CIRCLE* from the same buffer yie=
lds NIL.  The following<br>expression has the same problem:<br><br>(let ((*=
print-circle* nil))<br>  (loop :for n :in &#39;(a b c) :collect `(,n (gensy=
m))))<br><br>C-x C-e yields:<br>=3D&gt; ((A (GENSYM)) (B (GENSYM)) (C (GENS=
YM)))<br><br>C-c C-p yields:<br>=3D&gt; ((A . #1=3D((GENSYM))) (B . #1#) (C=
 . #1#))<br>in a *slime-description* buffer.<br><br>Are you unable to repro=
duce these results?<br><br>Is there some other factor to consider or check =
for?            </div>            <div class=3D"yahoo_quoted" style=3D"marg=
in:10px 0px 0px 0.8ex;border-left:1px solid #ccc;padding-left:1ex;">       =
                 <div style=3D"font-family:'Helvetica Neue', Helvetica, Ari=
al, sans-serif;font-size:13px;color:#26282a;">                             =
   <div>                        On Saturday, July 27, 2024 at 02:58:22 AM E=
DT, Marco Antoniotti &lt;[email protected]&gt; wrote:             =
       </div>                    <div><br></div>                    <div><b=
r></div>                                                <div><div id=3D"yiv=
6217327551"><div><div dir=3D"ltr"><div>Hi</div><div><br clear=3D"none"></di=
v><div>check the *PRINT-CIRCLE* in both cases.&nbsp; I bet it is set differ=
ently.</div><div><br clear=3D"none"></div><div>MA</div><div><br clear=3D"no=
ne"></div></div><br clear=3D"none"><div id=3D"yiv6217327551yqt78247" class=
=3D"yiv6217327551yqt2025448892"><div class=3D"yiv6217327551gmail_quote"><di=
v dir=3D"ltr" class=3D"yiv6217327551gmail_attr">On Fri, Jul 26, 2024 at 8:4=
1=E2=80=AFPM Mark Harig &lt;<a rel=3D"nofollow noopener noreferrer" shape=
=3D"rect" ymailto=3D"mailto:[email protected]" target=3D"_blank" href=3D"m=
ailto:[email protected]">[email protected]</a>&gt; wrote:<br clear=3D"non=
e"></div><blockquote style=3D"margin:0px 0px 0px 0.8ex;border-left:1px soli=
d rgb(204,204,204);padding-left:1ex;" class=3D"yiv6217327551gmail_quote">Sl=
ime Developers,<br clear=3D"none"><br clear=3D"none">The following was prod=
uced using SBCL version 2.3.11,<br clear=3D"none">slime-version "2.30", and=
 Emacs version 29.4.&nbsp; (My copy of slime<br clear=3D"none">was installe=
d using the =E2=80=98list-packages=E2=80=99 command in Emacs.)<br clear=3D"=
none"><br clear=3D"none">For the following =E2=80=98loop=E2=80=99 expressio=
n, the function<br clear=3D"none">=E2=80=98slime-eval-last-expression=E2=80=
=99 returns the correct result:<br clear=3D"none"><br clear=3D"none">(loop =
:for n :in '(a b c) :collect `(,n (gensym)))<br clear=3D"none">=3D&gt; ((A =
(GENSYM)) (B (GENSYM)) (C (GENSYM)))<br clear=3D"none"><br clear=3D"none">B=
ut the function =E2=80=98slime-pprint-eval-last-expression=E2=80=99 does no=
t<br clear=3D"none">return the correct result.&nbsp; Instead, it returns:<b=
r clear=3D"none"><br clear=3D"none">(loop :for n :in '(a b c) :collect `(,n=
 (gensym)))<br clear=3D"none">=3D&gt; ((A . #1=3D((GENSYM))) (B . #1#) (C .=
 #1#))<br clear=3D"none"><br clear=3D"none">in the *slime-description* buff=
er.&nbsp; Is this a known error, that<br clear=3D"none">is, is it an accept=
able result?<br clear=3D"none"><br clear=3D"none">Please let me know if the=
re is any other information you<br clear=3D"none">need to reproduce or diag=
nose this potential error.<br clear=3D"none"><br clear=3D"none">Thank you.<=
br clear=3D"none"><br clear=3D"none">--<br clear=3D"none"></blockquote></di=
v></div><br clear=3D"all"><br clear=3D"none"><span class=3D"yiv6217327551gm=
ail_signature_prefix">-- </span><br clear=3D"none"><div dir=3D"ltr" class=
=3D"yiv6217327551gmail_signature"><div dir=3D"ltr"><span style=3D"font-fami=
ly:monospace;">Marco Antoniotti, Professor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 tel. +39 - 02 64 48 79 01<br clear=3D"none">DISCo, University of Milan-Bic=
occa U14 2043&nbsp;&nbsp; <a rel=3D"nofollow noopener noreferrer" shape=3D"=
rect" target=3D"_blank" href=3D"http://dcb.disco.unimib.it">http://dcb.disc=
o.unimib.it</a><br clear=3D"none">Viale Sarca 336<br clear=3D"none">I-20126=
 Milan (MI) ITALY</span></div></div></div></div></div>            </div>   =
             </div>
------=_Part_306609_1695223221.1722090073340--