My January 1983 printing of the System V Unix* System User’s Manual doesn’t have pg in it.
And my 1986 AT&T The Unix(tm) System Users Manual for System V Release 2 also doesn’t have it.
David
> On Jun 14, 2020, at 4:37 PM, Mary Ann Horton <mah@mhorton.net> wrote:
>
> Eric Shienbrood at Berkeley wrote "more" around 1979, and it was the standard BSD pager. It was inspired by the --More-- option in the ITS terminal driver at MIT.
>
> "pg" did not come from Berkeley. My recollection is that it came from AT&T in response to requests to include "more", which was in exptools at Bell Labs but not in any standard AT&T system. "pg" is not in my UNIX 5.0 manual, but it's in my SVID with the comment "New in System V Release 2".
>
> UNIX 5.0 was the AT&T internal pre-release of System V. SVID was the System V Interface Definition from AT&T.
>
> Mary Ann
>
> On 6/14/20 3:52 PM, Warren Toomey wrote:
>> All, I just received this e-mail from a non-TUHS list member. If you have
>> an answer for Michael, could you reply to him and pop a cc here as well?
>>
>> Thanks, Warren
>>
>> ----- Forwarded message from Michael Siegel <msi@malbolge.net> -----
>>
>> Date: Sun, 14 Jun 2020 16:37:59 +0200
>> From: Michael Siegel <msi@malbolge.net>
>> To: wkt@tuhs.org
>> Subject: Origins and life of the pg pager
>>
>> Hi there,
>>
>> I'm trying to find out where the pg pager originated.
>>
>> The research I've done so far vaguely suggests it came with one of the
>> System V versions, though Internet claims it to be “the name of the
>> historical utility on BSD UNIX systems” occasionally.[1]
>>
>> I think System V because the source code of pg.c in the util-linux
>> package says that this utility is “a clone of the System V CRT paging
>> utility.”[2]
>>
>> I'd also like to find out when pg was discarded and if it ever made it
>> into POSIX before that. Linux still has pg to the very day, but none of
>> the current major BSDs (Free/Net/Open) offer it. POSIX 2001, 2004
>> Edition lists it as an excluded utility.[3] I've not been able to get
>> the text of any prior POSIX documents. It seems they aren't freely
>> available.
>>
>> Any ideas on how to proceed?
>>
>>
>> Best
>> Michael
>>
>>
>> [1] This one's from Wikipedia (https://en.wikipedia.org/wiki/Pg_(Unix)),
>> but I've also found other sites stating the same.
>>
>> [2]
>> https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/tree/text-utils/pg.c
>>
>> [3] https://pubs.opengroup.org/onlinepubs/009696899/xrat/xcu_chap04.html
>>
>> ----- End forwarded message -----
I recently found myself wanting a pager which respected ^L formfeed page throw. looks like when people wrote pagers, they were seeking to reject the tyranny of the paper formalism. None of the current set recognize it as a marker worthy of pause. The thing is, that now we are not bound by formalisms of page size, it turns out the semantic intent of a page throw might be .. useful. -G
I first encountered 'pg' on an IBM RT[0] running AIX 2.x, whose wikipedia page[1] describes it this way: "AIX is based on UNIX System V with 4.3BSD-compatible extensions" -Al [0] https://en.wikipedia.org/wiki/IBM_RT_PC On 2020-06-14 16:52:45, David Barto spake thus: > My January 1983 printing of the System V Unix* System User’s Manual doesn’t have pg in it. > > And my 1986 AT&T The Unix(tm) System Users Manual for System V Release 2 also doesn’t have it. > > David > > > On Jun 14, 2020, at 4:37 PM, Mary Ann Horton <mah@mhorton.net> wrote: > > > > Eric Shienbrood at Berkeley wrote "more" around 1979, and it was the standard BSD pager. It was inspired by the --More-- option in the ITS terminal driver at MIT. > > > > "pg" did not come from Berkeley. My recollection is that it came from AT&T in response to requests to include "more", which was in exptools at Bell Labs but not in any standard AT&T system. "pg" is not in my UNIX 5.0 manual, but it's in my SVID with the comment "New in System V Release 2". > > > > UNIX 5.0 was the AT&T internal pre-release of System V. SVID was the System V Interface Definition from AT&T. > > > > Mary Ann > > > > On 6/14/20 3:52 PM, Warren Toomey wrote: > >> All, I just received this e-mail from a non-TUHS list member. If you have > >> an answer for Michael, could you reply to him and pop a cc here as well? > >> > >> Thanks, Warren > >> > >> ----- Forwarded message from Michael Siegel <msi@malbolge.net> ----- > >> > >> Date: Sun, 14 Jun 2020 16:37:59 +0200 > >> From: Michael Siegel <msi@malbolge.net> > >> To: wkt@tuhs.org > >> Subject: Origins and life of the pg pager > >> > >> Hi there, > >> > >> I'm trying to find out where the pg pager originated. > >> > >> The research I've done so far vaguely suggests it came with one of the > >> System V versions, though Internet claims it to be “the name of the > >> historical utility on BSD UNIX systems” occasionally.[1] > >> > >> I think System V because the source code of pg.c in the util-linux > >> package says that this utility is “a clone of the System V CRT paging > >> utility.”[2] > >> > >> I'd also like to find out when pg was discarded and if it ever made it > >> into POSIX before that. Linux still has pg to the very day, but none of > >> the current major BSDs (Free/Net/Open) offer it. POSIX 2001, 2004 > >> Edition lists it as an excluded utility.[3] I've not been able to get > >> the text of any prior POSIX documents. It seems they aren't freely > >> available. > >> > >> Any ideas on how to proceed? > >> > >> > >> Best > >> Michael > >> > >> > >> [1] This one's from Wikipedia (https://en.wikipedia.org/wiki/Pg_(Unix)), > >> but I've also found other sites stating the same. > >> > >> [2] > >> https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/tree/text-utils/pg.c > >> > >> [3] https://pubs.opengroup.org/onlinepubs/009696899/xrat/xcu_chap04.html > >> > >> ----- End forwarded message ----- > -- ----------------------------------------------------------------- a l a n d. s a l e w s k i salewski@att.net 1024D/FA2C3588 EDFA 195F EDF1 0933 1002 6396 7C92 5CB3 FA2C 3588 -----------------------------------------------------------------
[missed a footnote; fixed] On 2020-06-14 20:31:13, Alan D. Salewski spake thus: > I first encountered 'pg' on an IBM RT[0] running AIX 2.x, whose wikipedia > page[1] describes it this way: > > "AIX is based on UNIX System V with 4.3BSD-compatible extensions" > > -Al > > [0] https://en.wikipedia.org/wiki/IBM_RT_PC [1] https://en.wikipedia.org/wiki/IBM_AIX -- ----------------------------------------------------------------- a l a n d. s a l e w s k i salewski@att.net 1024D/FA2C3588 EDFA 195F EDF1 0933 1002 6396 7C92 5CB3 FA2C 3588 -----------------------------------------------------------------
[-- Attachment #1: Type: text/plain, Size: 2456 bytes --] Here's what I've found: There's a pg.c, starting in System Vr2. R1 didn't have it. It changed in a number of fussy ways, but nothing substantial. It grew that copyright notice in SVr3, but the sun one quoted is missing /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ that should have been there to, suggesting it was snagged between r2 and r3. There's also two other copies of pg as well. There's one in 32V. Though a quick diff suggests little in common with the System Vr2 version. There's also one in the BRL/JHU pdp-11 version of unix that is nearly identical to the System Vr2 one. Though it's dated 1985 while the SVr2 one is 1983. Both with a 1984 copyright by AT&T. SunOS 4.1.3 shipped with the System Vr2 version. in 5bin. Irix 6.5.5 had what looks like the System Vr3 copy in it, though I didn't delve into it. So this supports the recollections here that it was from System Vr2... However, there's also a Doug Gwen version from the Delaware 1980 Usenix tape submitted by geotronics and on other tapes. Haven't delved on what makes these different from each other though. There's one in the NOSC unix we have in the archive, unrelated, it seems to either of these. It's dated in 1979. There's still another one on the UNSW tapes from 1978 by Sape Mullender Informatics staff Vrije Universiteit Amsterdam. Also independent. It's on the 4th tape we have in the archive. 10th edition also has pg.c, but it's an I/O pager for the kernel. Which explains another comment in the System Vr2 one: * Note: The reason that there are so many commands to do * the same types of things is to try to accommodate * users of other paginators. Warner On Sun, Jun 14, 2020 at 6:36 PM Alan D. Salewski <salewski@att.net> wrote: > [missed a footnote; fixed] > > On 2020-06-14 20:31:13, Alan D. Salewski spake thus: > > I first encountered 'pg' on an IBM RT[0] running AIX 2.x, whose wikipedia > > page[1] describes it this way: > > > > "AIX is based on UNIX System V with 4.3BSD-compatible extensions" > > > > -Al > > > > [0] https://en.wikipedia.org/wiki/IBM_RT_PC > > [1] https://en.wikipedia.org/wiki/IBM_AIX > > -- > ----------------------------------------------------------------- > a l a n d. s a l e w s k i salewski@att.net > 1024D/FA2C3588 EDFA 195F EDF1 0933 1002 6396 7C92 5CB3 FA2C 3588 > ----------------------------------------------------------------- > [-- Attachment #2: Type: text/html, Size: 3550 bytes --]
On Sun, Jun 14, 2020 at 07:38:38PM -0600, Warner Losh wrote:
> SunOS 4.1.3 shipped with the System Vr2 version. in 5bin.
Yeah, but nobody used it. pg was not invented here in a nutshell. more(1)
was fine, less(1) was actually an improvement. pg(1) was a shitty also ran.
[-- Attachment #1: Type: text/plain, Size: 3411 bytes --] My memory is that pg was “always” in AIX for the RT. The group of us that worked on BSD convergence deprecated pg in favor of more, if I recall correctly. So far I don’t know how to verify any of this. It is also my memory that PC/IX (Sys III-based?) had pg. If so, ISC may have also included similar pg in both early AIX and PC/IX. Charlie > On Jun 14, 2020, at 8:38 PM, Warner Losh <imp@bsdimp.com> wrote: > > Here's what I've found: > > There's a pg.c, starting in System Vr2. R1 didn't have it. > > It changed in a number of fussy ways, but nothing substantial. > > It grew that copyright notice in SVr3, but the sun one quoted is missing > /* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ > that should have been there to, suggesting it was snagged between r2 and r3. > > There's also two other copies of pg as well. There's one in 32V. Though a quick diff suggests little in common with the System Vr2 version. > > There's also one in the BRL/JHU pdp-11 version of unix that is nearly identical to the System Vr2 one. Though it's dated 1985 while the SVr2 one is 1983. Both with a 1984 copyright by AT&T. > > SunOS 4.1.3 shipped with the System Vr2 version. in 5bin. > > Irix 6.5.5 had what looks like the System Vr3 copy in it, though I didn't delve into it. > > So this supports the recollections here that it was from System Vr2... > > However, there's also a Doug Gwen version from the Delaware 1980 Usenix tape submitted by geotronics and on other tapes. Haven't delved on what makes these different from each other though. > > There's one in the NOSC unix we have in the archive, unrelated, it seems to either of these. It's dated in 1979. > > There's still another one on the UNSW tapes from 1978 by Sape Mullender Informatics staff Vrije Universiteit Amsterdam. Also independent. It's on the 4th tape we have in the archive. > > 10th edition also has pg.c, but it's an I/O pager for the kernel. > > Which explains another comment in the System Vr2 one: > * Note: The reason that there are so many commands to do > * the same types of things is to try to accommodate > * users of other paginators. > > Warner > > On Sun, Jun 14, 2020 at 6:36 PM Alan D. Salewski <salewski@att.net <mailto:salewski@att.net>> wrote: > [missed a footnote; fixed] > > On 2020-06-14 20:31:13, Alan D. Salewski spake thus: > > I first encountered 'pg' on an IBM RT[0] running AIX 2.x, whose wikipedia > > page[1] describes it this way: > > > > "AIX is based on UNIX System V with 4.3BSD-compatible extensions" > > > > -Al > > > > [0] https://en.wikipedia.org/wiki/IBM_RT_PC <https://en.wikipedia.org/wiki/IBM_RT_PC> > > [1] https://en.wikipedia.org/wiki/IBM_AIX <https://en.wikipedia.org/wiki/IBM_AIX> > > -- > ----------------------------------------------------------------- > a l a n d. s a l e w s k i salewski@att.net <mailto:salewski@att.net> > 1024D/FA2C3588 EDFA 195F EDF1 0933 1002 6396 7C92 5CB3 FA2C 3588 > ----------------------------------------------------------------- -- voice: +1.512.784.7526 e-mail: sauer@technologists.com <mailto:sauer@technologists.com> fax: +1.512.346.5240 web: https://technologists.com/sauer/ <http://technologists.com/sauer/> Facebook/Google/Skype/Twitter: CharlesHSauer [-- Attachment #2: Type: text/html, Size: 6629 bytes --]
> less(1) was actually an improvement
Hmm. Less is my favorite whipping boy for featuritis.
% less --help |wc
242 1331 12202
I am very happy with p.
Doug
[-- Attachment #1: Type: text/plain, Size: 540 bytes --] On Mon, 15 Jun 2020, 02:48 Larry McVoy, <lm@mcvoy.com> wrote: > > Yeah, but nobody used it. pg was not invented here in a nutshell. more(1) > was fine, less(1) was actually an improvement. pg(1) was a shitty also > ran. I thought that the whole point of "pg" was that it was a print system filter; that you integrated it into pipelines to throw proper formfeeds every 66 (etc) lines rather than print over the margins of DECWriters (etc), and that it wasn't really a tool for humans. At least, that's how it was explained to me. -a [-- Attachment #2: Type: text/html, Size: 1183 bytes --]
On Jun 14, 2020, at 7:26 PM, Doug McIlroy <doug@cs.dartmouth.edu> wrote:
>
>> less(1) was actually an improvement
>
> Hmm. Less is my favorite whipping boy for featuritis.
>
> % less --help |wc
> 242 1331 12202
% wc p.c
90 219 1504 p.c
[-- Attachment #1: Type: text/plain, Size: 460 bytes --] On Mon, 15 Jun 2020, 03:38 Alec Muffett, <alec.muffett@gmail.com> wrote: > On Mon, 15 Jun 2020, 02:48 Larry McVoy, <lm@mcvoy.com> wrote. > > I thought that the whole point of "pg" was that it was a print system > filter; that you integrated it into pipelines to throw proper formfeeds > every 66 (etc) lines rather than print over the margins of DECWriters > (etc), and that it wasn't really a tool for humans. > Okay, I just checked, that was "pr". My bad. [-- Attachment #2: Type: text/html, Size: 1423 bytes --]
I believe that was my statement, not Dougs, and I stand behind it. Less was a huge improvement. If you want me to dig out why I will but I don't want to because it will make you look bad, that is not my goal. On Sun, Jun 14, 2020 at 07:41:27PM -0700, Bakul Shah wrote: > On Jun 14, 2020, at 7:26 PM, Doug McIlroy <doug@cs.dartmouth.edu> wrote: > > > >> less(1) was actually an improvement > > > > Hmm. Less is my favorite whipping boy for featuritis. > > > > % less --help |wc > > 242 1331 12202 > > % wc p.c > 90 219 1504 p.c -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm
[-- Attachment #1: Type: text/plain, Size: 1035 bytes --] Yeah, p is all we need. I think it originated with td at UofT. I might have brought it with me to Bell Labs, or recreated it. Probably the former. The Plan 9 version is, except for a change of I/O library, likely the same code. 90 lines of C. More and less are both more and less than p. -rob On Mon, Jun 15, 2020 at 12:56 PM Larry McVoy <lm@mcvoy.com> wrote: > I believe that was my statement, not Dougs, and I stand behind it. > Less was a huge improvement. If you want me to dig out why I will > but I don't want to because it will make you look bad, that is not > my goal. > > On Sun, Jun 14, 2020 at 07:41:27PM -0700, Bakul Shah wrote: > > On Jun 14, 2020, at 7:26 PM, Doug McIlroy <doug@cs.dartmouth.edu> wrote: > > > > > >> less(1) was actually an improvement > > > > > > Hmm. Less is my favorite whipping boy for featuritis. > > > > > > % less --help |wc > > > 242 1331 12202 > > > > % wc p.c > > 90 219 1504 p.c > > -- > --- > Larry McVoy lm at mcvoy.com > http://www.mcvoy.com/lm > [-- Attachment #2: Type: text/html, Size: 1744 bytes --]
No one is beating you up for your opinion. One should be able to
express alternate points of view without being made to look bad.
But let us face it, less is not only more, it is far too much :-) Less
gone wild.
@ Fortune Yost had added page mode as a line discipline. That
would've avoided the temptation to turn less into a mini editor.
> On Jun 14, 2020, at 7:55 PM, Larry McVoy <lm@mcvoy.com> wrote:
>
> I believe that was my statement, not Dougs, and I stand behind it.
> Less was a huge improvement. If you want me to dig out why I will
> but I don't want to because it will make you look bad, that is not
> my goal.
>
> On Sun, Jun 14, 2020 at 07:41:27PM -0700, Bakul Shah wrote:
>> On Jun 14, 2020, at 7:26 PM, Doug McIlroy <doug@cs.dartmouth.edu> wrote:
>>>
>>>> less(1) was actually an improvement
>>>
>>> Hmm. Less is my favorite whipping boy for featuritis.
>>>
>>> % less --help |wc
>>> 242 1331 12202
>>
>> % wc p.c
>> 90 219 1504 p.c
>
> --
> ---
> Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm
I get two hits in this, aside from the bikeshed of 'what is the status line telling me about things I am looking at' which is a disease Emacs has. 1) I use more, and the screen DOESNT clear when I finish. DOH! 2) I use less, and the screen DOES clear when I finish. DOH! I kind of tend to 1. The 'clear' command works at a tty to flush screen so for me, noting backwards scroll, less is 'more; clear' But backwards scroll has been useful to me. Oh I know, I have scrollbars on the terminal. But still. I don't like having to engage the mouse for this stuff. I want commands, modal or otherwise to do things which go to 'where am I, in the buffer' Both are wildly complex. Who knew tail on a log was something integrated into a pager? (I think it is for less. I don't think more has that) -G
> Hmm. Less is my favorite whipping boy for featuritis.
>
> % less --help |wc
> 242 1331 12202
Fedora release 32:
less --help |wc
252 1364 12625
Agreed. I use "less -c" daily. :)<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br /> <table style="border-top: 1px solid #D3D4DE;"> <tr> <td style="width: 55px; padding-top: 13px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;" /></a></td> <td style="width: 470px; padding-top: 12px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link" target="_blank" style="color: #4453ea;">www.avast.com</a> </td> </tr> </table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div> On 6/14/20, Larry McVoy <lm@mcvoy.com> wrote: > I believe that was my statement, not Dougs, and I stand behind it. > Less was a huge improvement. If you want me to dig out why I will > but I don't want to because it will make you look bad, that is not > my goal. > > On Sun, Jun 14, 2020 at 07:41:27PM -0700, Bakul Shah wrote: >> On Jun 14, 2020, at 7:26 PM, Doug McIlroy <doug@cs.dartmouth.edu> wrote: >> > >> >> less(1) was actually an improvement >> > >> > Hmm. Less is my favorite whipping boy for featuritis. >> > >> > % less --help |wc >> > 242 1331 12202 >> >> % wc p.c >> 90 219 1504 p.c > > -- > --- > Larry McVoy lm at mcvoy.com > http://www.mcvoy.com/lm >
My 32V manual does not include pg.
We got UNIX/32V at Berkeley shortly after we got our Vax and decided we
didn't like VMS. Early 1979, I think. If it had had pg, Eric probably
wouldn't have written more.
So if there was a pg in 32V, it must have been added later.
Mary Ann
On 6/14/20 6:38 PM, Warner Losh wrote:
> There's also two other copies of pg as well. There's one in 32V.
> Though a quick diff suggests little in common with the System Vr2 version.
[-- Attachment #1: Type: text/plain, Size: 1656 bytes --] At Mon, 15 Jun 2020 07:03:53 -0700, Mary Ann Horton <mah@mhorton.net> wrote: Subject: Re: [TUHS] Origins and life of the pg pager > > My 32V manual does not include pg. > > We got UNIX/32V at Berkeley shortly after we got our Vax and decided > we didn't like VMS. Early 1979, I think. If it had had pg, Eric > probably wouldn't have written more. > > So if there was a pg in 32V, it must have been added later. There is a /usr/src/cmd/pg.c and /usr/bin/pg binary in Unix-32V, but no manual page. The pg.c I've seen has the date Nov. 5, 1978. It uses newline to proceed one page, '/' or control-Y to restart from the beginning, '-' or '_' to move back one page (via a 16kb buffer), and '!' to start a sub-shell. It prints 20 lines at a time with a formfeed between each page. The error message about failing to open a file is prefixed by "dk:" suggesting it may have had a different name at one point. There was also of course a pg.c on the 1980 and 1981 Usenix tapes, and on the 1983 tape a pg.1l manual page accompanies it. It was written by D. A. Gwyn starting sometime before June 1980. It is unique amongst programs called "pg". The pg.c in System V Release 2 has an sccsid of 1.5 (but no date), so may or may not have evolved from the one in 32V -- however it operates quite differently and the source doesn't appear to bear any noticeable resemblance. The source for this one remains quite recognizable in all System V derivatives, right up to OpenSolaris. -- Greg A. Woods <gwoods@acm.org> Kelowna, BC +1 250 762-7675 RoboHack <woods@robohack.ca> Planix, Inc. <woods@planix.com> Avoncote Farms <woods@avoncote.ca> [-- Attachment #2: OpenPGP Digital Signature --] [-- Type: application/pgp-signature, Size: 195 bytes --]
Rob Pike: Yeah, p is all we need. I think it originated with td at UofT. I might have brought it with me to Bell Labs, or recreated it. Probably the former. ==== The former, I think. The source code in V10 is very similar to that you left behind at Caltech (where I first encountered p). Most differences have to do with using opendir and readdir rather than reading raw directories in the SPname code. A further clue is that, even in V10, p.c begins /*%cc p.c pad.o spname.o */ The tool that looked for such lines to tell it how to compile things (I forget its name; was it comp?) doesn't seem to have survived in the archival backup I have from Caltech HEP, but I'm quite sure it came from U of T as well. Norman Wilson Toronto ON
[-- Attachment #1: Type: text/plain, Size: 1337 bytes --] Fascinating. My UNIX/32V manual, from Berkeley, bears the date "December, 1978" on the cover. I've hand-written "Unix/32V" on it. The 32V archive on minnie.tuhs.org bears the date "February, 1979" in /usr/man/man0/title. The text of the cover sheets is somewhat different. My copy is "UNIX PROGRAMMER'S MANUAL / Seventh Edition / VAX-11 Version" compared to TUHS "UNIX/32V PROGRAMMER'S MANUAL / Version 1.0". I also note there is no pg.c in the 3BSD distribution. It seems likely that what Berkeley based 3BSD on was a prerelease of UNIX/32V, prior to the "official" 1.0 version, and what while pg.c was written in November, it didn't make it onto the tape we got at Berkeley. Imagine if pg.c had been on that tape! more might never have been written. (Of course, we all read TFM, so we might have missed the source code all by its lonesome.) Mary Ann On 6/15/20 1:19 PM, Greg A. Woods wrote: >> My 32V manual does not include pg. >> >> We got UNIX/32V at Berkeley shortly after we got our Vax and decided >> we didn't like VMS. Early 1979, I think. If it had had pg, Eric >> probably wouldn't have written more. >> >> So if there was a pg in 32V, it must have been added later. > There is a /usr/src/cmd/pg.c and /usr/bin/pg binary in Unix-32V, but no > manual page. The pg.c I've seen has the date Nov. 5, 1978. [-- Attachment #2: Type: text/html, Size: 1906 bytes --]
[-- Attachment #1: Type: text/plain, Size: 1390 bytes --] I had forgotten about that tool, along with many others. "Comp" sounds plausible but as I said, I forget. (Not a sign of age; my memory for details is no match for Clem's; to me stage actors are superheroes). I do remember the tool existing, though, and now see it as related to a long list of similar things, including "go generate". I wonder if my subconscious held on to it. This history stuff is fun because of the reminder of a time when tools were simple and you could create a whole new one in an afternoon. -rob On Tue, Jun 16, 2020 at 6:26 AM Norman Wilson <norman@oclsc.org> wrote: > Rob Pike: > > Yeah, p is all we need. I think it originated with td at UofT. I might > have > brought it with me to Bell Labs, or recreated it. Probably the former. > > ==== > > The former, I think. The source code in V10 is very similar > to that you left behind at Caltech (where I first encountered > p). Most differences have to do with using opendir and readdir > rather than reading raw directories in the SPname code. > > A further clue is that, even in V10, p.c begins > > /*%cc p.c pad.o spname.o > */ > > The tool that looked for such lines to tell it how to compile > things (I forget its name; was it comp?) doesn't seem to have > survived in the archival backup I have from Caltech HEP, but > I'm quite sure it came from U of T as well. > > Norman Wilson > Toronto ON > [-- Attachment #2: Type: text/html, Size: 1864 bytes --]
[-- Attachment #1: Type: text/plain, Size: 1104 bytes --] On Mon, 15 Jun 2020 at 17:37, Rob Pike <robpike@gmail.com> wrote: > I had forgotten about that tool, along with many others. "Comp" sounds > plausible but as I said, I forget. (Not a sign of age; my memory for > details is no match for Clem's; to me stage actors are superheroes). > Remembering the blocking and the actor's names for a play you saw thirty years ago would be an impressive feat, but I would argue that it is much more beneficial in the long run to remember the basic plot and the message that the production was attempting to convey. > This history stuff is fun because of the reminder of a time when tools were simple and you could create a whole new one in an afternoon. Indeed, that's a nearly impossible task now. We have transitioned to a world where you can say, "here's my sketch for a program that I think would be useful," and that sketch is either a basic chapter outline or you've only finished writing chapter one. You put it up on Github, try to give it a little publicity, and hope that others can share your vision or at least provide constructive criticism. -Henry [-- Attachment #2: Type: text/html, Size: 1537 bytes --]
[-- Attachment #1: Type: text/plain, Size: 1316 bytes --] $ PAGER="col -b" git log 33mcommit fe147581ff1c5b0571a40369cd257fe60bfee58cm33m (m1;36mHEAD -> m1;32mmasterm33m, m1;31morigin/masterm33m)m ... $ git log | cat commit fe147581ff1c5b0571a40369cd257fe60bfee58c There is probably a way to turn off syntax coloring but I haven't bothered to learn. $ man git-log | wc 2512 14056 127024 > On Jun 22, 2020, at 2:33 PM, Rob Pike <robpike@gmail.com> wrote: > > There is only one correct way. > > % grep PAGER .bashrc > export PAGER='col -b' > % > > -rob > > > On Tue, Jun 23, 2020 at 2:26 AM Derek Fawcus <dfawcus+lists-tuhs@employees.org <mailto:dfawcus%2Blists-tuhs@employees.org>> wrote: > On Sun, Jun 21, 2020 at 05:35:28PM -0700, Greg A. Woods wrote: > > > > In a related vein what annoys me are so-called modern programs like > > "git", "hg", and others which default to always piping their output > > through $PAGER, along with such things as colour decorations enabled, > > but when you tack on "|$PAGER" to their command-line then they turn off > > the decorations! They cause me to have to undo decades of finger > > memory. > > Well, for further fun, one could always export GIT_PAGER=cat, > then git will not use a pager for those commands, recognising that > 'cat' is a no-op in such cases. :-) > > DF [-- Attachment #2: Type: text/html, Size: 5012 bytes --]
Bakul Shah wrote in <0F78CB9D-870B-4008-B975-23756EFC6F83@iitbombay.org>: |$ PAGER="col -b" git log | |33mcommit fe147581ff1c5b0571a40369cd257fe60bfee58cm33m (m1;36mHEAD \ |-> m1;32mmasterm33m, m1;31morigin/masterm33m)m | |... | |$ git log | cat | |commit fe147581ff1c5b0571a40369cd257fe60bfee58c | |There is probably a way to turn off syntax coloring but I haven't bothered \ |to learn. | |$ man git-log | wc | |2512 14056 127024 Hihihi. I wanted to reply Rob Pike wrote in <CAKzdPgzR_pdZLKeGrYTNAXyyXR_=iXtJTEa3TFkOFra6e8b8+g@mail.gmail.com>: |There is only one correct way. | |% grep PAGER .bashrc | |export PAGER='col -b' As long as groff(1) is used for manual display i assume you also have "export GROFF_NO_SGR=1". The source of #?0|kent:steffen$ pkginfo -o `command -v col` Package File util-linux usr/bin/col util-linux usr/bin/colcrt util-linux usr/bin/colrm util-linux usr/bin/column #?0|kent:steffen$ prt-get info util-linux Name: util-linux Path: /usr/ports/core Version: 2.35.2 Release: 1 Description: Miscellaneous system utilities URL: https://www.kernel.org/pub/linux/utils/util-linux/ Maintainer: CRUX System Team, core-ports at crux dot nu Dependencies: eudev,ncurses,zlib states /* * This command is deprecated. The utility is in maintenance mode, * meaning we keep them in source tree for backward compatibility * only. Do not waste time making this command better, unless the * fix is about security or other very critical issue. * * See Documentation/deprecated.txt for more information. */ Plan9port has a version, though. And i searched in golang/cmd, but did not find a copy. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)
On Tue, Jun 23, 2020 at 12:43:01AM +0200, Steffen Nurpmeso wrote: > #?0|kent:steffen$ pkginfo -o `command -v col` > Package File > util-linux usr/bin/col > > states > > /* > * This command is deprecated. The utility is in maintenance mode, > * meaning we keep them in source tree for backward compatibility > * only. Do not waste time making this command better, unless the > * fix is about security or other very critical issue. > * > * See Documentation/deprecated.txt for more information. > */ I'll note that the Austin Group / The Open Group marked those commands as LEGACY[1] in the Single Unix Specification V2 in 1997: The utilities in the table below are marked LEGACY. Various factors may have contributed to the decision to class a utility LEGACY. Application writers should not use functionality marked LEGACY. If a migration path exists, advice is given to application developers regarding alternative means of obtaining similar functionality. This information may be found in the APPLICATION USAGE sections on the relevant pages. No requirement beyond that which was in effect at the time that these utilities were marked LEGACY shall be applied to these utilities. calendar cancel cc col cpio cu dircmp dis egrep fgrep line lint lpstat mail pack pcat pg spell sum tar unpack uulog uuname uupick uuto [1] https://pubs.opengroup.org/onlinepubs/7908799/xcu/intro.html#tag_001_003_003 The quote from the Single Unix Specification: "No requirement beyond that which was in effect at the time that these utilities were marked LEGACY shall be applied to these utilities." is not that different from "Do not waste time making this command better, unless the fix is about security or other very critical issue." And while I'm sure the Linux haters will be happy to try to blame Linux for the decision to declare pg, col, et.al as "legacy", in 1997 The Open Group was hardly filled with Linux developers; '97 predates IBM and Oracle declaring their support for Linux (1998), the publication of "The Cathedral and the Bazaar (also 1998), the start of the GNOME project (1999), Red Hat Enterprise Linux (first released in 2002), and Ubuntu Linux (2004). - Ted P.S. Of course, the fact that the The Open Group tried to convince the world to stop using tar and cpio in favor to pax seems to be a strong indication that they forgot the lesson of King Canute. :-)
Hello. Theodore Y. Ts'o wrote in <20200625015009.GB4655@mit.edu>: |On Tue, Jun 23, 2020 at 12:43:01AM +0200, Steffen Nurpmeso wrote: |> #?0|kent:steffen$ pkginfo -o `command -v col` |> Package File |> util-linux usr/bin/col |> |> states |> |> /* |> * This command is deprecated. The utility is in maintenance mode, |> * meaning we keep them in source tree for backward compatibility |> * only. Do not waste time making this command better, unless the |> * fix is about security or other very critical issue. |> * |> * See Documentation/deprecated.txt for more information. |> */ | |I'll note that the Austin Group / The Open Group marked those commands |as LEGACY[1] in the Single Unix Specification V2 in 1997: | | The utilities in the table below are marked LEGACY. Various factors | may have contributed to the decision to class a utility | LEGACY. Application writers should not use functionality marked | LEGACY. | | If a migration path exists, advice is given to application | developers regarding alternative means of obtaining similar | functionality. This information may be found in the APPLICATION | USAGE sections on the relevant pages. | | No requirement beyond that which was in effect at the time that | these utilities were marked LEGACY shall be applied to these | utilities. | | calendar cancel cc col cpio cu dircmp dis egrep fgrep line lint lpstat | mail pack pcat pg spell sum tar unpack uulog uuname uupick uuto | |[1] https://pubs.opengroup.org/onlinepubs/7908799/xcu/intro.html#tag_001\ |_003_003 | |The quote from the Single Unix Specification: "No requirement beyond |that which was in effect at the time that these utilities were marked |LEGACY shall be applied to these utilities." is not that different |from "Do not waste time making this command better, unless the fix is |about security or other very critical issue." | |And while I'm sure the Linux haters will be happy to try to blame |Linux for the decision to declare pg, col, et.al as "legacy", in 1997 |The Open Group was hardly filled with Linux developers; '97 predates |IBM and Oracle declaring their support for Linux (1998), the |publication of "The Cathedral and the Bazaar (also 1998), the start of |the GNOME project (1999), Red Hat Enterprise Linux (first released |in 2002), and Ubuntu Linux (2004). | | - Ted | |P.S. Of course, the fact that the The Open Group tried to convince |the world to stop using tar and cpio in favor to pax seems to be a |strong indication that they forgot the lesson of King Canute. :-) --End of <20200625015009.GB4655@mit.edu> Ok. Yes, POSIX is a condensed pool of tradition, history and knowledge. I do not play it well, let alone in its entirety. STREAMS not at all. After the time when the "Unix community" came together, more or less, as i understand it, in POSIX, to finally find a common ground (again), the current "POSIX group" more or less started collecting "behind the pack" what can be standardized as a common foundation, to fill gaps, and to clarify ambiguities. I have the impression that POSIX is referred to quite often --- sometimes i have to search the net to find more or less nothing good, stackoverflow, superuser, you-know (or maybe even not, having grown in this environment and even at such an outstanding position, and for such a long time), then POSIX shines through and stands out from this mess. One of the main contributors stated to me years ago something like "POSIX is an excellent foundation.." The current Issue 7, 2018 edition of POSIX states on page 3481, line 117589 ff. legacy The term ``legacy’’ was included in earlier versions of this standard but is no longer used in the current version. For col(1) that means, unfortunately, to abandon all hope. It does not exist. (It never did in any POSIX document i have in full text, not a moment i had an intent to look there.) Actually i was astonished. You said IBM (i do not know Oracle) declared support for Linux in 1998! I would have sworn that there was a big billion dollar announcement in 2003 or around that time, with "evangelists" appearing on eg Linux Magazine (of Germany, what i know..). I always, foolishly, state this must have been around 2005, the time when the wonderful Linux HOWTOs entered their bit rot age. Just yesterday, i use Linux for real since April 2019 (1999-2002 does not count, with all the out-of-the box SuSE, RedHat and Halloween Linux, and Debian Woody) and take a week of learning Linux better, ZFS on Monday, switch from proxy_arp=1 network for my VMs and such to separate netns with net<->host:veth-netns-veth:bridge<->vms++ on Tuesday (with almost 400 percent performance penalty, but: cool!), and since yesterday i try for the first time to do my own kernel with initrd (only big one for now, efi stub, builtin firmware, no modules except one from staging which cannot be linked in etc.), in order to get an allyesmod thing which i can use to plug into a box, lsmod>MODS, and then do localyesconfig, you know. I hope i find some time. However, just yesterday i wondered what would happen if suddenly virt-manager etc. would stop working, how many people would know how to continue? You really find nothing good on the web, and all the billion dollar players and their forums etc, they are no help at all. Luckily for ZFS there is the FreeBSD handbook (people who care), which is a kind starter (or would be if you would really go that route, i not for the moment, at least), and that i can apply a bridge onto a veth on a wifi network device that allows no bridge to be attached crossed my mind, finally, yay. For that proxy_arp thing i could read iptables-tut and Linux Advanced Routing & Traffic Control HOWTO, which says "Can be very useful when building 'ip pseudo bridges'. Do take care that your netmasks are very correct before enabling this! Also be aware that the rp_filter, mentioned elsewhere, also operates on ARP queries!" How could anyone hate people who write such HOWTOs? But other than that, POSIX is also always worth looking at, right. Quite off topic that all, though.. Ciao, --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)
On Wed, 24 Jun 2020, Theodore Y. Ts'o wrote:
> P.S. Of course, the fact that the The Open Group tried to convince the
> world to stop using tar and cpio in favor to pax seems to be a strong
> indication that they forgot the lesson of King Canute. :-)
Minor nit: King Canute never tried to hold back the waves. His subjects
were convinced that he could, so he demonstrated otherwise.
-- Dave