summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2018-03-16 18:11:07 +0200
committerEli Zaretskii <eliz@gnu.org>2018-03-16 18:11:07 +0200
commit33cba5405c724566673cf023513bfb1faa963bea (patch)
treedc0b13aa23783c7fe084f4f89f051178d3bed036
parent2d0853f62ac65f974f25887f69506bfe923bf14b (diff)
downloademacs-33cba5405c724566673cf023513bfb1faa963bea.tar.gz
Another followup to fixing 'window-text-pixel-width'
* src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value when we stop one buffer position short of TO. (Bug#30746)
-rw-r--r--src/xdisp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index b99990d1d45..424f1735b5c 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -10173,9 +10173,14 @@ include the height of both, if present, in the return value. */)
RESTORE_IT (&it, &it2, it2data);
x = move_it_to (&it, end, to_x, max_y, -1, move_op);
/* Add the width of the thing at TO, but only if we didn't
- overshoot it; if we did, it is already accounted for. */
+ overshoot it; if we did, it is already accounted for. Also,
+ account for the height of the thing at TO. */
if (IT_CHARPOS (it) == end)
- x += it.pixel_width;
+ {
+ x += it.pixel_width;
+ it.max_ascent = max (it.max_ascent, it.ascent);
+ it.max_descent = max (it.max_descent, it.descent);
+ }
}
if (!NILP (x_limit))
{