[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SRFI 22 release candidate #2



> So, mainly to please Marc, we've put up another revision of SRFI 22.

Thanks for the courtesy!  And I do like the revised SRFI!

Here are a few minor problems I noticed:

  <script> --> <script prelude>? <program>

Why the question mark? is the prelude optional?

Change scheme-ieee1178-90 -> scheme-ieee-1178-90 (or the other way around,
but be consistent).

The section "Comment Syntax and Script Invocation" is obsolete.

"even though though" -> "even though"

In addition to saying that one system (SunOS 4.1.4.1) had a 32
character limit you should say that there where a few systems (FreeBSD
and NetBSD) that had a 64 character limit (above this limit, very
strange things happen).  Below is an explanation from Alan Bawden.

Marc


Date: Wed, 23 May 2001 15:57:10 -0400 (EDT)
Content-Type: text/plain; charset="iso-8859-1"
From: Alan Bawden <Alan@xxxxxxxxxxx>
Sender: Alan@xxxxxxxxxxx
To: feeley@xxxxxxxxxxxxxxxx
In-reply-to: <200105231256.f4NCu0N19894@xxxxxxxxxxxxxxxxxxxxxxx> (message from
	Marc Feeley on Wed, 23 May 2001 08:56:00 -0400)
Subject: Re: Fun with shell scripts!

   Date: Wed, 23 May 2001 08:56:00 -0400
   From: Marc Feeley <feeley@xxxxxxxxxxxxxxxx>

   Alan, thanks for the results.  I'm surprized that FreeBSD and NetBSD
   don't give any output, not even an error, on script3 and script4.

Yeah, that suprised me too!  I was hoping that you would recognize the
symptom and I wouldn't have to figure it out..

   Could you try to figure out what is happening?  Perhaps the status
   returned by the script is not 0?

Return status is in fact 0.

   Also, you might want to change all the references to "cat" in the script
   by "echo" to see exactly what arguments are passed (I should have
   thought of this earlier).

Wouldn't have helped...

It turns out that on FreeBSD when execve() tries to execute an executable
file whose first line is -longer- than 64 characters, it returns ENOEXEC.
The same error is returned if the first line starts with something other
than "#!".  This would all be perfectly reasonable if it wasn't for the
fact that historically Unix shells have handled ENOEXEC by trying to run
the file as a shell script.  (Never mind that csh runs it is a csh script
and sh runs it as a sh script and bash runs it as a bash script...)  A
shell script that contains nothing but a comment immediately returns with
status 0.

- Alan