Subject: Re: bug#32536: displayed width of man pages

From: Eli Zaretskii <[email-masked]>
Date: Fri, 28 Dec 2018 06:50:51 +0200

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 27 Dec 2018 22:54:44 +0200
> 
> >> +(defcustom Man-width-min 40
> >> [...]
> >> +If the calculated width is smaller than the minimum width, the value
> >> +of this variable has no effect.
> >> [...]
> >> +(defcustom Man-width-max 80
> >> [...]
> >> +If the calculated width is smaller than the maximum width, the value
> >> +of this variable has no effect.
> >
> > I suspect some typo(s) in these doc strings, perhaps due to
> > copy/pasta, because the penultimate sentence of each of them makes no
> > sense to me, certainly when taken together with the other doc string.
> > If I'm wrong, and there's no error here, please explain what you
> > meant.
> 
> Yes, one of them is wrong.  The doc string of Man-width-min should be
> changed to:
> 
>   If the calculated width is larger than the minimum width, the value
>   of this variable has no effect.

OK, but I'm still not getting something.  Here's the corrected doc
string:

    "Minimum number of columns allowed for the width of manual pages.
  It defines the minimum width for the case when `Man-width' is customized
  to a dynamically calculated value depending on the frame/window width.
  If the width calculated for `Man-width' is smaller than the minimum width,
  it will be automatically enlarged to the width defined by this variable.
  If the calculated width is larger than the minimum width, the value
  of this variable has no effect.

If the last 2 sentences want to say that the limit is from below, then
they say this in a complicated and confusing way.  How about removing
the last sentence?

> > Careful here: both window-width (why not use its official name, btw?)
> 
> Sorry, I don't understand what is the official name?

window-width is an alias, the real function is window-body-width.

> >> +      (setenv "COLUMNS" (number-to-string Man-columns)))
> >
> > Here, for example, the 'man' program will interpret COLUMNS at face
> > value, and will produce lines of that many characters; but if the size
> > of thefont used to display the man page is significantly different
> > from the frame's default font, those lines might be wider or narrower
> > than the window/frame.
> 
> It seems this calculation works only for monospace fonts.

Like I said: this has some subtle aspects, and I suggest saying that
in the doc string in some way.

> > Finally, I think this warrants a NEWS entry and perhaps also an update
> > for the manual.
> 
> Will do after the final patch.

Thanks.