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

From: Bruno Félix Rezende Ribeiro <[email-masked]>
Date: Mon, 03 Nov 2014 04:03:39 -0200

Eli Zaretskii wrote:
> Unnecessary redrawing causes unpleasant flickering that people
> rightfully complain about.

It wouldn't be unnecessary because only people having a similar problem
would deliberately enable the mode-line redrawing.  I can assure you a
constantly corrupted mode-line is much more annoying than one fast flash
that will only occur sporadically, in just one line, by direct command
of the user.  In particular, on scroll operations all lines in the
window are expected to change, so it's not that bad if just one more
line, contiguous to the region, flashes.  Actually, the chances are that
the flash won't be noticeable at all.

As suggested, this workaround would have no effect on any users that
have not experienced the problem, while virtually fixing it for people
who experiences it.  That's almost ideal in a scenario where it'd be
very time consuming or hard to find the cause and fix the actual bug.

> Emacs never writes buffer contents where the mode line should be, so
> this problem could only happen if Emacs for some reason becomes
> confused about the window dimensions.  The result could be a variety
> of display problems, not just what you see.

Yeah, it might be, but we can't really know until someone experiences
other correlated display problems.  However, the workaround won't worsen
the bug under any possible circumstances, and fixes it for people who
are already experiencing that particular display problem.

> Are you willing to debug this problem on your machine using GDB?  If
> so, I might come up with some instructions.

Sure, why not?  However, if we can't find the bug's root, I'll ask you
to consider implementing the suggested workaround.  Deal? ;-)

-- 
 ,= ,-_-. =.  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;