shh 0.7.0.7 → 0.7.0.8
raw patch · 5 files changed
+27/−9 lines, 5 filesdep ~template-haskellPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: template-haskell
API changes (from Hackage documentation)
Files
- ChangeLog.md +6/−0
- README.md +7/−3
- shh.cabal +3/−3
- src/Shh/Internal.hs +4/−0
- test/Readme.lhs +7/−3
ChangeLog.md view
@@ -1,5 +1,11 @@ # Revision history for shh +## 0.7.0.8 -- 2020-05-28++* Flush std buffers before executing a process to make interaction+ with Haskells standard IO system more predictable.+* Various bug fixes+ ## 0.7.0.3 -- 2019-08-21 Allow optionally capturing stdout on failure exceptions
README.md view
@@ -2,7 +2,7 @@ [](http://hackage.haskell.org/package/shh) [](http://hackage.haskell.org/package/shh-extras)-[](https://builds.sr.ht/~lukec/shh/nix.yml?)+[](https://builds.sr.ht/~lukec/shh/commits/nix.yml) <details><summary> Shh is a library to enable convenient shell-like programming in Haskell.@@ -171,7 +171,7 @@ using the [Glob](http://hackage.haskell.org/package/Glob) package, it is possible to do something like - wc =<< glob "*.md"+ wc "--" =<< glob "*.md" Certainly more verbose than the Bash equivalent, however, also more explicit, which is probably a good thing. If this turns out to be too cumbersome, we@@ -180,8 +180,12 @@ ## Usage +Some of the features in Shh require that you use the threaded runtime.+Please compile with the `-threaded` flag to avoid deadlocks.+ Enable Template Haskell and load the environment. It is also strongly-recommended to use `ExtendedDefaultRules`.+recommended to use `ExtendedDefaultRules`. This is especially important+if you want to use `OverloadedStrings`. {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE ExtendedDefaultRules #-}
shh.cabal view
@@ -1,5 +1,5 @@ name: shh-version: 0.7.0.7+version: 0.7.0.8 synopsis: Simple shell scripting from Haskell description: Provides a shell scripting environment for Haskell. It helps you use external binaries, and allows you to@@ -23,7 +23,7 @@ exposed-modules: Shh , Shh.Internal build-depends:- base >= 4.9 && < 4.13,+ base >= 4.9 && < 4.15, async >= 2.2.1 && < 2.3, bytestring, deepseq >= 1.4.3 && < 1.5,@@ -33,7 +33,7 @@ process >= 1.6.3 && < 1.7, split >= 0.2.3 && < 0.3, stringsearch >= 0.3.6.6 && < 0.4,- template-haskell >= 2.13.0 && < 2.15,+ template-haskell >= 2.13.0 && < 2.17, containers >= 0.5.11 && < 0.7, unix >= 2.7.2 && < 2.8, utf8-string
src/Shh/Internal.hs view
@@ -416,6 +416,10 @@ -- so we ignore that corner case (see `hDup`). runProc' :: Handle -> Handle -> Handle -> Proc a -> IO a runProc' i o e (Proc f) = do+ -- Flush stdout and stderr so that sequencing commands with+ -- Haskell IO functions looks right.+ hFlush stdout+ hFlush stderr r <- f i o e -- Evaluate to WHNF to uncover any ResourceVanished exceptions -- that may be hiding in there from `nativeProc`. These should
test/Readme.lhs view
@@ -2,7 +2,7 @@ [](http://hackage.haskell.org/package/shh) [](http://hackage.haskell.org/package/shh-extras)-[](https://builds.sr.ht/~lukec/shh/nix.yml?)+[](https://builds.sr.ht/~lukec/shh/commits/nix.yml) <details><summary> Shh is a library to enable convenient shell-like programming in Haskell.@@ -171,7 +171,7 @@ using the [Glob](http://hackage.haskell.org/package/Glob) package, it is possible to do something like - wc =<< glob "*.md"+ wc "--" =<< glob "*.md" Certainly more verbose than the Bash equivalent, however, also more explicit, which is probably a good thing. If this turns out to be too cumbersome, we@@ -180,8 +180,12 @@ ## Usage +Some of the features in Shh require that you use the threaded runtime.+Please compile with the `-threaded` flag to avoid deadlocks.+ Enable Template Haskell and load the environment. It is also strongly-recommended to use `ExtendedDefaultRules`.+recommended to use `ExtendedDefaultRules`. This is especially important+if you want to use `OverloadedStrings`. {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE ExtendedDefaultRules #-}