emacs-devel
[Top][All Lists]
Advanced

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

Re: Documentation of transient-mark-mode is sloppy, wrong, and confused.


From: Chong Yidong
Subject: Re: Documentation of transient-mark-mode is sloppy, wrong, and confused.
Date: Thu, 28 May 2009 16:48:15 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux)

Alan Mackenzie <address@hidden> writes:

> The essence of my unhappiness is that "active" isn't defined.  You've
> put in a formal @dfn{active}, but weaselled out of actually defining
> it.  You state what happens _when_ the mark is "active", but not what
> a mark has to do or to be to acquire or to lose the essence of
> "active"ness.

Good point; I've changed this accordingly.

As for changing the "active mark" terminology, that's not particularly
profitable, because it's already deeply embedded in the C and Lisp code
for over a decade.  (There are, of course, many other terminology
problems of this sort in Emacs.)  The main thing that's important, I
think, is that the description of the "transient-mark-mode enabled"
behavior and the "transient-mark-mode disabled" behavior are each
internally consistent; they aren't always mutually consistent, but
that's too bad.

> In *scratch*, disable Transient Mark Mode, write the following line and
> put the region as indicated:
>
>     one two threeee
>          ^         ^
>        |         |
>        point     mark
>
> The mark is now active (since t-m-m is nil).  Therefore the region is
> "active".  Execute the command `ispell-word' with M-$; this is a command
> which supposedly works on the region when the region is "active".  It
> fails to flag the non-word "threeee", suggesting that it regards the
> region as "inactive".

As described in the section about what happens when Transient Mark mode
is disabled:

  Some commands, which ordinarily operate on the region when the mark is
  active, instead act on the entire buffer.  For instance, @kbd{C-x u}
  normally reverses changes within the region if the mark is active;
  when Transient Mark mode is off, it acts on the entire buffer.
  However, you can type @kbd{C-u C-x u} to make it operate on the
  region.  @xref{Undo}.  Other commands that act this way are identified
  in their own documentation.




reply via email to

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