The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Word erase?
@ 2024-04-08 15:02 Dan Cross
  2024-04-08 15:15 ` [TUHS] " Marc Donner
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Dan Cross @ 2024-04-08 15:02 UTC (permalink / raw)
  To: TUHS

I wonder if anyone can shed any light on the timing and rationale for
the introduction of “word erase” functionality to the kernel terminal
driver. My surface skim earlier leads me to believe it came to Unix
with 4BSD, but it was not reincorporated into 8th Edition or later,
nor did it make it to Plan 9 (which did incorporate ^U for the "line
kill" command).  TOPS-20 supports it via the familiar ^W, but I'm not
sure about other PDP-10 OSes (Lars?).  Multics does not support it.
VMS does not support it.

What was the proximal inspiration?  The early terminal drivers seem to
use the Multics command editing suite (`#` for erase/backspace, `@`
for line kill), though at some point that changed, one presumes as
TTYs fell out of favor and display terminals came to the fore.

        - Dan C.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:02 [TUHS] Word erase? Dan Cross
@ 2024-04-08 15:15 ` Marc Donner
  2024-04-08 15:18 ` arnold
  2024-04-08 16:14 ` Clem Cole
  2 siblings, 0 replies; 13+ messages in thread
From: Marc Donner @ 2024-04-08 15:15 UTC (permalink / raw)
  To: Dan Cross; +Cc: TUHS

[-- Attachment #1: Type: text/plain, Size: 1728 bytes --]

In 1981 I was a grad student at CMU, which was running 4.1 or 4.2 at the
time.  I had spent the previous three years at IBM Research where someone
had built some editing stuff into the command line machinery for CMS.

I implemented some input line editing stuff both for the Perq and as a
module for the one of the UNIX shells and shared them with some of the
systems folks at CMU.  I do not know if they were adopted from my
implementations ... I am inclined to think not ... there was significant
skepticism of the value of command line editing among some of the systems
folks.

But the idea of retrieving previous command lines and editing the command
line was emerging as a thing in the early 1980s.
=====
nygeek.net
mindthegapdialogs.com/home <https://www.mindthegapdialogs.com/home>


On Mon, Apr 8, 2024 at 11:03 AM Dan Cross <crossd@gmail.com> wrote:

> I wonder if anyone can shed any light on the timing and rationale for
> the introduction of “word erase” functionality to the kernel terminal
> driver. My surface skim earlier leads me to believe it came to Unix
> with 4BSD, but it was not reincorporated into 8th Edition or later,
> nor did it make it to Plan 9 (which did incorporate ^U for the "line
> kill" command).  TOPS-20 supports it via the familiar ^W, but I'm not
> sure about other PDP-10 OSes (Lars?).  Multics does not support it.
> VMS does not support it.
>
> What was the proximal inspiration?  The early terminal drivers seem to
> use the Multics command editing suite (`#` for erase/backspace, `@`
> for line kill), though at some point that changed, one presumes as
> TTYs fell out of favor and display terminals came to the fore.
>
>         - Dan C.
>

[-- Attachment #2: Type: text/html, Size: 2696 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:02 [TUHS] Word erase? Dan Cross
  2024-04-08 15:15 ` [TUHS] " Marc Donner
@ 2024-04-08 15:18 ` arnold
  2024-04-08 15:29   ` Warner Losh
                     ` (4 more replies)
  2024-04-08 16:14 ` Clem Cole
  2 siblings, 5 replies; 13+ messages in thread
From: arnold @ 2024-04-08 15:18 UTC (permalink / raw)
  To: tuhs, crossd

Dan Cross <crossd@gmail.com> wrote:

> I wonder if anyone can shed any light on the timing and rationale for
> the introduction of “word erase” functionality to the kernel terminal
> driver. My surface skim earlier leads me to believe it came to Unix
> with 4BSD, but it was not reincorporated into 8th Edition or later,
> nor did it make it to Plan 9 (which did incorporate ^U for the "line
> kill" command).  TOPS-20 supports it via the familiar ^W, but I'm not
> sure about other PDP-10 OSes (Lars?).  Multics does not support it.
> VMS does not support it.
>
> What was the proximal inspiration?  The early terminal drivers seem to
> use the Multics command editing suite (`#` for erase/backspace, `@`
> for line kill), though at some point that changed, one presumes as
> TTYs fell out of favor and display terminals came to the fore.
>
>         - Dan C.

My memory jibes with this -- through V7 defaults were # and @, and BSD
changed to ^H / DEL and ^U.  ^W was a BSD thing, probably inspired by
TOPS-10.

There was a patch on USENET that added ^T to print the load average that
we put into the vax at Georgia Tech.  A professor who'd come to us from MIT
saw it and was surprised tht we could do it on Unix. :-)

Arnold

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:18 ` arnold
@ 2024-04-08 15:29   ` Warner Losh
  2024-04-08 15:59     ` Lars Brinkhoff
  2024-04-08 15:39   ` Larry McVoy
                     ` (3 subsequent siblings)
  4 siblings, 1 reply; 13+ messages in thread
From: Warner Losh @ 2024-04-08 15:29 UTC (permalink / raw)
  To: Arnold Robbins; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1521 bytes --]

On Mon, Apr 8, 2024, 9:18 AM <arnold@skeeve.com> wrote:

> Dan Cross <crossd@gmail.com> wrote:
>
> > I wonder if anyone can shed any light on the timing and rationale for
> > the introduction of “word erase” functionality to the kernel terminal
> > driver. My surface skim earlier leads me to believe it came to Unix
> > with 4BSD, but it was not reincorporated into 8th Edition or later,
> > nor did it make it to Plan 9 (which did incorporate ^U for the "line
> > kill" command).  TOPS-20 supports it via the familiar ^W, but I'm not
> > sure about other PDP-10 OSes (Lars?).  Multics does not support it.
> > VMS does not support it.
> >
> > What was the proximal inspiration?  The early terminal drivers seem to
> > use the Multics command editing suite (`#` for erase/backspace, `@`
> > for line kill), though at some point that changed, one presumes as
> > TTYs fell out of favor and display terminals came to the fore.
> >
> >         - Dan C.
>
> My memory jibes with this -- through V7 defaults were # and @, and BSD
> changed to ^H / DEL and ^U.  ^W was a BSD thing, probably inspired by
> TOPS-10.
>
> There was a patch on USENET that added ^T to print the load average that
> we put into the vax at Georgia Tech.  A professor who'd come to us from MIT
> saw it and was surprised tht we could do it on Unix. :-)
>

^T made it into BSD and lives on to this day in the BSDs. If I were catty,
I'd say real unix still can... :) too bad linux never picked it up.

Warner

>

[-- Attachment #2: Type: text/html, Size: 2250 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:18 ` arnold
  2024-04-08 15:29   ` Warner Losh
@ 2024-04-08 15:39   ` Larry McVoy
  2024-04-08 16:06   ` Rich Salz
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Larry McVoy @ 2024-04-08 15:39 UTC (permalink / raw)
  To: arnold; +Cc: tuhs

On Mon, Apr 08, 2024 at 09:18:41AM -0600, arnold@skeeve.com wrote:
> Dan Cross <crossd@gmail.com> wrote:
> 
> > I wonder if anyone can shed any light on the timing and rationale for
> > the introduction of ???word erase??? functionality to the kernel terminal
> > driver. My surface skim earlier leads me to believe it came to Unix
> > with 4BSD, but it was not reincorporated into 8th Edition or later,
> > nor did it make it to Plan 9 (which did incorporate ^U for the "line
> > kill" command).  TOPS-20 supports it via the familiar ^W, but I'm not
> > sure about other PDP-10 OSes (Lars?).  Multics does not support it.
> > VMS does not support it.
> >
> > What was the proximal inspiration?  The early terminal drivers seem to
> > use the Multics command editing suite (`#` for erase/backspace, `@`
> > for line kill), though at some point that changed, one presumes as
> > TTYs fell out of favor and display terminals came to the fore.
> >
> >         - Dan C.
> 
> My memory jibes with this -- through V7 defaults were # and @, and BSD
> changed to ^H / DEL and ^U.  ^W was a BSD thing, probably inspired by
> TOPS-10.
> 
> There was a patch on USENET that added ^T to print the load average that
> we put into the vax at Georgia Tech.  A professor who'd come to us from MIT
> saw it and was surprised tht we could do it on Unix. :-)

I loved and hated ^T.  Logged into a 4MB Vax 780 running 4.x BSD
with 40-50 other students, the only thing that was responsive was ^T.
I really wonder how much slower that Vax was because we were all hitting
^T wondering when our compile would be done.

It was around then that I bought a 128K floppy only CP/M machine.  
Slower than the Vax but it was all mine and unshared.  I got way
more work done on that machine.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:29   ` Warner Losh
@ 2024-04-08 15:59     ` Lars Brinkhoff
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Brinkhoff @ 2024-04-08 15:59 UTC (permalink / raw)
  To: Warner Losh; +Cc: The Eunuchs Hysterical Society

> Dan Cross <crossd@gmail.com> wrote:
> > TOPS-20 supports it via the familiar ^W, but I'm not sure about
> > other PDP-10 OSes (Lars?).

I haven't seen it in TOPS-10.  ITS doesn't have that on the "command
line", but then interaction with DDT isn't (and arguably shouldn't be)
very "wordy" anyway.  Of course, TECO and EMACS has word erase.  And ^W
is erase between cursor and mark so that's similar.


Warner Losh <imp@bsdimp.com> writes:
> ^T made it into BSD and lives on to this day in the BSDs. If I were catty,
> I'd say real unix still can... :) too bad linux never picked it up.

There's a whole Wikipedia page about ^T:

https://en.wikipedia.org/wiki/Status_key

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:18 ` arnold
  2024-04-08 15:29   ` Warner Losh
  2024-04-08 15:39   ` Larry McVoy
@ 2024-04-08 16:06   ` Rich Salz
  2024-04-09  1:51     ` Chris Torek
  2024-04-08 17:09   ` Steve Nickolas
  2024-04-08 22:51   ` Mary Ann Horton
  4 siblings, 1 reply; 13+ messages in thread
From: Rich Salz @ 2024-04-08 16:06 UTC (permalink / raw)
  To: arnold; +Cc: tuhs

[-- Attachment #1: Type: text/plain, Size: 312 bytes --]

On Mon, Apr 8, 2024 at 11:18 AM <arnold@skeeve.com> wrote:

> There was a patch on USENET that added ^T to print the load average that
> we put into the vax at Georgia Tech.  A professor who'd come to us from MIT
> saw it and was surprised tht we could do it on Unix. :-)


Chris Torek of UofMaryland.

[-- Attachment #2: Type: text/html, Size: 644 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:02 [TUHS] Word erase? Dan Cross
  2024-04-08 15:15 ` [TUHS] " Marc Donner
  2024-04-08 15:18 ` arnold
@ 2024-04-08 16:14 ` Clem Cole
  2 siblings, 0 replies; 13+ messages in thread
From: Clem Cole @ 2024-04-08 16:14 UTC (permalink / raw)
  To: Dan Cross; +Cc: TUHS

[-- Attachment #1: Type: text/plain, Size: 1660 bytes --]

Control W, control-O et al was part of dos-8.  It was all parts of the
early TOPS-10.  Control-T came from Tenex which later became TOPS-20.
If VMS added it that was much later, as it was not in the early editions.


Steve Zimmerman added  Control-T and all of Tenex tty features to an early
Masscomp RTU.  I think Sam Added to a later version of BSD I believe.

My favorite story was that the Stanford folks modified the TOPS-20 “LOTS”
system to change what control-T returned depending on the load average. The
default would say RUNNING.  LOTS reported JOGGING, WAlKING CRAWLING. But
the Adminstration made them remove the hack because it most often reported
DYING

Sent from a handheld expect more typos than usual


On Mon, Apr 8, 2024 at 11:03 AM Dan Cross <crossd@gmail.com> wrote:

> I wonder if anyone can shed any light on the timing and rationale for
> the introduction of “word erase” functionality to the kernel terminal
> driver. My surface skim earlier leads me to believe it came to Unix
> with 4BSD, but it was not reincorporated into 8th Edition or later,
> nor did it make it to Plan 9 (which did incorporate ^U for the "line
> kill" command).  TOPS-20 supports it via the familiar ^W, but I'm not
> sure about other PDP-10 OSes (Lars?).  Multics does not support it.
> VMS does not support it.
>
> What was the proximal inspiration?  The early terminal drivers seem to
> use the Multics command editing suite (`#` for erase/backspace, `@`
> for line kill), though at some point that changed, one presumes as
> TTYs fell out of favor and display terminals came to the fore.
>
>         - Dan C.
>

[-- Attachment #2: Type: text/html, Size: 2322 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:18 ` arnold
                     ` (2 preceding siblings ...)
  2024-04-08 16:06   ` Rich Salz
@ 2024-04-08 17:09   ` Steve Nickolas
  2024-04-08 22:51   ` Mary Ann Horton
  4 siblings, 0 replies; 13+ messages in thread
From: Steve Nickolas @ 2024-04-08 17:09 UTC (permalink / raw)
  To: tuhs

On Mon, 8 Apr 2024, arnold@skeeve.com wrote:

> There was a patch on USENET that added ^T to print the load average that
> we put into the vax at Georgia Tech.  A professor who'd come to us from MIT
> saw it and was surprised tht we could do it on Unix. :-)

I like this in the BSDs and miss it when I'm on Linux.

-uso.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 15:18 ` arnold
                     ` (3 preceding siblings ...)
  2024-04-08 17:09   ` Steve Nickolas
@ 2024-04-08 22:51   ` Mary Ann Horton
  2024-04-12  1:29     ` Joseph Holsten
  4 siblings, 1 reply; 13+ messages in thread
From: Mary Ann Horton @ 2024-04-08 22:51 UTC (permalink / raw)
  To: tuhs

[-- Attachment #1: Type: text/plain, Size: 2392 bytes --]

On 4/8/24 08:18, arnold@skeeve.com wrote:
> Dan Cross<crossd@gmail.com>  wrote:
>
>> I wonder if anyone can shed any light on the timing and rationale for
>> the introduction of “word erase” functionality to the kernel terminal
>> driver. My surface skim earlier leads me to believe it came to Unix
>> with 4BSD, but it was not reincorporated into 8th Edition or later,
>> nor did it make it to Plan 9 (which did incorporate ^U for the "line
>> kill" command).  TOPS-20 supports it via the familiar ^W, but I'm not
>> sure about other PDP-10 OSes (Lars?).  Multics does not support it.
>> VMS does not support it.
>>
>> What was the proximal inspiration?  The early terminal drivers seem to
>> use the Multics command editing suite (`#` for erase/backspace, `@`
>> for line kill), though at some point that changed, one presumes as
>> TTYs fell out of favor and display terminals came to the fore.
>>
>>          - Dan C.
> My memory jibes with this -- through V7 defaults were # and @, and BSD
> changed to ^H / DEL and ^U.  ^W was a BSD thing, probably inspired by
> TOPS-10.
>
Vi had ^W for word erase long before the tty driver. It's documented in 
2BSD.

I think it appeared in the tty driver as part of the new tty driver, 
around 4.1C. The 4.2 stty(1) documents that you can set werase but only 
with the new tty driver.

Personally I fondly recalled it from Tenex and wished for it in UNIX. I 
can't recall if I lobbied for it or if anyone heard me.

Chambers and Quarterman noted the new tty driver's presence in 4.1C. 
https://gunkies.org/wiki/UNIX*_System_V_and_4.1C_BSD

> 2.2.5  Ioctls   The  ioctl  system   call   is   essentially
>            identical  in  the two systems.  The interesting differences
>            are in the terminal driver ioctls.  Both drivers utilize the
>            ``line  discipline''  notion,  allowing dynamic choice among
>            several protocols by the user process.
>
>                 Berkeley offers several new features in  4.1C BSD  over
>            the V7 terminal driver.  Some of these are accessed as a new
>            line discipline (the ``new tty'' discipline),  while  a  few
>            others  are implemented as additional ioctl calls.

Thanks,

/Mary Ann Horton/ (she/her/ma'am)
       Award Winning Author
maryannhorton.com <https://maryannhorton.com>




[-- Attachment #2: Type: text/html, Size: 3740 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 16:06   ` Rich Salz
@ 2024-04-09  1:51     ` Chris Torek
  2024-04-12 15:58       ` Mary Ann Horton
  0 siblings, 1 reply; 13+ messages in thread
From: Chris Torek @ 2024-04-09  1:51 UTC (permalink / raw)
  To: arnold, rich.salz; +Cc: tuhs

>Chris Torek of UofMaryland.

I got it into 4.3-Reno.  I did not come up with the whole thing but
Rehmi Post and I worked out how to compute %cpu without using floating
point (the original VAX-only version used FP but we had to stop doing
that when we were worried about porting to systems that lacked kernel
access to FP).

The version in current FreeBSD is fancier now though.

Chris

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-08 22:51   ` Mary Ann Horton
@ 2024-04-12  1:29     ` Joseph Holsten
  0 siblings, 0 replies; 13+ messages in thread
From: Joseph Holsten @ 2024-04-12  1:29 UTC (permalink / raw)
  To: Tautological Eunuch Horticultural Scythians

[-- Attachment #1: Type: text/plain, Size: 2667 bytes --]



On Mon, Apr 8, 2024, at 15:51, Mary Ann Horton wrote:
> On 4/8/24 08:18, arnold@skeeve.com wrote:
>> Dan Cross <crossd@gmail.com> wrote:
>> 
>> 
>>> I wonder if anyone can shed any light on the timing and rationale for
>>> the introduction of “word erase” functionality to the kernel terminal
>>> driver. My surface skim earlier leads me to believe it came to Unix
>>> with 4BSD, but it was not reincorporated into 8th Edition or later,
>>> nor did it make it to Plan 9 (which did incorporate ^U for the "line
>>> kill" command).  TOPS-20 supports it via the familiar ^W, but I'm not
>>> sure about other PDP-10 OSes (Lars?).  Multics does not support it.
>>> VMS does not support it.
>>> 
>>> What was the proximal inspiration?  The early terminal drivers seem to
>>> use the Multics command editing suite (`#` for erase/backspace, `@`
>>> for line kill), though at some point that changed, one presumes as
>>> TTYs fell out of favor and display terminals came to the fore.
>>> 
>>>         - Dan C.
>>> 
>> My memory jibes with this -- through V7 defaults were # and @, and BSD
>> changed to ^H / DEL and ^U.  ^W was a BSD thing, probably inspired by
>> TOPS-10.
>> 
>> 
> Vi had ^W for word erase long before the tty driver. It's documented in 2BSD.
> 
> I think it appeared in the tty driver as part of the new tty driver, around 4.1C. The 4.2 stty(1) documents that you can set werase but only with the new tty driver.
> 
> Personally I fondly recalled it from Tenex and wished for it in UNIX. I can't recall if I lobbied for it or if anyone heard me.
> 
> Chambers and Quarterman noted the new tty driver's presence in 4.1C. https://gunkies.org/wiki/UNIX*_System_V_and_4.1C_BSD
> 
> 
> 
>> 2.2.5  Ioctls   The  ioctl  system   call   is   essentially
>>           identical  in  the two systems.  The interesting differences
>>           are in the terminal driver ioctls.  Both drivers utilize the
>>           ``line  discipline''  notion,  allowing dynamic choice among
>>           several protocols by the user process.
>> 
>>                Berkeley offers several new features in  4.1C BSD  over
>>           the V7 terminal driver.  Some of these are accessed as a new
>>           line discipline (the ``new tty'' discipline),  while  a  few
>>           others  are implemented as additional ioctl calls.

That makes me wonder about the timeline compared to the other tenex-inspired BSD-ism I’m happy for: tcsh. 

History here:
https://github.com/tcsh-org/tcsh/blob/master/tcsh.man.in#L10239 <https://github.com/tcsh-org/tcsh/blob/c416b8588e4012f6f90cd82262e7d30afe06bbbd/tcsh.man.in#L10239>

[-- Attachment #2: Type: text/html, Size: 3616 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [TUHS] Re: Word erase?
  2024-04-09  1:51     ` Chris Torek
@ 2024-04-12 15:58       ` Mary Ann Horton
  0 siblings, 0 replies; 13+ messages in thread
From: Mary Ann Horton @ 2024-04-12 15:58 UTC (permalink / raw)
  To: tuhs

[-- Attachment #1: Type: text/plain, Size: 829 bytes --]

On 4/8/24 18:51, Chris Torek wrote:
>> Chris Torek of UofMaryland.
> I got it into 4.3-Reno.  I did not come up with the whole thing but
> Rehmi Post and I worked out how to compute %cpu without using floating
> point (the original VAX-only version used FP but we had to stop doing
> that when we were worried about porting to systems that lacked kernel
> access to FP).
>
> The version in current FreeBSD is fancier now though.
>
> Chris

Around 1981 I put a similar calculation into 2BSD for the PDP-11 with no 
floating point, but this was for the system load average, not the %cpu. 
It just imputes a decimal point in the middle of what the processor 
considers an integer.

Thanks,

/Mary Ann Horton/ (she/her/ma'am)
       Award Winning Author
maryannhorton.com <https://maryannhorton.com>




[-- Attachment #2: Type: text/html, Size: 1778 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-04-12 15:58 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-08 15:02 [TUHS] Word erase? Dan Cross
2024-04-08 15:15 ` [TUHS] " Marc Donner
2024-04-08 15:18 ` arnold
2024-04-08 15:29   ` Warner Losh
2024-04-08 15:59     ` Lars Brinkhoff
2024-04-08 15:39   ` Larry McVoy
2024-04-08 16:06   ` Rich Salz
2024-04-09  1:51     ` Chris Torek
2024-04-12 15:58       ` Mary Ann Horton
2024-04-08 17:09   ` Steve Nickolas
2024-04-08 22:51   ` Mary Ann Horton
2024-04-12  1:29     ` Joseph Holsten
2024-04-08 16:14 ` Clem Cole

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).