Hi,

At Wed, 14 Sep 2011 03:38:53 +0900,
Simon Chiang wrote in [ruby-core:39527]:
> Apologies for the delay in reply, for some reason I don't get
> email updates even though I'm watching this ticket.

No apologies.  I've not received the post by myself too.
Something didn't go fine.

> That is a reasonable assertion that the behavior should be
> consistent PTY.spawn to Kernel.spawn.  I'm still curious, is
> the behavior correct?  Specifically, why doesn't/can't spawn
> return the exit status as specified by 'exit'?

It's not that spawn doesn't return the exit status, but that
spawn failes to start non-existent programs, i.e., "exit 8" and
"".  You don't seem to have "/usr/bin/exit 8" file obviously.
Since it can't start a new process, so it raises an exception.

> I know in the case of system a 127 can be returned for a
> command that is not found... so maybe it's not looking up
> exit because it's a built-in utility... but I'm not clear why
> returning 1 is could be correct for spawn.  I am confused and
> would appreciate clarification if you have time to explain.

It's deprecated behavior to return 127 instead of an exception.

-- 
Nobu Nakada