From: Thomas Lord <lord@emf.net>
To: Chong Yidong <cyd@stupidchicken.com>
Cc: Dan Nicolaescu <dann@ics.uci.edu>,
Stefan Monnier <monnier@iro.umontreal.ca>,
"Kim F. Storm" <storm@cua.dk>,
emacs-devel@gnu.org
Subject: Re: Shift selection using interactive spec
Date: Sat, 15 Mar 2008 18:37:34 -0700 [thread overview]
Message-ID: <47DC79DE.1000201@emf.net> (raw)
In-Reply-To: <87ejabv7gg.fsf@stupidchicken.com>
Chong Yidong wrote:
> I think it might not be necessary to change the default
> for transient mark mode if we do this.
>
The problem with trying to force-fit transient mark mode for
this purpose is that it tries to equivocate the traditional Emacs
current mark with the beginning of a "shift-selected" region.
That's a problem because the current mark in Emacs doesn't
traditionally behave anything like the beginning of a "shift-selected"
region. It's a force fit, at best. The addition (by transient-mark-mode)
of an "activated/de-activated" flag is a crude *approximation*
of what users expect, in a situation where no approximating is
necessary. For example, a "right arrow" key-press should simply
*forget*, more or less entirely, the marker at the start of the
highlighted region. That's the default behavior if tentative mark
functionality is added but it's functionality that would require
yet more elisp code if transient-mark-mode were to catch up with
it.
What users expect, in the traditional GUI paradigm, is a kind of
mark that doesn't toggle between "activated" and "deactivated" but,
rather, is always active when present but which commands tend to
cause to go away entirely. Let's dub that "the mistake". The
mistake is adding an "active" flag instead of a separate tentative
mark.
It's *because* of the mistake that, for example, Stefan is now
positing the existence of a formal category of "motion commands"
that have to be modified to call a function that dynamically
asserts that they are motion commands. That hair is not necessary
if you add the simple mechanism of a tentative mark instead of
trying to force fit the hairy mechanisms of transient mark mode.
The "fat cursor" concept (a region, rather than a simple point)
is what those other applications actually do. It's what user's
expect. It's what "tentative mark" implements. It's perfectly
harmonious with traditional Emacs. It simply *is* TRT.
Transient-mark-mode is *similar* to TRT for many command
sequences but hairier to implement,
hairier to extend, and doesn't correspond to any user expectation but
only to what seemed easy enough to do to its implementor.
T-m-m was a *mistake* and now you guys seem to want
to double down on that bad bet.
-t
>
>
>
next prev parent reply other threads:[~2008-03-16 1:37 UTC|newest]
Thread overview: 167+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-13 23:29 Shift selection using interactive spec Chong Yidong
2008-03-14 0:44 ` Thomas Lord
2008-03-14 0:10 ` David Kastrup
2008-03-14 1:22 ` Thomas Lord
2008-03-14 9:46 ` David Kastrup
2008-03-14 10:01 ` Johan Bockgård
2008-03-14 10:30 ` David Kastrup
2008-03-14 11:18 ` Thomas Lord
2008-03-14 11:11 ` Thomas Lord
2008-03-14 10:42 ` David Kastrup
2008-03-14 11:36 ` Thomas Lord
2008-03-14 11:50 ` Thomas Lord
2008-03-14 11:39 ` David Kastrup
2008-03-14 18:41 ` Thomas Lord
2008-03-14 4:06 ` Dan Nicolaescu
2008-03-14 14:26 ` Kim F. Storm
2008-03-14 14:32 ` Chong Yidong
2008-03-14 14:53 ` Kim F. Storm
2008-03-14 16:19 ` David Kastrup
2008-03-14 15:54 ` Stefan Monnier
2008-03-14 16:09 ` Drew Adams
2008-03-14 20:52 ` Chong Yidong
2008-03-14 20:59 ` David Kastrup
2008-03-14 21:08 ` Chong Yidong
2008-03-15 0:56 ` Stefan Monnier
2008-03-15 2:02 ` Chong Yidong
2008-03-15 3:31 ` Stefan Monnier
2008-03-15 14:07 ` Chong Yidong
2008-03-15 15:07 ` Stefan Monnier
2008-03-15 17:11 ` Chong Yidong
2008-03-15 20:52 ` Stefan Monnier
2008-03-15 21:45 ` Thomas Lord
2008-03-16 14:15 ` Chong Yidong
2008-03-16 14:37 ` Lennart Borgman (gmail)
2008-03-15 22:01 ` shift-select harmony Thomas Lord
2008-03-15 23:38 ` Thomas Lord
2008-03-15 17:16 ` Shift selection using interactive spec Kim F. Storm
2008-03-15 20:59 ` Thomas Lord
2008-03-16 23:31 ` Alan Mackenzie
2008-03-15 21:08 ` Thomas Lord
2008-03-16 0:27 ` Chong Yidong
2008-03-16 1:37 ` Thomas Lord [this message]
2008-03-16 9:09 ` Mathias Dahl
2008-03-16 14:21 ` Chong Yidong
2008-03-16 16:56 ` Thomas Lord
2008-03-16 16:34 ` Dear lazyweb (Re: Shift selection using interactive spec) Thomas Lord
2008-03-16 18:40 ` Shift selection using interactive spec Stefan Monnier
2008-03-16 21:00 ` Thomas Lord
2008-03-16 20:45 ` Thien-Thi Nguyen
2008-03-16 21:46 ` Thomas Lord
2008-03-16 21:24 ` Thien-Thi Nguyen
2008-03-16 22:27 ` Thomas Lord
2008-03-16 23:04 ` Lennart Borgman (gmail)
2008-03-16 23:17 ` Lennart Borgman (gmail)
2008-03-17 0:46 ` Thomas Lord
2008-03-17 0:21 ` Lennart Borgman (gmail)
2008-03-17 1:16 ` Thomas Lord
2008-03-16 23:35 ` Stephen J. Turnbull
2008-03-17 0:55 ` Thomas Lord
2008-03-17 2:23 ` Stefan Monnier
2008-03-17 3:12 ` Thomas Lord
2008-03-17 2:21 ` Stefan Monnier
2008-03-17 3:47 ` what's the point (re shift selection) Thomas Lord
2008-03-16 14:40 ` Shift selection using interactive spec Chong Yidong
2008-03-16 15:04 ` Lennart Borgman (gmail)
2008-03-16 17:13 ` Thomas Lord
2008-03-17 0:54 ` Chong Yidong
2008-03-17 2:40 ` Stefan Monnier
2008-03-17 3:24 ` Chong Yidong
2008-03-17 13:26 ` Stefan Monnier
2008-03-17 16:33 ` Chong Yidong
2008-03-17 17:21 ` Lennart Borgman (gmail)
2008-03-17 19:11 ` Stefan Monnier
2008-03-17 21:10 ` Chong Yidong
2008-03-17 21:44 ` Drew Adams
2008-03-18 11:40 ` Kim F. Storm
2008-03-18 14:16 ` Chong Yidong
2008-03-18 15:07 ` Kim F. Storm
2008-03-18 16:24 ` Stefan Monnier
2008-03-18 17:54 ` Drew Adams
2008-03-20 5:03 ` Chong Yidong
2008-03-23 1:39 ` Stefan Monnier
2008-03-17 22:24 ` martin rudalics
2008-03-17 22:37 ` Lennart Borgman (gmail)
2008-03-18 0:50 ` Thomas Lord
2008-03-18 7:48 ` martin rudalics
2008-03-18 17:46 ` Thomas Lord
2008-03-18 17:36 ` Lennart Borgman (gmail)
2008-03-18 19:07 ` Thomas Lord
2008-03-18 7:48 ` martin rudalics
2008-03-17 22:53 ` Chong Yidong
2008-03-18 3:12 ` Stefan Monnier
2008-03-18 7:49 ` martin rudalics
2008-03-18 16:36 ` Stefan Monnier
2008-03-18 16:44 ` Lennart Borgman (gmail)
2008-03-18 14:45 ` Chong Yidong
2008-03-18 16:39 ` Stefan Monnier
2008-03-18 18:28 ` Chong Yidong
2008-03-18 21:42 ` Stefan Monnier
2008-03-18 22:30 ` Kim F. Storm
2008-03-18 22:39 ` Lennart Borgman (gmail)
2008-03-19 4:40 ` M Jared Finder
2008-03-26 8:09 ` David Kastrup
2008-03-26 10:48 ` Juri Linkov
2008-03-26 11:32 ` David Kastrup
2008-03-26 11:39 ` Juri Linkov
2008-03-26 12:20 ` David Kastrup
2008-03-26 13:14 ` Johan Bockgård
2008-03-26 13:26 ` David Kastrup
2008-03-26 14:52 ` Stefan Monnier
2008-03-27 0:46 ` Juri Linkov
2008-03-26 12:02 ` Lennart Borgman (gmail)
2008-03-26 11:47 ` Lennart Borgman (gmail)
2008-03-26 22:26 ` Richard Stallman
2008-03-26 23:31 ` Lennart Borgman (gmail)
2008-03-27 7:02 ` David Kastrup
2008-03-27 8:19 ` Lennart Borgman (gmail)
2008-03-27 8:41 ` David Kastrup
2008-03-27 13:57 ` Lennart Borgman (gmail)
2008-03-27 14:39 ` David Kastrup
2008-03-27 15:01 ` Juanma Barranquero
2008-03-27 15:34 ` David Kastrup
2008-03-27 15:41 ` Juanma Barranquero
2008-03-27 15:13 ` Johan Bockgård
2008-03-27 19:41 ` Richard Stallman
2008-03-27 23:52 ` Juri Linkov
2008-03-28 7:33 ` David Kastrup
2008-03-29 0:47 ` Juri Linkov
2008-03-29 7:03 ` David Kastrup
2008-03-29 11:53 ` Lennart Borgman (gmail)
2008-03-29 12:30 ` Juri Linkov
2008-03-29 14:07 ` David Kastrup
2008-03-29 14:45 ` Lennart Borgman (gmail)
2008-03-29 15:09 ` David Kastrup
2008-03-29 15:30 ` Lennart Borgman (gmail)
2008-03-30 0:52 ` Juri Linkov
2008-03-30 17:56 ` David Kastrup
2008-03-30 5:49 ` Richard Stallman
2008-03-28 4:05 ` M Jared Finder
2008-03-28 11:10 ` David Kastrup
2008-03-28 17:14 ` Lennart Borgman (gmail)
2008-03-28 20:05 ` David Kastrup
2008-03-28 23:49 ` Lennart Borgman (gmail)
2008-03-28 20:42 ` Richard Stallman
2008-03-28 21:47 ` Chong Yidong
2008-03-28 22:01 ` David Kastrup
2008-03-30 0:48 ` Juri Linkov
2008-03-30 17:55 ` David Kastrup
2008-03-30 18:55 ` Juri Linkov
2008-03-27 0:49 ` Juri Linkov
2008-03-27 2:59 ` Chong Yidong
2008-03-27 19:41 ` Richard Stallman
2008-03-27 23:48 ` Juri Linkov
2008-03-28 20:41 ` Richard Stallman
2008-03-29 0:54 ` Juri Linkov
2008-03-29 1:15 ` Lennart Borgman (gmail)
2008-03-29 16:37 ` Richard Stallman
2008-03-30 1:05 ` Juri Linkov
2008-03-30 4:12 ` Stefan Monnier
2008-03-30 18:33 ` Juri Linkov
2008-03-31 16:24 ` Richard Stallman
2008-03-30 19:56 ` Richard Stallman
2008-03-30 22:46 ` Juri Linkov
2008-03-26 22:26 ` Richard Stallman
2008-03-18 17:45 ` Thomas Lord
2008-03-16 2:33 ` Richard Stallman
-- strict thread matches above, loose matches on Subject: below --
2008-03-16 12:58 Robert J. Chassell
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=47DC79DE.1000201@emf.net \
--to=lord@emf.net \
--cc=cyd@stupidchicken.com \
--cc=dann@ics.uci.edu \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=storm@cua.dk \
/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.