> Did roff do all of what troff and nroff did?
No way. Ossanna deserves all the praise you give him. Roff extended
runoff in various ways:
relative numeric operators, e.g. .in +8
tabbing (left, right and centered)
underlining
tripartite headers and footers
arabic and roman page numbering
adjustable head and foot margins
automatic hyphenation, thanks to Molly Wagner
footnotes
merge patterns for change marks, column separators, etc.
various special requests: .ne, .ti, .tr, .po, .op (odd page)
But roff did NOT have conditionals, traps, special characters,
environments, or arbitrary motion control. Crucially (and ironically,
because I was Mr. Macro), it did not have anything like macros,
strings and diversions until after Joe pioneered them in nroff.
So there was a gaping disparity: nroff was Turing complete, roff
wasn't. Roff merely added features to runoff; nroff leapt into a
different universe.
-----------------------
The features listed above are in the January 1971 manual for BCPL
roff, which is probably the anonymous reference cited in the November
1971 v1 manual. The v1 manual lists Osanna, Ken and Dennis as authors
of the Unix implementation. I believe Ossanna is named because he
added line-numbering--and maybe more--to entice the patent department
to switch to roff.
BCPL roff allowed all four arithmetic operators in contexts like .ls
*3. Only + and - were allowed in nroff. Eventually both BCPL roff and
nroff got number registers (defined by different commands); I don't
recall which came first. BCPL roff also got a weak macro facility,
definitely after nroff.
Doug
Hello All.
If anyone is interested in struct, I have completed updating it
for modern day systems. Thanks to Jay Logue for invaluable help in
completing the work and to Bakul Shah for his interest and support.
See https://github.com/arnoldrobbins/struct; I have merged the
modernization work into the master branch. The README.md describes
what was done in more detail.
Doug McIlroy - if you want me to add anything to the README.md, please send
it on and I will do so, quoting you as appropriate.
Jay Logue and Bakul Shah - if you want me to add anything to the
README.md, please let me know (privately).
Thanks,
Arnold
Hi all,
Has anybody ever seen a console floppy image anywhere on the internet
labeled:
/"RX11 VAX DSK LD DEV #1"/
It is referenced in BSD 4 documentation with respect to formatting disks
(edited):
USING DEC SOFTWARE TO FORMAT
Warning: These instructions are for people with 11/780 CPU’s.
You should shut down UNIX and halt the machine to do any disk
formatting.
Formatting an RP06. Load the console floppy labeled, "RX11 VAX DSK
LD DEV #1" in the console disk drive, and type the following commands:
>>>BOOT
DIAGNOSTIC SUPERVISOR. ZZ-ESSAA-X5.0-119 23-JAN-1980 12:44:40.03
DS>ATTACH RH780 SBI RHO 8 5
DS>ATTACH RPO6 RHO DBA0
DS>SELECT DBAO
DS>LOAD EVRAC
DS>START/SEC:PACKINIT
This is for drive 0 on mbaO; use 9 instead of 8 for mbal, etc.
> I've just watched an interesting presentation given last Friday via
> video link to the Linux Conference in Australia:
> Brian Kernighan
> The early days of Unix at Bell Labs
> https://www.youtube.com/watch?v=ECCr_KFl41E
Here's an earlier incarnation of the talk:
https://www.youtube.com/watch?v=nS-0Vrmok6Y
I rather enjoyed seeing it with closed captions in Spanish and
speakers turned off. Aided by the slides, I was pretty well able to
read the Spanish, which otherwise would have been quite mysterious.
Doug
I've just watched an interesting presentation given last Friday via
video link to the Linux Conference in Australia:
Brian Kernighan
The early days of Unix at Bell Labs
https://www.youtube.com/watch?v=ECCr_KFl41E
48 minutes
While most of the talk subjects are well known to TUHS list members,
there are nice things said about various people, and about the value
of TUHS.
Other talks at the conference may be of interest as well: see the
schedule at
https://linux.conf.au/schedule/
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
Any takers for a (free) two-volume 7th Ed manual (1983), or ring-bound 8th Ed (1985), or PDP11 processor handbook (1981)? These would need to be picked up in Lindfield, Sydney, Australia. Condition is fair, but they've been in storage for 35 years so are slightly mouldy, but still perfectly usable. Images at http://jon.es/other/7th-ed.jpg and http://jon.es/other/8th-ed.jpg If you’d like them, let me know in email ASAP please.
Regards,
Terry Jones
> From: Angelo Papenhoff
> to my knowledge no troff version before the C rewrite in v7
Apologies if I missed something, but between this list and COFF there's so
much low S/N traffic I skip a lot of it. Having said that, was there ever a
troff in assembler? I'd always had the impression that the first one was in C.
> The v6 distribution has deleted directory entries for troff source but
> not the files themselves. I hope it is not lost. Maybe someone here has
> an idea where it could be found?
The MIT 'V6+' (I think it's probably basically PWB1) system had troff -
i guess it 'fell off the back of a truck', like a lot of other stuff MIT had,
such as 'typesetter C', the Portable C Compiler, etc.
Theirs was modified to produce output for a Varian (I forget which model,
maybe the docs or driver say).
nroff on that system seems to have been generated from the troff sources; the
assembler nroff sources aren't present.
I looked at its n1.c, and compared it to the V7 one:
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/troff/n1.c
and this one appears to be slightly earlier; e.g. it starts:
#include "tdef.h"
#include "t.h"
#include "tw.h"
/*
troff1.c
consume options, initialization, main loop,
input routines, escape function calling
*/
extern int stdi;
and in the argument processing, it has quite a lot fewer.
So that one is a "troff version before the C rewrite in .. v7", but it is in
C. Is that of any interest?
Noel
Most of y'all are aware of Brian Kernighan's troff involvement. My
understanding is that he pretty much took over nroff/troff after Joe Ossana
died, and came out with ditroff.
But Brian had much earlier involvement with non-UNIX *roff. When he was
pursuing his PhD at Princeton, he spent a summer at MIT using CTSS and
RUNOFF. When he came back to P'ton, he wrote a ROFF for the IBM 7094,
later translated to the IBM 360. Many generations of students, myself
included, use the IBM ROFF (batch, not interactive) as a much friendlier
alternative to dumb typewriters. I don't know if 360 ROFF spread beyond
Princeton, but I wouldn't be surprised.
BTW, during my summer at Bell, nroff/troff was one of the few programs I
could not port to the Interdata 8/32 - it was just a mess of essentially
typeless code. I don't think Joe Ossana got around to it either before he
died.
--
- Tom