emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 33cba54: Another followup to fixing 'window-text-pi


From: Eli Zaretskii
Subject: [Emacs-diffs] master 33cba54: Another followup to fixing 'window-text-pixel-width'
Date: Fri, 16 Mar 2018 12:12:35 -0400 (EDT)

branch: master
commit 33cba5405c724566673cf023513bfb1faa963bea
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    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)
---
 src/xdisp.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index b99990d..424f173 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))
     {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]