From mboxrd@z Thu Jan 1 00:00:00 1970 From: Drew Adams Subject: bug#28263: 24.5; Org: `C-c LETTER' keys Date: Tue, 5 Dec 2017 07:15:09 -0800 (PST) Message-ID: References: <936768a0-1a2e-4a89-8a11-8f1779f8591d@default> <87374qb21u.fsf@nicolasgoaziou.fr> <0f47b7da-82d7-4521-aaf6-f2430876ccc2@default> <87h8t59zxg.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54069) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eMEyH-0001Ry-7m for emacs-orgmode@gnu.org; Tue, 05 Dec 2017 10:18:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eMEx5-0000xl-Be for emacs-orgmode@gnu.org; Tue, 05 Dec 2017 10:17:20 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:39288) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eMEx4-0000wp-EY for emacs-orgmode@gnu.org; Tue, 05 Dec 2017 10:16:06 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eMEwz-0003va-Pr for emacs-orgmode@gnu.org; Tue, 05 Dec 2017 10:16:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87h8t59zxg.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: 28263-done@debbugs.gnu.org > >> Org's manual suggests to bind `org-agenda' to `C-c a',=20 > >> but doesn't bind it by default. > > > > I'm not even sure that's a great idea. I think not. > > > > I suppose it's "legit", as the user, not the Org code, > > would be making the binding. But in my libraries I=20 > > provide binding suggestions only for keys that are not=20 > > reserved for use by users. > > > > If a commonly used Emacs library (Org is the best example > > of that) suggests to users that they bind `C-c a' to=20 > > something then that key becomes pretty much, in effect, > > lost as a key reserved for user customization. > > > > IOW, if 90% of Emacs users follow that suggestion then there=20 > > is little difference between that situation and the situation=20 > > of Org binding `C-c a' by default. > > > > My vote would be that Org should not do this. Just one=20 > > opinion. >=20 > I understand your concern. However, Org tries to be as neutral > as possible with this. Quoting the manual: >=20 > The manual suggests a few global key bindings, in particular=20 > @kbd{C-c a} for @code{org-agenda} and @kbd{C-c c} for=20 > @code{org-capture}. These are only suggestions, but the rest=20 > of the manual assumes that these key bindings are in place in=20 > order to list commands by key access. That's even worse, IMHO. And hardly "as neutral as possible". Why should the manual list commands by key access that Org does _not_ bind to keys? What's wrong with listing the commands by name? That's what Emacs does in its doc. My suggestion would be to bind keys in Org keymaps only, and leave it at that. The manual should definitely not present key bindings that are not made by Org, tossing out an introductory comment that they are shown only to "clarify bindings shown" or to prevent having to show command names or whatever. That approach is a bit backhanded, and it really flies against the spirit of (really!) reserving C-c LETTER keys for users. > As explained here, this "suggestion" is only necessary > to clarify key bindings in the manual. Clarify key bindings in the manual? Why are those key bindings in the manual? Describe the commands, not (formally, supposedly) fictitious key bindings for them. Either it is _important_ for Org to bind those commands to keys or it's not. If it is, then Org should find keys that are not reserved for users. As I said: > > provide binding suggestions only for keys that are > > not reserved for use by users If it is not important for Org itself to bind such keys, then no such "fictitious" global keys should be presented in the manual. > `org-agenda' and `org-capture' bindings are > really prefixes for many other commands. Having to write, e.g., > "the prefix you chose for `org-agenda' then #" instead of > "C-c a #" would be a lot more verbose, and ultimately, cripple=20 > documentation. My response to that: suck it up, or find a better way to describe it. You can perfectly well say "PK #", where PK is a prefix key bound to `org-agenda'. Or you can use, for illustration purposes, a key such as . (But using or C-c a is no better than using PK or whatever - you still need to say something like "Supposing that is a prefix key bound to `org-agenda'..."). And why do you need to refer to a key at all, instead of referring to the command? As I say, if it is so important that the command be bound to a key then bind it - but to a key that is not reserved for users. Don't ask users to bind their keys to provide something that you think Org really needs. If it needs keys for this then bind keys for it. If it does not then hands-off, and just speak about the commands. That's what other Emacs doc does. This is the wrong thing to do, IMO: The four Org commands 'org-store-link', 'org-capture', 'org-agenda', and 'org-iswitchb' should be accessible=20 through global keys (i.e., anywhere in Emacs, not just in Org buffers). Here are suggested bindings for these=20 keys, please modify the keys to your own liking. (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cc" 'org-capture) (global-set-key "\C-cb" 'org-iswitchb) If those commands "should" be on global keys then _Org should bind them to global keys_. And those global keys should _not_ be keys reserved for users. This looks like a shame-faced way of getting around the prohibition of libraries binding such keys globally. Especially for a library such as Org, which is very widely used. My suggestion would be to propose, to emacs-devel, to bind 4 keys globally for those Org commands - if you really feel they "should" be bound globally. IOW, stick up for what you believe. And if it is decided to bind those commands you can be sure that the keys decided on then will not be keys reserved for users. > I think the current state is quite fair. I disagree. It's a shame. (FWIW.) Emacs "should" do better. Just one opinion.