Received: (at submit) by debbugs.gnu.org; 11 Jan 2018 15:10:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 10:10:48 2018
Received: from localhost ([127.0.0.1]:52328 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1eZeVC-0000Di-Sy
for submit <at> debbugs.gnu.org; Thu, 11 Jan 2018 10:10:48 -0500
Received: from eggs.gnu.org ([208.118.235.92]:54696)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <monnier@HIDDEN>) id 1eZeVA-0000DU-Un
for submit <at> debbugs.gnu.org; Thu, 11 Jan 2018 10:10:45 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <monnier@HIDDEN>) id 1eZeV4-0001aQ-Qk
for submit <at> debbugs.gnu.org; Thu, 11 Jan 2018 10:10:39 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=disabled
version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:60367)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from <monnier@HIDDEN>)
id 1eZeV4-0001aK-NN
for submit <at> debbugs.gnu.org; Thu, 11 Jan 2018 10:10:38 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:45633)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from <monnier@HIDDEN>) id 1eZeV3-00026N-OS
for bug-gnu-emacs@HIDDEN; Thu, 11 Jan 2018 10:10:38 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <monnier@HIDDEN>) id 1eZeUz-0001Xc-4q
for bug-gnu-emacs@HIDDEN; Thu, 11 Jan 2018 10:10:37 -0500
Received: from pruche.dit.umontreal.ca ([132.204.246.22]:46577)
by eggs.gnu.org with esmtp (Exim 4.71)
(envelope-from <monnier@HIDDEN>) id 1eZeUy-0001XH-Pp
for bug-gnu-emacs@HIDDEN; Thu, 11 Jan 2018 10:10:33 -0500
Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242])
by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id w0BFAU1W011657;
Thu, 11 Jan 2018 10:10:31 -0500
Received: by pastel.home (Postfix, from userid 20848)
id DAA876231F; Thu, 11 Jan 2018 10:10:30 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Michael Heerdegen <michael_heerdegen@HIDDEN>
Subject: Re: 27.0.50;
cl-print sometimes prints self-referencing objects as #1=#<thing>
Message-ID: <jwvlgh45t7e.fsf-monnier+emacsbugs@HIDDEN>
References: <87fu7dtsfc.fsf@HIDDEN>
<jwvr2qxqwq9.fsf-monnier+emacsbugs@HIDDEN> <87r2qw1mk9.fsf@HIDDEN>
Date: Thu, 11 Jan 2018 10:10:30 -0500
In-Reply-To: <87r2qw1mk9.fsf@HIDDEN> (Michael Heerdegen's message of "Thu, 11
Jan 2018 15:45:26 +0100")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-NAI-Spam-Flag: NO
X-NAI-Spam-Level:
X-NAI-Spam-Threshold: 5
X-NAI-Spam-Score: 0.1
X-NAI-Spam-Rules: 3 Rules triggered
GEN_SPAM_FEATRE=0.1, EDT_SA_DN_PASS=0, RV6198=0
X-NAI-Spam-Version: 2.3.0.9418 : core <6198> : inlines <6305> : streams
<1775757> : uri <2568056>
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
Cc: bug-gnu-emacs@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)
> Would it make sense to cache what is being printed, post-process it, and
> print it at once?
We could try, but we'd have to somehow distinguish the "#N=" and "#N#"
that are used for such sharing references from those that may appear as
part of "normal user output".
Stefan
bug-gnu-emacs@HIDDEN:bug#30070; Package emacs.
Full text available.Received: (at submit) by debbugs.gnu.org; 11 Jan 2018 14:45:50 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 09:45:50 2018 Received: from localhost ([127.0.0.1]:51782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1eZe73-0007yc-RB for submit <at> debbugs.gnu.org; Thu, 11 Jan 2018 09:45:50 -0500 Received: from eggs.gnu.org ([208.118.235.92]:44570) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <michael_heerdegen@HIDDEN>) id 1eZe72-0007yQ-Pz for submit <at> debbugs.gnu.org; Thu, 11 Jan 2018 09:45:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <michael_heerdegen@HIDDEN>) id 1eZe6w-0004KV-8N for submit <at> debbugs.gnu.org; Thu, 11 Jan 2018 09:45:43 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:49267) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from <michael_heerdegen@HIDDEN>) id 1eZe6w-0004KG-4g for submit <at> debbugs.gnu.org; Thu, 11 Jan 2018 09:45:42 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35510) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <michael_heerdegen@HIDDEN>) id 1eZe6u-0000LW-TX for bug-gnu-emacs@HIDDEN; Thu, 11 Jan 2018 09:45:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <michael_heerdegen@HIDDEN>) id 1eZe6r-0004GE-0I for bug-gnu-emacs@HIDDEN; Thu, 11 Jan 2018 09:45:40 -0500 Received: from mout.web.de ([212.227.15.3]:52148) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <michael_heerdegen@HIDDEN>) id 1eZe6q-0004FT-NI for bug-gnu-emacs@HIDDEN; Thu, 11 Jan 2018 09:45:36 -0500 Received: from drachen.dragon ([92.74.186.201]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0M4lkz-1eniaN00zN-00z1h8; Thu, 11 Jan 2018 15:45:30 +0100 From: Michael Heerdegen <michael_heerdegen@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> Subject: Re: 27.0.50; cl-print sometimes prints self-referencing objects as #1=#<thing> References: <87fu7dtsfc.fsf@HIDDEN> <jwvr2qxqwq9.fsf-monnier+emacsbugs@HIDDEN> Date: Thu, 11 Jan 2018 15:45:26 +0100 In-Reply-To: <jwvr2qxqwq9.fsf-monnier+emacsbugs@HIDDEN> (Stefan Monnier's message of "Wed, 10 Jan 2018 15:39:46 -0500") Message-ID: <87r2qw1mk9.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K0:NJMhxz8lBaeQ3k/FpFbpohzNzmum0rWQMuh/lWnxPEGlrAWViUS lZ8XFCntyRStO0vQLRrfeF5jEv6ntR0oM3EH8IOhYnQjOQHyr3mSG5OS+HJ+I670Mp+c7T0 PKkiOUTL6VkFvutv2u5Dm9k//aEI6cE2qNVN2rogjrU10KdiBjXjauqLfIEXrMLRvswNJsp 9ZIreteSGGUnf1powuYMw== X-UI-Out-Filterresults: notjunk:1;V01:K0:2f19yjuqwZA=:/H8fG7FaUK8tw9v+xP0l6F pagJ3phGVwew8mkBjHabwiAkLb0hlDHwWyHL9ZICrMH+xZVpdWlVDCnZhEfpsLIOaCMm0+N3Q aisfFYs2XVWs4yMo0jo+jy7/47dMKxn9c0suTCQurfu7wzsCHyMkMZxaH67COdm9iNRXYsV0m 0GMebqUkUAoP7sB0PiszmFi5lqsJx3Sw93fQFteHBtdv67LqG54YHC1KrzZcIUQK3265vw/tt 0SZJNlk+qNbzwnaS0I3jAHWOm5cRbivY1K5LEoPRS7fRaSHWHcUqRZ042WLRpNw+E89J7Fdcc eCLpY3dUQV8TqgGm/iQopk/DND6qjWoRyXf4sbgKk/XqmPdTQlhaoYVS9eOZMG4n4AybaBUgx ejob1zRYqqMPayPKF0UYrOgati/Ux+Vk/KCcgmPdhVitSGck7SVfOXskNWAgijs7GP7E3HgEy +ex+NA3WzF/ka/BJYkg2UCvMWtLbz2s6rPDj6nGR9k8ku5X7NpYs9wg2hK7nzeGf0sFt80Rh/ +UFXUJiWCFEt2kjvtEojcAAhsrQrtJM7kjVnk/I6mUDIv2Xwfr4bF6hYmANJS4ESRhh4U8u8m 77ALvr68Hv81ASoofX/IXnAokVhcLW6vpAOrIclfPUOauR5QEyIw55onqcWM2QrfkbS0mW8X3 BlhvJE6fQhJJbf6FYeGpmqHuVfqkY5XTbEA0pQfDiWBhoK4uFksLtHR4T8//Btv9R1SWKIRH9 BG8B4CQqwoIJ3BavUdyJhnEs1SF1UaYYew0mF2MPa6KJvj8LEvzmjMGQmOtuRroRgaSqYoH3h LvNTKczoypKuEV9qYE14dXtmcUluGQsQh4IJi8yTCanSGyGb7Y= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -4.1 (----) Stefan Monnier <monnier@HIDDEN> writes: > > That gives me "#1=#<thing>". That's weird because the printed > > representation of the thing doesn't refer to itself. > > Yes, it's a known misfeature (to me at least). I don't know how we > could fix it, tho: the cycle-detection is done in a preprocessing phase > which doesn't know about any print format (nor about cl-print), so by > the time we learn the the object will be printed as "#<thing>", we have > already printed "#1=". > > To fix it, I have the impression that we'd have to make cl-print a lot > more complex, and potentially its API as well (e.g. add a matching > cl-preprocess method additionally to cl-print-object). Yes, that's what I expected. Would it make sense to cache what is being printed, post-process it, and print it at once? Michael.
bug-gnu-emacs@HIDDEN:bug#30070; Package emacs.
Full text available.
Received: (at submit) by debbugs.gnu.org; 10 Jan 2018 20:36:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 10 15:36:21 2018
Received: from localhost ([127.0.0.1]:51365 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1eZN6j-0001tX-8K
for submit <at> debbugs.gnu.org; Wed, 10 Jan 2018 15:36:21 -0500
Received: from eggs.gnu.org ([208.118.235.92]:46841)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <monnier@HIDDEN>) id 1eZN6h-0001tL-9M
for submit <at> debbugs.gnu.org; Wed, 10 Jan 2018 15:36:19 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <monnier@HIDDEN>) id 1eZN6a-0002Fb-UV
for submit <at> debbugs.gnu.org; Wed, 10 Jan 2018 15:36:13 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:43237)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from <monnier@HIDDEN>)
id 1eZN6a-0002FA-QX
for submit <at> debbugs.gnu.org; Wed, 10 Jan 2018 15:36:12 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:37797)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from <monnier@HIDDEN>) id 1eZN6Z-0007G9-OF
for bug-gnu-emacs@HIDDEN; Wed, 10 Jan 2018 15:36:12 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <monnier@HIDDEN>) id 1eZN6W-00027n-HR
for bug-gnu-emacs@HIDDEN; Wed, 10 Jan 2018 15:36:11 -0500
Received: from pruche.dit.umontreal.ca ([132.204.246.22]:44433)
by eggs.gnu.org with esmtp (Exim 4.71)
(envelope-from <monnier@HIDDEN>) id 1eZN6W-00027H-BE
for bug-gnu-emacs@HIDDEN; Wed, 10 Jan 2018 15:36:08 -0500
Received: from lechazo.home (lechon.iro.umontreal.ca [132.204.27.242])
by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id w0AKa7Tj029541;
Wed, 10 Jan 2018 15:36:07 -0500
Received: by lechazo.home (Postfix, from userid 20848)
id AA17460085; Wed, 10 Jan 2018 15:39:46 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Michael Heerdegen <michael_heerdegen@HIDDEN>
Subject: Re: 27.0.50;
cl-print sometimes prints self-referencing objects as #1=#<thing>
Message-ID: <jwvr2qxqwq9.fsf-monnier+emacsbugs@HIDDEN>
References: <87fu7dtsfc.fsf@HIDDEN>
Date: Wed, 10 Jan 2018 15:39:46 -0500
In-Reply-To: <87fu7dtsfc.fsf@HIDDEN> (Michael Heerdegen's message of "Wed, 10
Jan 2018 20:39:03 +0100")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-NAI-Spam-Flag: NO
X-NAI-Spam-Threshold: 5
X-NAI-Spam-Score: 0
X-NAI-Spam-Rules: 2 Rules triggered
EDT_SA_DN_PASS=0, RV6197=0
X-NAI-Spam-Version: 2.3.0.9418 : core <6197> : inlines <6303> : streams
<1775683> : uri <2567446>
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
Cc: bug-gnu-emacs@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.0 (----)
> That gives me "#1=#<thing>". That's weird because the printed
> representation of the thing doesn't refer to itself.
Yes, it's a known misfeature (to me at least). I don't know how we
could fix it, tho: the cycle-detection is done in a preprocessing phase
which doesn't know about any print format (nor about cl-print), so by
the time we learn the the object will be printed as "#<thing>", we have
already printed "#1=".
To fix it, I have the impression that we'd have to make cl-print a lot
more complex, and potentially its API as well (e.g. add a matching
cl-preprocess method additionally to cl-print-object).
Stefan
bug-gnu-emacs@HIDDEN:bug#30070; Package emacs.
Full text available.
Received: (at submit) by debbugs.gnu.org; 10 Jan 2018 19:39:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 10 14:39:48 2018
Received: from localhost ([127.0.0.1]:51333 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1eZMDz-0000ZM-Pw
for submit <at> debbugs.gnu.org; Wed, 10 Jan 2018 14:39:48 -0500
Received: from eggs.gnu.org ([208.118.235.92]:52175)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <michael_heerdegen@HIDDEN>) id 1eZMDx-0000Z8-Dl
for submit <at> debbugs.gnu.org; Wed, 10 Jan 2018 14:39:45 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <michael_heerdegen@HIDDEN>) id 1eZMDr-0006Bb-81
for submit <at> debbugs.gnu.org; Wed, 10 Jan 2018 14:39:40 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM
autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:51312)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
(Exim 4.71) (envelope-from <michael_heerdegen@HIDDEN>)
id 1eZMDr-0006BV-1s
for submit <at> debbugs.gnu.org; Wed, 10 Jan 2018 14:39:39 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:43145)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from <michael_heerdegen@HIDDEN>) id 1eZMDq-0007nZ-1F
for bug-gnu-emacs@HIDDEN; Wed, 10 Jan 2018 14:39:38 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <michael_heerdegen@HIDDEN>) id 1eZMDm-0006Ag-Pb
for bug-gnu-emacs@HIDDEN; Wed, 10 Jan 2018 14:39:37 -0500
Received: from mout.web.de ([212.227.17.12]:61023)
by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16)
(Exim 4.71) (envelope-from <michael_heerdegen@HIDDEN>)
id 1eZMDm-0006A8-FT
for bug-gnu-emacs@HIDDEN; Wed, 10 Jan 2018 14:39:34 -0500
Received: from drachen.dragon ([92.74.186.201]) by smtp.web.de (mrweb101
[213.165.67.124]) with ESMTPSA (Nemesis) id 0MZUJt-1eJ3ia0Hrp-00LE4e; Wed, 10
Jan 2018 20:39:25 +0100
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 27.0.50;
cl-print sometimes prints self-referencing objects as #1=#<thing>
Date: Wed, 10 Jan 2018 20:39:03 +0100
Message-ID: <87fu7dtsfc.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K0:Bih91obVoU0w6gD4YCE+LnX2XRmMi2RhQxjN2F7XbM47dvmGxj6
uMKjEKYTs33xHbdH6lKB2OM218xMizDf93blAA8NkFygzzWGn2JCb5pi4UzhxsChcoSGT6h
ylB/biBsyX5kmbW9ImI9qs9m1cycgqW1ZRRv8PZaUH6lBepracCGzmOCmd97u0tonBROAgY
MpkIUYjn4mtiJkTm/Alpg==
X-UI-Out-Filterresults: notjunk:1;V01:K0:XKR5DElPuFs=:fITwtqA3+HN7XbzNy2+u5O
gwDvoJHPE3B4WUniwR1Rx3Huf6lLyRHDsZUgH8RcKhPjriAkhtlo7VRLv8yqLlCi3mv/zgVEJ
V4c9jLwsXKS9eyQx0n2oyaNfQmhSd807sYF2SA6GDQtZs5ccsbsJSa3OH58XG8pyCG/EGEVLP
WToVtlP5KpEnB0uWF45dCa0buWPt+Bmdk7iv5woa2SicSn9VyZLOuZBi1A16iCqpO9nDj6nb3
KPSATbV6+v3Ew7IxiYAeI2r5IMdQ+ococOQaWU7qyNvSRtCKs0P6M2vdSSvcc6zuZR5sDz9VP
LfPryGkPNzXuwdywEWzDW+sDN27K6CRJFFLmm3JY/u+oYhSwvkX393bJAGKC3qk4j8hdJ2ER4
c0CKCBdz2sKEzCFEF8YOZuWCtf7hbBeWT8WHjpU+hDDhNiSbZU1LQF+pX5rT7gF//NTY/X+L5
WarwnYjWXWQ82ZN+VdMIstcCyGKzwWaPOaZ2fJZyocbx7PihbFmtzNN0BiGYPZXbDEqOQ8yNh
+ljkIOPHzjDkR/V9NcqTYYoqtMhHq2zvpRKXtEDVrRKQVFworAGU4lN0smYlcDxt8ORMJCUh2
UdwHUDnnelpYDx0xAi7x0GyakA3uMVBu49ouExlQGPLBpM1PBLnsMwsNFhVokjBcoe0AOAH5u
FUEzLFviPVaEje8sdaulqtCDUorYYXgYuecoVT7ahtdIbjMtmMan/nLEUvEJxccJCzOk+8YMj
/AeOLESkL5Pby1EuvzwNNDCE3bhw5GGUxHihyBJt+oY1qSZ0lexPRK3n9HtQbBY1uPujb0chg
TshaRrMH8eS8S5Onkq8RSZwEy+/dUkWZcgb4/N8QnDEVgwbRnE=
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
[fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
Cc: Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)
Hi,
my use case is like this:
--8<---------------cut here---------------start------------->8---
;; -*- lexical-binding: t -*-
(require 'cl-lib)
(require 'cl-print)
(cl-defstruct thing
thing-object)
(cl-defmethod cl-print-object ((_object thing) stream)
(princ "#<thing>" stream))
(let ((print-circle t))
(cl-prin1-to-string
(letrec ((me (make-thing :thing-object (lambda () me))))
me)))
--8<---------------cut here---------------end--------------->8---
That gives me "#1=#<thing>". That's weird because the printed
representation of the thing doesn't refer to itself. This can happen in
real life: that the thing-object in the example is a closure referencing
the thing itself might be coincidence, so one can't assume that the
printed representation of a self-referential object always includes a
reference to the top-level object.
TIA,
Michael.
In GNU Emacs 27.0.50 (build 11, x86_64-pc-linux-gnu, GTK+ Version 3.22.26)
of 2018-01-10 built on drachen
Repository revision: bf38966965384b07621839db892b90932b8754a6
Windowing system distributor 'The X.Org Foundation', version 11.0.11905000
System Description: Debian GNU/Linux testing (buster)
Michael Heerdegen <michael_heerdegen@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#30070; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.