Subject: bug#18912: 24.4; mode-line corruption on graphical frames in dual-headed display

From: Bruno Félix Rezende Ribeiro <[email-masked]>
Date: Sat, 01 Nov 2014 10:54:03 -0200

Eli Zaretskii wrote:
> Please show the output of each one the following forms, evaluated in
> both the "good" and "bad" configurations, when you start "emacs -Q"
> and visit the same /dev directory:
> 
>   (window-height)
>   (window-pixel-height)
> 
> You can evaluate each form using M-:, as in
> 
>   M-: (window-height) RET
> 
> Please compare the return value of window-height with the actual
> number of lines available in that window, and tell if the two match.

For this test Emacs was started with the option '-Q' and in both
configurations the frame was put by the window manager in the same area
of the VGA1 output, with unchanged relative geometry:

  xwininfo (common to both configurations):
    Absolute upper-left X:  520
    Absolute upper-left Y:  23
    Relative upper-left X:  4
    Relative upper-left Y:  23
    Width: 756
    Height: 697
    Depth: 24
    Border width: 0

Good configuration (only VGA1 enabled):

  xwininfo:
    Corners:  +520+23  -4+23  -4-0  +520-0
    -geometry 80x37-0+0

  (window-height) => 34
  (window-pixel-height) => 612

Bad configuration (both VGA1 and LVDS1 enabled):

  xwininfo:
    Corners:  +520+23  -1028+23  -1028-0  +520-0
    -geometry 80x37+516+0

  (window-height) ==> 34
  (window-pixel-height) ==> 613

Interesting enough, '(window-pixel-height)' returns different values for
both configurations under the "same" circumstances.  Furthermore, in
both configurations '(window-height)' returns one line more than what
was actually shown.  Therefore, both expressions seem to suggest an "off
by one" bug.

-- 
 ,= ,-_-. =.  Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
((_/)o o(\_)) There is no system but GNU;
 `-'(. .)`-'  GNU Linux-Libre is one of its official kernels;
     \_/      All software must be free as in freedom;