groff
[Top][All Lists]
Advanced

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

Re: [TUHS] Re: Old troff files (1988-2007)


From: G. Branden Robinson
Subject: Re: [TUHS] Re: Old troff files (1988-2007)
Date: Sat, 5 Oct 2024 17:22:07 -0500

Hi Clem,

At 2024-10-05T09:14:27-0400, Clem Cole wrote:
> Branden. Thank you.     FWIW I have generally found heirloom to be
> good enough for rendering most old troff on modern systems such that I
> can reasonably read the text.

I generally get good results with it as well.  I frequently compare the
behaviors of DWB 3.3 troff and Heirloom troff with 2-3 versions of GNU
troff (1.22.4 [2018], 1.23.0 [2023], and bleeding-edge development).

Setting aside the issue of extensions (whether to the *roff language, to
preprocessors, or to macro packages), I find that Heirloom fixes many
DWB bugs.  I think GNU troff can boast of slightly better terminal
support, although nroff veterans are sometimes scandalized by GNU
troff's terminal output driver (grotty(1)) assuming that it's _not_
talking to a Teletype Model 37, but rather a more-or-less ECMA-48 video
terminal.

To brutally abbreviate the history, for $reasons Unix nroff got frozen
in amber in 1978 with respect to terminal support, and continues to live
in a world where the termcap and terminfo libraries were never written.
Unfortunately, the maintainer of the less(1) pager still presumes
(prefers?) that world.

A previous groff maintainer observed that few of our users operate paper
terminals.  (Nevertheless grotty retains support for them with its `-c`
option.)

Anton Shepelev wrote a summary I find admirably concise and blunt:

"`grotty' is not an appendix to a pager, but a program for printing
direct to the terminal.  Most terminals support those basic ANSI
control sequences, and many console programs freely use them.  If a
pager cannot transparently forward them to the terminal, it is a
problem of the pager, not of `grotty', and having a broken -man
configuration by default to just to appease `less' is stupid."

> That said I often use the groff tools kits since it’s what comes with
> things like brew on my Mac but it burps on certain macros,
> particularly when I want to render old man pages or doc files from old
> Unix versions  with things like .UX macro (which is a PITA).

Yes.  Our ms(7) manual ("ms.ms"), originally by Larry Kollar, concedes
its limitations.

--- snip ---
7.1.  Unix Version 7 ms macros not implemented by groff ms

Several macros described in the Unix  Version  7  ms  documentation  are
unimplemented  by groff ms because they are specific to the requirements
of documents produced internally by Bell  Laboratories,  some  of  which
also  require  a glyph for the Bell System logo that groff does not sup‐
port.  These macros implemented several document type formats  (EG,  IM,
MF,  MR,  TM,  TR),  were meaningful only in conjunction with the use of
certain document types (AT, CS, CT, OK, SG), stored the postal addresses
of Bell Labs sites (HO, IH, MH, PY, WH), or lacked a  stable  definition
over  time  (UX).   To  compatibly  render historical ms documents using
these macros, we advise your documents to invoke the rm request  to  re‐
move  any  such  macros it uses and then define replacements with an au‐
thentically  typeset original at hand.[10] For informal purposes, a sim‐
ple definition of UX should maintain the readability of  the  document’s
substance.

                           ┌───────────────┐
                           │ .rm UX        │
                           │ .ds UX Unix\" │
                           └───────────────┘

───────────
  [10] The removal beforehand is  necessary  because  groff  ms  aliases
these macros to a diagnostic macro, and you want to redefine the aliased
name, not its target.
--- end snip ---

The point of the `UX` macro was to abstract away the problem of sticking
a footnote at the bottom of the page to acknowledge (or in the Labs'
case, announce) the holder of the Unix trade mark on its first
occurrence.

I suspect the CSRC did not anticipate that the trade mark would ever
change hands, let alone how many times...

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

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