GNU bug report logs - #62037
(proper-list-p '#1=(a #1#)) => 2. It should return nil.

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; Reported by: Alan Mackenzie <acm@HIDDEN>; dated Tue, 7 Mar 2023 17:31:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 62037) by debbugs.gnu.org; 28 Jan 2025 19:10:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 28 14:10:38 2025
Received: from localhost ([127.0.0.1]:38612 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tcqys-00012q-1U
	for submit <at> debbugs.gnu.org; Tue, 28 Jan 2025 14:10:38 -0500
Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:15402)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <drew.adams@HIDDEN>)
 id 1tcqym-00012b-5Q
 for 62037 <at> debbugs.gnu.org; Tue, 28 Jan 2025 14:10:36 -0500
Received: from pps.filterd (m0246630.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50SIVokv001399;
 Tue, 28 Jan 2025 19:10:27 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
 :content-transfer-encoding:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to; s=
 corp-2023-11-20; bh=lk6Iy27jZsxozPWYts4aWiOBEkdfL2FsWmK6jLgSDmk=; b=
 KFDMnvo8ILaicYonKpm84rTfaYGEKgVbsf362RbXIuzoaKAbuIRFGrdYfbeGjN4M
 VxdQqCKelwsJjBb6xdTWIGLyCgDPfJ93XrHLFJnPD28onL+5vEDxmnHGMryIkTsO
 8WGrluI9Fq9En2hbuhbWrhX3IcY4OTSTzhYR8a0Hw8yp49GfsQnmtf710dP07AeV
 Febm0rxMAJoln4ANUdUjaoMcAQk2BNQp+fCmYvW7z/i+84AjnTYdrICVzfIS7vr5
 GkOUCmQ43WTUaO9LWLEq6jYIG5IuIklAoeQXsOmAx4a3dc3Hn5EnspBp0ed5dAhC
 HZh4N3xJOOMpn6IQ+ITUpw==
Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta03.appoci.oracle.com [130.35.103.27])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44f4khg30u-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 28 Jan 2025 19:10:27 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 50SIn7VM035898; Tue, 28 Jan 2025 19:10:26 GMT
Received: from nam04-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam04lp2169.outbound.protection.outlook.com [104.47.73.169])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 44cpdetdas-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 28 Jan 2025 19:10:26 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YV5ibY1XTG0LcxOnn1oDkjLVcZEb2tgDpdv2PlKQk+jmwF3Mat/zwjNMVUgbVUNNsRL0kkQOuXWEdbh7QR8dVYqciV6/qDbVuoYCP7r5dGw6XPjsEXwmocNDG/DSp/PRVWL1rC6mdflHqFPCwyC2DXmxA4QmpvxaqyfhEMrfGyblHyGvUAn6ojkSEW/kTHrsZaQWsGOgTrl8ctUyxpIzB74Bcd/4Urfr9GuuXcqYmNm9bNAxr2ZthI611+II2nd0vduz4781xKgRr9p1WSq8U2fr3XwvRovxeqjtk0xC+5Sfaxr6Df8SucKKuHMKDcuzix1YPebxv7SHsFhRwiqWZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lk6Iy27jZsxozPWYts4aWiOBEkdfL2FsWmK6jLgSDmk=;
 b=Cianu/nnRlfNlZwxa4SjOdJ9jzhLuhPl8saYnak2VqQICAqPUztQI6fI1gkjAVXBusbxu0FW3UI4gGo2p//KjVtFvC7sdaebFMSX/ohzClx5mkF2DYLYWF75l4ZpQ3HIzOVOdtND+14yNntFJwkxs+tozB08cAm2HWQYiuq60Bs105JEontLOF09cBlhzSADBNKKM3ty0gAtbgJVnQCLAe68V8CfciRiCQccS5ClOYBTRGAqiz1xWzseZJPUa+7Ohe6BuSEL/CBF5DywZvNOd1xJUYJangIATvmO4eFZecpn4q37YXdxMresLtlir1Mu1S3Qx1ibaugl4cbmJRVdMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lk6Iy27jZsxozPWYts4aWiOBEkdfL2FsWmK6jLgSDmk=;
 b=UNEZjqdyII/KrcD0it4vebi6yeG+xWacRuQ5hha58aiwMli+3oNVH6YoGNMQIDp2ipnMSlFA0BoFrBFo7Ujbhww41WPCkLtCqgpMAzRep9+YbuRkIcG9VOOKahqKe79MmofLw41txUrI64yazV7p6us3dcYOqorfFOOvciSzpDc=
Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24)
 by IA1PR10MB8211.namprd10.prod.outlook.com (2603:10b6:208:463::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Tue, 28 Jan
 2025 19:10:24 +0000
Received: from DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8377.021; Tue, 28 Jan 2025
 19:10:24 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>, "Basil L. Contovounesios" <basil@HIDDEN>
Subject: RE: [External] : bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It
 should return nil.
Thread-Topic: [External] : bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It
 should return nil.
Thread-Index: AQHbcYZSM8kNkpMjAUGbFoaXzbguFrMshMXA
Date: Tue, 28 Jan 2025 19:10:24 +0000
Message-ID: <DS7PR10MB5232BD2BE8C35904C0F35CB3F3EF2@HIDDEN>
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y0yx3g06.fsf@HIDDEN> <Z5jXirMRESGx7u5h@HIDDEN>
In-Reply-To: <Z5jXirMRESGx7u5h@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|IA1PR10MB8211:EE_
x-ms-office365-filtering-correlation-id: 326ce4a2-3301-4b94-4f37-08dd3fcf6b14
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?lXnKy6mdyL6zjClyz/XZ3AlcSvGKtbukiqLBBV9vBuoOEeIo4EHoj5oHb/Mr?=
 =?us-ascii?Q?elXK5GhGcz5SNa/jY4mgDI2ukgzE+6xQDv9O5jGC/FO+nojPPZSvU5wln448?=
 =?us-ascii?Q?x0Ndt80prdraEgz54DQFelMlLCZTie70FzRwdGH7GJy/7KBaUAoljsKlItrN?=
 =?us-ascii?Q?+SB52OJL6Kn4sSQamw/wJit8+K9a/qlU3EUdcMUneoIYw6yWZ28SldwNhwoV?=
 =?us-ascii?Q?Sfx1sMpoMRSRxZqRKFpeCVpUFNuMjW3+i5NFOSBiODVDT3ieHO/ObRYa5HTo?=
 =?us-ascii?Q?tmfqaGaZ7cawNOyyUnKOrmKydONW7O3KlCbmnmJOy2mB1eCr6vIUg2QD4Z2p?=
 =?us-ascii?Q?Xd4/dvMQsS9QMOjFKjTh0TLyKIN7y+pgUNaiGLWIoHtk9xZCj+v8Z2fidsP3?=
 =?us-ascii?Q?H0AjwKBiDNQzjyVL6P4UJBhKhjh6cb29yiiYXrnf76mVjW86BKSkvP4OR0Ls?=
 =?us-ascii?Q?ITEIBBvEX+tCB6vYLW162TT6glZsve3v+a1w++SPIzhb4e6PP/Vc53j5lm+M?=
 =?us-ascii?Q?NvWi4v/q+IdKjPb7oQY0/hyuITZMyD7K7Ye43/GixFFKgFXsCWJE2UixABfu?=
 =?us-ascii?Q?mHfu8dAJvn3v12HlOGuTVD1qoqSXsHUMbImzU2AHJnG1qi68VXw6a5hJ25XY?=
 =?us-ascii?Q?nxb8yLeUYERsIJNtmONDgruaGpX9kBf1TSg/GGsJrXKMLJwkoFy2MoGveAFC?=
 =?us-ascii?Q?mzK6cAf5YZbkhU99oiHb2Skhob/PI3aeAVd7k5gkvYAxqfuFKjwTGUYhiQ/Z?=
 =?us-ascii?Q?gwzjVt21Bn9RIbGuW1M56euiTKFzJ3m4iwXXtcCZBIUU0XSiRHWBvRnXCmde?=
 =?us-ascii?Q?mWB/cpmRUlJ5r/aoQM4x80WXS+M+kRINMqCZdOhJR9Mda+ryHbMs7mwnJuVG?=
 =?us-ascii?Q?yBF/FSgGnrdNxAFkAXbeDe06WS1Zu/AAhEL3gDpbT91rLSWmaosAqKTmh53o?=
 =?us-ascii?Q?MoGuP/+GQABxG90ZEpH3YCefOvZOBop88LvW/tUqOSWlpTQQaPPJqCFOoDy6?=
 =?us-ascii?Q?M05KoT7DZ4V1ddJAXdOpAx39AXH61/n/J/CfyoKfvcujL/mhf/CL0/sc8RbE?=
 =?us-ascii?Q?/dapy5hrJ2V0C6xS+m+aSUmv0cJglNyLShK13xTr1LFSRwrUxwfc3dWCBqs1?=
 =?us-ascii?Q?EZdZOzUA160rHWUcQGb0+P7Z4U4j75EBkX9KDhWRb/TgGiMq+d6nydYeMIqZ?=
 =?us-ascii?Q?9nzvKN3VKxXD0VHX34gufHnZp1zoGHvHDkvmiVWRfEbDJoQI+OLV8i9waibd?=
 =?us-ascii?Q?Pd/1cUkrQPo948QnaBcSKlY0dJiggccepkYcufxDvnUqGEBfztfsGCr8MGvB?=
 =?us-ascii?Q?f1z96FjoHOYGmxBrKmOlh64c6IRYaiV+zHhh+ZjbEotskTr7ruydXNsuuPPG?=
 =?us-ascii?Q?UASxxSQPawm4ZsOJY64ojAJuijlG9CjFqbiipCk+li358tQ4RQ7+IKFkLXnA?=
 =?us-ascii?Q?HkkwwCjvarVuO21wV/Oeck+5RR4ua5EB?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?17lo7oGOiV2ouCHkORw7Krfl5JJvYzNop/I+VoXEr4z+OOFNAGDzFc6tfbx+?=
 =?us-ascii?Q?JlyatpcUxf92kZDrpMM69UB/BWPwjr6+9OWS1sKndkOxEmtPJPVXJGtIGIF0?=
 =?us-ascii?Q?ZS1y+fABNHaPsZjlSlbPs1W7YQd/CAbAYS1UXtcGC7eVHaryPvfSTaK8RenU?=
 =?us-ascii?Q?gaAvVfpFoHJioh69cU/3MEzjhyWjTGb9ANIle60hZ/7FLHHYKEbePwvXWLYP?=
 =?us-ascii?Q?HKEp5QM7boG74W6lXBY7CrzywiisplFA4e4AXRrgqgltm6FNvx5+WVJhGb7E?=
 =?us-ascii?Q?duRXeyRhXUcRNTKEXHLOxjd8vYnhX/mei5uDRAr6Vvp80kDE+7tDQJQAWdgH?=
 =?us-ascii?Q?q12K52jhQGmCDcyozCqNZUz14n1IoRrfkZ0c1Q/Dsd8oJrcTOTCbPLEuVUt4?=
 =?us-ascii?Q?9Q2h+/Idom5/8X0D3Kq078hCphcAVV4qaU3iPIaZ6HyXPEeZnOHV/l1zssNC?=
 =?us-ascii?Q?sETgrY+Jf7U3sLR6B+SEUZ/tomjvarKm0A+hZNwiOmJJnMDlLUk8XiEVEqwN?=
 =?us-ascii?Q?/G10pXiJ3CzsgHgX5+GFPD6yyeBFTyZ8CDdVRj4xdEYHsr4KuyytQmXcdccb?=
 =?us-ascii?Q?kPQ16f8qEJlU7PC+jIUejOZIyEmgOM6vxsw7qdEHplxeLajwu8dkFFGOglUg?=
 =?us-ascii?Q?uujIZp85uoEMfusQtWIwLOTu1nLXfM6dxzsw2WV7+bheMtrRLfRgVcctUYgP?=
 =?us-ascii?Q?jyoaPjJeBNnpwGzRMUClN81jTZEIIMO+ZHJzC2otCKh0LfdkdR+sY47SHbPM?=
 =?us-ascii?Q?q2S+UH1/WyMN0Pf7n11Zx4unozOwOMiR4jns6R5PAPsyXwEERv14+P2x8nej?=
 =?us-ascii?Q?c2n3CZf8u6ocjZiJK6TfobR4UHS6bVmW4DqABV3cgvUxNKtxTrkcm1+LMMIR?=
 =?us-ascii?Q?yzhJLMOVXe8uQKac2uk8EX/KYRpPi1TeK3Fe5iaAvs5fwtd0lGI2bUrQE+uh?=
 =?us-ascii?Q?zew32ugxJoec5l6IhIRqymlMX0r99pCjp31DVNGYeVLPB6XcR2PiyOED8oaK?=
 =?us-ascii?Q?gfMqRZx7HO4brC8INZvN+G3hP7iRbVj7q4ESNOelc9hAcRODr8svnrX+Qd2S?=
 =?us-ascii?Q?FCZ9JtXW4MZvYney21ol8WB3yoB1E3JxIGem/SUEeSmsNftagDjtNDwkn8AM?=
 =?us-ascii?Q?h/DksxKenzN23GYG932R5kSC3oWEbiweNGj/zgfuHzHL5lmIGeq++mlFmQjg?=
 =?us-ascii?Q?0ETNrYg4HTA+gnwYvKGQgPgUdCrAQ2I9NskpIhsTHtEzJbWlmjUBh5Kwo83P?=
 =?us-ascii?Q?KcS90pUSibVOTzvlhPLD0P1JTLtRDacLYJAM06/Wb91ZuwrdCIFbHfl+AKY2?=
 =?us-ascii?Q?iWrt+ut4PxWcpm75CRloNrxOJm8bN15mut17/KYytvtkoWO4OUS/hZG1cNdA?=
 =?us-ascii?Q?RBA1snNmBnwviwK3lcDD+APdzNFR8ZU+2Ly1F3Qv/ahkSD3/+c0PAGwCK6TN?=
 =?us-ascii?Q?m7UJ7/QlSjG7utMElp+BkAPy1aUmB43RkLjcdfNMXiBIe1owb7G6KqX11Z8N?=
 =?us-ascii?Q?U+an1TkVCU1AD9Fj128dkEPl6LPBNKgLKM6hvFoBrqJWKkY9xbq2xSQZBKV7?=
 =?us-ascii?Q?34/9KNGKjAJRJJOrxUy2qb3WWxjGMr9uXQq9t/4z?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: naMx10uKNLGcLetigyknLywIwkcyQswJBdKVuQvM0XFS7RdqttaazEzQW3bnDya0VKhO+S4CCfIpCqQ+66BtbGFACQBgmRTWXtIVQFtYVCR6lsTFizfmSoXmRhpaBJTBgxYYO1UjpT5zCYEKP6GC45vzu7nb8evEpF0Ny6L9NOfNepnV3VM2UZIOq3wS5gIh3YA8Vfm6lASrFoSVIyS2AxTbyL4eIL5zpWvz0n/i3eTtveSYR17gbfw4BaEJSLGaVf8b/nklYVVyfXQhzLSfcfh8DQQ0dIxaJXdKbRw0WO7GSkmcZw20Tkr2kvHKvVlCC1t+UzAus/ijbwGHGF1rriIYqrBuLqcA+FHz2KNFjAD99jXzSxzpFhPCK1SS30XIpKz1ENdtn9jJtZnBUubWnB0VaN4ucasuv6R5o8lxQnUKUDcgwakPdLWd5bB00TyadZ3DqKp0+9l5qXylbn7Ymx2S034xLYk1znOSt/FKgUBCIrUebcq4R7y6+C9HlwWwm9v+IpcPZNEo14MFFbLfkpfXmAvrnUUMu1hR08aHOylISyb2IDHiIEqyjvbSakLY3A6wIoQIEaAF1Nqh7z/9pb4BvB9+PK2UGiY7FEbsLlU=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 326ce4a2-3301-4b94-4f37-08dd3fcf6b14
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2025 19:10:24.3309 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: A4kvpIdXoX9XGHIi8HI0yxDhN5cAA9/qPUnHEqBgYTHFF6moZpbFHnUgAeQkORsc1kjalp8+ePgU2KWpnFKJBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB8211
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-01-28_04,2025-01-27_01,2024-11-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0
 mlxscore=0 bulkscore=0
 phishscore=0 suspectscore=0 adultscore=0 spamscore=0 mlxlogscore=779
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000
 definitions=main-2501280140
X-Proofpoint-GUID: 2vn1yIT8Wd9pW-lT8M3h1904pf8XBDLG
X-Proofpoint-ORIG-GUID: 2vn1yIT8Wd9pW-lT8M3h1904pf8XBDLG
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62037
Cc: Ruijie Yu <ruijie@HIDDEN>,
 "62037 <at> debbugs.gnu.org" <62037 <at> debbugs.gnu.org>,
 Philip Kaludercic <philipk@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: -1.7 (-)

Hello Alan!

> I bumped into the above scenario when I was writing or
> amending some algorithm which worked on a generic list structure, and
> got infinite loops when that list was as above, despite first checking
> it with proper-list-p.

If your use case requires checking the elements
of a list ahead of time, to ensure that they
aren't infinite lists or don't involve infinite
lists, then yep, you need to do just that
(whatever "that" is, specifically, for your use
case).

And as I said, depending on what your actual
requirement is in that regard, that could mean
different kinds of checking, and it can be more
or less involved.

> To my mind, #1=3D(a #1#) is not a "proper list",
> despite what Drew has said about the matter.

We needn't agree on what "proper list" means.
What's important is what the predicate does.

IMO, the test needed - far and away the most
useful and most commonly needed - is a test
whether the list itself is circular/infinite.
And that means checking that its (extensional,
explicit) _length is finite_.

Whether to have other, more general (or more
specific, depending on your view point)
predicates, which check the list _elements_
for possible list values that are infinite,
or that test the elements for strings or
symbols that have properties whose values are
infinite lists, or ... -- that's a different
question (or a different basket of questions).

A priori, I don't see a need for Elisp to
predefine any such predicate(s).  My reasons:

1. Different use cases will call for different
   checks.
2. Such use cases aren't that common.
3. Providing such a general predicate, which
   can be costly to use, might encourage its
   use when it's not really needed or it's
   better to code a predicate specific to the
   given use.

   Let's not give the impression that such a
   check is parallel/equivalent to a check
   such as `proper-list-p'.  The latter has
   many, many, many more uses than any such
   check-cars-too predicate.
4. Users can anyway code up such a check if /
   when they really need it.

> proper-list-p doesn't seem very useful when
> ones purpose is to filter out lists that will
> break list traversing algorithms.

Be specific about your list traversal.  But
sure, if you need to traverse all branches
of a tree, and if one of those branches is
infinite, then ... Check each car that's a
list, to be sure it, in turn, has finite
length.  And hey - guess what! there's a
predicate for that...

(But sometimes you don't need to traverse
all branches all the way down or even know
whether you can do that.  Sometimes you can
traverse lazily, or at least breadth-first,
and not bother to find or act on nodes past
a given depth.)

> Perhaps there ought to be a proper-tree-p
> function too, like you suggest.

Just please don't get rid of or redefine the
useful predicate `proper-list-p'.  (I don't
care so much about its name; it's its behavior
that's useful.)




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

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


Received: (at 62037) by debbugs.gnu.org; 28 Jan 2025 13:11:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 28 08:11:51 2025
Received: from localhost ([127.0.0.1]:35917 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tclNe-00022x-Mc
	for submit <at> debbugs.gnu.org; Tue, 28 Jan 2025 08:11:51 -0500
Received: from mail.muc.de ([193.149.48.3]:48254)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <acm@HIDDEN>) id 1tclNa-00022Y-IW
 for 62037 <at> debbugs.gnu.org; Tue, 28 Jan 2025 08:11:48 -0500
Received: (qmail 25958 invoked by uid 3782); 28 Jan 2025 14:11:39 +0100
Received: from muc.de (pd953aa3b.dip0.t-ipconnect.de [217.83.170.59]) (using
 STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP;
 Tue, 28 Jan 2025 14:11:39 +0100
Received: (qmail 25101 invoked by uid 1000); 28 Jan 2025 13:11:38 -0000
Date: Tue, 28 Jan 2025 13:11:38 +0000
To: "Basil L. Contovounesios" <basil@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
Message-ID: <Z5jXirMRESGx7u5h@HIDDEN>
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y0yx3g06.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87y0yx3g06.fsf@HIDDEN>
X-Submission-Agent: TMDA/1.3.x (Ph3nix)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 62037
Cc: Ruijie Yu <ruijie@HIDDEN>, 62037 <at> debbugs.gnu.org,
 Philip Kaludercic <philipk@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: -1.0 (-)

Hello, Basil.

On Sun, Jan 26, 2025 at 13:40:25 +0100, Basil L. Contovounesios wrote:
> Alan Mackenzie [2023-03-18 08:29 +0000] wrote:

> > The list #1=(a . #1#) is clearly circular.  proper-list-p should return
> > nil for it.

> It does.

> But the subject of the bug report is about #1=(a #1#) not #1=(a . #1#).

> > The purpose of proper-list-p is surely to find out in advance whether an
> > algorithm one wishes to run on a list can proceed without taking special
> > precautions for dottedness or circularity.  proper-list-p fails here.

> proper-list-p checks along the list's cdrs.

Yes.

> Detecting the circularity in #1=(a #1#) requires checking along the cars
> as well.  To me that implies a (more expensive) proper-tree-p (or
> similar) rather than proper-list-p, for the same reason that 'length'
> returns the same result as proper-list-p for #1=(a 1#).

> Would it help if the documentation of proper-list-p just mentioned the
> phrase 'along the cdrs', in the same way that copy-tree does?

I'm not sure.  I bumped into the above scenario when I was writing or
amending some algorithm which worked on a generic list structure, and
got infinite loops when that list was as above, despite first checking
it with proper-list-p.

To my mind, #1=(a #1#) is not a "proper list", despite what Drew has
said about the matter.  proper-list-p doesn't seem very useful when
ones purpose is to filter out lists that will break list traversing
algorithms.

Perhaps there ought to be a proper-tree-p function too, like you
suggest.

> Thanks,
> -- 
> Basil

-- 
Alan Mackenzie (Nuremberg, Germany).




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

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


Received: (at 62037) by debbugs.gnu.org; 26 Jan 2025 20:49:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 26 15:49:04 2025
Received: from localhost ([127.0.0.1]:58070 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tc9Z1-0003XP-F4
	for submit <at> debbugs.gnu.org; Sun, 26 Jan 2025 15:49:03 -0500
Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:43892)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <drew.adams@HIDDEN>)
 id 1tc9Yy-0003Wt-Ea
 for 62037 <at> debbugs.gnu.org; Sun, 26 Jan 2025 15:49:02 -0500
Received: from pps.filterd (m0246627.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50QKFKTH008706;
 Sun, 26 Jan 2025 20:48:55 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
 :content-transfer-encoding:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to; s=
 corp-2023-11-20; bh=ZVgP5rQgnMcxSevqqCglB3fYepyVpYl8K5pW6+ZPIiQ=; b=
 IqfD7m7k8VryZ91rrMr1kn5AKx53uZfi2pDPDf2Sb0YLJqXaHAfaBKRQVkrXwTg8
 DOIxbIFysIPaDGfd4HvQzJJXSj25An1ERHR01bU+TtF5AoE9fH9ur+yv8epZ7zHd
 dkwIgMEGUYyq1S9yYnygFowvSBDSKPY5AyJT6wBNHcwDTP70+8DwGHfSxzAJAflx
 xTUqz+5/5fsBNUhExuFmxegKB2UZ24u3FpT6riI4oKHiaKZv084/hgevZf9WTZiw
 zozRu/yCXlgNt1czKk8Yxyc+/dDh2K091G9L2fig1utwNHQkQxVk8/GfpYAoV+mU
 vKFamWP1PIXeNX0p0/rdVw==
Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta01.appoci.oracle.com [130.35.100.223])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44cpj0hk3k-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Sun, 26 Jan 2025 20:48:55 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 50QGoHjN022882; Sun, 26 Jan 2025 20:48:54 GMT
Received: from nam10-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam10lp2046.outbound.protection.outlook.com [104.47.55.46])
 by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 44cpd69r6t-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Sun, 26 Jan 2025 20:48:53 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BVK2fZ1HgCuunhWjCkuN2+71cfrx5Mtd8DASWwMP8mhIgd9hsl+KoBIDNPhARyXvlmoTCVWGW3CqLp4YN++WRtkSy0No79FABKwZtYMlQnVPFQt7MHl+YXV4Rsxv8cmTiEAxvpKpV9+rq3FBEX1odwJ2369Q7i5V7BTPzsgpiTQAKo+z2rMIChLWwvLhw5yST2ruKOwctxSsmOgegNjk5GHSD0+56QaHr6eF4kDwc7tNN0QpTjUvAXEtimEqeAv2jUoApqZ7Ln9vSaysHiKY+kmIRsvNGmqbGsMRFwJOS4EYNOP+jteCRjluNdq1IxRWTE7T/Da0gK/QQEn1mIeUgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZVgP5rQgnMcxSevqqCglB3fYepyVpYl8K5pW6+ZPIiQ=;
 b=lGxicwN21gJ9vbYg3IV3yzpyj763Ol8GbGEgug4r6I00z3ZkGZVoOBfz1Xj8mdk56mvUkYYRJGUmCiNxiMnAB/DsZ4p9nuJybu5pPi1+MiQ6U7UeywsydnVonk+FtcY31iXn8gOBbQmTxAXPwFJl4bxu6n5yVsYq7dxCu+mCkZLHgdDyOO00P5tIHP+VMDGu1KZTFmOB42qRtOwF5Gy4v22mcoWhaVSUO1CzUoOw4vV+FDYkF1snyvlxwSd7GPYZPZsCd1wV/2bLtxkrrdXdkBqW6v889+iE0COV5iHOIw3esd1OKuIbQZINX7sHOVH/nnlDh1hRxOMAxRPxFC1/BA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZVgP5rQgnMcxSevqqCglB3fYepyVpYl8K5pW6+ZPIiQ=;
 b=KvPHdWkxfFA4zh0I81kUDBV8Rg+/H9L2HewbBfCRawQbvwl91e9ja4L4vqYlk9JGekcyxQHxxN3CDRTlyYmLKwWYZVsDVeEQLOigsdgRdOvmilCSdv12a00B4LlOwnl9ipWCIm6ynsUAtqKEFSD3UDgP/L+e3c00eByLUUbtSZA=
Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24)
 by DS7PR10MB4990.namprd10.prod.outlook.com (2603:10b6:5:3a5::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.22; Sun, 26 Jan
 2025 20:48:51 +0000
Received: from DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8377.021; Sun, 26 Jan 2025
 20:48:51 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>, "Basil L. Contovounesios"
 <basil@HIDDEN>
Subject: RE: [External] : bug#62037: (proper-list-p '#1=(a #1#)) => 2. It
 should return nil.
Thread-Topic: [External] : bug#62037: (proper-list-p '#1=(a #1#)) => 2. It
 should return nil.
Thread-Index: AQHbb/FWrRrkc325VUe2uTMvkcodU7MpfM+A
Date: Sun, 26 Jan 2025 20:48:51 +0000
Message-ID: <DS7PR10MB5232D61365ABE7BBE7D5612AF3ED2@HIDDEN>
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y0yx3g06.fsf@HIDDEN> <867c6hspok.fsf@HIDDEN>
In-Reply-To: <867c6hspok.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|DS7PR10MB4990:EE_
x-ms-office365-filtering-correlation-id: 1fe174f3-09db-41ed-2d49-08dd3e4ad710
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?hbAtS1YzxZA1v6CWTIE7fJROPdry7D4Eyq32CbuKD2lpmQzwZAocenlCwFk7?=
 =?us-ascii?Q?xbT/WWVCYWPEsBwIjplrvvoJv/tMTRpVNW04VLgRXFeKTamwENNux4j0+VI1?=
 =?us-ascii?Q?INpMgFSMsLZtjzC2F0bnL3rj8P71xHn5cPRL+KUl/T8rif5b99huqzCoUqku?=
 =?us-ascii?Q?qNyjB+Q7QpY6jBBx5RPg1gOOa+ClKngdgAwIW5ochKePdfdvdyzkE7gUsNDI?=
 =?us-ascii?Q?usdWtV8p4fNTb7daGqx9yeh3H6Gx/1aTCWs9Zh4m915O7qjurkRrphCvfvaj?=
 =?us-ascii?Q?4DOIWr09iPF3JHJ3FB7R1V7thrEUZwDkONTILlvEsBsSKxgKBKsZlM36X+Pb?=
 =?us-ascii?Q?26d5X1CfL6mPzA6OhFYth3wK8g/06KIZL+SJhyVoq23cqV30ilD/IvroGAZ2?=
 =?us-ascii?Q?5Q3FNNmksOF/i9ozy+vHtptwExFoPOtcmA4JPGp9ldvVea9ykoKWfU//2pXN?=
 =?us-ascii?Q?/LC9FqDNSSKUJceGne40icRqbbleb4NiPt1h+DHoSpMvF9eS4FMjAs1rUvhL?=
 =?us-ascii?Q?unungcjVBULTiOsrEi5ZcPuKZIe7xNHALB+0HY8ul3pR99sxnDB4PfEYOnr7?=
 =?us-ascii?Q?H0QKFpaG4VF99u0aQk15BkYrs0p+moctlOyZzhYXTWaik/+uKqwnENcyl8x3?=
 =?us-ascii?Q?YbnqbFaE0n9XOXoJXjfLh0H35yKUkLuBO5vWr7mXoKqGAr1Bu2J5L5UAPvxT?=
 =?us-ascii?Q?IEaEBuTu1xDvrAsDjqop651oJc6X8DuA/S8dK2/P1zLo71XkNAkQiqLvVnml?=
 =?us-ascii?Q?+0/ibXxjsSEI/3fKzrroGzRQsbXuWr4fixDNG+VxkYmHZgTAl/7HIARgQTBO?=
 =?us-ascii?Q?h1EwzjMgMe5WaYj6bS649o9N9tZvAfttfdqMcvLIo9NpxKbP9tp6p5Xgu06k?=
 =?us-ascii?Q?HfPd8G1LMxRHeFngbU9V57RNLhyAwY5lS2oWk+YLHK8MW9m/YKKe5Ssd3jAM?=
 =?us-ascii?Q?6A+tsrzYnJ/denJ3HArRuOzDY4YSYdtV4KeCFCMdFhc7wRmkWakR1z4zOawb?=
 =?us-ascii?Q?8YgBCSPPkSFtbJiKo3WICQTXZNVRUsPXJg9hRmk5wouslA7K6WhEOn+CQ4dj?=
 =?us-ascii?Q?gsjg3nsb/OyYWizQ09q9a5D8C+8rkBozsZ1hjEapXPxExSEzurjQergtuS6X?=
 =?us-ascii?Q?JAUO+piIBo0ltX03Q9f3+ncad4V2CviKL1w1MTeA8LDkvAUkO1k2+FOlKEPt?=
 =?us-ascii?Q?KgnJhaEq6O3u0MlKuxFd260VRgDLt/q1RP3T44WfTsIzNXjEk74pvgLy9FKF?=
 =?us-ascii?Q?+y8Sn3PEntvUaXavjkQqjO68bMitugExzpcheAKohSmp9jhUAsPIsbRSm3SY?=
 =?us-ascii?Q?j+wX67jiFjekxe+v8vTJhUHfUyuz5WnpAI4PzVpblmbEsy3OtyvTLht2ZlBw?=
 =?us-ascii?Q?brxgUkuH+lRzKHHsC4yt6/+9077Ex2lpahZ8qklaF/pm8VuaYUhx4g8P8P7F?=
 =?us-ascii?Q?Isa4da0Kjg4rH3MtqKGrosYAwq+cYHx9?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?vvTvHZuGg2SFuempPTaHM4g9gCnsJgO61TgQYcbxZZdu8zrZFKExLnUQ4dv7?=
 =?us-ascii?Q?Agg0g9gKK7BZXrTCAYIHgNm0Nw1JYYmTW6ljkeCYRrrvAqgACIEZSpt2nqLU?=
 =?us-ascii?Q?5zRb9AdqTE9zffGQJWq9V5/D3Yf0j5FW+D825vLhBpKvTd7HfvCWLiNOQBuD?=
 =?us-ascii?Q?lxmxOA94uyeWAeTv9HLBia/Kj/7jyU5XmHLbiDY8LkQdZAMHB/Qxfkbt+X9+?=
 =?us-ascii?Q?+O5swqpY3juUg7VnZvTeY2iohYAmIIXGViBuoCwM/q45F+0I/JMY/+kw3A8w?=
 =?us-ascii?Q?HmzzrbuUoM/edcFPrKwleAq0P/WYnzAHNFFnjzENcO2NvUP7BSMIY/Un6cJJ?=
 =?us-ascii?Q?qFjmt4c/AjEiKFhD5bMcVazlwMDbEb5AAlxfBVfQx2cjlfRHufFVZEQopXN0?=
 =?us-ascii?Q?463mvRbKt+hs3Bd+dSYO/1F3KSTF/yobdsWaDwIsfTX8m6FjOj5VFlijSakp?=
 =?us-ascii?Q?VXZ/lIYZY6qkk7e+JAyeSNbvlB9MuWlmiosD09e/2e1sRIm271Nkcd7wEOZC?=
 =?us-ascii?Q?Y+QG+IidzLOOZ/bJU0c3um8HnYEscPKkovMy4Smlc46dkC+c9rjWvfAioO4T?=
 =?us-ascii?Q?I5is9u1on5tNwI19LHfnA78dqlXPDNLIetQJPF2E3bmOrnYLLA4870Ty8mTO?=
 =?us-ascii?Q?/nX5HsHlE9y4SxvTeODij0YioUuFtM7a9cuiuKS6Wlm5g/WpTrp+3tsb6t0c?=
 =?us-ascii?Q?sim+hCm9GJmvdC9obncIsLSgWiUIR/kGcB5KZTx7GfPggWMvO8SwoxibxBOh?=
 =?us-ascii?Q?Av0AkvVNt314qCgDpyofPrK38hBo3aTmPjTy+8CY6hohFUe6tyJOPEqcNWso?=
 =?us-ascii?Q?QoFNRlfOyP/0KAT5UQYYg/MNqp04ucZxfYo8e8BVwRfPXxpc0KKcsF+d1idl?=
 =?us-ascii?Q?PAHpeXdcYH5P22UuuRdwVsBLHJfCf0Xp4OTsQCiciGsHjYr3Dn6wX90OcNUJ?=
 =?us-ascii?Q?5uZLzk8elejWXHDCTT3cm5oU7TJz+guff32uhq0G5Jwqv/+tEAEK/+/DIW7N?=
 =?us-ascii?Q?vBptaiCnzEroH04zHv0986XvtO1LxX5hB7UXKLV9D1Z8VfzfcaKemM1N80hG?=
 =?us-ascii?Q?5nH0y94rYORUUmOPbbBLg8T8CphdCDTbBMSt2Kb9cZcXOs+Kozo4tAW24fZ0?=
 =?us-ascii?Q?lvMAmFcc+k0vq40M4FJ4LaB8m9nfB+fh4ywV8EH6OXz39aUWDv3Miz+BF4uq?=
 =?us-ascii?Q?UielSkKOHZtD5Zcv8M+EKxcymjjrLabmKsgU6oXC/o6PTFvSuQRXqgiV/86O?=
 =?us-ascii?Q?0vAT3MDTh6wQMYJfLRS3/2555gWDqQ1uEaNmoQrNlvMw+zACThhXUnHrNOm9?=
 =?us-ascii?Q?enhvZWcp6Czvb7qKtsIl3rfCo+6zZdevGnMn1yRJLPBAMTCc07Xa/FBCcj69?=
 =?us-ascii?Q?FTpAysf9dOjk7XnT4KjHvMH14N6y8WXF4/PnVcdkSF4Wcg90mqubA9TdRU5d?=
 =?us-ascii?Q?ej89cvP/G6PEUil1O+1+omKFlzmH6a8eA9MlBQ4e4bwF8osco2F0VLG/PqB0?=
 =?us-ascii?Q?ywuEfkaY02M1JrSRGIhQoc8ez8k5qTDbcihVrY6NKOBbhkiV/Sh7PERAK9fd?=
 =?us-ascii?Q?YgJ2NZgVrGn9897fIF7pU9VIzBna5zkfrBsactm0?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: cbiD30mwURgL9QSv5vIso6uHfpyGOAYs1G0a2bf/hKUcxzVq5TjrUAgxoHdhhi9Y8Z0nR1xHNuhLBuuPYioosd592+9S+rWnEWd8uQmp3Q6VZb+duUjB/Zvd0E5dby2wjRdIKE38vnnZ1bprwVoweK/v2LNFTXjnCm4n4wocqjA+uUcQwMUgRbQ/1flnJ/WSW5Hv6WF4FQ3nD3Z0yFDmBWMlUjf8Mo4kKYxca/3yrTNqND4+Qiu86DFz+NedYxrF776U1QkcfRLNk+ZqtNZJxqipvZj8pXa4NASe9qkdWpvsRyfcKRZxNc4P26+Ej12X6IK0B+SNWDKUcaWCD93kVOPmKiSMzZnFN/SXQq6I9OILQSdUsdBX5bJEGtuM2PYLrBGv9s/I1YVdll8UrvnyVmV7Ao4fFG5lMIM+Z144fbyvvarewx1NCYGZBT+Y893gIlnINK7CjlAbEF0mCVLIwxYo4ZzIGPWUUrsJx1BlxFay9bkZ+q7bP5GVs3M0vv0Bh4iM4I4BapbQ3osx0zkwuhE3aygru66YAU6XTf2HVxhwt1FmPSn7+g0IpujYJMe+GuPoHSCttmPWpqp42L6LzCdnwtnTyb+DaBiC9YDmtWw=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fe174f3-09db-41ed-2d49-08dd3e4ad710
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2025 20:48:51.2781 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VRKc2q4pY4brS0Z6PrrMcd88DDr+fumM4KUbnnA74i89Yi73We8reqz26eXuFy6icuX4J4pScWijcTprtwS5BA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB4990
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-01-26_08,2025-01-23_01,2024-11-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0
 suspectscore=0
 mlxlogscore=577 bulkscore=0 phishscore=0 mlxscore=0 spamscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2411120000 definitions=main-2501260170
X-Proofpoint-ORIG-GUID: LzPTiXHpTNQnLzqPYfooRxYhxp8k0Rjx
X-Proofpoint-GUID: LzPTiXHpTNQnLzqPYfooRxYhxp8k0Rjx
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 62037
Cc: "ruijie@HIDDEN" <ruijie@HIDDEN>, "acm@HIDDEN" <acm@HIDDEN>,
 "philipk@HIDDEN" <philipk@HIDDEN>,
 "62037 <at> debbugs.gnu.org" <62037 <at> debbugs.gnu.org>
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: -1.7 (-)

> > the subject of the bug report is about #1=3D(a #1#) not #1=3D(a . #1#).
> >
> > > The purpose of proper-list-p is surely to find out in advance whether
> > > an algorithm one wishes to run on a list can proceed without taking
> > > special precautions for dottedness or circularity.

Maybe that's one purpose, OK.  But not any old
algorithm, which might concern checks of a lists
_elements_.  Only a check of whether list itself
is a proper list, i.e., has finite length.

> proper-list-p fails here.

Not in my opinion.

Whether a list is proper has _nothing_ whatsoever
to do with what any of its _elements_ might be like.

The list #1=3D(a #1#) has only two elements.  It' not
at all improper or circular.

It happens that one if its _elements_ (the second
one) is a circular list.

The list #1=3D(a #1#) can be informally written as
(a (a...)).  Its first element is `a', and its
second element is a circular list, each of whose
elements is `a'.  Nothing more is going on, here.

> > proper-list-p checks along the list's cdrs.

Which is exactly what it should do.  The properties
of an ordinary, proper list are satisfied.  That
list has a car that's an atom and a cdr that's a
circular list.  Two elements; length two.

> > Detecting the circularity in #1=3D(a #1#)

There's no circularity in that list.  There's only
circularity in the list that's the second element
(cadr) of that list.

> > requires checking along the cars as well.

No, checking circularity in a list, as a list,
i.e., checking whether it's proper/true, doesn't
require examining any list elements, because they
are irrelevant to whether the list has a finite
number of elements, i.e, whether it has a finite
number of cdrs, i.e., whether its length is
finite, i.e., whether the _list_ is finite.

> > To me that implies a (more expensive) proper-tree-p (or
> > similar) rather than proper-list-p, for the same reason that 'length'
> > returns the same result as proper-list-p for #1=3D(a 1#).

If you want to check whether each element of a list,
and each element of each list element of a list, ...
recursively, is an atom or a proper list, then sure,
that's more involved.  But it has nothing to do with
testing whether a list is itself finite.

_Users_ can define such checks if they really need
them.  I don't see any need to define such functions
as part of a Lisp implementation.  (And AFAIK other
Lisps don't bother doing that either.)

And if you go down that road of defining a "proper"
tree check, then maybe you want to also worry about
any list element that's a _string_ with a property
whose value is a circular list/tree, ... and so on.
Would you check each such string possibility, as
any list element?  Why not, if you really want to
check list elements for possible infinities?

[FWIW, I often use a list whose car is a string that
has a property whose value is the entire list (which
contains that string as its car).  I do that for
alists whose keys can be `equal' but different wrt
that property, because the cdrs are different.]

> > Would it help if the documentation of proper-list-p just mentioned the
> > phrase 'along the cdrs', in the same way that copy-tree does?

I don't think it's needed.  I suppose it wouldn't hurt,
but for listness there's nothing else than checking
"along the cdrs".  And that addition to the doc could
actually confuse some users into thinking that being a
proper list or not has something to do with the nature
of a list's _elements_, which it most certainly does not.
IMO it will likely only help mislead thinking about lists.

> It cannot harm, IMO.

See previous paragraph.  Not great harm, but more likely
to be harmful than helpful, IMO.

> But if you ask me, saying that doesn't make it
> clear what proper-list-p can and cannot do.  So bonus points for
> spelling that out explicitly.
>=20
> And maybe we also want proper-tree-p.

A `proper-tree-p' function is certainly different from
a `proper-list-p' function.  That's the important point.

IMO there's no need for a `proper-tree-p' function, but
at least don't impose such checking on `proper-list-p',
please.

Has anyone actually pointed out a need for a general
function that does what `proper-tree-p' would do?  I
seriously doubt it.  Any code that needs to worry about
such a thing would likely do whatever specific checks
it needs, and wouldn't need any such general function.




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

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


Received: (at 62037) by debbugs.gnu.org; 26 Jan 2025 12:53:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 26 07:53:00 2025
Received: from localhost ([127.0.0.1]:55155 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tc28J-0000ko-GU
	for submit <at> debbugs.gnu.org; Sun, 26 Jan 2025 07:52:59 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:52104)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tc28E-0000kU-Sr
 for 62037 <at> debbugs.gnu.org; Sun, 26 Jan 2025 07:52:57 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tc287-0008Ug-1w; Sun, 26 Jan 2025 07:52:47 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=jycP16MJakSl+ai5+efxyJG8uqEgF4P0JD1UsFCMNyU=; b=pGub7atAM4RP
 cL6Mps40/tq5inJkOBQKz2b+PedJdf6KM4oBxN+lUmSVL+AtKabhESuSUsHEo4wByRiGyeaUMX3ao
 llqekT6NX3tD+iMLzYKGWlElll6b6wE9kou/8CjmlviJRKDR2/KruSq+jWQ4bMbldZ9TQQebhoU/S
 BNWtHLiFlmhk5iLyFlqOoHaNc4Uuw5mxbVzjRmIqOE7YgSpO/0gDqlXXlhOteSAPxiwIHpNY/siYo
 hXKU62f6HEWAjTq3NVlZZNSQwkT08AzXvr89KPPN+urBHo20tW2lu6c7msG4rUlvVk4cZM9xNVMu1
 JH4dln5kTmtP6iT9xDvjRg==;
Date: Sun, 26 Jan 2025 14:52:11 +0200
Message-Id: <867c6hspok.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: "Basil L. Contovounesios" <basil@HIDDEN>
In-Reply-To: <87y0yx3g06.fsf@HIDDEN> (basil@HIDDEN)
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2. It should return nil.
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y0yx3g06.fsf@HIDDEN>
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 62037
Cc: ruijie@HIDDEN, acm@HIDDEN, philipk@HIDDEN, 62037 <at> debbugs.gnu.org
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: -2.6 (--)

> Cc: Ruijie Yu <ruijie@HIDDEN>, 62037 <at> debbugs.gnu.org,
>  Philip Kaludercic <philipk@HIDDEN>
> From: "Basil L. Contovounesios" <basil@HIDDEN>
> Date: Sun, 26 Jan 2025 13:40:25 +0100
> 
> Alan Mackenzie [2023-03-18 08:29 +0000] wrote:
> 
> > The list #1=(a . #1#) is clearly circular.  proper-list-p should return
> > nil for it.
> 
> It does.
> 
> But the subject of the bug report is about #1=(a #1#) not #1=(a . #1#).
> 
> > The purpose of proper-list-p is surely to find out in advance whether an
> > algorithm one wishes to run on a list can proceed without taking special
> > precautions for dottedness or circularity.  proper-list-p fails here.
> 
> proper-list-p checks along the list's cdrs.
> 
> Detecting the circularity in #1=(a #1#) requires checking along the cars
> as well.  To me that implies a (more expensive) proper-tree-p (or
> similar) rather than proper-list-p, for the same reason that 'length'
> returns the same result as proper-list-p for #1=(a 1#).
> 
> Would it help if the documentation of proper-list-p just mentioned the
> phrase 'along the cdrs', in the same way that copy-tree does?

It cannot harm, IMO.  But if you ask me, saying that doesn't make it
clear what proper-list-p can and cannot do.  So bonus points for
spelling that out explicitly.

And maybe we also want proper-tree-p.




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

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


Received: (at 62037) by debbugs.gnu.org; 26 Jan 2025 12:40:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 26 07:40:45 2025
Received: from localhost ([127.0.0.1]:55131 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tc1wS-0000CG-PW
	for submit <at> debbugs.gnu.org; Sun, 26 Jan 2025 07:40:45 -0500
Received: from mta-10-4.privateemail.com ([198.54.122.149]:37861)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <basil@HIDDEN>)
 id 1tc1wQ-0000Bz-4N
 for 62037 <at> debbugs.gnu.org; Sun, 26 Jan 2025 07:40:42 -0500
Received: from mta-10.privateemail.com (localhost [127.0.0.1])
 by mta-10.privateemail.com (Postfix) with ESMTP id 4YgrkB4wtwz3hhV4;
 Sun, 26 Jan 2025 07:40:34 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=contovou.net;
 s=default; t=1737895234;
 bh=nL7E7mDl1BZa9W80mfkhB+ZkXZ/DRS5axj3thJ1UGqc=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=kj7U97Bw2XQGkODp7cM2rM3d1ctA0YU18CiFs5I3+i8mqhWmxKoYXGcJzQZwJfiNq
 v71Ap0GFec9ai3hZ/K4jDn/g6aiXusin5zxNuZjNUWUf3Z1hB4vHpCX9jWK+iXZEw+
 KwgK9NmzEH6F+MMk62Jon0+r6VluWz1QgOnbv4qINelJC0yaYSKwn3kC0r38TFp2X/
 ua8Yo2Pi0Cfu5VWS8OLH5y8szvJgpWgKmFWqR0OUyVqQKBSg0XpjMb9l0c1JeuDklz
 ao/tdHMvrIhkCxg07NTJQx7bYt7TgsRp7S3At5khVZB8ZJHplSQMdf8FpdwJb7KGT9
 i2jegmHEKF3eA==
Received: from localhost (unknown [31.46.240.90])
 by mta-10.privateemail.com (Postfix) with ESMTPA;
 Sun, 26 Jan 2025 07:40:30 -0500 (EST)
From: "Basil L. Contovounesios" <basil@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
In-Reply-To: <ZBV2TlXqrirkPBNT@ACM> (Alan Mackenzie's message of "Sat, 18 Mar
 2023 08:29:02 +0000")
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
Date: Sun, 26 Jan 2025 13:40:25 +0100
Message-ID: <87y0yx3g06.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 62037
Cc: Ruijie Yu <ruijie@HIDDEN>, 62037 <at> debbugs.gnu.org,
 Philip Kaludercic <philipk@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: -1.0 (-)

Alan Mackenzie [2023-03-18 08:29 +0000] wrote:

> The list #1=(a . #1#) is clearly circular.  proper-list-p should return
> nil for it.

It does.

But the subject of the bug report is about #1=(a #1#) not #1=(a . #1#).

> The purpose of proper-list-p is surely to find out in advance whether an
> algorithm one wishes to run on a list can proceed without taking special
> precautions for dottedness or circularity.  proper-list-p fails here.

proper-list-p checks along the list's cdrs.

Detecting the circularity in #1=(a #1#) requires checking along the cars
as well.  To me that implies a (more expensive) proper-tree-p (or
similar) rather than proper-list-p, for the same reason that 'length'
returns the same result as proper-list-p for #1=(a 1#).

Would it help if the documentation of proper-list-p just mentioned the
phrase 'along the cdrs', in the same way that copy-tree does?

Thanks,
-- 
Basil




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

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


Received: (at 62037) by debbugs.gnu.org; 1 Apr 2023 14:19:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 01 10:19:50 2023
Received: from localhost ([127.0.0.1]:38362 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pic57-0003jB-Tj
	for submit <at> debbugs.gnu.org; Sat, 01 Apr 2023 10:19:50 -0400
Received: from netyu.xyz ([152.44.41.246]:57222 helo=mail.netyu.xyz)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ruijie@HIDDEN>) id 1pic55-0003j0-N1
 for 62037 <at> debbugs.gnu.org; Sat, 01 Apr 2023 10:19:48 -0400
Received: from fw.net.yu.netyu.xyz (<unknown> [27.18.235.88])
 by netyu.xyz (OpenSMTPD) with ESMTPSA id dbd53f2f
 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); 
 Sat, 1 Apr 2023 14:19:45 +0000 (UTC)
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y1nuw4p3.fsf@HIDDEN> <sdvwn2x34up.fsf@HIDDEN>
 <87ilehpelj.fsf@HIDDEN> <sdvfs9l2wox.fsf@HIDDEN>
 <83ileh2wco.fsf@HIDDEN>
User-agent: mu4e 1.9.22; emacs 30.0.50
From: Ruijie Yu <ruijie@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
Date: Sat, 01 Apr 2023 22:16:33 +0800
In-reply-to: <83ileh2wco.fsf@HIDDEN>
Message-ID: <sdva5zr3csn.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62037
Cc: acm@HIDDEN, philipk@HIDDEN, 62037 <at> debbugs.gnu.org
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: 0.0 (/)


Eli Zaretskii <eliz@HIDDEN> writes:

> [...]
> How did you search?  If you type "i circular RET", the first hit lands
> you in "Cons Cells", where both "circular list" and proper-list-p are
> described.  So I don't think I understand what you mean by "the first
> search result".

I used `s circular RET', because in my mind I want to _search_ for the
word "circular".  But I guess I never knew about `Info-index', so TIL.

-- 
Best,


RY




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

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


Received: (at 62037) by debbugs.gnu.org; 31 Mar 2023 07:50:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 31 03:50:12 2023
Received: from localhost ([127.0.0.1]:60303 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pi9WV-00051T-Vg
	for submit <at> debbugs.gnu.org; Fri, 31 Mar 2023 03:50:12 -0400
Received: from eggs.gnu.org ([209.51.188.92]:49800)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1pi9WT-00051E-Br
 for 62037 <at> debbugs.gnu.org; Fri, 31 Mar 2023 03:50:09 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pi9WN-0000N6-Hs; Fri, 31 Mar 2023 03:50:03 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=fzEaaYpqNjzCKlgKeLEWZ11Qno0cahHkQpwz2KtZcy8=; b=RqfB+l6eYYip
 /HyGUKfW4hJKSj8ubizXEVkizQomtyq+eQFhRe8HBxWGKlSRzfBc/aBJHZgswN6pPmJQSUSABHfiS
 pyqjwJq3CckW9G21dDR1dKeR3YeOpAmnleai7hvPzzHFvvAbveEpOayAItQLxfmyU71b+TS2y6zeK
 FH/0M4vzX0alP4l7JsMqFYYqwoR8gyq3hTJUFeGMd8jEmnPtETCr43ceYykQn3QeYNssQSkSAdzUU
 z9Y5Ep13Q3OMcb0WNLHe9YJ3HO1t3CHlcSaiinI2fTfoxDRDlc19eyiGXNUplR7RPRNbQ9kdxkZQV
 uzzHjoUE5u9S4kqdsghxlg==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pi9WM-0006ih-II; Fri, 31 Mar 2023 03:50:03 -0400
Date: Fri, 31 Mar 2023 10:50:15 +0300
Message-Id: <83ileh2wco.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Ruijie Yu <ruijie@HIDDEN>
In-Reply-To: <sdvfs9l2wox.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2. It should return nil.
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y1nuw4p3.fsf@HIDDEN> <sdvwn2x34up.fsf@HIDDEN>
 <87ilehpelj.fsf@HIDDEN> <sdvfs9l2wox.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62037
Cc: acm@HIDDEN, philipk@HIDDEN, 62037 <at> debbugs.gnu.org
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: -3.3 (---)

> Cc: Alan Mackenzie <acm@HIDDEN>, 62037 <at> debbugs.gnu.org
> Date: Fri, 31 Mar 2023 15:29:13 +0800
> From:  Ruijie Yu via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> Again, I find it problematic that there are two related definitions of
> "circular", and the first search result for "circular" under Elisp info
> manual is (info "(elisp) Circular Objects"), which is not what is
> intended for `proper-list-p'.

How did you search?  If you type "i circular RET", the first hit lands
you in "Cons Cells", where both "circular list" and proper-list-p are
described.  So I don't think I understand what you mean by "the first
search result".




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

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


Received: (at 62037) by debbugs.gnu.org; 31 Mar 2023 07:45:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 31 03:45:27 2023
Received: from localhost ([127.0.0.1]:60284 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pi9Ru-0004oz-UX
	for submit <at> debbugs.gnu.org; Fri, 31 Mar 2023 03:45:27 -0400
Received: from netyu.xyz ([152.44.41.246]:53138 helo=mail.netyu.xyz)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ruijie@HIDDEN>) id 1pi9Rt-0004oq-BS
 for 62037 <at> debbugs.gnu.org; Fri, 31 Mar 2023 03:45:25 -0400
Received: from fw.net.yu.netyu.xyz (<unknown> [27.18.235.88])
 by netyu.xyz (OpenSMTPD) with ESMTPSA id 8375fc1c
 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); 
 Fri, 31 Mar 2023 07:45:23 +0000 (UTC)
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y1nuw4p3.fsf@HIDDEN> <sdvwn2x34up.fsf@HIDDEN>
 <87ilehpelj.fsf@HIDDEN>
User-agent: mu4e 1.8.14; emacs 30.0.50
From: Ruijie Yu <ruijie@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
Date: Fri, 31 Mar 2023 15:29:13 +0800
In-reply-to: <87ilehpelj.fsf@HIDDEN>
Message-ID: <sdvfs9l2wox.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62037
Cc: Alan Mackenzie <acm@HIDDEN>, 62037 <at> debbugs.gnu.org
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: 0.0 (/)


Philip Kaludercic <philipk@HIDDEN> writes:
>> So, it all boils down to the fact that the current documentation is
>> lacking and/or ambiguous, in terms of "the purpose of `proper-list-p'",
>> as well as the two definitions of the adjective "circular", which are
>> not interchangeable in different contexts.
>
> It might be lacking, but I don't think the explanation is ambiguous.
> "its last cdr is nil" might not be awfully formal, but it does describe
> the problem.

I agree.  However, I would reorganize it slightly to make "cdr being
nil" stand out more.  See this snippet for `proper-list-p' docstring,
and note that I explicitly mentioned circular _list_ to avoid confusion.

--8<---------------cut here---------------start------------->8---
- A proper list is neither circular nor dotted (i.e., its last cdr is nil).
+ A proper list is a list whose last cdr is nil (i.e., neither a circular list nor dotted list).
--8<---------------cut here---------------end--------------->8---

Again, I find it problematic that there are two related definitions of
"circular", and the first search result for "circular" under Elisp info
manual is (info "(elisp) Circular Objects"), which is not what is
intended for `proper-list-p'.  This causes problems in understanding the
intended behavior of this function, manifested via this bug.

-- 
Best,


RY




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

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


Received: (at 62037) by debbugs.gnu.org; 31 Mar 2023 07:25:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 31 03:25:22 2023
Received: from localhost ([127.0.0.1]:60223 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pi98U-0004Hk-2U
	for submit <at> debbugs.gnu.org; Fri, 31 Mar 2023 03:25:22 -0400
Received: from mout02.posteo.de ([185.67.36.66]:58587)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1pi98S-0004HU-AA
 for 62037 <at> debbugs.gnu.org; Fri, 31 Mar 2023 03:25:21 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id 5BBD82402C2
 for <62037 <at> debbugs.gnu.org>; Fri, 31 Mar 2023 09:25:14 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1680247514; bh=qK7Al0z4QiownTlalf0aIrUktJ/h5bPdf8Z9c3AYv84=;
 h=From:To:Cc:Subject:Autocrypt:Date:From;
 b=VB9FhWRfQMYCNkUVqeUmCdt3M7rcjgSo4SpOjX/wwDBLsQuagmui5YDCGpbdBYmQp
 AX1N0Zbl3aHlVZNylBuL21RUZWOHUs1Ivhbqp7fZbC0Sda6EwvWQjM6Za5ZWHat1xL
 1GnmGANWjkiBCNWC0iXb1wW62IN1bgIDExGAQR/0UeLs5zb0AJxPKW5WoRqzCByQk0
 AGvbOQ7YzNiUvWrdpCvrXlHAXZLzqhKPKevIyejtypBbO6LEc+xRKJ8R4JQAlL1TkF
 x6y9esC2flzQiqkFGpkvZzUOXipRGewFqsGDMNpESs2IG3CQiGYcIrpee2gve/SA5+
 iX9XB3dxI6Oow==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4PnsJ94zKNz9rxM;
 Fri, 31 Mar 2023 09:25:13 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Ruijie Yu <ruijie@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
In-Reply-To: <sdvwn2x34up.fsf@HIDDEN> (Ruijie Yu's message of "Fri, 31 Mar
 2023 12:35:49 +0800")
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y1nuw4p3.fsf@HIDDEN> <sdvwn2x34up.fsf@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Fri, 31 Mar 2023 07:25:12 +0000
Message-ID: <87ilehpelj.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62037
Cc: Alan Mackenzie <acm@HIDDEN>, 62037 <at> debbugs.gnu.org
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: -3.3 (---)

Ruijie Yu <ruijie@HIDDEN> writes:

>>> [...]
>>>> Doesn't this point resolve the issue?
>>>
>>> No, it doesn't.  A circular list is defined (Elisp manual page "Lists
>>> and Cons Cells") as one where "some cons cell=E2=80=99s CDR could point=
 to one
>>> of the previous cons cells in the list".  A proper list (page
>>> "List-related Predicates") is one which is neither dotted nor circular.
>>>
>>> The list #1=3D(a . #1#) is clearly circular.  proper-list-p should retu=
rn
>>> nil for it.
>>
>> But (proper-list-p '#1=3D(a . #1#)) does return nil? [...]
>>
>> because #1=3D(a #1#)) is not a circular list, the cadr only has a
>> reference back to a the beginning of the list, but #1=3D(a . #1#)) is
>> cyclical because as you say a cdr points back to a previous cons cell:
>> [...]
>>
>>> The purpose of proper-list-p is surely to find out in advance whether an
>>> algorithm one wishes to run on a list can proceed without taking special
>>> precautions for dottedness or circularity.  proper-list-p fails here.
>> [...]
>
> So, it all boils down to the fact that the current documentation is
> lacking and/or ambiguous, in terms of "the purpose of `proper-list-p'",
> as well as the two definitions of the adjective "circular", which are
> not interchangeable in different contexts.

It might be lacking, but I don't think the explanation is ambiguous.
"its last cdr is nil" might not be awfully formal, but it does describe
the problem.

> If we all agree that only some pieces of documentation need updating,
> then I will try to come up with a patch(set) in the upcoming few days --
> or someone else can, should one volunteers to do so.  FTR, I am still
> waiting for a counter signature from FSF.

--=20
Philip Kaludercic




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

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


Received: (at 62037) by debbugs.gnu.org; 31 Mar 2023 04:46:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 31 00:46:50 2023
Received: from localhost ([127.0.0.1]:60069 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pi6f4-00089i-69
	for submit <at> debbugs.gnu.org; Fri, 31 Mar 2023 00:46:50 -0400
Received: from netyu.xyz ([152.44.41.246]:45834 helo=mail.netyu.xyz)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ruijie@HIDDEN>) id 1pi6f3-00089b-85
 for 62037 <at> debbugs.gnu.org; Fri, 31 Mar 2023 00:46:49 -0400
Received: from fw.net.yu.netyu.xyz (<unknown> [27.18.235.88])
 by netyu.xyz (OpenSMTPD) with ESMTPSA id 5415f575
 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); 
 Fri, 31 Mar 2023 04:46:47 +0000 (UTC)
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
 <87y1nuw4p3.fsf@HIDDEN>
User-agent: mu4e 1.8.14; emacs 30.0.50
From: Ruijie Yu <ruijie@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
Date: Fri, 31 Mar 2023 12:35:49 +0800
In-reply-to: <87y1nuw4p3.fsf@HIDDEN>
Message-ID: <sdvwn2x34up.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62037
Cc: Alan Mackenzie <acm@HIDDEN>, 62037 <at> debbugs.gnu.org
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: 0.0 (/)


>> [...]
>>> Doesn't this point resolve the issue?
>>
>> No, it doesn't.  A circular list is defined (Elisp manual page "Lists
>> and Cons Cells") as one where "some cons cell=E2=80=99s CDR could point =
to one
>> of the previous cons cells in the list".  A proper list (page
>> "List-related Predicates") is one which is neither dotted nor circular.
>>
>> The list #1=3D(a . #1#) is clearly circular.  proper-list-p should return
>> nil for it.
>
> But (proper-list-p '#1=3D(a . #1#)) does return nil? [...]
>
> because #1=3D(a #1#)) is not a circular list, the cadr only has a
> reference back to a the beginning of the list, but #1=3D(a . #1#)) is
> cyclical because as you say a cdr points back to a previous cons cell:
> [...]
>
>> The purpose of proper-list-p is surely to find out in advance whether an
>> algorithm one wishes to run on a list can proceed without taking special
>> precautions for dottedness or circularity.  proper-list-p fails here.
> [...]

So, it all boils down to the fact that the current documentation is
lacking and/or ambiguous, in terms of "the purpose of `proper-list-p'",
as well as the two definitions of the adjective "circular", which are
not interchangeable in different contexts.

If we all agree that only some pieces of documentation need updating,
then I will try to come up with a patch(set) in the upcoming few days --
or someone else can, should one volunteers to do so.  FTR, I am still
waiting for a counter signature from FSF.

--=20
Best,


RY




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

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


Received: (at 62037) by debbugs.gnu.org; 18 Mar 2023 13:48:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 18 09:48:27 2023
Received: from localhost ([127.0.0.1]:46685 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pdWv4-0003wu-Uz
	for submit <at> debbugs.gnu.org; Sat, 18 Mar 2023 09:48:27 -0400
Received: from mout01.posteo.de ([185.67.36.65]:57621)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1pdWv2-0003wE-FE
 for 62037 <at> debbugs.gnu.org; Sat, 18 Mar 2023 09:48:25 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 7974B24003E
 for <62037 <at> debbugs.gnu.org>; Sat, 18 Mar 2023 14:48:17 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1679147298; bh=hcXccycBGQ6KO/MEfafwQrEEsbpXhB4czDDr/oghKn4=;
 h=From:To:Cc:Subject:Date:From;
 b=HdkTK835vU4FDUyONSzTHlYNy0diahlW3ijMTj/ETh1hUtS5bLNnv8sC0ktqJFSth
 Lbvg8Bgs0D4YrCFrTrX+5xf72GDW8qjc3cIx7Msg+Vap+/Loa9+bUKvz3+z94TdsmG
 iv1/k3457NWmv1chm59c/x13ykswbI3ypiJj1tB5e+248XWsDYt41aiyYkP10sVy5E
 e3U8+S561N9eEPx/TP3BpClrx9qIkRlZWPQOtqKiYBTs7G7iScjOJyKt3rXEGsEz/W
 SKb0I5qPn/KAgV3rHp4ZYgCFj6vPSrh2hBTTj/izFRupRQJwqpA7LcRTx+5Z/kjkYE
 BirD9p1Fiw+Aw==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4Pf2Q86DSkz9rxF;
 Sat, 18 Mar 2023 14:48:16 +0100 (CET)
From: Philip Kaludercic <philipk@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
In-Reply-To: <ZBV2TlXqrirkPBNT@ACM> (Alan Mackenzie's message of "Sat, 18 Mar
 2023 08:29:02 +0000")
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN> <ZBV2TlXqrirkPBNT@ACM>
Date: Sat, 18 Mar 2023 13:48:40 +0000
Message-ID: <87y1nuw4p3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62037
Cc: Ruijie Yu <ruijie@HIDDEN>, 62037 <at> debbugs.gnu.org
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: -3.3 (---)

Alan Mackenzie <acm@HIDDEN> writes:

> Hello, Philip.
>
> On Sat, Mar 18, 2023 at 07:41:14 +0000, Philip Kaludercic wrote:
>> Ruijie Yu <ruijie@HIDDEN> writes:
>
>> > Notice the distinction between these two snippets:
>
>> >     (let ((lst-1 '#1=3D(a #1#)))
>> >       (list lst-1 (proper-list-p lst-1)))
>> >     ;; =3D> ((a #1) 2)
>
>> >     (let ((lst-2 '#1=3D(a . #1#)))
>> >       (list lst-2 (proper-list-p lst-2)))
>> >     ;; =3D> ((a . #0) nil)
>
>> Doesn't this point resolve the issue?
>
> No, it doesn't.  A circular list is defined (Elisp manual page "Lists
> and Cons Cells") as one where "some cons cell=E2=80=99s CDR could point t=
o one
> of the previous cons cells in the list".  A proper list (page
> "List-related Predicates") is one which is neither dotted nor circular.
>
> The list #1=3D(a . #1#) is clearly circular.  proper-list-p should return
> nil for it.

But (proper-list-p '#1=3D(a . #1#)) does return nil?  And (proper-list-p
'#1=3D(a #1#)) does return 2,=20

 +---+---+   +---+---+
 | a | ----->| | | ------> nil
 +---+---+   +-|-+---+
   ^           |
    \_________/

because #1=3D(a #1#)) is not a circular list, the cadr only has a
reference back to a the beginning of the list, but #1=3D(a . #1#)) is
cyclical because as you say a cdr points back to a previous cons cell:

 +---+---+
 | a | | |
 +---+-|-+
   ^   |=20=20
    \__/

> The purpose of proper-list-p is surely to find out in advance whether an
> algorithm one wishes to run on a list can proceed without taking special
> precautions for dottedness or circularity.  proper-list-p fails here.
>
>> Shouldn't the bug report be closed?
>
> Only once it's been fixed.
>
>> --
>> Philip Kaludercic




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

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


Received: (at 62037) by debbugs.gnu.org; 18 Mar 2023 08:29:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 18 04:29:13 2023
Received: from localhost ([127.0.0.1]:46140 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pdRw9-0004py-IA
	for submit <at> debbugs.gnu.org; Sat, 18 Mar 2023 04:29:13 -0400
Received: from mx3.muc.de ([193.149.48.5]:41440)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acm@HIDDEN>) id 1pdRw6-0004pd-PT
 for 62037 <at> debbugs.gnu.org; Sat, 18 Mar 2023 04:29:11 -0400
Received: (qmail 99076 invoked by uid 3782); 18 Mar 2023 09:29:03 +0100
Received: from acm.muc.de (p4fe155b2.dip0.t-ipconnect.de [79.225.85.178])
 (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP;
 Sat, 18 Mar 2023 09:29:03 +0100
Received: (qmail 5271 invoked by uid 1000); 18 Mar 2023 08:29:02 -0000
Date: Sat, 18 Mar 2023 08:29:02 +0000
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
Message-ID: <ZBV2TlXqrirkPBNT@ACM>
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
 <873562jylh.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <873562jylh.fsf@HIDDEN>
X-Submission-Agent: TMDA/1.3.x (Ph3nix)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62037
Cc: Ruijie Yu <ruijie@HIDDEN>, 62037 <at> debbugs.gnu.org
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: -1.0 (-)

Hello, Philip.

On Sat, Mar 18, 2023 at 07:41:14 +0000, Philip Kaludercic wrote:
> Ruijie Yu <ruijie@HIDDEN> writes:

> > Notice the distinction between these two snippets:

> >     (let ((lst-1 '#1=(a #1#)))
> >       (list lst-1 (proper-list-p lst-1)))
> >     ;; => ((a #1) 2)

> >     (let ((lst-2 '#1=(a . #1#)))
> >       (list lst-2 (proper-list-p lst-2)))
> >     ;; => ((a . #0) nil)

> Doesn't this point resolve the issue?

No, it doesn't.  A circular list is defined (Elisp manual page "Lists
and Cons Cells") as one where "some cons cell’s CDR could point to one
of the previous cons cells in the list".  A proper list (page
"List-related Predicates") is one which is neither dotted nor circular.

The list #1=(a . #1#) is clearly circular.  proper-list-p should return
nil for it.

The purpose of proper-list-p is surely to find out in advance whether an
algorithm one wishes to run on a list can proceed without taking special
precautions for dottedness or circularity.  proper-list-p fails here.

> Shouldn't the bug report be closed?

Only once it's been fixed.

> -- 
> Philip Kaludercic

-- 
Alan Mackenzie (Nuremberg, Germany).




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

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


Received: (at 62037) by debbugs.gnu.org; 18 Mar 2023 07:41:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 18 03:41:24 2023
Received: from localhost ([127.0.0.1]:46097 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pdRBr-0003ZW-Nu
	for submit <at> debbugs.gnu.org; Sat, 18 Mar 2023 03:41:23 -0400
Received: from mout02.posteo.de ([185.67.36.66]:36045)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1pdRBp-0003ZI-Hb
 for 62037 <at> debbugs.gnu.org; Sat, 18 Mar 2023 03:41:21 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout02.posteo.de (Postfix) with ESMTPS id E4A55240610
 for <62037 <at> debbugs.gnu.org>; Sat, 18 Mar 2023 08:41:15 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1679125275; bh=le3a70p0ax/sy4AITk+XI+5ALlvTmrdk9lQ3DIh37OI=;
 h=From:To:Cc:Subject:Autocrypt:Date:From;
 b=QDU3SJoEivUBiC5/0E5q37S1vCZUZc2XJ7huQsoPaiMxgmDQLiXQYm+GyEePbtIZn
 fSDzAl99MEgfpbBsugpdZNApd8Naq5mqg6VskRT7bNfv8ViTMmRIdA7oX7hKJqacwg
 zQwK4bsVn0lGmxumHW7SlOIPkCFk48dD+j7BC9EvQrlyX1PaZKvP+eIlV467+PKJwp
 +nu6bPx1jMLeudS8oNrdVQkIUdDF2+p3g7Zj2CKAc9afK7TzP1EYNCKnGl3/m6utI7
 R2fzlUEVT1wcohU7901FnYspv9wV5VIcfCkXtq1JkCass+HODzTUAzyoPSgxjkgNcP
 mYIpG1PSi6mBg==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4PdtGg2dV0z6trp;
 Sat, 18 Mar 2023 08:41:15 +0100 (CET)
From: Philip Kaludercic <philipk@HIDDEN>
To: Ruijie Yu <ruijie@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
In-Reply-To: <sdv1qlzsw0f.fsf@HIDDEN> (Ruijie Yu's message of "Wed, 08 Mar
 2023 12:13:50 +0800")
References: <ZAd0kYe6yCIZIpOq@ACM> <sdv1qlzsw0f.fsf@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Sat, 18 Mar 2023 07:41:14 +0000
Message-ID: <873562jylh.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 62037
Cc: Alan Mackenzie <acm@HIDDEN>, 62037 <at> debbugs.gnu.org
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: -3.3 (---)

Ruijie Yu <ruijie@HIDDEN> writes:

> Notice the distinction between these two snippets:
>
>     (let ((lst-1 '#1=(a #1#)))
>       (list lst-1 (proper-list-p lst-1)))
>     ;; => ((a #1) 2)
>
>     (let ((lst-2 '#1=(a . #1#)))
>       (list lst-2 (proper-list-p lst-2)))
>     ;; => ((a . #0) nil)

Doesn't this point resolve the issue?  Shouldn't the bug report be
closed?

-- 
Philip Kaludercic




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

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


Received: (at 62037) by debbugs.gnu.org; 8 Mar 2023 04:33:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 23:33:04 2023
Received: from localhost ([127.0.0.1]:47595 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZlU8-0003n9-9f
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 23:33:04 -0500
Received: from netyu.xyz ([152.44.41.246]:33404 helo=mail.netyu.xyz)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ruijie@HIDDEN>) id 1pZlU6-0003mg-4s
 for 62037 <at> debbugs.gnu.org; Tue, 07 Mar 2023 23:33:03 -0500
Received: from fw.net.yu.netyu.xyz (<unknown> [222.248.4.98])
 by netyu.xyz (OpenSMTPD) with ESMTPSA id 7492cc3e
 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); 
 Wed, 8 Mar 2023 04:33:00 +0000 (UTC)
References: <ZAd0kYe6yCIZIpOq@ACM>
User-agent: mu4e 1.8.14; emacs 30.0.50
From: Ruijie Yu <ruijie@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>
Subject: Re: bug#62037: (proper-list-p '#1=(a #1#)) => 2.  It should return
 nil.
Date: Wed, 08 Mar 2023 12:13:50 +0800
In-reply-to: <ZAd0kYe6yCIZIpOq@ACM>
Message-ID: <sdv1qlzsw0f.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 62037
Cc: 62037 <at> debbugs.gnu.org
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: 0.0 (/)


Notice the distinction between these two snippets:

    (let ((lst-1 '#1=3D(a #1#)))
      (list lst-1 (proper-list-p lst-1)))
    ;; =3D> ((a #1) 2)

    (let ((lst-2 '#1=3D(a . #1#)))
      (list lst-2 (proper-list-p lst-2)))
    ;; =3D> ((a . #0) nil)

Apparently, at least from the current behaviors, lst-1 is considered a
"proper list" because it is not a *circular list* [1], but still a
*circular object* [2].  This is because, in
essense, this is a list of two elements,
where the first one is 'a, and the second one is lst-1 itself.
Rewriting lst-1, we see that lst-1 is also not considered as dotted.

    (setq lst-1 '#1=3D(a #1# . nil))

That said, given that the docstring has some ambiguities on what
"circular" means -- as in, whether it means "circular list" or "circular
object", maybe at least the docstring and the Elisp manual about
`proper-list-p' should be updated to clarify which one it means?  Then
the implementation of `proper-list-p' can follow suite if necessary.

[1]:
(info "(elisp) Cons Cells")

> If the CDR of a list=E2=80=99s last cons cell is some value other than =
=E2=80=98nil=E2=80=99,
> we call the structure a =E2=80=9Cdotted list=E2=80=9D, since its printed
> representation would use dotted pair notation (*note Dotted Pair
> Notation::).  There is one other possibility: some cons cell=E2=80=99s CDR
> could point to one of the previous cons cells in the list.  We call
> that structure a =E2=80=9Ccircular list=E2=80=9D.

[2]:
(info "(elisp) Circular Objects")

> To represent shared or circular structures within a complex of Lisp
> objects, you can use the reader constructs =E2=80=98#N=3D=E2=80=99 and =
=E2=80=98#N#=E2=80=99.

--
Best,


RY




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

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


Received: (at submit) by debbugs.gnu.org; 7 Mar 2023 17:30:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 07 12:30:03 2023
Received: from localhost ([127.0.0.1]:47128 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pZb8V-0004KH-0y
	for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 12:30:03 -0500
Received: from lists.gnu.org ([209.51.188.17]:37562)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acm@HIDDEN>) id 1pZb8S-0004Jb-1O
 for submit <at> debbugs.gnu.org; Tue, 07 Mar 2023 12:30:01 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acm@HIDDEN>) id 1pZb8R-0000gl-Ra
 for bug-gnu-emacs@HIDDEN; Tue, 07 Mar 2023 12:29:59 -0500
Received: from mx3.muc.de ([193.149.48.5])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acm@HIDDEN>) id 1pZb8Q-0001Qr-67
 for bug-gnu-emacs@HIDDEN; Tue, 07 Mar 2023 12:29:59 -0500
Received: (qmail 90607 invoked by uid 3782); 7 Mar 2023 18:29:55 +0100
Received: from acm.muc.de (pd953aca1.dip0.t-ipconnect.de [217.83.172.161])
 (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP;
 Tue, 07 Mar 2023 18:29:55 +0100
Received: (qmail 27539 invoked by uid 1000); 7 Mar 2023 17:29:53 -0000
Date: Tue, 7 Mar 2023 17:29:53 +0000
To: bug-gnu-emacs@HIDDEN
Subject: (proper-list-p '#1=(a #1#)) => 2.  It should return nil.
Message-ID: <ZAd0kYe6yCIZIpOq@ACM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Submission-Agent: TMDA/1.3.x (Ph3nix)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
Received-SPF: pass client-ip=193.149.48.5; envelope-from=acm@HIDDEN;
 helo=mx3.muc.de
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
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: -2.4 (--)

-- 
Alan Mackenzie (Nuremberg, Germany).




Acknowledgement sent to Alan Mackenzie <acm@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#62037; 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: Tue, 28 Jan 2025 19:15:01 UTC

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