GNU bug report logs - #30070
27.0.50; cl-print sometimes prints self-referencing objects as #1=#<thing>

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: minor; Reported by: Michael Heerdegen <michael_heerdegen@HIDDEN>; dated Wed, 10 Jan 2018 19:40:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


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




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#30070; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


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.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#30070; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


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




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#30070; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


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)





Acknowledgement sent to Michael Heerdegen <michael_heerdegen@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#30070; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.