packages feed

call-stack 0.3.0 → 0.4.0

raw patch · 5 files changed

+48/−20 lines, 5 filesdep +filepathPVP ok

version bump matches the API change (PVP)

Dependencies added: filepath

API changes (from Hackage documentation)

Files

call-stack.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.34.3.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack  name:           call-stack-version:        0.3.0+version:        0.4.0 synopsis:       Use GHC call-stacks in a backward compatible way category:       Data homepage:       https://github.com/sol/call-stack#readme@@ -25,6 +25,10 @@   ghc-options: -Wall   build-depends:       base ==4.*+  if os(windows)+    cpp-options: -DWINDOWS+    build-depends:+        filepath   exposed-modules:       Data.CallStack   other-modules:@@ -41,6 +45,7 @@   build-depends:       base ==4.*     , call-stack+    , filepath     , nanospec   other-modules:       Data.CallStackSpec
src/Data/CallStack.hs view
@@ -4,9 +4,9 @@  #if __GLASGOW_HASKELL__ >= 704 {-# LANGUAGE ConstraintKinds #-}-#define HCS HasCallStack =>+#define HasCallStack_ HasCallStack => #else-#define HCS+#define HasCallStack_ #endif  module Data.CallStack (@@ -22,6 +22,10 @@ import Data.Maybe import Data.SrcLoc +#ifdef WINDOWS+import System.FilePath+#endif+ #if MIN_VERSION_base(4,8,1) import qualified GHC.Stack as GHC #endif@@ -37,14 +41,30 @@  type CallStack = [(String, SrcLoc)] -callStack :: HCS CallStack+callStack :: HasCallStack_ CallStack+callStack = workaroundForIssue19236 $ #if MIN_VERSION_base(4,9,0)-callStack = drop 1 $ GHC.getCallStack GHC.callStack+  drop 1 $ GHC.getCallStack GHC.callStack #elif MIN_VERSION_base(4,8,1)-callStack = drop 2 $ GHC.getCallStack ?callStack+  drop 2 $ GHC.getCallStack ?callStack #else-callStack = []+  [] #endif -callSite :: HCS Maybe (String, SrcLoc)+callSite :: HasCallStack_ Maybe (String, SrcLoc) callSite = listToMaybe (reverse callStack)++workaroundForIssue19236 :: CallStack -> CallStack -- https://gitlab.haskell.org/ghc/ghc/-/issues/19236+workaroundForIssue19236 =+#ifdef WINDOWS+  map (fmap fixSrcLoc)+  where+    fixSrcLoc :: SrcLoc -> SrcLoc+    fixSrcLoc loc = loc { srcLocFile = fixPath $ srcLocFile loc }++    fixPath :: FilePath -> FilePath+    fixPath =+      joinPath . splitDirectories+#else+  id+#endif
test/Data/CallStackSpec.hs view
@@ -15,10 +15,10 @@           , SrcLoc {               srcLocPackage = "main"             , srcLocModule = "Example"-            , srcLocFile = "test/Example.hs"-            , srcLocStartLine = 17+            , srcLocFile = "test" </> "Example.hs"+            , srcLocStartLine = 18             , srcLocStartCol = 7-            , srcLocEndLine = 17+            , srcLocEndLine = 18             , srcLocEndCol = 10             }           )@@ -26,10 +26,10 @@           , SrcLoc {               srcLocPackage = "main"             , srcLocModule = "Example"-            , srcLocFile = "test/Example.hs"-            , srcLocStartLine = 14+            , srcLocFile = "test" </> "Example.hs"+            , srcLocStartLine = 15             , srcLocStartCol = 8-            , srcLocEndLine = 14+            , srcLocEndLine = 15             , srcLocEndCol = 11             }           )
test/Example.hs view
@@ -2,10 +2,11 @@  #if __GLASGOW_HASKELL__ >= 704 {-# LANGUAGE ConstraintKinds #-}-#define HCS HasCallStack =>+#define HasCallStack_ HasCallStack => #else-#define HCS+#define HasCallStack_ #endif+ module Example where  import           Data.CallStack@@ -13,8 +14,8 @@ test :: CallStack test = foo -foo :: HCS CallStack+foo :: HasCallStack_ CallStack foo = bar -bar :: HCS CallStack+bar :: HasCallStack_ CallStack bar = callStack
test/Util.hs view
@@ -1,5 +1,7 @@ {-# LANGUAGE CPP #-}-module Util (SrcLoc(..), mapLocations) where+module Util (SrcLoc(..), mapLocations, (</>)) where++import           System.FilePath  #if MIN_VERSION_base(4,8,1) && !MIN_VERSION_base(4,9,0) import qualified GHC.SrcLoc as GHC