[Top][All Lists]

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

[bug #64005] [ms] fix for Savannah #62688 suppresses page breaks between

From: G. Branden Robinson
Subject: [bug #64005] [ms] fix for Savannah #62688 suppresses page breaks between displays
Date: Wed, 5 Apr 2023 22:30:21 -0400 (EDT)

Update of bug #64005 (project groff):

                  Status:               Confirmed => In Progress            


Follow-up Comment #3:

[comment #2 comment #2:]
> [comment #0 original submission:]
> > An only slightly less simple remedy might be to wrap the `bp`
> > request, forcing no-space on, invoking the "real" `bp`, and then
> > restoring no-space mode (if it was enabled).
> This would also cause .bp to start a new page even if the user has
explicitly invoked .ns, correct?  That would presumably diverge from
historical groff behavior, and possibly that of other roffs.

Yes.  But I'm not sure why you'd invoke `ns` and then immediately invoke `bp`.
 There are easier ways to do nothing.

Presumably the situation of interest is one where the document author invokes
`ns`, interesting things happen, and then they invoke `bp`.

I don't think `ns` and `rs` are what other macro packages (like me(7)) term
"safe requests".

The _only_ formatter requests that Lesk calls out in the Version 7 Unix ms
manual are `bp`, `br`, `sp`, and `na`.  He doesn't take as strong a line as
Allman did though, prefacing the foregoing with

> Among the useful commands from the basic formatting programs
> are the following.  They all work with both typesetter and
> computer terminal output:

He otherwise does not address the issue.  Given this, I'm tempted to regard
only those 4 foregoing requests as explicitly "blessed" by the package.  Maybe
I should add something to our doc/ms.ms about this.

The ms package uses `rs` and `ns` internally, and not lightly.  Even its
earliest available form, from Version 6 Unix, has several occurrences.

$ grep -rw -C1 '[nr]s' HISTORY-MS/1975-05-v6/
HISTORY-MS/1975-05-v6/tmac.s-.de TX
HISTORY-MS/1975-05-v6/tmac.s-.if t .sp .5i
HISTORY-MS/1975-05-v6/tmac.s-.ft R
HISTORY-MS/1975-05-v6/tmac.s-.ce 1000
HISTORY-MS/1975-05-v6/tmac.s-.di WB
HISTORY-MS/1975-05-v6/tmac.s-.ce 1
HISTORY-MS/1975-05-v6/tmac.s-.sp 6
HISTORY-MS/1975-05-v6/tmac.s-.if \\n(TV .TX
HISTORY-MS/1975-05-v6/tmac.s-.ll \\n(LLu
HISTORY-MS/1975-05-v6/tmac.s-.sp 6
HISTORY-MS/1975-05-v6/tmac.s-.if \\n(TV .TX
HISTORY-MS/1975-05-v6/tmac.s-.if t .sp 0.5
HISTORY-MS/1975-05-v6/tmac.s-.nr MF 0
HISTORY-MS/1975-05-v6/tmac.s-.nr RO \\n(L2*8/7
HISTORY-MS/1975-05-v6/tmac.s-.nr x 0 1

(As an aside, check that out, man--classical ms is name space clobberific!  It
doesn't seem Lesk expected much use of `de`, `ds`, or `nr`, either.)

I want to say that if you use any other requests and your document breaks, you
get to keep both pieces, but that is doubtless too harsh.  It's always okay to
use `ab` and `tm`, for instance--I don't want to warn people off of tools that
are useful for troubleshooting!

In any event, for the immediate issue, I think Lesk's endorsement of `bp` can
decide the issue.  He clearly envisioned it being employed by document
authors.  `ns` does not enjoy such an endorsement.

Given the choice between breaking documents' use of `bp` and `ns`, the answer
seems clear.

What do you think?


Reply to this item at:


Message sent via Savannah

reply via email to

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