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: Sun, 23 Dec 2012 10:51:59 -0800

> > And your consistency argument works both ways: Why not 
> > consistently remove all function-key default bindings?
> 
> This is reductio ad absurdum. Not every kind of consistency 
> is equally valuable.

Precisely my point.  IF you use that kind of argument THEN it applies equally in
the other direction.  It's not about consistency vs inconsistency in the
abstract.

> >> The possible reason why those keys are so nice and still
> >> mostly have no bindings is they are far from the home row,
> >
> > I believe that Emacs Dev intentionally avoided binding them 
> > by default.  They were left for users and applications.
> >
> > `home' (Home) and the arrow keys are far from the home row also.
> > They have been bound since they existed, AFAIK.
> 
> Because they behave the same way in many other programs, I'd wager.
> f-keys, on the other hand, have not enjoyed the same degree of 
> consistent behavior across programs.

That function keys are not so standard is one reason not to bind them by
default.  But it is certainly not the only reason, or even the most important
reason.

> >> not in a sequence in the middle of other commands during 
> >> an editing session.
> >
> > Why?  Wanna guess how many users hold down an arrow key to 
> > repeat its command?
> >
> > Imagine if Emacs Dev had misguidedly bound `down' (the down 
> > arrow) by default to a non-repeatable command such as
> > `fullscreen'.  Not as useful as the key could be.
> 
> Is that the only reason you think binding `down' to `fullscreen' is 
> ill-advisable? :)

The point is that `down' is bound to a repeatable action.  For that reason alone
the binding would be reasonable even if it did not also agree with outside
convention.

On the other hand, `home' is not repeatable.  About the only argument in favor
of binding `home' as we do (that I can think of) is the argument of consistency
with other apps.

>From my own point of view, if we ever came to the point where we had an
important repeatable command and we had no available repeatable keys on which to
bind it by default, I would probably sooner sacrifice our externally consistent
`home' binding than lose the convenience (yes, by default) of that command's
repeatability.

Binding `home' to a non-repeatable, non-prefix command is, _in itself_, a waste.
It is OK to do, in order to be consistent with other apps, as long as the
scarcity of repeatable and prefix keys has not reached a critical level.  If it
got critical then `home' would be up there in the top 10 for regrooving, in my
book.

Why don't I apply the same reasoning to `f11'?  I do, but the context is
different: (a) function keys have in the past been reserved for users and apps;
(b) this is now and that was then, and back then there were more repeatable keys
still virgin (more coral reefs unspoiled); (c) I'm not convinced that `f11' for
fullscreen is so commonly used as `home' is, outside Emacs.

I do not expect everyone to share this more extreme point of view that even
longstanding `home' could conceivably be sacrificed for a better command.  

That is not necessary for my general point.  But yes, I do think that what's
good for Emacs and Emacs users comes first, not consistency with external apps.

The question in that context would be, for me at least, which is better for
Emacs users: provide a default binding to a repeatable key for the important
Emacs command or keep `home' compatible with the outside world.  And yes, I
recognize that Emacs users do not use only Emacs.  That's one thing that makes
such questions interesting, not black & white.

> >>> There is absolutely no reason for Emacs to bind `f3' and
> >>> `f4' by default.
> >>
> >> These keys are featured on the Emacs tour page, so there's 
> >> no getting rid of them now, I suppose.
> >
> > That's silly.  Just update the tour to use `C-x e e e e 
> ...' or whatever.
> 
> Emacs has a policy of backwards compatibility, whenever possible, or 
> something.

Whenever possible?  No.  Backwards compatibility, like mirroring external
conventions, is a relative good, not an absolute criterion.  Emacs Dev has not
been so black & white.  We are not dogmatists.

> Think back to the latest reversal of the `M-=' binding, which has 
> received a rather small backlash.

I didn't follow it closely, but I think that thread rather supports what I'm
saying.  Nothing is cast in concrete.  Changes were made wrt `M-=', and comments
from others were taken into consideration.




reply via email to

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