Fix cursor display when several display strings follow each other.

src/xdisp.c (set_cursor_from_row): Skip step 2 only if point is not
 between bpos_covered and bpos_max.  This fixes cursor display when
 several display strings follow each other.
This commit is contained in:
Eli Zaretskii 2012-11-23 10:27:05 +02:00
parent 61a2a12285
commit 24becea4a7
2 changed files with 5 additions and 1 deletions

View file

@ -1,5 +1,9 @@
2012-11-23 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (set_cursor_from_row): Skip step 2 only if point is not
between bpos_covered and bpos_max. This fixes cursor display when
several display strings follow each other.
* .gdbinit (pgx): If the glyph's object is a string, display the
pointer to string data, rather than the value of the string object
itself (which barfs under CHECK_LISP_OBJECT_TYPE).

View file

@ -14232,7 +14232,7 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
GLYPH_BEFORE and GLYPH_AFTER. */
if (!((row->reversed_p ? glyph > glyphs_end : glyph < glyphs_end)
&& BUFFERP (glyph->object) && glyph->charpos == pt_old)
&& bpos_covered < pt_old)
&& !(bpos_max < pt_old && pt_old <= bpos_covered))
{
/* An empty line has a single glyph whose OBJECT is zero and
whose CHARPOS is the position of a newline on that line.