diff options
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/xdisp.c | 10 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 2572c3ea13e..65cd4fa62b6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,10 +1,15 @@ +2009-06-27 Chong Yidong <cyd@stupidchicken.com> + + * xdisp.c (mouse_face_from_buffer_pos): Fix detection of + truncation glyphs (Bug#3686). + 2009-06-27 Glenn Morris <rgm@gnu.org> * m/pmax.h: Restore file, with only netbsd portions. 2009-06-26 David Reitter <david.reitter@gmail.com> - * nsterm.m (keydown): avoid infinite loop + * nsterm.m (keydown): Avoid infinite loop. 2009-06-26 Peter Jolly <peter@jollys.org> (tiny change) diff --git a/src/xdisp.c b/src/xdisp.c index 68f2a4fc7b0..5fc634b20ea 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -22991,7 +22991,10 @@ mouse_face_from_buffer_pos (Lisp_Object window, /* Skip truncation glyphs at the start of the glyph row. */ if (row->displays_text_p) - for (; glyph < end && INTEGERP (glyph->object); ++glyph) + for (; glyph < end + && INTEGERP (glyph->object) + && glyph->charpos < 0; + ++glyph) x += glyph->pixel_width; /* Scan the glyph row, stopping before BEFORE_STRING or @@ -23039,7 +23042,10 @@ mouse_face_from_buffer_pos (Lisp_Object window, /* Skip truncation glyphs at the start of the row. */ if (row->displays_text_p) - for (; glyph < end && INTEGERP (glyph->object); ++glyph) + for (; glyph < end + && INTEGERP (glyph->object) + && glyph->charpos < 0; + ++glyph) x += glyph->pixel_width; /* Scan the glyph row, stopping at END_CHARPOS or when we encounter |
