[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why does man(7) have 3 paragraph macros for the same thing? (was: `\
From: |
G. Branden Robinson |
Subject: |
Re: Why does man(7) have 3 paragraph macros for the same thing? (was: `\c`, mdoc(7), and man(7) extension macros) |
Date: |
Thu, 26 Oct 2023 10:28:13 -0500 |
At 2023-10-26T16:58:13+0200, Alejandro Colomar wrote:
> On Thu, Oct 26, 2023 at 09:51:40AM -0500, G. Branden Robinson wrote:
> > At 2023-10-26T16:12:36+0200, Alejandro Colomar wrote:
> > > Regarding PP, LP, and P, what's the history of them? Why do we
> > > have the 3? I'm willing to reduce them to just one.
> >
> > I invite Doug McIlroy to go on record, but my surmise is that they
> > were introduced as crutches for people already familiar with ms(7).
> >
> > Doug's original man(7) (1979) didn't have `P`. But Unix System III
> > added it in 1980, and 4.3BSD followed suit in 1986. This
> > information is in groff_man(7).
>
> Was the original PP?
It had both `PP` and `LP`. I reckon Doug figured ms(7) veterans would
have an unreformable habit of typing one or the other.
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/man/man7/man.7
I'd have been sterner--and probably less fondly remembered by my peers.
(While I'm armchair quarterbacking Doug's plays of 45 years ago, oh, how
I wish he hadn't have used input traps for anything in man(7).[1])
> Still, compatibility with ms(7) would make it slightly easier to
> trasnfer learning from man(7) to ms(7), would one learn it. I know
> many other macros are incompatible in bad ways, but the less the
> better, no?
That's true, but these days the knowledge transfer is, I submit, vastly
more likely to go the other way; that is, people will be exposed to
man(7) as their first roff macro language, and might decide to pick up
ms(7).
At that point, they'd have to learn that `LP` and `PP` do _different_
things. I think it's actually better if they _don't_ have to unlearn
the "fact" (applicable only to man(7)) that they are exactly the same.
Better, I believe, to promote only `P` in man(7). Anyone wanting to
pick up mm(7) will still enjoy some knowledge transfer. Without
arguments, `P` in mm(7) "does what you mean".
(I will not elaborate here on what that means; see the groff_mm(7) man
page in groff 1.23.0 and please God not an earlier version.)
Regards,
Branden
[1] In practice, nearly no one took them up for any purpose except the
one place you _had_ to use them: `TP`.
signature.asc
Description: PGP signature
- `\c`, mdoc(7), and man(7) extension macros (was: [PATCH 1/2] man*/: srcfix), G. Branden Robinson, 2023/10/26
- Re: `\c`, mdoc(7), and man(7) extension macros (was: [PATCH 1/2] man*/: srcfix), Alejandro Colomar, 2023/10/26
- Why does man(7) have 3 paragraph macros for the same thing? (was: `\c`, mdoc(7), and man(7) extension macros), G. Branden Robinson, 2023/10/26
- Re: Why does man(7) have 3 paragraph macros for the same thing? (was: `\c`, mdoc(7), and man(7) extension macros), Alejandro Colomar, 2023/10/26
- Re: Why does man(7) have 3 paragraph macros for the same thing? (was: `\c`, mdoc(7), and man(7) extension macros),
G. Branden Robinson <=
- Re: Why does man(7) have 3 paragraph macros for the same thing?, Ingo Schwarze, 2023/10/26
- Re: Why does man(7) have 3 paragraph macros for the same thing?, Alejandro Colomar, 2023/10/26
- Re: Why does man(7) have 3 paragraph macros for the same thing? (was: `\c`, mdoc(7), and man(7) extension macros), Alejandro Colomar, 2023/10/26
- Re: Why does man(7) have 3 paragraph macros for the same thing? (was: `\c`, mdoc(7), and man(7) extension macros), G. Branden Robinson, 2023/10/26
- Re: Why does man(7) have 3 paragraph macros for the same thing? (was: `\c`, mdoc(7), and man(7) extension macros), Alejandro Colomar, 2023/10/26
Re: `\c`, mdoc(7), and man(7) extension macros (was: [PATCH 1/2] man*/: srcfix), G. Branden Robinson, 2023/10/28
Re: `\c`, mdoc(7), and man(7) extension macros (was: [PATCH 1/2] man*/: srcfix), Ingo Schwarze, 2023/10/26