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_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 13931 invoked from network); 15 Dec 2020 16:03:19 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 15 Dec 2020 16:03:19 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 3ABFB9C7C9; Wed, 16 Dec 2020 02:03:16 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 1B27B9C78F; Wed, 16 Dec 2020 02:02:29 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="E8U3laFa"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 5347A9C78F; Wed, 16 Dec 2020 02:02:23 +1000 (AEST) Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.179]) by minnie.tuhs.org (Postfix) with ESMTPS id 731F5944D8 for ; Wed, 16 Dec 2020 02:02:22 +1000 (AEST) Received: by mail-qk1-f179.google.com with SMTP id i67so12042564qkf.11 for ; Tue, 15 Dec 2020 08:02:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:reply-to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=r2yTqZ1+qkvzcZlSG56F2SCe1rjKFDlZIv9KDnt2Pok=; b=E8U3laFaHN1Oqy96L8cpDmXPyFfw9qbjLDIgXgnuiDrcRIlZQQjlyqx1XWMYTKEat3 mjp2d5mPzTphPxB1xgJh4U/yyQOL2s4C8QhSXejCUXgZW1LZwDxTw4gNRZL5eE2lE5Mx mg9IsGR2rVTwuwcVYcr2FWyNh46G6ILxDZ1xdQzj49jqgMQ5SmR/2P1QuC1usCtXgxst XzabfHfzJ6fcHabOkDbjHKU3+huO1tc0LCAnM3IlzwphRSjPd2886i7tysInn8H4/Pmo 3EEpYPLwp/p0JQsBs/IBGz6DoaAiUx3HaHILQAkdWj59deKl0MYhmIfryFgH0FtvnOiI qXkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:reply-to:from:subject:message-id:date :user-agent:mime-version:content-language; bh=r2yTqZ1+qkvzcZlSG56F2SCe1rjKFDlZIv9KDnt2Pok=; b=cmM1XJiq7t7qwr78DNQNZKwW1AOQKRhqDfbeMEUFN/isz4Qgs+CTJvfhjVbw5KRyDw yBERRxazmMoZz52AWONRmHG4JCPhbyeqYRFH57QCDQvM7VKCRtf6AwMm9shdjp922pM7 y1HWDOsDZDTIAAdlQqpK89IUnYUCixkgQtDUcUe+spYcj69FIbd3KcSzzyUkLzXkdiEM U1EypSD2pZLu1d9gnDQg4JziXxq3tLKUA0yo/ECMLovQgIB/0xQGIwAD7kECRq+XJIex 9hFqKg3tNVHmEDoK48LxNw/xEpPrh7B4qntCBeMIW9c+UjfQMWHywZoQTA2vtepqP4l7 9fMQ== X-Gm-Message-State: AOAM533m/bwaWTnZcSybZorYBtlhfKeE0FdYg5kUJuuITATi4YwPOn9B jFYfBSGADjXQacZYBIZ95XOWBysUd2s= X-Google-Smtp-Source: ABdhPJyrB5kF391kA8cPJumQz0OdiQzVKc6+WQPliK1QLk+V8B4ird2smgyHZ14vD5t6y5crkBPwmQ== X-Received: by 2002:a05:620a:7fb:: with SMTP id k27mr12851280qkk.485.1608048141147; Tue, 15 Dec 2020 08:02:21 -0800 (PST) Received: from ?IPv6:2603:6081:5801:aa0::16d5? (2603-6081-5801-0aa0-0000-0000-0000-16d5.res6.spectrum.com. [2603:6081:5801:aa0::16d5]) by smtp.gmail.com with ESMTPSA id n2sm17262961qkf.37.2020.12.15.08.02.20 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 15 Dec 2020 08:02:20 -0800 (PST) To: tuhs@minnie.tuhs.org From: srbourne Message-ID: Date: Tue, 15 Dec 2020 11:02:19 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.5.1 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="------------D20697B61FF2862CA9B4401B" Content-Language: en-US Subject: [TUHS] sh and goto 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: , Reply-To: srb@acm.org Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" This is a multi-part message in MIME format. --------------D20697B61FF2862CA9B4401B Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Message: 4 Date: Mon, 30 Nov 2020 19:59:18 -0800 (PST) From:jason-tuhs@shalott.net To:tuhs@minnie.tuhs.org Subject: Re: [TUHS] The UNIX Command Language (1976) Message-ID: Content-Type: text/plain; charset=3D"utf-8"; Format=3D"flowed" > "The UNIX Command Language=C2=A0is the first-ever paper published o= n the Unix > shell. It was written by Ken Thompson in 1976." > > https://github.com/susam/tucl Thanks for that. This reminded me that the Thompson shell used goto for flow control, = which I had forgotten. Bourne commented on the omission of goto from the Bourne shell, "I eliminated goto in favour of flow control primitives like if and for.= This was also considered rather radical departure from the existing practice." Was this decision contentious at all? Was there a specific reason fo= r goto's exclusion in the Bourne shell? Thanks. -Jason At the time it may have raised a few eyebrows but I don't recall much dis= cussion about it then. My email tracks at the time don't mention it. Doug McIlroy or Steve Johnson (or Ken) on this forum might recall differe= ntly. At the time scripts were not that complicated and so error recover= y to a far off place in the script was not common. As an aside I did per= suade Dennis to add "setjmp" and "longjmp" so the shell code itself could= recover from some kinds of script errors. So I did not have a "religious" aversion to "goto" at the time. Steve --------------D20697B61FF2862CA9B4401B Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Message: 4
Date: Mon, 30 Nov 2020 19:59=
:18 -0800 (PST)
From: jason-tuhs@shalott.net
To: tuhs@minnie.tuhs.org
Subject: Re: [TUHS] The UNIX Command Language (1976)
Message-ID:
	<alpine.LRH.2.23.453.20113019464=
10.14253@waffle.shalott.net>
Content-Type: text/plain; charset=3D"utf-8"; Format=3D"flowed"


"The UNIX Command Language=
=C2=A0is the first-ever paper published on the Unix=20
shell. It was written by Ken Thompson in 1976."

https://github.com/susam/tucl
Thanks for that.

This reminded me that the Thompson shell used goto for flow control, whic=
h=20
I had forgotten.

Bourne commented on the omission of goto from the Bourne shell, "I=20
eliminated goto in favour of flow control primitives like if and for.=20
This was also considered rather radical departure from the existing=20
practice."

Was this decision contentious at all?  Was there a specific reason for=20
goto's exclusion in the Bourne shell?


Thanks.


  -Jason

At the time it may have raised=
 a few eyebrows but I don't recall much discussion about it then.  My ema=
il tracks at the time don't mention it.
Doug McIlroy or Steve Johnson (or Ken) on this forum might recall differe=
ntly.  At the time scripts were not that complicated and so error recover=
y to a far off place in the script was not common.  As an aside I did per=
suade Dennis to add "setjmp" and "longjmp" so the shell code itself could=
 recover from some kinds of script errors.
So I did not have a "religious" aversion to "goto" at the time. =20

Steve
--------------D20697B61FF2862CA9B4401B--