Subject: bug#846: Bug in handling invisible text, and bug in Pmail.

From: Stefan Monnier <[email-masked]>
Date: Mon, 01 Sep 2008 22:36:44 -0400

>> I think this is a bug in the command loop's handling of invisible
>> text -- it should not be the case that C-f C-b changes point.

>     There are various desirable behaviors w.r.t invisible text, and you
>     can't have them all at the same time.

> I know that better than anyone, and I thought about this a long time.
> The command loop used to have code to make sure that there weren't
> two different possible point values that would display as the same place.

When was that?  How did it do that?

>     It's been with us for a while now
> Did you change my decision?

What decision?

> If so, when did that happen?

The relevant piece of code is adjust_point_for_property, which used to
make point move over images and char-compositions and which I extended
in Emacs-22 (IIRC) to move over invisible text as well (making it
automatically somewhat-intangible).

> 				      and hasn't caused any real bug report
>     yet (other than reports such as this one, that is; which complain on
>     principle rather than because of some real problem

> It was a real problem, even though Pmail should not use invisible text
> for this.  It led to confusing behavior in this case, and it will be
> confusing in every case where invisible text is used.

Could you re-explain the problem you encountered, then?  Re-reading your
original bug-report I still can't see where this difference between point
before and after C-f C-b introduced a problem.

> If people have not complained, maybe it is because the use of 
> invisible text is rare.  What other modes use invisible text?

Indeed, most complaints around invisible text have to do with the
invisibility itself rather than details of how point is handed in
its presence.  So invisible text is rare because it's inherently
problematic (and should hence be avoided whenever possible).

        Stefan