"Lennart Borgman (gmail)" <[EMAIL PROTECTED]> writes:

>       /* If the row ends with a newline from a string, we don't want
>        the cursor there, but we still want it at the start of the
>        string if the string starts in this row.
>        If the row is continued it doesn't end in a newline.  */
>       if (CHARPOS (row->end.string_pos) >= 0)
>       cursor_row_p = (row->continued_p
>                         ||
>                         (
>                          /* If an overlay string starts on this glyph
>                             line, then put the cursor here, but only
>                             if not on the first buffer line and there
>                             are no characters there.  */
>                          ((CHARPOS (row->start.string_pos)) == -1)
>                          &&
>                          ((CHARPOS (row->end.string_pos)) > -1)
>                          &&
>                          (row->start.pos.charpos > 1)
>                          ));

This does not solve the underlying problem, because the unexpected
cursor position can occur even if the affected overlay is not on the
first line.

> as can be seen from the fprintf output with my test case it starts
> looping when I go to the first character and then press left arrow.

As you can see, tweaking redisplay can have rather non-trivial
effects.

> Could you please tell me how then? I want to display text at the top
> of a buffer, but I do not want to change the users text in the buffer.

Why not just use a header line?


_______________________________________________
emacs-pretest-bug mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to