Subject: Re: bug#18195: 24.3.92; window-screen-lines is not accurate

From: Eli Zaretskii <[email-masked]>
Date: Tue, 05 Aug 2014 20:57:58 +0300

> Date: Tue, 05 Aug 2014 17:45:25 +0200
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked]
> 
>  > There's also the issue of the buffer text on which the text will be
>  > overlaid: the dimensions of the screen lines to be (partially)
>  > overlaid affect the pixel dimensions of the overlaying text.  So if
>  > the buffer text uses different fonts, the text overlaid on it will
>  > have different dimensions than the same text when displayed in its own
>  > buffer.
> 
> This would have to be done on the Lisp level by selecting some font
> before calculating the size of the overlay.

Which font would you select?  I'm talking about a situation where the
text over which the candidate list will be popped uses several
different fonts, and so each line of the buffer text has a different
height.

> But I have problems with the attached patch.  If I invoke
> `window-text-pixel-size' with a different buffer than that displayed
> in the window I get an arguments out of range error.  Any ideas?

You switched the current buffer, but not the buffer pointed to by
w->contents.