From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#47425: 26.3; `plist-get', `plist-put' should accept a TEST function Date: Mon, 27 Jun 2022 17:07:16 +0000 Message-ID: References: <71C43639-B441-4BD1-93A0-C8DDE1389529@acm.org> <87edzawcv8.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26049"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Philipp Stephani , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Lars Ingebrigtsen , Nicolas Petton , "47425@debbugs.gnu.org" <47425@debbugs.gnu.org> To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 27 19:08:15 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o5sDe-0006bI-Bb for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 27 Jun 2022 19:08:14 +0200 Original-Received: from localhost ([::1]:33602 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o5sDc-0005Rt-W2 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 27 Jun 2022 13:08:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40298) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o5sDS-0005Qj-Cr for bug-gnu-emacs@gnu.org; Mon, 27 Jun 2022 13:08:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:59248) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o5sDS-00031e-49 for bug-gnu-emacs@gnu.org; Mon, 27 Jun 2022 13:08:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o5sDR-0000bV-T8 for bug-gnu-emacs@gnu.org; Mon, 27 Jun 2022 13:08:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 27 Jun 2022 17:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47425 X-GNU-PR-Package: emacs Original-Received: via spool by 47425-submit@debbugs.gnu.org id=B47425.16563496512269 (code B ref 47425); Mon, 27 Jun 2022 17:08:01 +0000 Original-Received: (at 47425) by debbugs.gnu.org; 27 Jun 2022 17:07:31 +0000 Original-Received: from localhost ([127.0.0.1]:53142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o5sCx-0000aX-AV for submit@debbugs.gnu.org; Mon, 27 Jun 2022 13:07:31 -0400 Original-Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:11358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o5sCu-0000aA-8r for 47425@debbugs.gnu.org; Mon, 27 Jun 2022 13:07:30 -0400 Original-Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25RGIweQ020629; Mon, 27 Jun 2022 17:07:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=8GObLRacMqA4ODKeD6j0BdqO4Ms81qD2w9vmsvI5prE=; b=KXOdENOxA0p3r5Of99GYS7mKaqmIyu0VAHU2SSQY0kxp/Fxw+Po1BmVnehzlpIXO1HXF KPELh/RaOjv2g3QNHL2QDZMc4BtN5ZHYjbASbbxJFGbzw1AhlQ0282B8R/ZEDw7JL6cC l9k+TTxBRNleiL3Mt9zjHvh8876ktNVRXUzeVdLjTpatz7XoQG1W6YYtMZdKz5ykq57V Eg0kfKaRWyNJVgyIP8J2GHHeKJgAC9LMt7C/EQJcRDXb23wa0/yGgJjDol1fIinMcz8v 8tCBPCo9PY4lIvNTXJlKB5QAb4WOcu9pfnod0QhHocTKKggKGry1AbwlgY3t2EaCsQEC 7w== Original-Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3gwt89usgd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 27 Jun 2022 17:07:20 +0000 Original-Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 25RGkHTk038813; Mon, 27 Jun 2022 17:07:19 GMT Original-Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3gwrt1g27d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 27 Jun 2022 17:07:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PwpV47SlnpEU4+SHR/Lu+0cE6Sn8TIXx5h/fbii/+3u4o5SCpAtNSvTYp+UmEpQOVdOByoTCg3nciGFYMeLrWfvtNVwsl6ehjOhTFyQIRxlJ/oSEXqf5iCUtjlFI3kvUds1SUZ6bptIL630WeTHfEuejz8CvOWyX+rpnpSG9Xrnhjf/KeVB5xZQlUvGs+gjVtW9rKFwp08G7lnuFqCH8teQ8EWZSgnzIuGZs8IDvJ8MhIoBJ4ceJp1Xzr87aHPWFZqM/1fIlmjwsmGoLI4LlAjwXxYu1SfJFvfV0fAV6r8l9MEBFSYu4p5iWrm/371DF4v7XF6hLdtc1uspqiTJMGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=8GObLRacMqA4ODKeD6j0BdqO4Ms81qD2w9vmsvI5prE=; b=UO5mnSMSeLWURyEThsNWsnnG+y2q1zaPqWBPOH6NG17QENMdNkYx1o/bWiL1fzVVNQJcnlSRBeTlaGExnUI0pmOLPaBPu7thmTIvuVOBhVGPlkUY3EeWULc2OkrWkJ9RRGc1Bk6IZvyNh3pT1i7zAUYC/jrfMRQHSCm+mVhOIokH7u3vKxloVDK0BqbhZuhAlqUK1LVEkQ3wuTpFeo5yOQ31/4ygKLzOzrAzQBs7qT4ol2t+XE+gSSfWfaxkC0orht9OF7mxwoUIV+6LG9qMaUFaslroF6beCaFvOvcWidsX9oGRQFeXzaQeijlBOEIM5p/fzVTI5Ljs4mhHMqIx3Q== 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=8GObLRacMqA4ODKeD6j0BdqO4Ms81qD2w9vmsvI5prE=; b=u6EPkwtpqqG7b/irFtWJ8lAWm3+epEpSsadqZqXdqY2Nl46YMCRumT/fwfrCOiNv9RbGv8uXc5/lqrffQ5XExGPX5t9s8QCDRbGxXVLJHpd9IAGnoY4sagCjlGOYbWinwki4sEsJt1AVlaDu+eeVygxzQkQ/MzA42uy0bID9hGo= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by MWHPR10MB1359.namprd10.prod.outlook.com (2603:10b6:300:1f::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Mon, 27 Jun 2022 17:07:16 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::581b:ae2f:16b9:80fb]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::581b:ae2f:16b9:80fb%6]) with mapi id 15.20.5373.018; Mon, 27 Jun 2022 17:07:16 +0000 Thread-Topic: [External] : Re: bug#47425: 26.3; `plist-get', `plist-put' should accept a TEST function Thread-Index: AQHYijf9GX8zHYq7sUOGXXN9pboAq61jcx1Q In-Reply-To: Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9caee6b1-b402-422e-9d48-08da585f7cea x-ms-traffictypediagnostic: MWHPR10MB1359:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rrZPrGOvSuTMNjjscJeHmiR+RoAMa+hBI6xb+1qnsVe1PigtPkSUIHQ3qDSXhOO8CWwn0oDQU4XEss1uUposJGRCtr1MPcy8U9wWi7c3pwkGmHff6JDNGvNczv/RZUJz2UJeu/OapHrzvUvUhYciFy1Bn6WlCt7Hfw3NZtgpHeltnTQhUEgclX3EYtoQ+4/zWiugkdW3jgTBfZYdCysSeabE8vjGGEseJTvY6i9oyaQAZ2MKrz0OHxAgG0MnCrCnLnR6QX3u5+mhZ+0X395SyYlqMO1DXYqbTKrJ1AGFQDBZMtOXCmG5IZoV7WBXbsUM0T38Bygd9hRq5Y0rDmS66GT4/YpdRK01h/17E+h68mBrghiwxIUeza/gH53PzMIUBy8sB465w8U2GLD/fyIeB7Zf1FVaufI4vmuddQWJmWshj26lJdJUSXSQXYki9p7x426ILUmEz1BlVIv3baXEp14ESso95a67LozKmtl6x/zV6ZEf4xoYYf784WGPqBhiH4yhdeUyIpESY44RciyGhGYTQQE0blNuko70p+TS07DTar+VatbILGq0LSsIbFvmB1nDy5abVLBifWa+HApUtNR/NSS0lMvQG0lMv1Bwoo7F1HQRf3Vm4jC7LDuCLXztMM74dAJPxwbEeBqecqMmexW+7fX4mYXI20RUEEdRljO9ghy7OkXASJVcOoKskv69s/vzNqBbErpe6cYAXOxiC/K9QdaFzPEd0ZhZvY6IIejr8dL5f9U3XHIQZtXMj 6so32awAKuXg2stcOGpFu6J+1d9/LSw+69LCviAYUIXJhNToALamwyfNT1aqgFHn4pgt26AaXSOElHm8k+nhGY74w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(346002)(136003)(376002)(39860400002)(366004)(122000001)(44832011)(2906002)(186003)(4326008)(66556008)(478600001)(38070700005)(8936002)(33656002)(83380400001)(55016003)(71200400001)(5660300002)(38100700002)(66446008)(296002)(52536014)(86362001)(54906003)(6916009)(316002)(26005)(9686003)(6506007)(8676002)(66476007)(41300700001)(64756008)(66946007)(76116006)(7696005)(81973001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: DmujPYl6MY+UFliWZ4waLG5RUQUKo+IM6nz/YchGKHi+wQ+Dx0bRBU0sb5PIyuCKoCcJsnOAiLH/HjN0APIAkAaYC0DooHLieFwGrgkuJR13boIJNQoFD73K+GZ66hRoaicFROgnIOn7zLKvm85ezwtOtkgMlVSzqTk6pU7gXlPpZwFFllEvAv3fIWTCXhkNJNXDTuOPPUdk1nVI9prZICVzseJU7qHzzNB/3ccWqlBP6+JFTYDrswJhUIyi9EqYdu+WfMXPrmERyRFM1TACThl/hh4HgGWEpfESOtnTiIyb0JxoM+J048trzxhAJHz4d1upwGpM5PTj0NDgGupuX86CLt1bddApFQbcX+QdKCvEnDVwUgBN4Ba05yWmkzZpI1UXX9ySTldXiN+sFNtqDiiT0Nn55aCRQNtRg3nt+xKopLpXgMpehOaKQJt7mIV9l+R8+mFGj3TM6vfPeQ4pTKdJvVDnUuYCkPIL2zYG8PNGryBffo5uMfUxepMr382MXiYSC1i4JOZsAjtsWQnHcKQJA4NOT48sgrs+yREA+yBhuyHuMVRaom19Ny7QIZqTBJZvU4+mxQ7NT9xGBkz+mfkYHUeSK64mBFiGKHazgwQNnfM+ogM3zV3O15aE9cm2EL3WzqM0RJaGtAjBVAW1UrGANpiWrF2eFw5o6cy7Q1Q4wubvkT6W8OXihm300N/bRnNeZZ0vufF9L1IjeQeYCzEplFs3RZlMt3bWB6SvZkMRl3qq2y44IWodIr th+3X+NtmRboNaCfVQHE36m/SDJTHHdKzVGVh2+suDYbYjElRbGDLh2OB86+0yCsM4d34QJ61XJRDkW0qJHSAXGbK/h6O+iJEi X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9caee6b1-b402-422e-9d48-08da585f7cea X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jun 2022 17:07:16.6609 (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: cPiDmBUZBbQuein7WjFdJeCgYNgQpt2TaEDTZw7sX8vlWSKfpTdYGI6YwvTnJegeUUlCtGVRrxjmu1sgouCaVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR10MB1359 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517, 18.0.883 definitions=2022-06-27_06:2022-06-24, 2022-06-27 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 phishscore=0 malwarescore=0 mlxlogscore=798 spamscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206270070 X-Proofpoint-ORIG-GUID: CIDlA0eyLbVobPSxneSKJKIL9lhVp3TY X-Proofpoint-GUID: CIDlA0eyLbVobPSxneSKJKIL9lhVp3TY X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:235484 Archived-At: > > Plists with, e.g., string keys aren't uncommon > > Really? Can you give examples? Maybe I could, but I won't try. I take it that you don't think so. That's fine. My expectation is that more users nowadays may be inclined to use string keys than in the past, because (as I said) of the influence of things like JSON. This enhancement request is to cater to what I expect will not be all that uncommon. And there may be more and more use of conversion of alists (which do often have nonsymbol keys) to plists. For whatever reasons (good & bad). Note too, BTW, that (not uncommon) !=3D common. ___ CLTL2, "The Property List" says, in passing, that `symbol-plist' keys are "typically" symbols. It doesn't say that they _are_ symbols. And it doesn't say anywhere that they need to be distinguishable with just `eq'. In any case, I'll grant you that using symbol keys _is_ common. (The same is true of alist keys, BTW.) ___ BTW, CLTL2 also points to this as the essential difference between a plist and an alist: a property list is an object with a unique identity; the operations for adding and removing property-list entries are destructive operations that alter the property list rather than making a new one. Association lists, on the other hand, are normally augmented non-destructively (without side effects) by adding new entries to the front (see acons and pairlis). No mention of plist keys being symbols. However, it's also true that CL defines `remprop' as using `eq'.