Thank you for the great reply on the "next steps" for me to execute. I apologize for the late reply.
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.
Please try:
- C-x 3 with emacs -Q
- C-x 3 with emacs -Q and scrollbars disabled
I tried that, but nothing stood out.
and look at the right edge of any truncation glyphs in the window on the
right. I suppose that the diff-hl fringe customizations are needed to
reproduce the problem but who knows.
Next, on the frame shown in your image do another C-x 3 so we can tell
whether only the rightmost window is affected.
As seen above (figure attached), any window not sharing the edge the with frame sees that ~1 pixel truncation.
Also, please double-check whether disabling the scroll bars is needed to show the
effect.
Yes!
With scroll bars enabled, the diff-hl-mode glyphs show up fine without truncation (see attached):
Finally, on the frame shown in your image, do
M-: (window--dump-frame)
This should get you a buffer *window-frame-dump*. Please post its
contents here.
Here is the frame dump with scroll bars disabled:
frame pixel: 656 x 540 cols/lines: 82 x 36 units: 8 x 15
frame text pixel: 640 x 540 cols/lines: 80 x 36
tool: 0 scroll: 0/0 fringe: 16 border: 0 right: 0 bottom: 0
#<window 5> parent: nil
pixel left: 0 top: 0 size: 656 x 525 new: 656
char left: 0 top: 0 size: 82 x 35 new: 82
normal: 1.0 x 1.0 new: nil
#<window 3 on init.el> parent: #<window 5>
pixel left: 0 top: 0 size: 328 x 525 new: 328
char left: 0 top: 0 size: 41 x 35 new: 41
normal: 0.5 x 1.0 new: nil
body pixel: 312 x 510 char: 39 x 34
width left fringe: 8 left margin: 0 right margin: 0
width right fringe: 8 scroll-bar: 0 divider: 0
height header-line: 0 mode-line: 15 divider: 0
#<window 6 on init.el> parent: #<window 5>
pixel left: 328 top: 0 size: 168 x 525 new: 168
char left: 41 top: 0 size: 21 x 35 new: 21
normal: 0.25 x 1.0 new: 0.25
body pixel: 152 x 510 char: 19 x 34
width left fringe: 8 left margin: 0 right margin: 0
width right fringe: 8 scroll-bar: 0 divider: 0
height header-line: 0 mode-line: 15 divider: 0
#<window 7 on init.el> parent: #<window 5>
pixel left: 496 top: 0 size: 160 x 525 new: 160
char left: 62 top: 0 size: 20 x 35 new: 20
normal: 0.25 x 1.0 new: 0.25
body pixel: 144 x 510 char: 18 x 34
width left fringe: 8 left margin: 0 right margin: 0
width right fringe: 8 scroll-bar: 0 divider: 0
height header-line: 0 mode-line: 15 divider: 0
#<window 4 on *Minibuf-0*> parent: nil
pixel left: 0 top: 525 size: 656 x 15 new: 0
char left: 0 top: 35 size: 82 x 1 new: 82
normal: 1.0 x 1.0 new: 0
body pixel: 640 x 15 char: 80 x 1
width left fringe: 8 left margin: 0 right margin: 0
width right fringe: 8 scroll-bar: 0 divider: 0
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
frame text pixel: 640 x 540 cols/lines: 80 x 36
tool: 0 scroll: 16/0 fringe: 16 border: 0 right: 0 bottom: 0
#<window 8> parent: nil
pixel left: 0 top: 0 size: 672 x 525 new: 672
char left: 0 top: 0 size: 84 x 35 new: 84
normal: 1.0 x 1.0 new: nil
#<window 3 on init.el> parent: #<window 8>
pixel left: 0 top: 0 size: 168 x 525 new: 168
char left: 0 top: 0 size: 21 x 35 new: 21
normal: 0.25 x 1.0 new: nil
body pixel: 136 x 510 char: 17 x 34
width left fringe: 8 left margin: 0 right margin: 0
width right fringe: 8 scroll-bar: 16 divider: 0
height header-line: 0 mode-line: 15 divider: 0
#<window 10 on init.el> parent: #<window 8>
pixel left: 168 top: 0 size: 168 x 525 new: 168
char left: 21 top: 0 size: 21 x 35 new: 21
normal: 0.25 x 1.0 new: nil
body pixel: 136 x 510 char: 17 x 34
width left fringe: 8 left margin: 0 right margin: 0
width right fringe: 8 scroll-bar: 16 divider: 0
height header-line: 0 mode-line: 15 divider: 0
#<window 9 on init.el> parent: #<window 8>
pixel left: 336 top: 0 size: 336 x 525 new: 336
char left: 42 top: 0 size: 42 x 35 new: 42
normal: 0.5 x 1.0 new: nil
body pixel: 304 x 510 char: 38 x 34
width left fringe: 8 left margin: 0 right margin: 0
width right fringe: 8 scroll-bar: 16 divider: 0
height header-line: 0 mode-line: 15 divider: 0
#<window 4 on *Minibuf-0*> parent: nil
pixel left: 0 top: 525 size: 672 x 15 new: 0
char left: 0 top: 35 size: 84 x 1 new: 82
normal: 1.0 x 1.0 new: 0
body pixel: 640 x 15 char: 80 x 1
width left fringe: 8 left margin: 0 right margin: 0
width right fringe: 8 scroll-bar: 16 divider: 0
height header-line: 0 mode-line: 0 divider: 0