[TUHS] [OT] Re: earliest Unix roff

Rob Pike robpike at gmail.com
Fri Sep 20 08:44:44 AEST 2019

This was my fault, and it happened because I confronted DMR about the -u
flag for cat. He said it was there because it seemed important that cat be
writable in stdio, which was new at the time. I agreed but said the point
had been made and avoiding unnecessary flags was a higher goal. So cat was
simplified to do what it said, no more and no less, with read and write and
no nonsense.


On Fri, Sep 20, 2019 at 4:51 AM Norman Wilson <norman at oclsc.org> wrote:

> KatolaZ:
> > We can discuss whether the split was necessary or "right" in the first
> > instance, as we could discuss whether it was good or not for cat(1) to
> > leave Murray Hill in 1979 with no options and come back from Berkley
> > with a source code doubled in size and 9 options in 1982.
> We needn't discuss that (though of course there are opinions and
> mine are the correct ones), but in the interest of historic accuracy,
> I should point out by 1979 (V7) cat had developed a single option -u
> to turn off stdio buffering.
> Sometime before 1984 or so, that option was removed, and cat was
> simplified to just
>         while ((n = read(fd, buf, sizeof(buf))) > 0)
>                 write(1, buf, n)
> (error checking elided for clarity)
> which worked just fine for the rest of the life of the Research
> system.
> So it's true that BSD added needless (in my humble but correct
> opinion) options, but not that it had none before they touched it.
> Unless all those other programs were stuffed into cat in an earlier
> Berkeley system, but I don't think they were.
> Norman Wilson
> Toronto ON
> (Three cats, no options)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20190920/4cb88e58/attachment.html>

More information about the TUHS mailing list