groff
[Top][All Lists]
Advanced

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

Re: groff now undoing .ad settings after .IP


From: Russ Allbery
Subject: Re: groff now undoing .ad settings after .IP
Date: Fri, 15 Mar 2024 12:29:36 -0700
User-agent: Gnus/5.13 (Gnus v5.13)

"G. Branden Robinson" <g.branden.robinson@gmail.com> writes:

> Can you name me a misbehaving perlpod(1)-generated page?  I'll check it
> out.

Yeah, pod2man(1) itself will do it on a Debian system with recent groff.
You'll see justification switch from ragged right to full in the body of
the first option documented in OPTIONS.

> Perhaps what I really needed here was:

Aha, yes, I was wondering if you could just save and restore the
adjustment rather than having to set it to the AD register.

> A long time for sure.  In Solaris _10_ troff's tmac.an, which has a
> GitHub repo,[1] `TH` has a relict ".if n .na"--that is, it's commented
> out.  But for how long it had been commented out, I have no idea.  And
> sure enough, SSHing to a Solaris 10 box and "man ls" tells me that
> adjustment to both margins is on.

> [Continues poking around, in non-publicly available sources...]

> Ah.  Same commented out request in the same tmac.an macro in...

> Drum roll, please...

> SunOS 4 (1988).

> Same thing in SunOS 3.5, SunOS 3.2, and SunOS 2.0 (1982!).

> So as with many decisions James Clark made with groff, he was aiming at
> straight-down-the-line Sun compatibility.  Mystery solved.

Must have been some other implementation where I ran into this, then.  I
think at the time I was testing on a pile of different commercial UNIXes.

Hm, I tracked down the commit message where I changed from ".if n .na" in
the preamble to ".if n .ad l" after .TH, and the comment claims it was for
groff.

        * lib/Pod/Man.pm (guesswork): Recognize more uses of hyphens in
        regular English text and allow them to be regular hyphens.
        (preamble): Turn off hyphenation and, for nroff, justification
        after the .TH macro since that's where groff turns them on.
        * t/basic.t: Update for the new preamble.
        * t/filehandle.t: Likewise.
        * t/man.t: Likewise, and test the new hyphen behavior.
        * t/basic.man: Adjust for the new hyphen behavior.

(Bad 2006 version of me, combining unrelated changes into a single
commit.)  It's possible that the comment is referring to the hyphenation
change and I just moved them both together.  I don't appear to have
written down why I switched from ".na" to ".ad l".

".if n .na" was in the generated output of Pod::Man of my very first
version in 1999, which strongly implies that it was in Tom Christiansen's
original pod2man script on which Pod::Man was originally based.

-- 
Russ Allbery (eagle@eyrie.org)             <https://www.eyrie.org/~eagle/>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]