From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Joost Kremers Newsgroups: gmane.emacs.help Subject: Re: not good proposal: "C-z " reserved for users Date: Thu, 11 Feb 2021 09:30:16 +0100 Message-ID: <87mtwbym2r.fsf@fastmail.fm> References: <3966473cc17dcc4d4a30@heytings.org> <87y2fv2g5o.fsf@robertthorpeconsulting.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10826"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.5.8; emacs 27.1.90 To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Feb 11 10:48:12 2021 Return-path: Envelope-to: geh-help-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 1lA8a4-0002hs-0E for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 11 Feb 2021 10:48:12 +0100 Original-Received: from localhost ([::1]:34674 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lA8a3-0005Ua-2S for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 11 Feb 2021 04:48:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50180) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lA8Xa-0004Ox-09 for help-gnu-emacs@gnu.org; Thu, 11 Feb 2021 04:45:38 -0500 Original-Received: from out1-smtp.messagingengine.com ([66.111.4.25]:48853) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lA8XX-0002IO-Ow for help-gnu-emacs@gnu.org; Thu, 11 Feb 2021 04:45:37 -0500 Original-Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 328CC5C018D for ; Thu, 11 Feb 2021 04:45:34 -0500 (EST) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Thu, 11 Feb 2021 04:45:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.fm; h= references:from:to:subject:date:in-reply-to:message-id :mime-version:content-type; s=fm2; bh=WQtzH/4f4IUwbrovj4nqidaw/M a9VTbnyslZ7SJ29YE=; b=hQtwV/adG7ls+rcq1kTsY09jiVUU4dXyZN1egHRyjl Ktvb8UceehJwxBrMM0OnNTLQ7usfH4I4u0si1m79n/c4S1+Os6KqzNv7TUJWjN8L ed+Zn0Pwfhv9uI4nJqClAwDm5qBEjfPTW4WZL3ASu6oBZ52fFVR88Z+HyosKjTzm A8GV8fcujtpBzzoIn6dz6yTKd1a2akt8GzgX4dKcFmJX5oLrI5n4zBs91QaPcJ42 FSYGDbmkjgKbzpJrPnu/9heYiRpUwi66ChAV8PaAVT/m74M7soCswos9BNeQ+c8Y 50okmlr3TY6LGrVeb5ut9KJ++5MmBADoJDUE6qqAOE4A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=WQtzH/ 4f4IUwbrovj4nqidaw/Ma9VTbnyslZ7SJ29YE=; b=JHghZIQadB5g0hml188kvx MFtKRk2f/uTKompyFQ8C84ru1TErSdF4Lw41ekkSrvtmipraYNYHmlaccl9VFDe6 RTMmYguL2Lm1XVYDw6tcQbpZ6SFBYrzq8sFJ5tmp+axPxwrlsqrF8q31t7xxgH4J kd57azaIA6Ph+IBPZEjXpiz+FcTLO5oh5uEypz2ePo56zFVEDUMF2I6sobWSVh9Z MbGcFtn3hxW6QBQGyAcTTK7au8X9576XZ2Sg/DVf6j9NLeB9AScUgWrafjicWdP9 bnVCCchCKJ0X867tcC7kd3BaMrZDZE0LKPOTeewihVWgqyuBcDddobvNfF3t7TMQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrheelgddtgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepfhgfhffvufffjgfkgggtsehttdertd dtredtnecuhfhrohhmpeflohhoshhtucfmrhgvmhgvrhhsuceojhhoohhsthhkrhgvmhgv rhhssehfrghsthhmrghilhdrfhhmqeenucggtffrrghtthgvrhhnpedtteffjedvteeuie dtgfdtledttddttedtffeftdffhefggeffkeegudefffduvdenucffohhmrghinhepghhn uhdrohhrghenucfkphepleehrdeluddrudeljedrheejnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepjhhoohhsthhkrhgvmhgvrhhssehfrghs thhmrghilhdrfhhm X-ME-Proxy: Original-Received: from Lenovo.fastmail.com (ip5f5bc539.dynamic.kabel-deutschland.de [95.91.197.57]) by mail.messagingengine.com (Postfix) with ESMTPA id B1EC424005A for ; Thu, 11 Feb 2021 04:45:33 -0500 (EST) In-reply-to: <87y2fv2g5o.fsf@robertthorpeconsulting.com> Received-SPF: pass client-ip=66.111.4.25; envelope-from=joostkremers@fastmail.fm; helo=out1-smtp.messagingengine.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:127805 Archived-At: On Thu, Feb 11 2021, Robert Thorpe wrote: > Here are my opinions on these things. > > * Moratorium on New Emacs Keybindings. > > At present there's lot of work going on outside of core Emacs. I think > it makes sense for core Emacs not to use too many keybindings. I can > see the sense the argument Drew Adams makes. Since it's really easy in Emacs to (re)bind keys, I don't really see this as much of a problem. (Mind you, I'm firmly of the conviction that external packages should *not* create any global bindings.) > If a *general* moratorium isn't possible, then how about a more specific > one? How about applying it only to certain keymaps or prefix keys. Which would be equivalent to reserving more keys for users to bind, right? > * A Prefix-Key for Global Third-Party Packages. > > I think this is a good idea too. I've explained elsewhere[1] why I think this is not a good idea. Basically, I don't see a problem here that couldn't be solved much more easily by updating the keybinding conventions to say that external packages should not create any global bindings by default. Reserving keys for external packages means that Emacs needs some way to deal with conflicting external key bindings, which will inevitably arise. (My own packages don't create any global bindings, but I'd be very tempted to add them if this becomes official policy, because it will be what users will come to expect, and I suspect I won't be the only 3rd-party package maintainer that feels that way.) So you'd have to come up with a new function that creates global key bindings, but checks first to make sure the keys are still free (which, BTW, means the order in which packages are loaded becomes relevant) and pop up a warning asking the user what to do if they're not. This choice then has to be saved somewhere, presumably in `custom-set-variables`. You'd probably also need to add a customisation option to completely disable creating 3rd-party global bindings to keep grumpy old (and maybe not so old) men and women like me happy. Or, to put that in a more positive way: I prefer to keep my global key bindings in my init file together with the code that loads the relevant package and not have to consider whether a 3rd-party package messes with my key bindings somewhere. Anyway, I feel that you'd end up with a system that is more complex than necessary for the problem it tries to solve, which isn't that big to begin with (IMHO, of course). > There is another issue.... I'm not sure that third-party packages will > use the feature. I'm also on the Reddit Emacs group. Several of the > people there use and develop third-party packages. It seems to me that > they often do that because they don't want to contribute to core. Some > don't like the core Emacs development team and don't agree with their > direction for Emacs. So, would they use such a prefix key if it were > offered? Perhaps not. Since it would not only a concession to the Emacs development team but also a courtesy to one's users, I suspect many package developers will cooperate. Some won't, of course, but that will always be the case, no matter what solution is adopted. Joost Footnotes: [1] https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg00365.html -- Joost Kremers Life has its moments