[TUHS] troff, Gremlin terminals, and the grn preprocessor

G. Branden Robinson g.branden.robinson at gmail.com
Sun Jul 13 13:01:47 AEST 2025


Hi Jonathan,

At 2025-07-13T12:45:30+1000, Jonathan Gray wrote:
> > I'm not sure about that reference to "Berkeley troff".  I already
> > deleted the modifier "device-independent" from that sentence because
> > I've never seen even a whisper of evidence that the CSRG ever
> > distributed Kernighan's device-independent troff; that was locked up
> > behind AT&T's revenue-seeking aims.
> 
> from the Berkeley manual:

...which one?  Is the one you're referencing archived at minnie?

Or do you mean the man page listed below as "grn.1"?

> grn - ditroff preprocessor for gremlin files
> 
> more on the Berkeley ditroff distribution below

Indeed!  I knew about vtroff but not about a Berkeley fork of Kernighan
troff.  This is significant news to me, and adds a whole new branch onto
the troff family tree in my head.

> grn(1) can be found in CD 4 of the CSRG archives.
> Along with various .grn files.
> 
> from tuhs Documentation/CSRG_CDs/csrg_ls.gz:
> 
> -r--r--r-- 1 root root   5757 May  9  1984 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/docs/grn.1
> -r--r--r-- 1 root root    356 Jul  5  1995 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/.MAP
> -r--r--r-- 1 root root    468 Dec 27  1986 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/Makefile
> -r--r--r-- 1 root root    235 Jul  5  1995 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/.MAP
> -r--r--r-- 1 root root   2037 Oct  8  1984 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.gprint.h
> -r--r--r-- 1 root root   9899 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.hdb.c
> -r--r--r-- 1 root root  19497 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.hgraph.c
> -r--r--r-- 1 root root   1028 Oct  8  1984 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.hpoint.c
> -r--r--r-- 1 root root  40419 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/SCCS/s.main.c
> -r--r--r-- 1 root root   1228 Nov 11  1985 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/dev.h
> -r--r--r-- 1 root root   1904 Dec  7  1984 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/gprint.h
> -r--r--r-- 1 root root   5677 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/hdb.c
> -r--r--r-- 1 root root  10982 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/hgraph.c
> -r--r--r-- 1 root root    895 Dec  7  1984 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/hpoint.c
> -r--r--r-- 1 root root  22630 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.okeeffe/grn/main.c
> -r--r--r-- 1 root root   5757 May  9  1984 CSRG/disk4/local/ditroff/ditroff.old.van/docs/grn.1
> -r--r--r-- 1 root root    314 Jul  5  1995 CSRG/disk4/local/ditroff/ditroff.old.van/grn/.MAP
> -r--r--r-- 1 root root    468 Dec 27  1986 CSRG/disk4/local/ditroff/ditroff.old.van/grn/Makefile
> -r--r--r-- 1 root root   1228 Nov 11  1985 CSRG/disk4/local/ditroff/ditroff.old.van/grn/dev.h
> -r--r--r-- 1 root root   1904 Dec  7  1984 CSRG/disk4/local/ditroff/ditroff.old.van/grn/gprint.h
> -r--r--r-- 1 root root   5677 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.van/grn/hdb.c
> -r--r--r-- 1 root root  10982 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.van/grn/hgraph.c
> -r--r--r-- 1 root root    895 Dec  7  1984 CSRG/disk4/local/ditroff/ditroff.old.van/grn/hpoint.c
> -r--r--r-- 1 root root  22630 Apr 14  1986 CSRG/disk4/local/ditroff/ditroff.old.van/grn/main.c
> -r--r--r-- 1 root root    5757 Oct 10  1986 CSRG/disk4/local/man/man1/grn.1

I didn't think to look there.

> The SCCS logs start in 1983, authored by slatteng.
> 
> The troff preprocessor is also mentioned in
> 
> Mark Opperman, Jim Thompson, Yih-Farn Chen
> A Gremlin Tutorial for the SUN Workstation
> UCB/CSD 322
> https://www2.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-322.pdf
> 
> "1.1 GREMLIN History
> GREMLIN's legacy encompasses more than five years and a half-dozen
> Berkeley graduate students.  It all started in 1981 when Barry Roitblat
> built the first version of GREMLIN for his Master's project.  That
> version ran only on AED color displays, and its output could be printed
> only on Versatec printers.  In order to include figures in typeset
> documents, they had to be cut-and-pasted.  In 1983, Dave Slattengren
> (another graduate student at UCB) acquired from AT&T the sources to
> Brian Kernighan's new DITROFF program.  In addition to making the
> program work under 4.2 BSD and building drivers for several printers,
> he wrote GRN, which reads files in GREMLIN format and generates
> DITROFF commands to print the pictures in-inline in documents.
> ...
> 1.2 Distribution of GREMLIN
> GREMLIN is distributed free of charge by the University of California,
> Berkeley, along with a modified version of the DITROFF typesetting
> system which allows GREMLIN pictures to be printed in-line in documents.
> To find out more about the GREMLIN/DITROFF distribution, including the
> AT&T licenses required to receive it, write to:"

This sheds a lot of light.  Thanks!

Regards,
Branden
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://www.tuhs.org/pipermail/tuhs/attachments/20250712/deb399e5/attachment.sig>


More information about the TUHS mailing list