Subject: Re: 26.0.50; Left fringe gets truncated by a pixel in window not sharing that edge with frame

From: martin rudalics <[email-masked]>
Date: Wed, 04 Oct 2017 11:04:31 +0200

>>   From the attached image it's easy to see that both fringes of the window
 >> on the right miss one pixel.
 >
 >
 > I fail to see that without the diff-hl-mode example.

I see that the continuation arrows in the rightmost fringe have their
tips truncated.  Do you really need diff-hl-mode enabled to see that?

 >> Please try:
 >>
 >> - C-x 3 with emacs -Q
 >>
 >> - C-x 3 with emacs -Q and scrollbars disabled
 >>
 >
 > I tried that, but nothing stood out.

Can you try again with a buffer with wide enough lines to see the
continuation arrows in the window on the right?  This is important
because it would constitute another, probably different bug.

 > Below images and animation are after following the emacs -Q recipe I posted
 > earlier - https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27830#5
 >
 >
 >
 > As seen above (figure attached), any window not sharing the edge the with
 > frame sees that ~1 pixel truncation.

I see: The first pixel of each fringe in a window that has another one
on the left gets overwritten by the "vertical window border".  With
window dividers or scroll bars on, that border is not drawn.  I think we
should remove that border completely and draw a one pixel wide window
divider instead when scroll bars are disabled in a window and dividers
are off.  Tricky because scroll bars can be turned off individually for
windows and dividers are frame wide.  Strictly for Emacs 27.

As a workaround for things to come I suggest using a one pixel wide
right only window divider with scroll bars off.

 > Here is the frame dump with scroll bars disabled:
 >
 > frame pixel: 656 x 540   cols/lines: 82 x 36   units: 8 x 15
[...]
 > height header-line: 0  mode-line: 0  divider: 0
[...]
 > Here's the same after *enabling* scroll bars:
 >
 > frame pixel: 672 x 540   cols/lines: 84 x 36   units: 8 x 15
[...]
 > height header-line: 0  mode-line: 0  divider: 0

Both dumps are completely normal.

Thanks, martin