all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Mike Mattie <codermattie@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: Transient Mark Mode on by default
Date: Mon, 24 Mar 2008 15:10:53 -0700	[thread overview]
Message-ID: <20080324151053.158b3048@reforged> (raw)
In-Reply-To: <m2od94rmmy.fsf@kenny.sha-bang.de>

[-- Attachment #1: Type: text/plain, Size: 4745 bytes --]

On Mon, 24 Mar 2008 19:40:37 +0100
Sascha Wilde <wilde@sha-bang.de> wrote:

> Alan Mackenzie <acm@muc.de> wrote:
> > On Sun, Mar 23, 2008 at 07:00:10PM -0400, Chong Yidong wrote:
> >> Thanks for all those who contributed to the recent discussion on
> >> the list.  I've discussed this some more with Stefan, and the
> >> result is that Transient Mark Mode is now turned on by default, in
> >> the trunk.
> [...]
> > I say, yet again, Transient Mark Mode is NOT a good default.  It
> > violates the philosophy of Emacs in several ways:
> [...]
> 
> FWIW: Full Ack.

Ditto.

One vital aspect missing from the discussion was the reason why windows/mac 
highlighting works the way it does. Those systems are entirely different:
for starters not having a persistent mark.

Other systems are not necessarily better, any of us have probably seen annoyed users
selecting a region over and over again, because simple inputs kill the 
highlighting. It's not possible to move one of the bounds of the region
while retaining the opposite bounds like you can by swapping the point and mark.

The visual feedback argument also does not sound right to me. Feedback is
useful yes, but the reason you need a region highlighted on garden variety
UI's stems from the fact that most inputs kill the active region. The highlighting
shows the user that they haven't cancelled the region inadvertently with
a command.

Another point is implementation. If it is a transient mark, then it
shouldn't ever interact with a persistent mark ring. That is remarkably
obvious. The fact that the two have become conflated is either poor design
or a implementation shortcut to get the existing body of code working
with active regions.

If Emacs wants to attract new users there is one sure-fire way. Show
them something *better* than what they use right now. Better can
mean: copying (compat), cherry-picking, and innovating. 

When contemplating gifts from the greeks (like active region), prudence
demands that you actually look closely at the gift before bringing it
inside the city.

A person who was serious about finding the Right Thing would have done
a considerable amount of research, contacted the people who invented
the active region (xerox parc ?), wrote comparative analysis sensitive
to historical context/accident, and experimented on live humans.

This TMM looks like blind emulation, poor impedance matching with Emacs,
and as a result many use cases have proliferated modality and other
obvious warning signs. I don't want a full blown FSA diagram to figure
out when my sorta mark, becomes a real mark. especially since authors
of commands who haven't studied this issue closely will likely shim
all sorts of surprising behavior into their commands. Complexity begets
complexity.

I do not oppose the idea of a active region entirely, but I prefer to
read the kind of articulation posted by Thomas Lord, with tables,
analysis, and clear thought. No articulation is perfect, but at least
there was method and a body of thought upon which people could judge
and revise.

The "everyone else is doing it" argument is bogus, but it seems that
must be stated yet again. "Purging" or blood-letting was accepted
medical practice, and many patients survived, but that didn't
magically make it a cure, just common practice. The Right Thing
endures the test of time, common practice becomes the ridicule
of the next generation.

So many programmers clearly think themselves to be unusually rational,
a step above the general population, but the half baked arguments
put forth from both directions validate that clear thought takes
hard work and rigor ; virtues contrary to our nature.

I for one lament that blog quality rhetoric exhausts the discussion,
at which point someone actually does real analysis out of sheer
frustration to assassinate the thread - but by then people's opinions
unreachable by reason from sheer fatigue.

If you share that view of the discussion so far, then the discussion
has just started, as people now begin to realize that their arguments
need weight of reason, and that a quick bum-rush of pontification
has failed to convince the skeptical and carry the day with unanimity.

> As I wrote on this topic before:  I was used to put forms into
> my .emacs to turn on fancy features that I consider worthwhile --
> nowadays I find my self more and more often fiddling with .emacs to
> turn annoying features of.

I have noticed that as well.
 
> I liked the philosophy behind the old way better: make the defaults
> simple and clean and leave it to the user to turn on all the bells,
> whistles and trautonii he likes.
> 
> cheers
> sascha

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2008-03-24 22:10 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-23 23:00 Transient Mark Mode on by default Chong Yidong
2008-03-24 10:15 ` Tassilo Horn
2008-03-24 11:55 ` Alan Mackenzie
2008-03-24 13:06   ` Juanma Barranquero
2008-03-24 13:28   ` Tassilo Horn
2008-03-24 13:57   ` Richard Stallman
2008-03-24 15:05   ` Chong Yidong
2008-03-24 15:15     ` Lennart Borgman (gmail)
2008-03-24 20:09     ` Alan Mackenzie
2008-03-24 20:32       ` Drew Adams
2008-03-24 21:02         ` Alan Mackenzie
2008-03-25 18:31           ` Richard Stallman
2008-03-30 19:19             ` M Jared Finder
2008-03-30 19:34               ` Peter Danenberg
2008-03-30 19:42               ` paul r
2008-03-30 19:47                 ` David Kastrup
2008-03-30 20:24                   ` Lennart Borgman (gmail)
2008-03-30 20:29                     ` David Kastrup
2008-03-30 20:37                       ` Lennart Borgman (gmail)
2008-03-31  3:10                       ` Stephen J. Turnbull
2008-03-31  7:48                         ` David Kastrup
2008-03-31  9:42                           ` Stephen J. Turnbull
2008-03-31  9:18                         ` Jason Rumney
2008-03-30 21:51                   ` Mike Mattie
2008-03-30 22:16                   ` M Jared Finder
2008-03-31  7:46                     ` David Kastrup
2008-03-31  8:00                       ` M Jared Finder
2008-03-31  8:07                         ` David Kastrup
2008-03-30 19:45               ` David Kastrup
2008-03-30 20:29                 ` Lennart Borgman (gmail)
2008-03-30 22:42                 ` Thomas Lord
2008-03-30 23:11                   ` Thomas Lord
2008-03-30 23:50               ` William Xu
2008-03-31  3:23                 ` Stephen J. Turnbull
2008-03-31  3:36                   ` William Xu
2008-03-31 16:25               ` Richard Stallman
2008-03-31 18:08                 ` Thomas Lord
2008-04-01  0:20                   ` Kim F. Storm
2008-04-01  0:40                     ` Lennart Borgman (gmail)
2008-04-01  1:24                     ` Thomas Lord
2008-04-01  1:26                     ` Stefan Monnier
2008-04-01  6:14                       ` David Kastrup
2008-04-01 21:34                         ` Chong Yidong
2008-04-02 13:53                           ` Kim F. Storm
2008-04-02 16:27                             ` Chong Yidong
2008-04-02 17:34                             ` Richard Stallman
2008-04-02 18:05                               ` Drew Adams
2008-04-02 22:07                                 ` Richard Stallman
2008-04-02 20:27                               ` Chong Yidong
2008-04-02 21:29                                 ` Kim F. Storm
2008-04-06 10:09                           ` cua-selection-mode by default (was: Transient Mark Mode on by default) David Kastrup
2008-04-01 21:04                       ` Transient Mark Mode on by default Richard Stallman
2008-04-01 21:05                     ` Richard Stallman
2008-04-01 21:53                       ` Thomas Lord
2008-04-02  7:45                         ` Thomas Lord
2008-03-24 22:34         ` Drew Adams
2008-03-25  1:45       ` Bastien
2008-03-25  1:41     ` Bastien
2008-03-24 17:28   ` Stefan Monnier
2008-03-24 19:54     ` paul r
2008-03-24 20:36       ` Drew Adams
2008-03-24 20:57         ` paul r
2008-03-24 21:04           ` Lennart Borgman (gmail)
2008-03-24 21:42             ` Lennart Borgman (gmail)
2008-03-24 21:23           ` Drew Adams
2008-03-29  9:18             ` Jari Aalto
2008-03-24 22:28           ` Sascha Wilde
2008-03-24 23:01             ` Mike Mattie
2008-03-24 23:11             ` paul r
2008-03-24 23:34               ` Mike Mattie
2008-03-24 23:44                 ` Lennart Borgman (gmail)
2008-03-24 23:57                 ` paul r
2008-03-25  1:54       ` Bastien
2008-03-25 11:25         ` paul r
2008-03-25 23:49           ` Bastien
2008-03-26  8:49             ` paul r
2008-03-24 22:15     ` Honoring traditional defaults [was: Transient Mark Mode on by default] Stephen J. Turnbull
2008-03-24 22:47       ` Honoring traditional defaults [was: Transient Mark Mode on bydefault] Drew Adams
2008-03-24 23:29         ` paul r
2008-03-24 23:33           ` Drew Adams
2008-03-25  7:37           ` Mathias Dahl
2008-03-25  2:06         ` Honoring traditional defaults Bastien
2008-03-25  2:23           ` Bastien
2008-03-25  3:00           ` Mike Mattie
2008-03-25  5:23         ` Honoring traditional defaults [was: Transient Mark Mode on bydefault] Stephen J. Turnbull
2008-03-25  7:21           ` Honoring traditional defaults [was: Transient Mark Mode onbydefault] Drew Adams
2008-03-25 19:36             ` Stephen J. Turnbull
2008-03-25 21:38         ` Honoring traditional defaults - how to do it. [was: Transient Mark Mode on bydefault] Alan Mackenzie
2008-03-25 21:42           ` Lennart Borgman (gmail)
2008-03-25 22:26           ` Honoring traditional defaults - how to do it. [was: Transient MarkMode " Drew Adams
2008-03-25 23:53             ` Alan Mackenzie
2008-03-26  1:49               ` Mathias Dahl
2008-03-25 22:28           ` Honoring traditional defaults - how to do it. [was: Transient Mark Mode " paul r
2008-03-25 23:31             ` Alan Mackenzie
2008-03-31 16:24             ` Richard Stallman
2008-03-31 21:12               ` Alan Mackenzie
2008-04-02  2:53                 ` Richard Stallman
2008-04-02 11:15                   ` Alan Mackenzie
2008-03-31 22:06               ` Mike Mattie
2008-03-24 23:22       ` Honoring traditional defaults Sascha Wilde
2008-03-24 23:38         ` Lennart Borgman (gmail)
2008-03-25 12:23           ` Sascha Wilde
2008-03-25  5:17         ` Stephen J. Turnbull
2008-03-25  0:12       ` Honoring traditional defaults [was: Transient Mark Mode on by default] Lennart Borgman (gmail)
2008-03-25 20:53       ` Alan Mackenzie
2008-03-25 21:00         ` Lennart Borgman (gmail)
2008-03-26  1:55         ` Mike Mattie
2008-03-26  7:01           ` Transient Mark Mode on by default Drew Adams
2008-03-26  6:54         ` Honoring traditional defaults [was: Transient Mark Mode on by default] Stephen J. Turnbull
2008-03-29  9:52       ` Jari Aalto
2008-03-24 18:40   ` Transient Mark Mode on by default Sascha Wilde
2008-03-24 19:09     ` Chong Yidong
2008-03-24 20:16       ` Sascha Wilde
2008-03-24 20:40         ` paul r
2008-03-24 20:55           ` Lennart Borgman (gmail)
2008-03-25  3:21           ` Evans Winner
2008-03-24 20:46         ` Drew Adams
2008-03-24 21:47       ` Alan Mackenzie
2008-03-25  0:29         ` Chong Yidong
2008-03-25  0:38           ` Chong Yidong
2008-03-25  8:16           ` Mathias Dahl
2008-03-24 22:27       ` Stephen J. Turnbull
2008-03-25  0:07         ` Chong Yidong
2008-03-25  1:50       ` Richard Stallman
2008-03-25  4:06         ` Stefan Monnier
2008-03-25  7:07           ` Drew Adams
2008-03-25  7:23             ` Drew Adams
2008-03-25 13:24               ` Chong Yidong
2008-03-25 13:36             ` Stefan Monnier
2008-03-25 14:19               ` Drew Adams
2008-03-26  4:47           ` Richard Stallman
2008-03-27  2:53             ` Chong Yidong
2008-03-27 14:08               ` paul r
2008-03-25  7:14         ` Jan Djärv
2008-03-25 12:37           ` René Kyllingstad
2008-03-24 22:10     ` Mike Mattie [this message]
2008-03-24 23:44       ` Jason Rumney
2008-03-25  0:39         ` Thomas Lord
2008-03-25  1:17           ` Jason Rumney
2008-03-25  3:07             ` Chong Yidong
2008-03-25  7:07               ` Drew Adams
2008-03-25  8:28       ` Mathias Dahl
2008-03-25 21:01         ` Richard Stallman
2008-03-26  0:50           ` Mathias Dahl
2008-03-25  2:12     ` Bastien
2008-03-25  2:50       ` Mike Mattie
2008-03-29  9:01   ` Jari Aalto
2008-03-31 22:48     ` Alan Mackenzie
2008-04-01  0:14       ` Sebastian Rose
2008-04-01  1:09         ` Mike Mattie
2008-04-01  1:16         ` Mike Mattie
  -- strict thread matches above, loose matches on Subject: below --
2008-04-01 11:29 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=20080324151053.158b3048@reforged \
    --to=codermattie@gmail.com \
    --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 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.