Re: [PATCH v4 1/2] system_data_types.7: Add 'void *'

From: Alejandro Colomar
Date: Sat Oct 03 2020 - 04:55:26 EST


Hi Michael and Branden,

On 2020-10-03 09:48, G. Branden Robinson wrote:
At 2020-10-03T09:10:14+0200, Michael Kerrisk (man-pages) wrote:
On 10/2/20 10:27 PM, Alejandro Colomar wrote:
On 2020-10-02 22:14, Paul Eggert wrote:
> On 10/2/20 11:38 AM, Alejandro Colomar wrote:
>
>> .I void *
>>
>> renders with a space in between.
>
> That's odd, as "man(7)" says "All of the arguments will be
> printed next to each other without intervening spaces". I'd play
> it safe and quote the arg anyway.

Oops, that's a bug in man(7). Don't worry about it.

I'm not sure where that text in man(7) comes from. However, for
clarity I would normally also use quotes in this case.

Hi Michael and Branden,

Here is the offending line:

https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man7/man.7#n172

Thanks,

Alex


Michael, you might want to have a look at it.

I'll also add Branden, who might have something to say about it.

Yes, maybe Branden can add some insight.

The "short" answer[1] is that I think Alex is correct; Paul's caution is
unwarranted and arises from confusion with the font alternation macros
of the man(7) macro package. Examples of the latter are .BI and .BR.
Those set their even-numbered arguments in one font and odd-numbered
arguments in another, with no space between them. That suppression of
space is the reason they exist. With the "single-font" macros like .B
and .I[2], if you don't want space, don't type it.

I could say more, including an annotated explanation of the groff and
Version 7 Unix man(7) implementations of the I macro, if desired. :)

Regards,
Branden

[1] since as everyone knows, I struggle with brevity
[2] I (and others) discourage use of .SM and .SB because they can't be
distinguished from ordinary roman and bold type, respectively, on
terminals.