diff options
author | Eli Zaretskii <eliz@gnu.org> | 2012-11-23 10:27:05 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2012-11-23 10:27:05 +0200 |
commit | 24becea4a7839adcea1bafd28604b204ff5cb7d6 (patch) | |
tree | 476928ee5d27a2f43e422a781d5adc6f4838c611 | |
parent | 61a2a12285951942d007929973f8bdd59f82ea53 (diff) | |
download | emacs-24becea4a7839adcea1bafd28604b204ff5cb7d6.tar.gz |
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.
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/xdisp.c | 2 |
2 files changed, 5 insertions, 1 deletions
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 <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). 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. |