[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: moving point and invisible text
From: |
martin rudalics |
Subject: |
Re: moving point and invisible text |
Date: |
Wed, 15 Feb 2006 11:13:53 +0100 |
User-agent: |
Mozilla Thunderbird 1.0 (Windows/20041206) |
> (with-current-buffer (get-buffer-create "*test*")
> (insert "foo\n")
> (let ((at (point)))
> (insert "bar\nbar\nbar\n")
> (put-text-property at (point-max) 'invisible t))
> (insert "baz\n"))
>
> and point at position 4 in *test* C-f moves to position 5.
>
> You did not mention that case before, and I did not know about it.
In the first mail in this thread I wrote
Also, I was not able to detect a consistent behavior with different
values of `line-move-ignore-invisible' and with respect to whether an
invisibility overlay or an invisibility text-property was used.
Stefan then told me that
The behavior depends on many things: whether the invisible text is replaced
by ellipsis, whether the invisible property is front-sticky and/or
rear-sticky, whether the command made changes to the buffer, ...
> Further experimentation shows that this case works the way the
> manual previously said: it allows position 5 but does not allow
> position 17.
Not really: It rarely ever moves "point forward past the first visible
character that follows the invisible text", that is, position 18. (It
does so only with `line-move-ignore-invisible' nil.)
> That inconsistency is a bug; overlay invisibility and text property
> invisibility ought to work the same.
>
> Could you debug why they are different?
I tried that already but got completely lost in the labyrinths of
redisplay.