Subject: bug#77313: 30.1.50; Regression: flymake indicators are erroneously using margins

From: Eli Zaretskii <[email-masked]>
Date: Sat, 29 Mar 2025 10:05:29 +0300

> From: Spencer Baugh <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Fri, 28 Mar 2025 12:53:11 -0400
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > I think it's the correct direction, but wouldn't it be easier to make
> > this a frame parameter instead?  Then the defcustom could be nil by
> > default, and if it's non-nil, it would override the frame parameter.
> > The bonus will be that users will be able to define different styles
> > even for frames of the same type.  Another bonus is that the
> > frame-parameter machinery is well-tested, so the change will be a
> > low-risk one.
> >
> > WDYT?
> 
> Note that a nil value for the defcustom is already interpreted as
> meaning "show no indicators".
> 
> As for adding a frame parameter: that's a good idea, but I think we'd
> still want to behave correctly if the frame parameter isn't set.  In the
> case where the frame parameter isn't set, I think we'd have the same
> logic that exists in my patch right now, where we decide margin vs
> fringe based on (display-graphic-p).

Maybe.  Or maybe we should leave the defcustom in its current simple
form.  Because if the default is to have the frame parameter, then
what the defcustom does is much less important.

> So, adding a frame parameter would be useful, but it could be done
> later, purely additively.

I think it should be the main solution for emacs-30, not the backup or
future extension.  Why not?