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.)
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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).
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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".
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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).
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.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).
Alan Mackenzie <acm@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#62037
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.