[Top][All Lists]

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

Re: Enabling Transient Mark Mode by default

From: Stefan Monnier
Subject: Re: Enabling Transient Mark Mode by default
Date: Thu, 21 Feb 2008 12:18:20 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux)

>> What do you think of making C-M-SPC (and a few other such mark-*
>> commands) turn on temp-TMM?

> Sounds sensible to me for this one.

Here's the list:

   M-x mark- TAB
   mark-defun       mark-end-of-sentence   mark-page
   mark-paragraph   mark-sexp              mark-whole-buffer

Would you obect to have them all set temp-TMM?

> I think that things like delete-selection-mode should _not_ switch on
> permanent transient-mark-mode, by the way: they would appear also
> useful with temporary transient-mark-mode, and it is a pity that one
> can't use them with it.

Agreed.  It made sense to do it back when temp-TMM didn't exist (since
del-sel-mode needs either temp-TMM or TMM to be of any use), but
not any more.  Same for cua-selection-mode and pc-selection-mode,
I guess (tho these would need to be tweaked so that they properly
activate the mark in temp-TMM).


PS: BTW, the current TMM implementation is odd and inconvenient.  I think
the activation/highlighting status of the mark needs to be determined
solely from mark-active, and the transient-mark-mode variable should
only affect how mark-active is changed.  I.e. we should change
`mark-active' to accept more than 2 values: it can be nil (unset),
t (set but not highlighted), `highlighted', and maybe also
`highlight-once' (this corresponds to the `once' setting of TMM used for
mouse operations so that the mark is only highlighted for 1 operation so
even just moving point will dehighlight it).  Or maybe just nil or
a number (the number is decremented after every command and if it is
positive it means that the mark is highlighted: 1=highlight-once, 0=t,
most-positive-fixnum=highlighted).  Then TMM and mark-even-if-inactive
are only consulted when activating/deactivating the mark to know to what
to (re)set mark-active.

Problem is: this would be backward-incompatible because of code that
does (and mark-active transient-mark-mode) and would hence be confused
when the mark is set but not highlighted.

reply via email to

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