From: Eli Zaretskii Date: Fri, 23 Nov 2012 08:27:05 +0000 (+0200) Subject: Fix cursor display when several display strings follow each other. X-Git-Tag: emacs-24.2.90~11 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=24becea4a7839adcea1bafd28604b204ff5cb7d6;p=emacs.git 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. --- diff --git a/src/ChangeLog b/src/ChangeLog index 7460e2c5704..88fbf7a99f2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,9 @@ 2012-11-23 Eli Zaretskii + * 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). diff --git a/src/xdisp.c b/src/xdisp.c index 85fe9a00f60..4bb744a2f9d 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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.