emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Transient Mark Mode on by default


From: Alan Mackenzie
Subject: Re: Transient Mark Mode on by default
Date: Mon, 24 Mar 2008 20:09:11 +0000
User-agent: Mutt/1.5.9i

Hi, again!

On Mon, Mar 24, 2008 at 11:05:44AM -0400, Chong Yidong wrote:
> Alan Mackenzie <address@hidden> writes:

> > I feel I must protest here as strongly as I can.  Unless I've missed
> > something (not unlikely, given the volume and heat of recent posts on
> > the topic) this change has NOT been discussed properly, and a
> > consensus has NOT been reached on it.

> > The recent discussions have been almost entirely about the mechanisms
> > and the practicalities of Transient Mark Mode, about key sequences,
> > about which of several variations is better.  NOT about whether it is
> > a Good Thing as a default.  I feel that this change, making Transient
> > Mark Mode on by default, is being slipped through almost
> > surreptitiously, at a time when we're too weary (from the recent
> > discussions) to object.

> I'm sorry you think that; it was not the intention to "sneak in" the
> feature.  I've read the entire discussion on emacs-devel, as well as
> some older discussions in help-gnu-emacs and elsewhere.  People on both
> sides have already put forth good arguments about why tmm should/should
> not be made default, and my impression was that the discussion has run
> its course.  So, after some more discussion with Stefan, I went ahead
> and changed the default.  If you want a fresh discussion, let's have
> that.

My impression is that people have said a lot about why the feature is good or
bad, and how it can be improved.  There's a massive difference between
praising/using/loving a feature and advocating it's enablement by default.
For example, I use Hi Lock Mode extensively, think it's one of Emacs's best
features, and would be almost lost without it.  Yet I don't think it should be
enabled by default.

[ .... ]

> > I say, yet again, Transient Mark Mode is NOT a good default.  It violates
> > the philosophy of Emacs in several ways:
> > (i) It's very complicated, certainly when compared with the elegant
> >   simplicity of the classical Emacs mark.
> > (ii) It introduces "modal" behaviour (as in vi's insert/command mode)
> >   into Emacs - many commands behave differently when the mark is active.
> > (iii) It's obtrusive; it's "in your face"; it will provoke the angry
> >   reaction "how do I get rid of this address@hidden thing!!!!!".

> I am not sure what you mean by (i); could you elaborate?

You can describe the classical mark and region in a single sentence: The
@dfn{region} is the text between point and mark; there are many commands which
operate on it.  Further elaboration is hardly needed.

The corresponding description in Transient Mark Mode is a @bullet list with 8
@items in it (page "Transient Mark" in the Emacs manual), and occupies 41
lines of 72 characters lines (admittedly including paragraph spacing and a
left margin).  This description is well written, containing little redundancy.

That's a factor of between 10 and 100 times more complexity - complexity whose
opposite is conceptual simplicity.

> My impression is that tmm is simpler than the invisible mark.  Because the
> region is highlighted, the user doesn't have to memorize where the mark is
> at each point of time.

The user only needs to know where the mark is occasionally.  A lot of these
times, she will have explicitly set it just before.

Evans Winner, in his post from 2008-02-20 (Message-ID:
<address@hidden>) tells us how his unthinking enablement of TMM
prevented him from understanding the versatility of the mark.  It seems to me
(though I may be wrong, of course) that it was the (somewhat arbitrary)
complexity imposed by TMM which disguised the ingenious simplicity of the
mark.

> (ii) Modal behavior has been in default Emacs for a long time now,
> e.g. C-s.

With respect, that is a straw man.  But even if one regards isearch-mode as in
some sense "modal", searching is performed in the minibuffer, and that
"modality" occurs due to switching buffers.  (OK, that was sheer rubbish, but
it was plausible, wasn't it?  ;-)

> I've read a few posts in which people say they find tmm works pretty
> seamlessly, which is the important thing.  This is my experience also.

I don't doubt it works seamlessly, just as vim also does.  However, it's a
psychological jar to find either as default within Emacs, an editor which was
consciously designed to be NON-modal.  It's a bit like having a couple of
Rembrandts in an exhibition of Andy Warhol paintings - no matter how splendid
these Rembrandts may be, they would destroy the conceptual integrity of the
exhibition.

> (iii) This has been answered in a couple of ways.  First, it's easy to
> turn tmm off; you don't even have to write Lisp code, you can simply
> use the menu bar, under Options->Active Region Highlighting.

We're talking about the DEFAULT setup here - the impression a newby will get.
Whether he'll ever "get it" about the mark and region.

> Second, the old invisible mark behavior is available with C-SPC C-SPC
> (previously, this was the main sticking point, since the mark is also useful
> for buffer navigation.)

Again, of course there are workarounds to problems, once people have become
angry enough to be pestered into finding them - a bit like telling a recipient
of spam "you can _just_ delete it - where's the problem?".  It's not that the
"old" behaviour has vanished.  It's that garish distractions are being imposed
on people, many of whom will find it objectionable, without asking them first
if they want it.

> > There have been few people indeed who have posted "I think transient mark
> > mode, as it now is, should be made the default in Emacs".  Dan has, Stefan
> > has.  Anybody else?  I have opined strongly that Transient Mark Mode
> > should NOT become default, and I think David Kastrup may have done the
> > same.  Of "ousiders", Evans Winner says TMM should be off by default,
> > Jason Earl says it should be on.

> I don't think head-counting is indicative, since what matters is the points
> people make.  But, as far as I can tell, Dan, Stefan, myself, Drew, and
> Lennart have spoken in favor of making tmm the default; Mathias says he
> finds tmm OK; and yourself, Sascha, and David Kastrup are against making it
> the default.  Those who haven't expressed a strong opinion either way
> include Eli, Juanma, Miles (who said he thinks tmm works pretty well) and
> Kim (who wrote CUA mode and presumably uses it).  Please correct me if I
> misrepresented anyone.

Of course TMM works pretty well - it's part of Emacs.  Whether it should be on
by default is a completely different matter.

I've grepped my copy of emacs-devel for posts which (i) have "[Tt]ransient" in
the Subject: and (ii) have "default" somewhere in the text.  This doesn't find
your own personal advocacy of TMM as default, though if you assure me you've
said so I'll believe you, of course.  I think Drew and Lennart have _almost_
advocated TMM as default, but not quite.

Of course, I've gently argued against TMM becoming a default, as have Sascha
and David K.

It disturbs me that we are making such an important change when so few Emacs
hackers have unequivocally endorsed it.

-- 
Alan Mackenzie (Nuremberg, Germany).




reply via email to

[Prev in Thread] Current Thread [Next in Thread]