Subject: Re: bug#6933: 24.0.50; fringe-mode value of `half' is broken
From: Eli Zaretskii <[email-masked]>
To: Drew Adams <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sat, 18 Sep 2010 11:49:04 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: "Drew Adams" <[email-masked]>
> Cc: <[email-masked]>
> Date: Fri, 17 Sep 2010 15:25:59 -0700
> 
> > I changed fringe.el to use (4 . 4).  So this bug should be fixed now
> > (revno 101464).
> 
> What about the confusing name `default' and the doc?

The original bug report was only about the effect of `half'.
Documentation is an unrelated issue.

> The doc string for the function `fringe-mode' mentions the rounding, but the doc
> string for the option (customization) does not mention it.

I added to the doc string of the defcustom a note about rounding.

> `default' probably should be renamed.  It is not just a default: `half'
> presumably takes its meaning from the meaning of `default'.  I suggested "full",
> "whole", or "maximal", but perhaps something even better can be found.  The
> clearest doc about the fringe is the Elisp manual, and that refers to this as
> the "standard" width. That is better than `default'.

I don't see a good reason for renaming the symbolic values.  Doing so
will surely cause back-compatibility issues, so IMO we need a really
good reason for such a change.

> "standard fringe width, which is the width needed to display the fringe bitmaps"
> 
> That suggests that it is a function of the fringe bitmaps, not a constant width.

They are constant for the time being, but may change in the future,
e.g. if we lift the current restriction of the display engine that
limits window width to an integral multiple of the canonical character
size.

> But as I say, if `default' and `half' are, in their effect, just hard-coded
> numeric widths, then let's get rid of those value-menu and `interactive' spec
> choices.  There is no need for a value of nil unless it actually does let the
> fringe be different in different contexts (e.g. bitmap size).

I don't think it's right to fix the choices on specific numbers.
Symbolic values allow us to change the underlying implementation in
the future without hurting compatibility.  The fact that some of the
documentation describes the current implementation is not necessarily
a good reason to remove future extensibility.

> Can we settle this?

Feel free to submit a separate bug report.  I'm not going to do
anything about this at this time, for the reasons stated above.