From: Drew Adams <drew.adams@oracle.com>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: 28263-done@debbugs.gnu.org
Subject: bug#28263: 24.5; Org: `C-c LETTER' keys
Date: Tue, 5 Dec 2017 07:15:09 -0800 (PST) [thread overview]
Message-ID: <a993ed2d-5af1-4ecb-a7f7-ecd1ce2c19be@default> (raw)
In-Reply-To: <87h8t59zxg.fsf@nicolasgoaziou.fr>
> >> Org's manual suggests to bind `org-agenda' to `C-c a',
> >> 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
> > provide binding suggestions only for keys that are not
> > 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
> > 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
> > is little difference between that situation and the situation
> > of Org binding `C-c a' by default.
> >
> > My vote would be that Org should not do this. Just one
> > opinion.
>
> I understand your concern. However, Org tries to be as neutral
> as possible with this. Quoting the manual:
>
> The manual suggests a few global key bindings, in particular
> @kbd{C-c a} for @code{org-agenda} and @kbd{C-c c} for
> @code{org-capture}. These are only suggestions, but the rest
> of the manual assumes that these key bindings are in place in
> 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
> 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 <F10>.
(But using <F10> or C-c a is no better than using
PK or whatever - you still need to say something like
"Supposing that <F10> 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
through global keys (i.e., anywhere in Emacs, not just
in Org buffers). Here are suggested bindings for these
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.
next prev parent reply other threads:[~2017-12-05 15:18 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <936768a0-1a2e-4a89-8a11-8f1779f8591d@default>
2017-12-04 21:45 ` bug#28263: 24.5; Org: `C-c LETTER' keys Nicolas Goaziou
2017-12-04 22:42 ` Drew Adams
2017-12-05 11:28 ` Nicolas Goaziou
2017-12-05 15:15 ` Drew Adams [this message]
2017-12-06 7:58 ` bug#28263: " Allen Li
2017-12-06 7:59 ` Allen Li
2017-12-06 15:23 ` Drew Adams
2017-12-06 20:09 ` bug#28263: " Allen Li
[not found] ` <871shilz7h.fsf@nicolasgoaziou.fr>
2018-02-19 0:26 ` Drew Adams
2018-02-19 9:24 ` Nicolas Goaziou
2018-02-19 16:21 ` Drew Adams
2018-02-20 0:38 ` Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a993ed2d-5af1-4ecb-a7f7-ecd1ce2c19be@default \
--to=drew.adams@oracle.com \
--cc=28263-done@debbugs.gnu.org \
--cc=mail@nicolasgoaziou.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).