[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Differences in `ne` and `bp` line-breaking behavior
From: |
G. Branden Robinson |
Subject: |
Re: Differences in `ne` and `bp` line-breaking behavior |
Date: |
Sun, 1 Dec 2024 22:54:32 -0600 |
At 2024-12-01T22:17:47-0600, Dave Kemper wrote:
> On Sun, Dec 1, 2024 at 8:27 PM G. Branden Robinson
> <g.branden.robinson@gmail.com> wrote:
> > By contrast, your sample size for `ne` misuse is one--yourself.
> > Formerly two, before I came to understand the request.
>
> Well, I agree with onf's point that .ne's behavior defies user
> expectation, so you can lump me in with that sample.
Well, maybe mine too. This one surprised me:
$ printf 'Hello, world!\n.bp\n.c2 @\none two three\nfour five six\n@bp\nseven
eight nine\n.br\nten eleven twelve\n' | groff -a
<beginning of page>
Hello, world!
<beginning of page>
<beginning of page>
one two three four five six seven eight nine
ten eleven twelve
I wasn't expecting TWO page breaks there. But I've got 'em. Is that
wrong? I'm not sure.
And, just to head off the usual hecklers, let's ask groff 1.22.3.
$ printf 'Hello, world!\n.bp\n.c2 @\none two three\nfour five six\n@bp\nseven
eight nine\n.br\nten eleven twelve\n' | ~/groff-1.22.3/bin/groff -a
<beginning of page>
Hello, world!
<beginning of page>
<beginning of page>
one two three four five six seven eight nine
ten eleven twelve
> Now, plenty of other roff behaviors also defy expectation, but we keep
> them around for back-compatibility reasons. The reason I suggested
> starting this thread was to find out whether .ne's nonbreaking
> behavior is one that any users rely on. And this remains an open
> question: so far the discussion has been mostly theoretical.
Conceded.
> This is at best a tangential point: roff is used for plenty of things
> besides man pages.
Not at best tangential--man pages are the _predominant_ application of
roff in publicly available documents. That matters.
> Arguably, man pages shouldn't use .ne at all for the various reasons
> you cite.
They should if they're typesetting them (and care about stranded lines),
until I can finagle in keeps and automatic paragraph diversions, thus
inaugurating a golden age of prosperity and pleasant typography.
Energy too cheap to meter! A chicken in every pot!
> So discussions about how .ne should behave fall primarily under the
> domain of non-man documents.
It is the expertise of non-man users of the `ne` request that I would
most like to solicit.
> The syntax of \s was altered not because of exhibits of its misuse,
> but because its behavior was so aberrant that it surprised one of the
> most veteran of roff veterans. So I'm not sure the above is the right
> hurdle to ask a proposal to clear.
I agree. I think that was a case of a syntactical infelicity that was
just too ugly to live, so we killed it. (And still caused offense among
the most rock-ribbed of grognards, in a notable case of being more
catholic than Popes Kernighan and McIlroy.)
> I'd rather ask, does it make the language easier to grasp / more
> intuitive without introducing incompatibilities that will break
> historical usage?
You state the criterion well, expressing the concerns we must balance.
I got yelled at from multiple quarters for a proclaimed excessive
disregard of the latter when changing the way the ms(7) package handled
no-space mode in places where inter-paragraph distance and display
distance could accumulate.
It is to my great misfortune that Bill Tuthill did not document
semantics for 4.2BSD ms's `DD` register _at all_. It is not even
mentioned in his document presenting BSD's extensions[1], and gets only
the most rudimentary presentation possible in its man page.[2]
DD display distance displays 1v (if n), .5v (if t)
Given that, you know that it exists. How does it or should it interact
with other features? Why, you can make up your own mind about that, and
you will be absolutely correct, and anyone who disagrees with you is a
malicious idiot who's just trying to break your document.
Good times.
Regards,
Branden
[1]
https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/doc/msmacros/ms.diffs
[2] https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/man/man7/ms.7
signature.asc
Description: PGP signature
- Re: Differences in `ne` and `bp` line-breaking behavior, (continued)
- Re: Differences in `ne` and `bp` line-breaking behavior, onf, 2024/12/01
- Re: Differences in `ne` and `bp` line-breaking behavior, G. Branden Robinson, 2024/12/01
- Re: Differences in `ne` and `bp` line-breaking behavior, onf, 2024/12/01
- Re: Differences in `ne` and `bp` line-breaking behavior, onf, 2024/12/01
- Re: Differences in `ne` and `bp` line-breaking behavior, G. Branden Robinson, 2024/12/02
- Re: Differences in `ne` and `bp` line-breaking behavior, G. Branden Robinson, 2024/12/01
- Re: Differences in `ne` and `bp` line-breaking behavior, onf, 2024/12/02
- Re: Differences in `ne` and `bp` line-breaking behavior, Dave Kemper, 2024/12/01
- Re: Differences in `ne` and `bp` line-breaking behavior,
G. Branden Robinson <=
- Re: Differences in `ne` and `bp` line-breaking behavior, onf, 2024/12/02
Re: Differences in `ne` and `bp` line-breaking behavior, Deri, 2024/12/02
Re: Differences in `ne` and `bp` line-breaking behavior, Douglas McIlroy, 2024/12/02