From: Larry McVoy
(*) I know that nroff was "new run off" and
it came from somewhere, MIT?
Some old system ... I've never seen docs for the previous system and I
kinda think Joe took it to the next level.
Definitely!
The original 'runoff' was on CTSS, written by Jerry Saltzer. It had a
companion program, 'typset', which was an editor for preparing runoff input. A
memo describing them is available here:
http://web.mit.edu/Saltzer/www/publications/ctss/AH.9.01.html
From the look of things, it didn't have any macro
capability.
Runoff was moved to Multics fairly early: here's its entry from the Multics
glossary:
A Multics BCPL version of runoff was written by Doug McIlroy and Bob
Morris. A version of runoff in PL/I was written by Dennis Capps in
1974.
...
Multics documentation was transitioned from the Flexowriters to use of
runoff when the system became self-hosting about 1968. runoff was used for
manuals, release bulletins, internal memos and other documentation for most
of the 70s. To support this use, Multics runoff had many features such as
multi-pass execution and variable definition and expansion that went far
beyond the CTSS version. Multics manuals were formatted with complex macros,
included by the document source, that handled tables of contents and
standard formatting, and supported the single sourcing of the commands
manual and the info files for commands.
So the BCPL version would have been before Bell exited the project. I'm not
sure if the 'macros' comment refers to the BCPL version, or the PL/I.
Here's
the Multics 'info' segment about runoff:
http://web.mit.edu/multics-history/source/Multics/doc/info_segments/runoff.…
which doesn't mention macros, but lists a few things that might be used for
macros. It refers to "the runoff command in the MPM Commands" volume (a
reference to "Multics Programmer's manual: Commands and Active Functions")
for
details; this is available on bitsavers, see page 3-619 in "AG92-03A",
February 1980 edition.
Noel