Subject: bug#43469: 28.0.50; window-text-pixel-size returns incorrect value when line-prefix is set

From: Eli Zaretskii <[email-masked]>
Date: Fri, 18 Sep 2020 22:22:17 +0300

> From: Yuan Fu <[email-masked]>
> Date: Fri, 18 Sep 2020 13:05:15 -0400
> Cc: [email-masked]
> 
> >> (progn (insert "xxxxxxxxxxxxxx")
> >>       (print (car (window-text-pixel-size
> >>                    nil (line-beginning-position) (line-end-position))))
> >>       (put-text-property (line-beginning-position) (line-end-position)
> >>                          'line-prefix "   ")
> >>       (print (car (window-text-pixel-size
> >>                    nil (line-beginning-position) (line-end-position)))))
> >> 
> >> Prints first 98, then 119
> > 
> > Why do you think this is a bug?
> 
> I thought the pixel width shouldn’t include the line-prefix?

It should.  From the function's doc string:

  This function exists to allow Lisp programs to adjust the dimensions
  of WINDOW to the buffer text it needs to display.

When you want to know how wide a window you need for displaying some
text, you do want the line-prefix part accounted for.