From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12141 invoked from network); 31 Dec 2021 15:48:34 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 31 Dec 2021 15:48:34 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 6EF439D045; Sat, 1 Jan 2022 01:48:31 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 799D79D002; Sat, 1 Jan 2022 01:48:04 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=dartmouth.edu header.i=@dartmouth.edu header.b="GOoLuRol"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id CA1FB9D002; Sat, 1 Jan 2022 01:48:01 +1000 (AEST) Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by minnie.tuhs.org (Postfix) with ESMTPS id F17389CF06 for ; Sat, 1 Jan 2022 01:47:59 +1000 (AEST) Received: by mail-wr1-f43.google.com with SMTP id v11so56614583wrw.10 for ; Fri, 31 Dec 2021 07:47:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dartmouth.edu; s=google1; h=mime-version:from:date:message-id:subject:to; bh=QY1RboL7rCdX20LcKdcbQFbAjozz1sgqqaBkmQcOlrE=; b=GOoLuRolxd58uydWztvIIbz1hlRVptBFZLHYb6bPwnwIhdg0u3i9rSP+k+FKcxEvrP tL0s/YIoQsazRykWxyOTDGdDY642lzOFWhKTvmyV12DtRh5CxLFFVJn0gsu136+zIzaN 2LW8AWGgig0NuCBgmWKMtQyPY/T5KWEqzINDC0+2zp3jX40Wl1IurLZ6ShRX4x257r0U S1PaEf4zdGZi74umrhhxZEGOKhplSKOVhaeqA4scUVHsI121cF0p2mFweM8sAjx04AQx qLDZji/8mDi+zuJJc43FLPFPDUYl43ItyS+D1O26ew2vMtNfTFH2jHyr+Baiwj9wThjb jLGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=QY1RboL7rCdX20LcKdcbQFbAjozz1sgqqaBkmQcOlrE=; b=Az5qc6iVcBSFrRi4VHx9Lzlas+PQXKzKsyVQx57fnKVkDUPHN6mOX/Z+CUFKRjuZ07 FETlmkMtfczcgcIi8gnDTsAfkbAiyaGxL/3UZKItggCYhfcqnks8jxje7x1bzq9Dg7KW e2UH6Ba02k8FTnONRBtAo78NyenqL4UYRkXCsPAfVmGRF9mIdrH15kulQRn7QBUVhsR+ rIYzxHSivs0gvGRPjYakmTrG+DiHQMF5QmzUMBXVyxXUjTG3C4LaDeoSNiPTIkjtqPqv 5L3NDQEVxzvGpAaDb4vy0UWFvucriDOFfwqvOTrI27ThRZx+b52XWo5bIEiwRuJqPJl6 uOjA== X-Gm-Message-State: AOAM533bn8w/0Vt/9+ymJfRbB8rqrJsT+ByVr8VHUE1MnVT4ZcyHlWT7 hX0TBXPvLWKFtz3MY9gZk/8axHLZv/OaPvYhv9dldfjwPHS83Q== X-Google-Smtp-Source: ABdhPJzrmr6hvkwBA04lOrcsFM7d2rPjLyPE2gGiAdJgY5r5Y6Bz6mrkeJmsiiCqv1YtMwDRfs/mAKIEXtrJBRWKd0o= X-Received: by 2002:adf:82d2:: with SMTP id 76mr29611694wrc.329.1640965677922; Fri, 31 Dec 2021 07:47:57 -0800 (PST) MIME-Version: 1.0 From: Douglas McIlroy Date: Fri, 31 Dec 2021 10:47:42 -0500 Message-ID: To: TUHS main list Content-Type: text/plain; charset="UTF-8" Subject: Re: [TUHS] roff(7) 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: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" > 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