shelly 1.5.6 → 1.5.7
raw patch · 4 files changed
+17/−5 lines, 4 filesdep ~monad-controldep ~time
Dependency ranges changed: monad-control, time
Files
- shelly.cabal +3/−3
- src/Shelly.hs +2/−2
- src/Shelly/Base.hs +8/−0
- src/Shelly/Pipe.hs +4/−0
shelly.cabal view
@@ -1,6 +1,6 @@ Name: shelly -Version: 1.5.6+Version: 1.5.7 Synopsis: shell-like (systems) programming in Haskell Description: Shelly provides convenient systems programming in Haskell,@@ -39,14 +39,14 @@ Build-depends: containers >= 0.4.2.0,- time >= 1.3 && < 1.5,+ time >= 1.3 && < 1.6, directory >= 1.1.0.0 && < 1.3.0.0, mtl >= 2, process >= 1.0, unix-compat < 0.5, system-filepath >= 0.4.7 && < 0.5, system-fileio < 0.4,- monad-control >= 0.3.2 && < 0.4,+ monad-control >= 0.3.2 && < 1.1, lifted-base, lifted-async, exceptions == 0.6.*,
src/Shelly.hs view
@@ -604,7 +604,7 @@ L.find (S.member fp . snd) pathExecutables - pathDirs = mapM absPath =<< ((map FP.fromText . T.split (== searchPathSeparator)) `fmap` get_env_text "PATH")+ pathDirs = mapM absPath =<< ((map FP.fromText . filter (not . T.null) . T.split (== searchPathSeparator)) `fmap` get_env_text "PATH") cachedPathExecutables :: Sh [(FilePath, S.Set FilePath)] cachedPathExecutables = do@@ -863,7 +863,7 @@ shellyNoDir = shelly' ReadOnlyState { rosFailToDir = False } {-# DEPRECATED shellyNoDir "Just use shelly. The default settings have changed" #-} --- Using this entry point creates a @.shelly@ directory in the case+-- | Using this entry point creates a @.shelly@ directory in the case -- of failure where errors are recorded. shellyFailDir :: MonadIO m => Sh a -> m a shellyFailDir = shelly' ReadOnlyState { rosFailToDir = True }
src/Shelly/Base.hs view
@@ -71,11 +71,19 @@ liftBase = Sh . ReaderT . const instance MonadBaseControl IO Sh where+#if MIN_VERSION_monad_control(1,0,0)+ type StM Sh a = StM (ReaderT (IORef State) IO) a+ liftBaseWith f =+ Sh $ liftBaseWith $ \runInBase -> f $ \k ->+ runInBase $ unSh k+ restoreM = Sh . restoreM+#else newtype StM Sh a = StMSh (StM (ReaderT (IORef State) IO) a) liftBaseWith f = Sh $ liftBaseWith $ \runInBase -> f $ \k -> liftM StMSh $ runInBase $ unSh k restoreM (StMSh m) = Sh . restoreM $ m+#endif instance Catch.MonadThrow Sh where throwM = liftIO . Catch.throwM
src/Shelly/Pipe.hs view
@@ -138,6 +138,10 @@ pure = return (<*>) = ap +instance Alternative Sh where+ empty = mzero+ (<|>) = mplus+ instance MonadPlus Sh where mzero = Sh $ return [] mplus a b = Sh $ liftA2 (++) (unSh a) (unSh b)