groff
[Top][All Lists]
Advanced

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

Re: .bp not working in groff 1.23.0 when it worked fine in 1.22.4


From: G. Branden Robinson
Subject: Re: .bp not working in groff 1.23.0 when it worked fine in 1.22.4
Date: Tue, 23 Jan 2024 21:20:57 -0600

Hi Dave,

At 2024-01-23T20:52:34-0600, Dave Kemper wrote:
> However, .bp arguably shouldn't have been affected by the change,
> since it probably wasn't subject to the same historical ambiguity.

I agree, and I wasn't happy about it.

> (I bet implementing that distinction would require some macro
> gymnastics, though, since a user-invoked .ns *should* suppress .bp,
> while a -ms-invoked post-display one shouldn't.)

Yes.  I thought about adding a `BP` macro to _groff_ ms, meaning
essentially "restore spacing mode and break now, damn it, even if we're
in a diversion" (see tbl(1)).  But I decided that so much rendering of
ms documents is of historical ones that this wouldn't really help much.

And unlike with man(7) and mdoc, ms users are _expected_ to define their
own macros.  It's so expected that I _think_ one of the reasons USG (or
whatever it was called back around PWB/Unix 1.0 days) forked ms off into
mm was because they had, or expected, users who would be less ambitious
than those in the (1)127 building that housed the CSRC, and who would
approach macro authorship with much greater trepidation.

Thus, in mm(7), there was an explicit list of "safe" requests and the
user was warned off of using others.

  "Most formatter requests should not be used with MM because MM
  provides equivalent functionaltiy[sic] in a much more user-oriented
  and surprise-free fashion than do the basic formatter requests.
  However, some formatter requests are useful, namely [...]  Use of
  other requests without fully understanding their implications very
  often leads to disaster."
      -- "MM - A Macro Package for Generating Documents" (DWB 3.3), ยง3.3

Eric Allman similarly documented a list of requests one could "use with
impunity" with the me(7) package, once it was initialized.

Peter Schaffter's mom(7), of course, takes this principle to its logical
conclusion.

In my imagination I conceive a bit of friendly one-upmanship in the CSRC
with respect to how much mastery one could demonstrate of Ossanna's
famously impenetrable formatter, which Kernighan's device-independent
rewrite may have somewhat de-obfuscated but did not really demystify.
(Many symbol names remained reconditely encoded, as we can see through
their survival into DWB troff.)

But that community, and the one served by the (proto-?)USG, did not, I
suspect, share that trait.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

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