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: Alan Mackenzie
Subject: Re: Documentation of transient-mark-mode is sloppy, wrong, and confused.
Date: Fri, 29 May 2009 13:13:11 +0000
User-agent: Mutt/1.5.9i

Hi, Eli!

On Fri, May 29, 2009 at 01:11:30PM +0300, Eli Zaretskii wrote:
> > Date: Fri, 29 May 2009 09:27:09 +0000
> > Cc: Stefan Monnier <address@hidden>, address@hidden,
> >   address@hidden
> > From: Alan Mackenzie <address@hidden>

> > My definition says "a region is
> > active, when ....

> You are replacing a possibly obscure definition with one that is even
> more obscure.  Your text says "a region is active when it is an object
> manipulated by commands XXX, YYY, ZZZ, etc."  I cannot make heads or
> tails of this definition.  And even if I could, it is not instrumental,
> I cannot apply this definition to know when the region is active and
> when it isn't.

I think what you come up with below is more or less the same as I was
trying to construct.  But I'm glad we agree about what the definition is
needed for.

> I'm guessing that you wanted to say something like "region is active
> when these and those commands operate on the region only, as opposed to
> the entire buffer."  But that is a circular definition, because the
> manual will say in a short while that "when region is active, some
> commands operate on the region rather than on the whole buffer."

I think that isn't circularity, it's repetition - the first bit stands on
its own.  Even if it is formally circular, I think its meaning is clear.

We're in danger of descending into philosophy, here.

> So I think trying to go in this direction will result in an impasse.

It would result in something better than what was there before, even if
perhaps not 100% formally valid.

> > Do you agree or disagree with me that this is what "active" means,
> > regardless of my clumsy way of saying it?

> I disagree.  You in effect say how an active region changes behavior of
> Emacs commands, which is exactly what you didn't like in the original
> text.

I'm not sure whether that's a fair criticism or not.  The original "Mark"
page didn't define "active" at all.  Yidong's second amendment still
didn't define "active", instead describing how you made a region
"active".  The one in the middle?  I can't remember it exactly, and
cvs.savannah.gnu.org is down at the moment.  There was something about it
which either didn't define "active", or wasn't clearly a definition.

Defining a state by saying what its effect on Emacs is is the canonical
way to define it.

> > If you disagree, what do think "active" actually does mean?

> How about something along the following lines:

>   The region can be in one of two states: active or inactive.  When
>   the region is active, certain Emacs commands automatically operate
>   on the text in the region, instead of on the whole buffer.  For
>   example, bla-bla-bla.  By contrast, an inactive region can only be
>   operated upon by commands specially designed for that job, such as
>   @code{call-process-region}, @code{count-lines-region},
>   @code{write-region}, etc.

>   When the region is active, the function @code{region-active-p}
>   returns a address@hidden value.

>   The region becomes active when:

>   <describe here the various ways of activating the region>

> WDYT?

I pretty much agree with you.  Except, Davis has discerned that we have
been using "active" in two incompatible ways.

-- 
Alan Mackenzie (Nuremberg, Germany).




reply via email to

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