Fix setting cursor when the window's op line has 'line-prefix'

* src/xdisp.c (set_cursor_from_row): Skip glyphs that come from a
string if their 'avoid_cursor_p' flag is set.  (Bug#67486)
This commit is contained in:
Eli Zaretskii 2023-12-02 14:13:24 +02:00
parent 7f0bef47dd
commit 7ff943044e

View file

@ -17859,7 +17859,8 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
else if (dpos == 0) else if (dpos == 0)
match_with_avoid_cursor = true; match_with_avoid_cursor = true;
} }
else if (STRINGP (glyph->object)) else if (STRINGP (glyph->object)
&& !glyph->avoid_cursor_p)
{ {
Lisp_Object chprop; Lisp_Object chprop;
ptrdiff_t glyph_pos = glyph->charpos; ptrdiff_t glyph_pos = glyph->charpos;
@ -18085,7 +18086,8 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
/* Any glyphs that come from the buffer are here because /* Any glyphs that come from the buffer are here because
of bidi reordering. Skip them, and only pay of bidi reordering. Skip them, and only pay
attention to glyphs that came from some string. */ attention to glyphs that came from some string. */
if (STRINGP (glyph->object)) if (STRINGP (glyph->object)
&& !glyph->avoid_cursor_p)
{ {
Lisp_Object str; Lisp_Object str;
ptrdiff_t tem; ptrdiff_t tem;