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

From: Michael Kerrisk (man-pages)
Date: Sat Oct 03 2020 - 07:52:30 EST


On 10/3/20 9:48 AM, 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.
>>
>>> 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. :)

So, perhaps change:

All of the arguments will be printed next to each
other without intervening spaces, so that the .BR command
can be used to specify a word in bold followed by a mark of
punctuation in Roman.

to:

For the macros that produce alternating type faces,
the arguments will be printed next to each
other without intervening spaces, so that the .BR command
can be used to specify a word in bold followed by a mark of
punctuation in Roman.

?

> [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.

So, do you think it's worth discouraging this in man(7)?

Thanks,

Michael



--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/