[-- Attachment #1: Type: text/plain, Size: 804 bytes --] Found this tweetstream, here folded together, when looking for something else (now lost) in my twitter archive: ========== Things I miss from the v8 shell. 1) All shell output was valid shell input. 2) Typing dir/cmd would find the command $PATH/dir/cmd. Subdirectories of your bin, in other words. 3) Functions were exportable. For one brief shining POSIX meeting, that was true in POSIX too but then... 4) The implementation was lovely and easy to understand. (No, it wasn't shalgol. Bourne fixed that for us.) 5) That I could learn things from it, like how to write a recursive descent parser.* 6) It ran in cooked mode. As expected, all that work making it a great shell is lost to history. https://t.co/IzApAUSmzN is silent. Well, the code is released now. ========== -rob * elegantly. [-- Attachment #2: Type: text/html, Size: 2024 bytes --]
Geoff Collyer has made the 9th edition shell available: http://www.collyer.net/who/geoff/v9sh.tar Arnold Rob Pike <robpike@gmail.com> wrote: > Found this tweetstream, here folded together, when looking for something > else (now lost) in my twitter archive: > > ========== > > Things I miss from the v8 shell. > > 1) All shell output was valid shell input. > > 2) Typing dir/cmd would find the command $PATH/dir/cmd. Subdirectories of > your bin, in other words. > > 3) Functions were exportable. For one brief shining POSIX meeting, that was > true in POSIX too but then... > > 4) The implementation was lovely and easy to understand. (No, it wasn't > shalgol. Bourne fixed that for us.) > > 5) That I could learn things from it, like how to write a recursive descent > parser.* > > 6) It ran in cooked mode. > > As expected, all that work making it a great shell is lost to history. > https://t.co/IzApAUSmzN is silent. Well, the code is released now. > > > ========== > > -rob > > * elegantly.
> 6) It ran in cooked mode.
Sorry if this is obvious to everyone else: What does this phrase mean?
𝖇♦︎𝖒♦︎𝖟
*
On 1/23/23 9:45 AM, Brian M Zick wrote: >> 6) It ran in cooked mode. > > Sorry if this is obvious to everyone else: What does this phrase mean? It did not perform line editing, so it did not change the terminal modes and read one character at a time. If you only ever read a line at a time from the terminal, you can let the terminal driver do that for you. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
On Mon, Jan 23, 2023 at 09:49:08AM -0500, Chet Ramey wrote:
> On 1/23/23 9:45 AM, Brian M Zick wrote:
> > > 6) It ran in cooked mode.
> >
> > Sorry if this is obvious to everyone else: What does this phrase mean?
>
> It did not perform line editing, so it did not change the terminal modes
> and read one character at a time. If you only ever read a line at a time
> from the terminal, you can let the terminal driver do that for you.
I've never been convinced by that particular argument, since if you
want command-line completion, the terminal driver is way too
low-level.
I suppose you could have callouts from the kernel to applications that
were willing to provide context-sensitive command-line completion
lists, which is how Multics handled things (trivia for the day: the
libss library used by Linux's e2fsprogs and MIT Kerberos v5's kadmin
interface uses an API inspired by Multics' subsystem library), but the
point is that you can't do it all in the terminal driver.
Cheers,
- Ted
On 1/23/23 10:51 AM, Theodore Ts'o wrote: > On Mon, Jan 23, 2023 at 09:49:08AM -0500, Chet Ramey wrote: >> On 1/23/23 9:45 AM, Brian M Zick wrote: >>>> 6) It ran in cooked mode. >>> >>> Sorry if this is obvious to everyone else: What does this phrase mean? >> >> It did not perform line editing, so it did not change the terminal modes >> and read one character at a time. If you only ever read a line at a time >> from the terminal, you can let the terminal driver do that for you. > > I've never been convinced by that particular argument, since if you > want command-line completion, the terminal driver is way too > low-level. But that's the point: they don't. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
[-- Attachment #1: Type: text/plain, Size: 1111 bytes --] https://en.wikipedia.org/wiki/Terminal_mode ===== nygeek.net mindthegapdialogs.com/home <https://www.mindthegapdialogs.com/home> On Mon, Jan 23, 2023 at 10:53 AM Chet Ramey <chet.ramey@case.edu> wrote: > On 1/23/23 10:51 AM, Theodore Ts'o wrote: > > On Mon, Jan 23, 2023 at 09:49:08AM -0500, Chet Ramey wrote: > >> On 1/23/23 9:45 AM, Brian M Zick wrote: > >>>> 6) It ran in cooked mode. > >>> > >>> Sorry if this is obvious to everyone else: What does this phrase mean? > >> > >> It did not perform line editing, so it did not change the terminal modes > >> and read one character at a time. If you only ever read a line at a time > >> from the terminal, you can let the terminal driver do that for you. > > > > I've never been convinced by that particular argument, since if you > > want command-line completion, the terminal driver is way too > > low-level. > > But that's the point: they don't. > > -- > ``The lyf so short, the craft so long to lerne.'' - Chaucer > ``Ars longa, vita brevis'' - Hippocrates > Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/ > > [-- Attachment #2: Type: text/html, Size: 2085 bytes --]