unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: David Kastrup <dak@gnu.org>
Cc: Alan Mackenzie <acm@muc.de>, emacs-devel@gnu.org
Subject: Re: Default Emacs keybindings (was: Re: Menu suggestion)
Date: 26 Apr 2004 23:36:06 +0200	[thread overview]
Message-ID: <x5vfjme81l.fsf@lola.goethe.zz> (raw)
In-Reply-To: <m37jw2wes9.fsf@kfs-l.imdomain.dk>

storm@cua.dk (Kim F. Storm) writes:

> David Kastrup <dak@gnu.org> writes:
> 
> > Me neither.  If we have a need for a separate significantly different
> > traditional mode, we lose most of our advantage.  CUA-mode, IIRC,
> > assigns special meaning to its characters only when there is an active
> > selection.  
> 
> Right.
> 
> >             It is a compromise, of course.  (I think we still are
> > not there with regard to consistent selection behavior where we
> > should be, but that's a somewhat different problem).
> 
> Can you emphasize on what's missing...

If transient-mark-mode is active, the region lights up at
inconvenient times.  Also there are moments when the region becomes
inactive at inconvenient times, and having to reactivate it with C-x
C-x based on the presence or absence of visual feedback is a nuisance.

Temporary transient mark mode (C-SPC C-SPC or C-u C-x C-x) is a real
life-saver, but the choice of keybindings for it clearly indicates
that we are talking about a kludge for experts here instead of
functionality intended for "ordinary" users, and I don't think that
the tutorial even mentions it or its obtuse keybindings.

Also when explicitly marking a region with the mouse (dragging mouse-1
or clicking mouse-3), temporary transient mark mode should be enabled:
it is a safe bet that if the user marks out a _region_ for a command,
that he wants the command to be applied to the region instead of just
operating at point.  _If_ the command has special behavior for active
regions.

For the ordinary user that likes marking out stuff with a mouse, this
would go a lot towards making Emacs behave in a rational manner even
without one of the half-dozen modes fiddling around with various
amounts of transientness of the mark.

> > If what I think I understood from the CUA descriptions is correct,
> > no key sequences starting with C-c or C-x can be used with an
> > active selection.  For example, selecting an active region and
> > using C-c C-e in AUCTeX (inserts environment around an active
> > region, if there is one) would not work in CUA mode, ever.
> 
> That's completely untrue!!
> 
> There are actually three ways to enter C-c C-e even when the region is
> active:
> 
> 1) Type the C-c C-e very quickly (the quicklyness is configurable).
> 2) Type C-c C-c quickly, followed by C-e
> 3) Type S-C-c C-e
> 
> 1 can be used for a sequence of control characters (i.e. where you hold
>   down CTRL during the whole sequence).
> 
> 2 can be used generally, typing C-c C-c (or C-x C-x) very quickly is
>   trivial,

Unless you happen to be handicapped and use something like sticky key
modifiers to enter such sequences.

>   then you can complete the rest of the sequence at your own pace.
> 
> 3 can be used generally, at any pace.

So if I have a busy computer or a slow connection or accessibility
problems or slow typing, the only way to reliably compile a document
in AUCTeX (C-c C-c) is to use

  S-C-c C-c

which is not the most friendly keysequence to type.  Also, the meaning
and/or naming of commands changes depending on whether the region is
active or not.

The total behavior is much more complex than I'd care to explain
within the scope of a tutorial.

It's a rather expensive compromise, I feel.

> The current thread of emacs users who have never used CUA discuss
> whether it is useful or not seems like a waste of time...

Why?  All will be concerned with changes.  And CUA mode is an expert
mode to enable "conventional" bindings.  It changes the behavior of
standard commands in undocumented ways with regard to Emacs'
self-documentation commands (commands like C-h w, C-h k, menus and so
on all talk about one set of keybindings that silently is replaced by
something different when a region is active).

Explaining Emacs' behavior with CUA-mode is quite more complicated
than it is without it.

So there is a non-zero cost associated with CUA-mode.  One way to
make it less costly would be to change all keybindings involving C-c
and C-x.  Another would be to offer a pseudo-CUA mode where instead
s-c, s-x, s-v and s-z would be affected: most PC-keyboards nowadays
offer a "Windows" key, not unrarely mapped to the Super modifier.  As
those bindings are on the "Apple" key on Macs, this would not be as
wildly crazy as it may sound.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

  reply	other threads:[~2004-04-26 21:36 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-23 21:24 Menu suggestion David Kastrup
2004-04-24 13:29 ` Robert J. Chassell
2004-04-24 23:02 ` Kim F. Storm
2004-04-25 23:35   ` Richard Stallman
2004-04-26  8:23     ` Default Emacs keybindings (was: Re: Menu suggestion) Per Abrahamsen
2004-04-26 13:35       ` Luc Teirlinck
2004-04-26 14:22         ` Default Emacs keybindings Per Abrahamsen
2004-04-26 13:44       ` Default Emacs keybindings (was: Re: Menu suggestion) Alan Mackenzie
2004-04-26 15:16         ` David Kastrup
2004-04-26 22:33           ` Kim F. Storm
2004-04-26 21:36             ` David Kastrup [this message]
2004-04-26 23:06               ` Luc Teirlinck
2004-04-27 14:04               ` Stefan Monnier
2004-04-27 14:22                 ` David Kastrup
2004-04-29 19:42                   ` Stefan Monnier
2004-05-24 14:08               ` Richard Stallman
2004-05-26 16:18                 ` Stefan Monnier
2004-05-26 17:01                   ` David Kastrup
2004-05-27 23:53                   ` Richard Stallman
2004-05-28 21:06                   ` Stefan Monnier
2004-04-27 23:59             ` Default Emacs keybindings Stefan Daschek
2004-04-30 13:06         ` Per Abrahamsen
2004-04-30 21:41           ` Miles Bader
2004-05-01 17:50           ` Richard Stallman
2004-05-01 18:20             ` Andreas Schwab
2004-05-02 19:52               ` Richard Stallman
2004-05-02 21:15                 ` Miles Bader
2004-05-03  6:11                   ` Lars Brinkhoff
2004-05-03  5:53                     ` Kim F. Storm
2004-05-03  8:34                       ` Miles Bader
2004-05-03  7:32                         ` Kim F. Storm
2004-05-03  9:55                           ` Miles Bader
2004-05-03  9:36                         ` Kai Grossjohann
2004-05-07 12:34                         ` Jose E. Marchesi
2004-05-03  9:08                       ` Jan Nieuwenhuizen
2004-05-03  7:25                         ` Kim F. Storm
2004-05-03  9:51                           ` Jan Nieuwenhuizen
2004-05-03 10:33                         ` Per Abrahamsen
2004-05-03 11:28                         ` Kenichi Handa
2004-05-03 11:54                           ` Jan Nieuwenhuizen
2004-05-03 23:15                             ` Masatake YAMATO
2004-05-04  0:11                             ` Kenichi Handa
2004-05-03 22:21                         ` Richard Stallman
2004-05-03 22:59                           ` Luc Teirlinck
2004-05-04  6:01                             ` Eli Zaretskii
2004-05-04  7:02                               ` David Kastrup
2004-05-04  7:42                               ` Alan Mackenzie
2004-05-04 13:54                                 ` Stefan Monnier
2004-05-04 15:37                                   ` Alan Mackenzie
2004-05-04 21:45                                     ` Luc Teirlinck
2004-05-04 21:35                               ` Luc Teirlinck
2004-05-05  5:53                                 ` Eli Zaretskii
2004-05-05 14:29                                   ` Luc Teirlinck
2004-05-05 22:20                                     ` Thien-Thi Nguyen
2004-05-05 14:34                                   ` Luc Teirlinck
2004-05-04 20:07                             ` Richard Stallman
2004-05-04 12:20                           ` Robert J. Chassell
2004-05-05 20:20                             ` Richard Stallman
2004-05-06 12:41                               ` Robert J. Chassell
2004-05-06 14:22                                 ` Andreas Schwab
2004-05-06 14:54                                   ` Robert J. Chassell
2004-05-06 15:28                                     ` Andreas Schwab
2004-05-08  1:20                                 ` Richard Stallman
2004-05-08 23:20                                   ` Robert J. Chassell
2004-05-04 12:25                           ` Robert J. Chassell
2004-05-03 22:21                       ` Richard Stallman
2004-05-03  7:48                     ` Jan Nieuwenhuizen
2004-04-26  9:56     ` Menu suggestion Kim F. Storm
2004-04-26  8:39       ` Miles Bader
2004-04-26 11:37         ` Kim F. Storm
2004-04-27  8:24           ` Richard Stallman
2004-04-27 11:05             ` Kim F. Storm
2004-04-27 10:38               ` Jan Nieuwenhuizen
2004-04-27 14:04                 ` Kim F. Storm
2004-04-30 13:13                 ` Per Abrahamsen
2004-04-30 14:03                   ` Stefan Monnier
2004-04-30 17:30                     ` Kim F. Storm
2004-04-30 19:35                       ` Stefan Monnier
2004-04-30 19:55                         ` Kim F. Storm
2004-05-03  7:18                       ` Juanma Barranquero
2004-05-03 10:25                         ` Kim F. Storm
2004-05-04  7:32                           ` David Kastrup
2004-04-27 14:21             ` Stefan Monnier
2004-04-28 10:12               ` Richard Stallman
2004-04-28  5:09             ` Juri Linkov
2004-04-28  6:40               ` Eli Zaretskii
2004-04-28  5:55                 ` Juri Linkov
2004-04-28 11:25                   ` Eli Zaretskii
2004-04-28 12:57                   ` Robert J. Chassell
2004-04-28  6:46               ` Miles Bader
2004-04-28 12:51               ` Robert J. Chassell
2004-04-29 10:44               ` Richard Stallman
2004-04-29 11:27                 ` Juri Linkov
2004-04-26 10:35       ` Eli Zaretskii
2004-04-26 16:36         ` jargon translation up-front in doc (was: Menu suggestion) Drew Adams
2004-04-27  6:43           ` Eli Zaretskii
2004-04-29  1:48             ` Drew Adams
2004-04-29 15:44               ` Kevin Rodgers
2004-04-29 17:37                 ` Drew Adams
2004-04-29 23:36                   ` Kim F. Storm
2004-04-29 23:48                     ` Drew Adams
2004-04-30  9:02               ` Richard Stallman
2004-04-25 18:08 ` Menu suggestion Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2004-04-26 11:33 Default Emacs keybindings (was: Re: Menu suggestion) Lars Hansen
2004-04-26 13:26 ` Jan D.
2004-04-27  6:45   ` Eli Zaretskii
2004-04-27  7:23     ` Jan D.
2004-04-27  8:43       ` Steven Tamm
2004-04-27 15:17         ` Kim F. Storm
2004-04-27 16:46           ` Steven Tamm
2004-04-27 15:27       ` Piet van Oostrum
2004-04-27  8:24 ` Richard Stallman
2004-04-27  9:36   ` Lars Brinkhoff
2004-04-27 10:42     ` Jan Nieuwenhuizen
2004-04-27  9:54   ` David Kastrup
2004-04-27 11:06     ` Thien-Thi Nguyen
2004-04-27 11:25       ` David Kastrup
2004-05-02 23:31         ` Thien-Thi Nguyen
2004-04-27 13:03     ` Eli Zaretskii

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.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=x5vfjme81l.fsf@lola.goethe.zz \
    --to=dak@gnu.org \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    /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.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).