Subject: bug#58193: 29.0.50; Screen flickers on with-locale-environment

From: Eli Zaretskii <[email-masked]>
Date: Fri, 30 Sep 2022 21:34:43 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Fri, 30 Sep 2022 19:43:11 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > IMO, that assumes to much knowledge on the part of the caller.  I'd
> > prefer a variable that would tell the macro that the body does include
> > display.
> 
> It's a macro that changes the locale.  It doesn't say anything about
> doing redisplay at all, so anybody that wants to do redisplay (for
> whatever reason) will use the normal ways of doing that.
> 
> I.e., there's no particular knowledge needed.

Many Lisp programmers don't realize what the macro does, in enough
detail to understand that it might affect the display.  Suppressing
redrawing of the frame by default is IMO the wrong default: the
flicker in case redrawing wasn't needed is just an annoyance, whereas
failure to redraw when it is needed is a much more serious problem.

So if we want to make the caller responsible for whether the frame
should be redrawn, the default should to redraw it, and callers that
want to avoid that would need to take some measures to that end.
Which is the opposite of what we have now.