all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Daniel Colascione <dancol@dancol.org>, Alan Mackenzie <acm@muc.de>
Cc: Eli Zaretskii <eliz@gnu.org>, Jeremy Bryant <jb@jeremybryant.net>,
	"luangruo@yahoo.com" <luangruo@yahoo.com>,
	"stefankangas@gmail.com" <stefankangas@gmail.com>,
	"monnier@iro.umontreal.ca" <monnier@iro.umontreal.ca>,
	"emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: RE: [External] : Re: Proposal: new default bindings for winner and windmove
Date: Wed, 26 Jun 2024 17:02:29 +0000	[thread overview]
Message-ID: <SJ0PR10MB5488B1A0FFB698FD7314AA88F3D62@SJ0PR10MB5488.namprd10.prod.outlook.com> (raw)
In-Reply-To: <877D0EA4-CAC1-4FA3-8102-8AC7446AFAED@dancol.org>

> >So, currently, windmove is easily available to anybody that wants it,
> >and doesn't "waste" the key bindings of those who don't.
> 
> There is no "waste". We've gone over this at length. People who want to
> bind these keys can bind them still.

Irrelevant.  Users can ALWAYS rebind ANY keys.
That _cannot_ be a reason to bind any particular
key to any particular command by default.

As you say, we've gone over this before.  But
you don't seem to get it.

> Nobody is hurt by default bindings being present,

Everyone is hurt by extraneous, gratuitous,
premature default bindings.

> and all the arguments I've seen against these bindings are
> also arguments against having default bindings at all.

Again, all you have is an all-or-nothing argument.

Adding a given binding by default is a case to
be considered on its own, specific merits.

Not gratuitously adding <whatever> bindings by
default is not at all an argument that there
should be no default bindings.  This really
shouldn't be hard to understand.  Think about it.

Emacs has lots of default bindings.  They were
added conservatively over the long history of
Emacs.  Rarely is a default binding added just
as soon as some new command is added.

And nowadays there are relatively few keys that
are not bound by default - a rare resource.  So
the consideration and deliberation about binding
a new key by default are all the more important -
not to be done eagerly, willy nilly.

The best, and the most frequent approach taken
in Emacs is to add a command with no default
binding, and then see how users use it - how
much, and with what key bindings.  After a long
period providing experience by many users, the
question can be raised about whether, and if so
then which, key to bind to the command.

That just makes sense.  There's no reason to
precipitate the addition of global default
bindings for new commands that we add.

Think about it this way.  Consider the
evolution of the default Emacs UI as a process.
The principle of not eagerly granting default
bindings is just a case of the principle of
_late binding_: retarding the decision to bind
a key until its sure that that's really needed
- really the right thing.

You think you're sure that Emacs should grant
these default key bindings to these commands
RIGHT NOW!!  Let time, and user experience,
and user voices - more voices - decide.

Nothing is lost by taking the "late binding"
approach to such a design decision.  As you
like to say, any user, including you, can
bind the keys you want to these new commands. 

> The point is that out of the box Emacs should
> be useful and useable

Which it is.

> the lack of default bindings for windmove makes
> it less so,

Why do you think so?

If that were the case then windmove should be
turned on as a minor mode, and with these keys
bound in its minor-mode map.  Who would object
to that?  (Why are we even discussing this,
instead of just doing that?)

> there's little downside to adding these bindings.

That's what you don't get.  There's a big
downside to adding these bindings for everyone
NOW.  Come back in a few years with your
arguments.  (Who knows, maybe by then you'll
even have different keys you prefer instead. ;-))

  parent reply	other threads:[~2024-06-26 17:02 UTC|newest]

Thread overview: 247+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-21 19:10 Proposal: new default bindings for winner and windmove Daniel Colascione
2021-08-21 19:23 ` Eli Zaretskii
2021-08-21 19:27   ` Daniel Colascione
2021-08-21 19:36     ` Eli Zaretskii
2021-08-22  8:35       ` Juri Linkov
2021-08-21 19:42   ` Clément Pit-Claudel
2021-08-25 13:12     ` Kaushal Modi
2021-08-21 20:20   ` Arthur Miller
2021-08-22  6:02     ` Eli Zaretskii
2021-08-22  8:32       ` Arthur Miller
2021-08-22 13:43         ` [External] : " Drew Adams
2021-08-22  0:43   ` Phil Sainty
2021-08-22  5:13   ` Teemu Likonen
2021-08-22  9:22     ` Teemu Likonen
2021-08-21 19:26 ` Arthur Miller
2021-08-22  8:37 ` Juri Linkov
2021-08-22 14:05   ` Arthur Miller
2021-08-22 19:16   ` Daniel Colascione
2021-08-22 17:52 ` Stefan Monnier
2021-08-22 22:01   ` Lars Ingebrigtsen
2021-08-23  5:16     ` Bozhidar Batsov
2021-08-24 21:33       ` Stefan Monnier
2021-08-25  3:42       ` Richard Stallman
2024-06-21 19:03   ` Stefan Monnier
2024-06-21 20:39     ` Stefan Kangas
2024-06-23 10:05       ` Alan Mackenzie
2024-06-23 11:14         ` Daniel Colascione
2024-06-23 12:05           ` Alan Mackenzie
2024-06-23 12:30             ` Stefan Kangas
2024-06-23 13:29               ` Alan Mackenzie
2024-06-23 13:34                 ` Daniel Colascione
2024-06-23 13:45                 ` Eli Zaretskii
2024-06-23 20:55                   ` chad
2024-06-23 16:32               ` [External] : " Drew Adams
2024-06-23 12:57             ` Daniel Colascione
2024-06-23 13:40               ` Po Lu
2024-06-23 13:45                 ` Daniel Colascione
2024-06-23 14:15                   ` Po Lu
2024-06-23 14:22                     ` Eli Zaretskii
2024-06-24  7:41                       ` Gregor Zattler
2024-06-24 12:13                         ` Daniel Colascione
2024-06-24 12:41                         ` Eli Zaretskii
2024-06-24 15:09                           ` Gregor Zattler
2024-06-24 15:36                             ` Eli Zaretskii
2024-06-25  1:41                               ` Joel Reicher
2024-06-24 15:57                       ` Petteri Hintsanen
2024-06-25 21:26                       ` Jeremy Bryant
2024-06-26 11:23                         ` Eli Zaretskii
2024-06-26 11:44                           ` Daniel Colascione
2024-06-26 13:19                             ` Eli Zaretskii
2024-06-26 13:57                               ` Daniel Colascione
2024-06-26 15:38                                 ` Eli Zaretskii
2024-06-26 15:49                                   ` Daniel Colascione
2024-06-28 19:47                                 ` Hovav Shacham
2024-06-28 20:45                                   ` [External] : " Drew Adams
2024-06-29  7:02                                     ` Eli Zaretskii
2024-07-01  1:58                                   ` Stefan Kangas
2024-06-26 13:22                             ` Alan Mackenzie
2024-06-26 13:51                               ` Daniel Colascione
2024-06-26 14:13                                 ` Po Lu
2024-06-26 14:21                                   ` Daniel Colascione
2024-06-26 15:15                                     ` Po Lu
2024-06-26 15:27                                       ` Alan Mackenzie
2024-06-26 15:42                                       ` Colin Baxter
2024-06-26 16:00                                         ` Eli Zaretskii
2024-06-26 14:41                                   ` Joel Reicher
2024-06-26 15:43                                   ` Eli Zaretskii
2024-06-26 14:49                                 ` Alan Mackenzie
2024-06-26 17:02                                 ` Drew Adams [this message]
2024-06-26 14:27                               ` Stefan Monnier
2024-06-26 15:14                                 ` Alan Mackenzie
2024-06-26 13:53                             ` Po Lu
2024-06-26 14:18                               ` Daniel Colascione
2024-06-26 14:48                                 ` Po Lu
2024-06-26 14:27                               ` Stefan Monnier
2024-06-26 14:51                                 ` Po Lu
2024-06-26 15:01                                 ` Alan Mackenzie
2024-06-27 15:35                                 ` Augusto Stoffel
2024-06-26 17:02                               ` [External] : " Drew Adams
2024-07-02  6:28                       ` Visuwesh
2024-06-23 14:28                     ` Daniel Colascione
2024-06-23 14:37                       ` Po Lu
2024-06-23 14:45                         ` Daniel Colascione
2024-06-24 10:35                       ` Joel Reicher
2024-06-23 16:32                   ` [External] : " Drew Adams
2024-06-23 13:48                 ` Daniel Colascione
2024-06-23 14:14                   ` Telemetry, opt-in,opt-out [was: Proposal: new default bindings for winner and windmove] tomas
2024-06-23 14:18                     ` Daniel Colascione
2024-06-23 15:23                       ` Stefan Kangas
2024-06-23 15:34                         ` tomas
2024-06-23 19:46                     ` Stefan Monnier
2024-06-23 21:12                       ` [External] : " Drew Adams
2024-06-25 14:28                         ` [External] : Re: Telemetry, opt-in, opt-out " Madhu
2024-06-25 17:19                           ` Drew Adams
2024-06-25 23:03                           ` Dr. Arne Babenhauserheide via Emacs development discussions.
2024-06-28  4:02                           ` Richard Stallman
2024-06-28  5:28                       ` Telemetry, opt-in,opt-out " Ihor Radchenko
2024-06-28  6:33                         ` tomas
2024-06-23 14:25                   ` Proposal: new default bindings for winner and windmove Po Lu
2024-06-23 14:38                     ` Daniel Colascione
2024-06-23 15:24                 ` Stefan Kangas
2024-06-23 15:36                   ` Eli Zaretskii
2024-06-23 16:32                 ` [External] : " Drew Adams
2024-06-23 19:10                 ` Gregor Zattler
2024-06-23 13:59               ` Alan Mackenzie
2024-06-23 14:06                 ` Daniel Colascione
2024-06-23 16:32               ` [External] : " Drew Adams
2024-06-23 18:44         ` Eli Zaretskii
2024-06-23 18:51           ` Daniel Colascione
2024-06-23 19:26             ` Eli Zaretskii
2024-06-23 19:34               ` Eli Zaretskii
2024-06-23 19:55                 ` Stefan Monnier
2024-06-23 21:12                 ` [External] : " Drew Adams
2024-06-23 20:07               ` Dmitry Gutov
2024-06-23 21:12                 ` [External] : " Drew Adams
2024-06-23 21:09               ` Drew Adams
2024-06-23 19:52           ` Stefan Monnier
2024-06-23 20:07             ` Dmitry Gutov
2024-06-23 20:23             ` Stefan Kangas
2024-06-23 21:12             ` [External] : " Drew Adams
2024-06-24  2:28             ` Eli Zaretskii
2024-06-24 10:41               ` Dmitry Gutov
2024-06-24 11:45                 ` Po Lu
2024-06-25  2:26                 ` Eli Zaretskii
2024-06-24  3:29       ` Philip Kaludercic
2024-06-24  4:23         ` [External] : " Drew Adams
2024-06-24  7:18           ` Philip Kaludercic
2024-06-24 14:46             ` Drew Adams
2024-06-24  6:32         ` Juri Linkov
2024-06-26 15:48       ` Stefan Monnier
2024-06-26 20:38         ` Alan Mackenzie
2024-06-27  5:16           ` Attitude (was: Proposal: new default bindings for winner and windmove) Eli Zaretskii
2024-06-27 12:19             ` Alan Mackenzie
2024-07-01  1:29         ` Proposal: new default bindings for winner and windmove Stefan Kangas
2024-07-01 10:07           ` Alan Mackenzie
2024-07-01 10:47             ` Po Lu
2024-07-01 11:12               ` Dmitry Gutov
2024-07-01 13:20                 ` Po Lu
2024-07-01 18:21                   ` Dmitry Gutov
2024-07-02  0:52                     ` Po Lu
2024-07-01 11:25             ` Dmitry Gutov
2024-07-01 13:28               ` Po Lu
2024-07-01 13:34                 ` Eli Zaretskii
2024-07-01 19:05                 ` Dmitry Gutov
2024-07-01 21:24               ` Alan Mackenzie
2024-07-01 22:07                 ` Daniel Colascione
2024-07-02  1:00                   ` Po Lu
2024-07-02  3:26                     ` C-o (was: Proposal: new default bindings for winner and windmove) Stefan Monnier
2024-07-02  4:34                       ` C-o Po Lu
2024-07-02  5:59                       ` C-o Gerd Möllmann
2024-07-02  6:23                       ` C-o Visuwesh
2024-07-02 12:51                       ` C-o Dmitry Gutov
2024-07-02 13:06                         ` C-o Po Lu
2024-07-02 13:39                           ` C-o Eli Zaretskii
2024-07-02 14:02                             ` C-o Alfred M. Szmidt
2024-07-03  9:24                             ` C-o Po Lu
2024-07-03 11:33                               ` C-o Eli Zaretskii
2024-07-03 12:15                                 ` C-o Po Lu
2024-07-02 14:02                       ` C-o T.V Raman
2024-07-02 15:36                         ` C-o Alfred M. Szmidt
2024-07-02 22:27                       ` C-o Michael Heerdegen via Emacs development discussions.
2024-07-02 22:31                       ` C-o (was: Proposal: new default bindings for winner and windmove) Stefan Kangas
2024-07-02 22:44                       ` C-o Jeremy Bryant
2024-07-03 10:07                       ` C-o (was: Proposal: new default bindings for winner and windmove) Per Starbäck
2024-07-03 12:48                         ` C-o Howard Melman
2024-07-03 16:24                           ` C-o Yuri Khan
2024-07-03 16:32                             ` C-o Howard Melman
2024-07-05  4:14                               ` C-o Richard Stallman
2024-07-05  4:28                                 ` C-o Howard Melman
2024-07-03 19:13                           ` C-o Bob Rogers
2024-07-02  7:28                   ` Proposal: new default bindings for winner and windmove Philip Kaludercic
2024-07-02 11:41                   ` Eli Zaretskii
2024-07-02  1:01                 ` Dmitry Gutov
2024-07-02  1:51                   ` [External] : " Drew Adams
2024-07-02  2:20                     ` Dmitry Gutov
2024-07-02  3:47                       ` Drew Adams
2024-07-02 22:41                   ` Stefan Kangas
2024-07-02  1:47                 ` [External] : " Drew Adams
     [not found]                 ` <87h6d87op5.fsf@dancol.org>
2024-07-02 13:08                   ` Alan Mackenzie
2024-07-01 14:43             ` [External] : " Drew Adams
2024-07-01 18:12               ` [External] : Re: Proposal: new default bindings for windmove. [Working minor mode] Alan Mackenzie
2024-07-01 18:18                 ` Eli Zaretskii
2024-07-04  2:26             ` Proposal: new default bindings for winner and windmove Richard Stallman
2024-07-01 23:18           ` Daniel Colascione
2024-07-02  1:02             ` Po Lu via Emacs development discussions.
2024-07-02  2:03               ` Howard Melman
2024-07-02 12:21                 ` Eli Zaretskii
2024-07-02  3:29               ` Stefan Monnier
2024-07-02  4:14                 ` Po Lu
2024-07-02 13:04                   ` Stefan Monnier
2024-07-02 13:36                     ` Eli Zaretskii
2024-07-02 14:20                       ` Stefan Monnier
2024-07-02 14:43                         ` Eli Zaretskii
2024-07-02 12:18               ` Eli Zaretskii
2024-07-02 12:52                 ` Daniel Colascione
2024-07-02 13:34                   ` Eli Zaretskii
2024-07-02 13:53                     ` Daniel Colascione
2024-07-02 14:15                       ` Eli Zaretskii
2024-07-02 14:41                         ` Daniel Colascione
2024-07-02 15:00                           ` Eli Zaretskii
2024-07-02 22:28                 ` Dmitry Gutov
2024-07-03  3:14                   ` Hovav Shacham
2024-07-02  6:50             ` Juri Linkov
2024-07-02  8:07               ` Yuri Khan
2024-07-02 16:27                 ` Juri Linkov
2024-07-02 11:50               ` Daniel Colascione
2024-07-02 16:32                 ` Juri Linkov
2024-07-02 16:47                   ` Daniel Colascione
2024-07-02 12:46               ` Eli Zaretskii
2024-07-02 13:31               ` Alfred M. Szmidt
2024-07-02 18:03               ` Dmitry Gutov
2024-07-02 18:07                 ` Alfred M. Szmidt
2024-07-02 18:29                 ` Eli Zaretskii
2024-07-02 18:30                 ` Yuri Khan
2024-07-02 20:00                   ` Dmitry Gutov
2024-07-02 21:15                     ` [External] : " Drew Adams
2024-07-02 22:30                       ` Drew Adams
2024-07-03 11:56                     ` Yuri Khan
2024-07-03 13:53                       ` Stefan Monnier
2024-07-03 14:14                         ` Dmitry Gutov
2024-07-03 16:15                         ` Yuri Khan
2024-07-03 16:26                           ` Daniel Colascione
2024-07-03 22:12                             ` John ff
2024-07-02 18:34                 ` Alan Mackenzie
2024-07-02 19:08                   ` [External] : " Drew Adams
2024-07-02 19:53                   ` Dmitry Gutov
2024-07-02 20:12                     ` Alan Mackenzie
2024-07-02 21:13                       ` Daniel Colascione
2024-07-03  6:21                         ` Juri Linkov
2024-07-02 21:54                       ` Dmitry Gutov
2024-07-02 18:37                 ` Juri Linkov
2024-07-02 20:03                   ` Dmitry Gutov
2024-07-03  6:24                     ` Juri Linkov
2024-07-03 13:48                       ` Stefan Monnier
2024-07-03  6:56                 ` Visuwesh
2024-07-02  7:08             ` Philip Kaludercic
2024-07-02 11:46               ` Daniel Colascione
2024-07-02 13:31                 ` Alan Mackenzie
2024-07-02 13:52                   ` Dmitry Gutov
2024-07-02 13:55                   ` Daniel Colascione
2024-07-02 14:42                     ` Alan Mackenzie
2024-07-02 15:36                     ` Alfred M. Szmidt
2024-07-02 11:57             ` Eli Zaretskii
2024-07-02 23:20             ` Stefan Kangas
2024-07-03  1:19             ` Liu Hui
2024-06-23  6:59     ` Juri Linkov
2021-08-22 18:58 ` Dmitry Gutov

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SJ0PR10MB5488B1A0FFB698FD7314AA88F3D62@SJ0PR10MB5488.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=acm@muc.de \
    --cc=dancol@dancol.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=jb@jeremybryant.net \
    --cc=luangruo@yahoo.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=stefankangas@gmail.com \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.