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.devel Subject: RE: [External] : Re: The new keymap functions Date: Wed, 17 Nov 2021 16:06:55 +0000 Message-ID: References: <87zgq8sfw3.fsf@gnus.org> <87v90s7dp6.fsf@gnus.org> <87ee7fp66g.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31182"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "emacs-devel@gnu.org" To: Lars Ingebrigtsen , Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Nov 17 17:22:29 2021 Return-path: Envelope-to: ged-emacs-devel@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 1mnNhd-0007tk-1W for ged-emacs-devel@m.gmane-mx.org; Wed, 17 Nov 2021 17:22:29 +0100 Original-Received: from localhost ([::1]:59940 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mnNhb-0002YN-Pd for ged-emacs-devel@m.gmane-mx.org; Wed, 17 Nov 2021 11:22:27 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:51328) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mnNSo-0005Uq-96 for emacs-devel@gnu.org; Wed, 17 Nov 2021 11:07:10 -0500 Original-Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:25840) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mnNSm-0003Sd-0o; Wed, 17 Nov 2021 11:07:10 -0500 Original-Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1AHFhuZ9019635; Wed, 17 Nov 2021 16:07:05 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=CVtTVaqd3cNxytih3pmXYQ/xt1+zz0C5/FTDY5mAKC0=; b=SG5AlwoG8CjBJg3nCh81mbHJdtucJIJyAP7lRGkN3Mu4dAbCOPsURSvWsLb+V6SDmXyF iiJKxnYfoAaDVyDguoz5AcjVzGvGtUQaTzQ70F7pyorZUihYqRmLVRPbZlQyhWZVBM0M EFGj7ieuqboZkCGdQRkcJgE5u3H+i6zncYwldmTPl/jEBlClGb1V5YnPzaK7sanlrwRG bYcBumUPi3+vLmtogXpY7N7ZRNaucUAWTQNUX+KL+WWQzYDl4MxiQNuBRYQ/s3Vy2nsT bNvL9xfrpaPss7xyRlVYzqgNf0E1jjElq6T5Agw4zh6z2zf3nAzQqjs5b3mbWkDJMW8C fg== Original-Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3cd2w8s3r7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 17 Nov 2021 16:07:00 +0000 Original-Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1AHFxGkr024082; Wed, 17 Nov 2021 16:06:58 GMT Original-Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2169.outbound.protection.outlook.com [104.47.59.169]) by userp3020.oracle.com with ESMTP id 3caq4uf2d1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 17 Nov 2021 16:06:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WAlMnUnJKdq18jjiRNPHzAMpEB50AtEzi7sVx+/Kpw5btMVZZ3tHv1xaYqkoNGnvPIsXvigWrW2VkLHyOT+I0KiGurpKr/CTmofv/QudqEQLo7w3DgqQlZLwdCoBTWfbNRJhjF5w+pNPBvUqK/3//med/uZ3AUfbrvbEchvc2ySrr3Wt62bUeKsvPHxcHgF5rvFp2U/fznBgh41OZGIZuWOBCguWYGWNE3OTNAN3TkSYWZkzYaoDe+jweFIAGrHOtAZHtSftaIMUc/FWWsHUGlm4ETkRd/VDGRTuCEfU4tPy/tP3ezfA+BDSwgH5K3x9pZaV7wHInxGt+N7MfS8XKw== 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=CVtTVaqd3cNxytih3pmXYQ/xt1+zz0C5/FTDY5mAKC0=; b=Mz0aX7wt8NpsKx27DxX42Cb5ssc4rBYGZ1wg/uAHUf2iGPrCicKRH44mCitVhBLMdJ8Gsn1ZtVZLKN2MCBdMLd40Vnaf9LscK9Sd35icfOASS9dc9X6pYuRXvl40rxX7fgCDLbnUjxJ2CjRnYyeqLsXusl8/bjyZfMXFZqsWwlLLznu8j7BU9ygiRicSq5hS3XP9E7hKZ0HD7fwAgOJkl/zYIwGADfoevY2NEbEHJXlM3YyUgIrvl2zbCiRb42xIU3BX0hO7Jpy8O2zjp+7esrJXeS6MNHDSiopwkkHYJfsBu6/cCq51nnT/9x7YzB/FNFKqYGG1yGvPYrSxYsIV8A== 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=CVtTVaqd3cNxytih3pmXYQ/xt1+zz0C5/FTDY5mAKC0=; b=v72ZBHyH83bu2QFtRK3CU6jrY7AHMrNTHBGfVzAu7QFSSzpP7j8T7TBQJLiyRy1uTDRjFStXoJdMr7arlOnagWG17na959VFEd0U2u/kud9XTDwNw9t95ex3s4uGLWyBfzCeP9vrfabnEE7D5cfTD4y6PXAYzXaxjWOCywCf2Dc= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by BY5PR10MB4259.namprd10.prod.outlook.com (2603:10b6:a03:212::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.19; Wed, 17 Nov 2021 16:06:56 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::4588:646c:e330:8bc0]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::4588:646c:e330:8bc0%7]) with mapi id 15.20.4713.021; Wed, 17 Nov 2021 16:06:55 +0000 Thread-Topic: [External] : Re: The new keymap functions Thread-Index: AQHX240T03yHJMt4A0ieWZUBRLv4nawH0vwA In-Reply-To: <87ee7fp66g.fsf@gnus.org> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d98357c5-03c9-4d47-2dad-08d9a9e44712 x-ms-traffictypediagnostic: BY5PR10MB4259: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VaSXwnsu68k0uA9R6KbDtsG0GypHBtFabM1auZ7Usj/aQxE51215Mm87/vjmhsg4GJeMpfRlpCcEbkDbZDb6Bl6RpULW+goQvEqtDyU9hDTPXez/+uyk9GE6Zp3Eslbs6iHEdxONh9mezOLOF2+pv86XO8VsmR5GoJ1ZC9pFOYsZLcscNCbLq1u+qtegGDXs0M4y5x1SwtkF5LNkEqCjS7W4MEgaXUWI2TWVTvj3MGrL0ctMyJMJy2xciyLkURmicVHbESgVMRxuE3+9RFlesC+JwRhjQHMqsz1leD3hnRfIkF+FKWi1boV+HzhunagPv6JmGwOqIGX2bNH7RCWfHbStg2HJERg0n/4lB/nk66K50TZuegz6a3QhL/HJJ9J7UMMGTUIL/ZHAPOqqVbVGLSfsCRvVx4Qy1DbS1GsXZVR1rTbIakN92x3CpWVum8X1lEdBtuJW2dR4ph/izDLQNV/qTLXKJQJ72Gz+mStLm51PCMv3k8wSOUsxmYwUoY4SZRkrofX74BQuCaqVtCJY8TnlGiODSu0tuUo1ZFW8fD75b33xSY+A8VdweGb09X5uEq03mgCtJDQ0qm04uzplaQlpTwDH221vACFgFujpPEpk6h6HqXW/ZEXxhfNLBWORWJrvO7YiMTTZUH3LPghRQ8tevZvDA9e1seC9FewJ1q5qjlNScBYVFYf7SEW9E2pCM0CBaFnTSC1kjUAJWL1btw== 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:(366004)(5660300002)(66446008)(66556008)(64756008)(9686003)(76116006)(26005)(8936002)(38070700005)(38100700002)(6506007)(66476007)(66946007)(52536014)(186003)(8676002)(122000001)(55016002)(7696005)(4326008)(316002)(44832011)(110136005)(86362001)(508600001)(2906002)(71200400001)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?UzcKWL9VPCM/FOcaV0an5RyFaQ68wir9LHJsqvbM6DyscDT7fOlCnm8lHEzm?= =?us-ascii?Q?Pdc0ZeXNwfggMOtzuP9mHqi9IGUp3EuQtn7Yu52h7sWSu5uFOGuTcF9TrFti?= =?us-ascii?Q?go/LUhgE6Dad+VK3gO85HsfznOD86Py08AACNBOlJ++cFJStVHusWsn0xrNI?= =?us-ascii?Q?llyC317DuzPDOHDUoduyi3TkfMRwmfLh5X5zmaSyLbZH2YDkjqy68BpJ8ilZ?= =?us-ascii?Q?jIffWpfjBb1EOARTXLbj8I9TSrdXHJK+1xq4IyJgwzDFyg+NwPy3yVfMFv9J?= =?us-ascii?Q?h+V8iwXgOyXu9lymFFWJU68gX3eXfldN1XHj/dMdhWqHs7eYzO4nzQuF0MQw?= =?us-ascii?Q?xpA1mWr0UouLCh09jCe02BEat6y2GqDY/By1gdKqtctHyy9eU8a6gWmy5e09?= =?us-ascii?Q?yan3KlLCK9w+m5KnJg4Al9p3hQ6gd0YUGGM3G3r2tGaxLMngYog3ET8fQHUN?= =?us-ascii?Q?syJJHfCiqbFUC8aZCq+IOyKHVYTUZCamo4U43oOapvXYy5+FF1hbrMkhRUW+?= =?us-ascii?Q?l34O+sECFHqsuRkCdrF+wLHqH+KgebM0AjcSydSI95AkriZJNCFKDn7lO4SU?= =?us-ascii?Q?mc2aWXFS8ihJ+SAl4Rvi99YozMN/fSXYQPFXZVRlfmCBj2cyLSvEuji+YQVM?= =?us-ascii?Q?mc 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: d98357c5-03c9-4d47-2dad-08d9a9e44712 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2021 16:06:55.8581 (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: yYKTaygdl3DarIbQrxN2miTNaSB60yml3Y5fWmUp1Pk8L7/hBoUkVKbOUzuzIh6N3+6lLi8InMmdjsaOf58yhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4259 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10171 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 mlxscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111170075 X-Proofpoint-GUID: rVZQcFVzZOgOoFQPX9hubkIPtmSLP2b1 X-Proofpoint-ORIG-GUID: rVZQcFVzZOgOoFQPX9hubkIPtmSLP2b1 Received-SPF: pass client-ip=205.220.177.32; envelope-from=drew.adams@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:279636 Archived-At: >>> Like I said before -- all these functions >>> destructively modify a keymap, Is "destructively" important here? If you intend to make the same argument without it, then you should maybe drop it, for clarity. Otherwise, in the future someone wanting to be faithful to this `Lars Doctrine' may think or claim that it applies _only_ when destructively modifying. (Or is that what you mean/want?) You should be clear about what you're setting down in your new tablets of stone. ___ >> That is true, but what users think of operating >> on is a key sequence, not the keymap. >=20 > Perhaps they think that because we've called the > functions stuff like `define-key'. (Which we're > now not doing.) Perhaps. But perhaps not only for that reason. They think that because that's what the operation does. Users are primarily concerned with _keys_, not keymaps, if only (but not only) because most user settings of keys are in the global map. Knowing about different keymaps and having a need to change a map other than `global-map' is not in the first approximation view of an Emacs user. And rightfully so. We have, and manipulate, multiple keymaps _not for their own sake_, but to _organize key bindings_. ___ But if you're really set on doing this then you should, I think, be consistent with what we do currently, and have always done, with other objects that have parts/attributes: we use the name `set--', not `-set-'. Consider: set-buffer-* set-case-* set-char-table-* set-coding-* set-cursor-* set-display-table-* set-face-* set-file-* set-font-* set-frame-* set-fringe-* set-input-* set-justification-* set-keyboard-coding-* set-language-* set-marker-* set-mouse-* set-process-* set-shell-* set-terminal-* set-window-* Not only that, but names matching `.*-set-', that is, with some name part before `set', typically have, as the part that precedes `set', a library prefix or a language prefix, not an object/type name. There are relatively few exceptions, where an object name precedes `set'. And even in those cases the object name can usually be seen to also be a library prefix. With your preference of emphasizing the keymap, setting a key binding in a given keymap should, in keeping with our convention, be called something like `set-keymap-binding'. You're instead creating more inconsistency, it seems. Please take a look at existing names, and I think you'll see that I'm right. They follow a pattern, and it ain't the pattern you're trying to follow now. ___ Oh, and I don't find any existing `unset-*' functions (i.e., names starting with `unset'). The only unsetting functions I see are the `*-unset-key' functions. You could think of those as almost starting with `unset', as the part that precedes it is just local|global. But again, nothing like using the prefix `keymap-'. Unsetting has traditionally been seen and handled as just a particular kind of setting, AFAICT.