emacs-devel
[Top][All Lists]
Advanced

[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.






reply via email to

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