On 2008 Sep 21, at 0:24, gwern0@gmail.com wrote:
- -spawn x = doubleFork $ executeFile "/bin/sh" False ["-c", x] Nothing
+spawn x = io $ do shell <- getEnv "$SHELL" `catch` (\_ -> return "/bin/sh")
+                  doubleFork $ executeFile shell False ["-c", x] Nothing

As seen by getEnv, it's just "SHELL".  This code looks for $SHELL, which most shells other than rc will balk at creating.

-- 
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH