From 24becea4a7839adcea1bafd28604b204ff5cb7d6 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 23 Nov 2012 10:27:05 +0200 Subject: [PATCH] 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. --- src/ChangeLog | 4 ++++ src/xdisp.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) 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. -- 2.39.2