function prototypes, man(7), and mdoc(7) (was: boldface, italics, spaces and ellipses in synopses of commands, and *nix history)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,

At 2023-08-01T01:03:38+0200, Alejandro Colomar wrote:
> > My goal is that it not be obvious to the causal reader of a man page
> > whether man(7) or mdoc(7) was used to compose it.
> 
> Function prototypes are the biggest difference, IMO.  I prefer how
> man(7) pages show function prototypes (the type and the variable are
> formatted differently).  Though I'll give to mdoc(7) that parentheses
> and commas in roman are nice.

You will scandalize some people by suggesting that bold isn't the best
choice for all literals.  ;-)

> .3 pages are easily distinguished in the first screenful of text
> without looking at the source, in the SYNOPSIS.

I think it might be tricky to achieve parity here without either:

1.  imposing eyeball-bleeding complexity on man(7) authors; or
2.  implementing the most radical of my man(7) reform proposals:
    an extensible semantic tagging mechanism.

https://lists.gnu.org/archive/html/groff/2022-12/msg00075.html

I'll see how we weather the `MR` storm before sailing into that one.

In any event I'd need to devote some serious time to considering the
shape of the problem of function declarations.  Possibly their hopeless
variability is what led mdoc(7)'s designer(s) to implement its
challenging "called"/"parsable" system of argument interpretation.

And think--C language declaration syntax has gotten _more_ complex since
mdoc fossilized around the time ANSI C froze.  Type qualifiers are far
more often used now, and attributes were, if not inconceivable, then on
a distant horizon.

But maybe that won't matter: with only three font styles available
(though we probably _could_ employ bold-italics if we _had_ to), there
is a limit to how many different sorts of things we can represent.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux