The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Chet Ramey <>
To: Sven Mascheck <>,
Subject: Re: [TUHS] v7 source code for sh
Date: Sun, 20 Feb 2022 15:54:12 -0500	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

On 2/19/22 6:11 PM, Sven Mascheck wrote:

> keyword history: I always imagined that the Bourne shell would have been in 
> much wider use even nowadays, if only it had provided line editing and a 
> history at some point. Why not? 

I think it's that the people with the power to make it happen didn't view
it as an appropriate feature for the shell.

It was much easier to implement in the shell, both technically and
socially. Instead of having to convince kernel developers to implement and
maintain editing in the terminal driver (both emacs and vi modes, to boot),
it's easier for one person, maybe a few, to do a user-space implementation.
That's how it ended up in ksh, for instance.

Rob already talked about the Blit editing, which obviated the need to have
it in the shell.

> Even Kenneth Almquist released his 
> SVR4-like reimplementation intentionally without history.

Almquist released `atty' the same time as `ash', so he did at least provide
a way to do editing and history using ptys, in the same way that `rlwrap'
wraps readline.

But he decried its lack of "elegance," and described it as something that
"should be rewritten properly, with appropriate kernel support."

> All that might 
> have been implemented more elegant directly in the terminal I/O instead of 
> in every program? (that is, not in a MS-DOS-like way, where every program 
> even needs its own pager).

Elegant, maybe, but it never seemed to take off. There were a few different
implementations, but none was ever blessed as something officially
integrated into a widely-distributed kernel. (As I recall, Jon Payne, who
wrote JOVE while in high school (!), wrote one as a college course project.
I remember him describing it on Usenet back in the day. There were others.)

It always seemed like it would have been just the thing to implement as a
tty streams module, but research Unix went in a different direction.

``The lyf so short, the craft so long to lerne.'' - Chaucer
		 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU

  parent reply	other threads:[~2022-02-20 20:56 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-19 17:44 Bakul Shah
2022-02-19 18:44 ` Rob Pike
2022-02-19 19:29   ` Clem Cole
2022-02-19 22:39   ` John Cowan
2022-02-19 23:11     ` Sven Mascheck
2022-02-19 23:34       ` Rob Pike
2022-02-19 23:36       ` silas poulson
2022-02-20 20:54       ` Chet Ramey [this message]
2022-02-20 21:02         ` Larry McVoy
2022-02-20 21:19           ` Chet Ramey
2022-02-20 21:19         ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2022-02-20 22:39           ` Chet Ramey
2022-02-21  1:01             ` Dan Cross
2022-02-22  4:54               ` Dan Stromberg
2022-02-22  5:39                 ` Rob Pike
2022-02-22  5:54                   ` George Michaelson
  -- strict thread matches above, loose matches on Subject: below --
2022-02-22  3:07 Brian Walden
2022-02-22 14:28 ` Chet Ramey
2022-02-22 14:47 ` Clem Cole
2022-02-21 17:58 Norman Wilson
2022-02-21 18:10 ` Rob Pike
2022-02-20  7:24 Rudi Blom
2022-02-19 15:43 Will Senn
2022-02-19 16:03 ` Steve Nickolas
2022-02-19 16:07   ` Clem Cole
2022-02-19 16:43   ` Steve Nickolas
2022-02-19 17:24   ` Ron Natalie
2022-02-19 16:04 ` Clem Cole
2022-02-19 16:06 ` Bakul Shah
2022-02-19 16:57   ` Will Senn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).