From: Chong Yidong <cyd@stupidchicken.com>
To: Stefan Monnier <monnier@IRO.UMontreal.CA>
Cc: Dan Nicolaescu <dann@ics.uci.edu>,
emacs-devel@gnu.org, "Kim F. Storm" <storm@cua.dk>
Subject: Re: Shift selection using interactive spec
Date: Tue, 18 Mar 2008 14:28:46 -0400 [thread overview]
Message-ID: <87skynrin5.fsf@stupidchicken.com> (raw)
In-Reply-To: <jwvwso0rnqq.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Tue\, 18 Mar 2008 12\:39\:16 -0400")
Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
>> After playing around with an implementation of this, I feel that it is
>> very problematic.
>
>> The trouble with using handle-shift-selection to explicitly
>> unhighlight the region is that every single motion command needs to
>> call handle-shift-selection, by adding the ^ interactive spec. For
>> every motion comman (or command that moves point in addition to
>> something else), there will be a bug: the shift-selected region won't
>> be highlighted. This therefore breaks backward compatibility with all
>> external packages that define their own motion commands.
>
> I do not understand what you mean. Could you give a sample case?
Suppose we have an external package that defines the motion commands
forward-section and backward-section, which move point forward and
backward by mode-specific amount. (It might, for example, be rebound
to M-right or M-left.)
In shift selection mode, the first unshifted motion command must
deactivate the mark. This is the expected behavior.
Now suppose we make the motion commands responsible for deactivating
the mark; for example, by adding an interactive spec code that calls a
function `handle-shift-selection' that checks if the calling key
sequence was shifted, and deactivates the mark if it was not. If we
start to define a shift-selected region using a shifted forward-char
command, and follow this with an unshifted forward-section command,
the region won't get deactivated. Instead, it will extend the region.
To fix this bug, we would have to change the external package.
In contrast, it seems to me that there is only a small number of
commands for which we *don't* want to deactivate a shift selection,
e.g. switching windows. These commands are mostly built into Emacs,
and could be easily modified to DTRT. That would fix the perceived
fragility of `only' TMM.
next prev parent reply other threads:[~2008-03-18 18:28 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
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 [this message]
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=87skynrin5.fsf@stupidchicken.com \
--to=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.