]> git.eshelyaron.com Git - emacs.git/commitdiff
Another followup to fixing 'window-text-pixel-width'
authorEli Zaretskii <eliz@gnu.org>
Fri, 16 Mar 2018 16:11:07 +0000 (18:11 +0200)
committerAndrew G Cohen <cohen@andy.bu.edu>
Tue, 11 Dec 2018 06:17:50 +0000 (14:17 +0800)
* src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
when we stop one buffer position short of TO.  (Bug#30746)

src/xdisp.c

index b99990d1d454f2faf198ccec775cc4ef3578afce..424f1735b5ccf73bb705172808ea3ed98bd90b21 100644 (file)
@@ -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))
     {