From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 996d2d26 for ; Thu, 19 Sep 2019 22:45:10 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 9ABAF9BC26; Fri, 20 Sep 2019 08:45:09 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 1E5B89B906; Fri, 20 Sep 2019 08:44:58 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ov2gO9me"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 060099B906; Fri, 20 Sep 2019 08:44:57 +1000 (AEST) Received: from mail-vk1-f169.google.com (mail-vk1-f169.google.com [209.85.221.169]) by minnie.tuhs.org (Postfix) with ESMTPS id 9ABAF947D6 for ; Fri, 20 Sep 2019 08:44:56 +1000 (AEST) Received: by mail-vk1-f169.google.com with SMTP id s72so1194156vkh.5 for ; Thu, 19 Sep 2019 15:44:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GhWjbcJoAOvGMhE03WIr/jOywL0DztEri4C3+5TIxzQ=; b=ov2gO9met3Gd6gUOoM5LihbjoTM3XVXS92MT8351XdX3XNFOJfxKxoMOQYzLXUPDv+ CxeqMgLLugs5FrCT3R6agwh8dli5Lc4mYdr8LbNRQ6SUCVBCaKWidrA1VEWDcqhcGNjO +HeOOChdR6Rv+Focnsf9muA4SFtWi5BzmmOsJgQhgdRyerczdI+2iyHWItX5H9YHdXBW /Gqh3v1NEfVCPmh4UQ1OaM2RHoXLd2o7rQ61deWtvFbR9GDwoT5OJsh/HfCOOOKNUaha JoCA2uXa/guUEozQ8onmIrjb3xPzG+LsU9nIH1gCQY0vX8YpCSbYEzpFBgNW4ujuQSGC yw3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GhWjbcJoAOvGMhE03WIr/jOywL0DztEri4C3+5TIxzQ=; b=YzP2AUqDlGZF4EQCkgru3dc65Q1hlvxMbAt3ONhTGNznVtkqJT6093owneKHrfYcFC qOc19/xFy2T+tbeT9YWOknWg4Q1VuKnArYnbVIt1dyP3OchdLjdQitoXWqQDk22XsGFx r50hW+/Pd1z0CQhGgLU9ba5tyM4TUD7wdRIeNci8v/C6PnEapK/COXOdM/47F41jT8Vr vF3lbf7uU7Zpwy3q+Ex6Ni+1OjlNdiXSsm4jgkO2DVK47qBz2ijngn12ESl2jqdwrVFW YLTMYOeiOs4kpa8QaYxZWIH+XbDkkZhf8AQ6g+ckfu+4KWahlz9knqfyqFVHREQc18dv qFjA== X-Gm-Message-State: APjAAAWJUXXDVzK+VVZnb0yhqk1iEh6zYKDKR4C5RUJUL83COGDEjA/I rKHYfeYl1V0+VPREstJCduIjZJNHUhU+uaaU3PrJKg== X-Google-Smtp-Source: APXvYqxr+ge6kJasjKsUNWvM+lInBqpkdGEZii0qpi5DOMWWqj9ovYZ7KZmX/1dOEQWSppG7iiueK+K5YFUGrxtZ8bQ= X-Received: by 2002:a1f:3491:: with SMTP id b139mr6168287vka.40.1568933095742; Thu, 19 Sep 2019 15:44:55 -0700 (PDT) MIME-Version: 1.0 References: <1568919029.18595.for-standards-violators@oclsc.org> In-Reply-To: <1568919029.18595.for-standards-violators@oclsc.org> From: Rob Pike Date: Fri, 20 Sep 2019 08:44:44 +1000 Message-ID: To: Norman Wilson Content-Type: multipart/alternative; boundary="000000000000d924da0592efb3d7" Subject: Re: [TUHS] [OT] Re: earliest Unix roff X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: The Eunuchs Hysterical Society Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --000000000000d924da0592efb3d7 Content-Type: text/plain; charset="UTF-8" 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. -rob On Fri, Sep 20, 2019 at 4:51 AM Norman Wilson 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) > --000000000000d924da0592efb3d7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
This was my fault, and it happened because I confronted DM= R about the -u flag for cat. He said it was there because it seemed importa= nt that cat be writable in stdio, which was new at the time. I agreed but s= aid the point had been made and avoiding unnecessary flags was a higher goa= l. So cat was simplified to do what it said, no more and no less, with read= and write and no nonsense.

-rob


=


On Fri, Sep 20, 2019 at 4:51 AM Norman Wilson &l= t;norman@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
=C2=A0 =C2=A0 =C2=A0 =C2=A0 while ((n =3D read(fd, buf, sizeof(buf))) > = 0)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 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)
--000000000000d924da0592efb3d7--