emacs-devel
[Top][All Lists]
Advanced

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

RE: Tentative diagnosis of TMM's problem. [Re: Enabling TransientMark Mo


From: Drew Adams
Subject: RE: Tentative diagnosis of TMM's problem. [Re: Enabling TransientMark Mode by default]
Date: Wed, 20 Feb 2008 14:16:14 -0800

> The main issue is with the conflation of 2 concepts on
> the set/push-mark commands: one is to push a buffer
> location on a ring for navigational purposes, the other
> is to set the boundary of the region.
> 
> TMM is great for the second use, and is a drag for the first.

Perhaps there is another way to look at this. Just throwing out an idea. I
imagine that people from all directions will fire upon it, but what the
heck:

Do C-SPC to set the mark. Then click mouse-1 somewhere else. Point has moved
away from the mark, but the region is not active, so no highlighting. In t-m
mode, you can still use the region, if you have `mark-even-if-inactive' = t.
I don't think anyone has complained about this use case.

If, instead of clicking mouse-1, you use C-f (or C-M-f or...), then the
region stays active. It is this highlighting that people find annoying,
apparently. You cannot move point without the region being active (and thus
highlighted), unless you use the mouse.

Question: Is it important that the region stay active when you move point?
If not, then perhaps (in t-m mode) we should always have point movement
deactivate the region.

The behavior would then be that you would use C-SPC to set mark and C-x C-x
(or C-x C-x C-x C-x) to activate the region. The region would not be active
otherwise. But with non-nil `mark-even-if-inactive', you could still use the
region - you would get the same behavior as now, but without the annoying
highlighting.

The basic choices would then be: (a) t-m mode off, same behavior as now (the
region is always active, and no highlighting), (b) t-m mode on,
`mark-even-if-inactive' = nil: you must activate the region explicitly (C-x
C-x), to use it, (c) t-m mode on, `mark-even-if-inactive' = t: same behavior
as now, but no highlighting unless you activate the region explicitly.

FWIW, I have `mark-even-if-inactive' = t, which means I can always use the
region, but I can see when it is active (highlighting). 

Some contexts use the region only when it is active. Those are typically
either contexts where it is helpful to see the region before acting on it or
commands that can act either on the region or on the whole buffer. The
behavior for such contexts should not change if we implemented this idea.

Just an idea. Personally, I don't have a problem with the current t-m mode
behavior.







reply via email to

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