Commit f6e6c174 authored by Eli Zaretskii's avatar Eli Zaretskii

Fix posn-at-point with line-number display and display properties

* src/xdisp.c (pos_visible_p): Account for line-number display
width when CHARPOS is covered by display property that begins
at the 2nd display element of a screen line.  (Bug#35404)
parent a2e9d3e3
Pipeline #1439 failed with stage
in 54 minutes and 19 seconds
...@@ -1623,6 +1623,12 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y, ...@@ -1623,6 +1623,12 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y,
set_iterator_to_next (&it3, false); set_iterator_to_next (&it3, false);
} }
top_x = it3.current_x - it3.pixel_width; top_x = it3.current_x - it3.pixel_width;
/* Account for line-number display, if IT3 still
didn't. This can happen if START - 1 is the
first character on its display line. */
if (!it3.line_number_produced_p
&& it.line_number_produced_p)
top_x += it.lnum_pixel_width;
/* Normally, we would exit the above loop because we /* Normally, we would exit the above loop because we
found the display element whose character found the display element whose character
position is CHARPOS. For the contingency that we position is CHARPOS. For the contingency that we
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment