|
From: | Lennart Borgman (gmail) |
Subject: | Re: Display problems with 'before-string in overlay |
Date: | Thu, 12 Apr 2007 18:10:53 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.10) Gecko/20070221 Thunderbird/1.5.0.10 Mnenhy/0.7.5.666 |
Chong Yidong wrote:
I think the current code is mistaken. The ChangeLog entry and the comments both say that we want to set cursor_row_p to a non-zero value in the case where the display string starts in this row. But that's not what it's doing; Lennart is correct in pointing out that it's setting cursor_row_p unconditionally, since PT == MATRIX_ROW_END_CHARPOS (row) implies PT >= MATRIX_ROW_START_CHARPOS (row).
Looking at it again I wonder why my test change did not do that too ... ;-)
To actually do what the comments and ChangeLog say we want to do, we would have to scan backward in the glyph row for the beginning of the string, which would be significantly more complicated than the current code. For the Emacs 22 release, maybe we should simply revert this change to cursor_row_p = row->continued_p; It does not cause the original 2005 bug report to reappear, and it doesn't seem to affect anything else as far as I can tell. WDYT?
Reverting as you propose seems to at least cure the problem I saw.
[Prev in Thread] | Current Thread | [Next in Thread] |