emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Unuseful keybindings


From: Drew Adams
Subject: RE: Unuseful keybindings
Date: Sat, 22 Dec 2012 16:45:09 -0800

> I would buy an argument describing how the new binding 
> doesn't work with existing Emacs bindings - like it's
> too similar to another one, or too hard to press after
> a command you usually want to prepend it with.

Good.

> > So no need to discuss particular keys and actions any 
> > further - just bind them all following any conventions
> > we can find outside Emacs?
> 
> Conventions found in GUI programs, especially text editors? Yes.
> At least those that don't clash with existing commands and bindings.

Clear enough.  We can agree to disagree about that.

> Discussions are good, but I don't think this particular
> deserves the amount of attention it got.

There has been almost no discussion about that particular key or binding.  But
there has been discussion about what Emacs Dev's policy/attitude should be wrt
making such judgments.

I think that topic deserves attention.  I'm sorry to see the drift away from
arguing pro & con about specific keys and bindings and toward a blanket
do-what's-done-elsewhere-as-long-as-the-key-is-unbound.

> Do the existing bindings for <f10> and <f1-4> take the 
> "properties" you mention seriously?

No, which is why I brought up the _general_ topic - and I explicitly mentioned
each of those keys too.  I would like to see us stop making such silly default
bindings (and even free up some of them).  Emacs Dev did not used to do that
kind of thing.

We never should have bound those function keys, IMHO, with (probably) the
exception of `f1', which has more in the way of supporting argument.

`f10' started the do-it-without-discussion trend, IIRC.  I opposed binding `f3'
& `f4' at the time.  I do not recall any discussion about `f10', but I might
have missed it.

There is absolutely no reason for Emacs to bind `f3' and `f4' by default.  Emacs
has had keyboard macros practically from Day One.  Zillions of Emacs users
created zillions of keyboard macros, without Emacs Dev ever feeling that we
should waste binding simple, repeatable keys to their creation and execution.

The default bindings for keyboard macros were (and still are, additionally) `C-x
(', `C-x )', and `C-x C-e'.  Those are mnemonic (start, end, execute) and do not
waste repeatable keys.

IIRC, it was the author of kmacro, which replaced the previous handling of
keyboard macros, who wanted Emacs to bind `f3' and `f4' by default.  The reasons
given were not about any external conventions, IIRC, but simply
easy-and-quick-to-press.  I don't think that reason is good enough on its own,
but those in charge went along with it.  To his credit, Stefan opposed the
bindings, but RMS said this:

"I think there is no harm in supporting F3 and F4 as well as
 C-x (, C-x ) and C-x e and C-x C-k, if users like F3 and F4.
 We could take a poll and ask them."

AFAIK no such poll was ever taken, but the bindings that the kmacro author put
there were left in place anyway.

Although Stefan's suggestion to use `C-x e e e...' to repeat macro execution was
also implemented (good), `f3' and `f4' remain bound by default, and `C-x e e
e...' took a back seat in the doc (and consequently in practice, no doubt),
seemingly as an afterthought.  There isn't even any mention of the `C-x e'
option `kmacro-call-repeat-key'.

http://lists.gnu.org/archive/html/help-gnu-emacs/2011-01/msg00786.html
and http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00451.html

Now suppose for a moment that `f3' were conventionally used for something else
outside Emacs - searching for a file/folder, say. ;-)  Prior to Emacs 22 you
would apparently have argued in favor of Emacs binding `f3' to a command
initiating search, since it was unbound at the time.  But after Emacs 21 would
you apparently have argued that because it now had a binding we should flout
convention?  I guess so.  Seems pretty flaky, to me.

Or consider `f5', which often refreshes/revert the current context, outside
Emacs.  I myself bind `f5' to a command that does (revert-buffer t t).  And I've
suggested to others that they might want to do the same.  But I don't propose
that Emacs adopt that convention by default, even though I use it all the time.
And when I suggest it to others, I add this caveat, just to draw their attention
to the fact that it wastes a repeatable key:

http://lists.gnu.org/archive/html/help-gnu-emacs/2012-10/msg00159.html




reply via email to

[Prev in Thread] Current Thread [Next in Thread]