packages feed

base 4.7.0.0 → 4.7.0.1

raw patch · 7 files changed

+34/−12 lines, 7 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Foreign: addForeignPtrFinalizer :: FinalizerPtr a -> ForeignPtr a -> IO ()
- Foreign: addForeignPtrFinalizerEnv :: FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO ()
- Foreign: castForeignPtr :: ForeignPtr a -> ForeignPtr b
- Foreign: data ForeignPtr a
- Foreign: finalizeForeignPtr :: ForeignPtr a -> IO ()
- Foreign: mallocForeignPtr :: Storable a => IO (ForeignPtr a)
- Foreign: mallocForeignPtrArray :: Storable a => Int -> IO (ForeignPtr a)
- Foreign: mallocForeignPtrArray0 :: Storable a => Int -> IO (ForeignPtr a)
- Foreign: mallocForeignPtrBytes :: Int -> IO (ForeignPtr a)
- Foreign: newForeignPtr :: FinalizerPtr a -> Ptr a -> IO (ForeignPtr a)
- Foreign: newForeignPtrEnv :: FinalizerEnvPtr env a -> Ptr env -> Ptr a -> IO (ForeignPtr a)
- Foreign: newForeignPtr_ :: Ptr a -> IO (ForeignPtr a)
- Foreign: touchForeignPtr :: ForeignPtr a -> IO ()
- Foreign: type FinalizerEnvPtr env a = FunPtr (Ptr env -> Ptr a -> IO ())
- Foreign: type FinalizerPtr a = FunPtr (Ptr a -> IO ())
- Foreign: withForeignPtr :: ForeignPtr a -> (Ptr a -> IO b) -> IO b
+ Foreign.ForeignPtr: addForeignPtrFinalizer :: FinalizerPtr a -> ForeignPtr a -> IO ()
+ Foreign.ForeignPtr: addForeignPtrFinalizerEnv :: FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO ()
+ Foreign.ForeignPtr: castForeignPtr :: ForeignPtr a -> ForeignPtr b
+ Foreign.ForeignPtr: data ForeignPtr a
+ Foreign.ForeignPtr: finalizeForeignPtr :: ForeignPtr a -> IO ()
+ Foreign.ForeignPtr: mallocForeignPtr :: Storable a => IO (ForeignPtr a)
+ Foreign.ForeignPtr: mallocForeignPtrArray :: Storable a => Int -> IO (ForeignPtr a)
+ Foreign.ForeignPtr: mallocForeignPtrArray0 :: Storable a => Int -> IO (ForeignPtr a)
+ Foreign.ForeignPtr: mallocForeignPtrBytes :: Int -> IO (ForeignPtr a)
+ Foreign.ForeignPtr: newForeignPtr :: FinalizerPtr a -> Ptr a -> IO (ForeignPtr a)
+ Foreign.ForeignPtr: newForeignPtrEnv :: FinalizerEnvPtr env a -> Ptr env -> Ptr a -> IO (ForeignPtr a)
+ Foreign.ForeignPtr: newForeignPtr_ :: Ptr a -> IO (ForeignPtr a)
+ Foreign.ForeignPtr: touchForeignPtr :: ForeignPtr a -> IO ()
+ Foreign.ForeignPtr: type FinalizerEnvPtr env a = FunPtr (Ptr env -> Ptr a -> IO ())
+ Foreign.ForeignPtr: type FinalizerPtr a = FunPtr (Ptr a -> IO ())
+ Foreign.ForeignPtr: withForeignPtr :: ForeignPtr a -> (Ptr a -> IO b) -> IO b

Files

Data/Fixed.hs view
@@ -158,9 +158,13 @@  convertFixed :: forall a . HasResolution a => Lexeme -> ReadPrec (Fixed a) convertFixed (Number n)- | Just (i, f) <- numberToFixed r n =-    return (fromInteger i + (fromInteger f / (10 ^ r)))+ | Just (i, f) <- numberToFixed e n =+    return (fromInteger i + (fromInteger f / (10 ^ e)))     where r = resolution (undefined :: Fixed a)+          -- round 'e' up to help make the 'read . show == id' property+          -- possible also for cases where 'resolution' is not a+          -- power-of-10, such as e.g. when 'resolution = 128'+          e = ceiling (logBase 10 (fromInteger r) :: Double) convertFixed _ = pfail  data E0 = E0
Data/Typeable/Internal.hs view
@@ -252,7 +252,9 @@  -- | Kind-polymorphic Typeable instance for type application instance (Typeable s, Typeable a) => Typeable (s a) where-  typeRep# _ = typeRep# (proxy# :: Proxy# s) `mkAppTy` typeRep# (proxy# :: Proxy# a)+  typeRep# = \_ -> rep+    where rep = typeRep# (proxy# :: Proxy# s)+                   `mkAppTy` typeRep# (proxy# :: Proxy# a)  ----------------- Showing TypeReps -------------------- 
Foreign/ForeignPtr.hs view
@@ -1,6 +1,5 @@ {-# LANGUAGE Unsafe #-} {-# LANGUAGE NoImplicitPrelude #-}-{-# OPTIONS_HADDOCK hide #-}  ----------------------------------------------------------------------------- -- |
base.cabal view
@@ -1,6 +1,6 @@ name:           base-version:        4.7.0.0--- GHC 7.6.1 released with 4.6.0.0+version:        4.7.0.1+-- GHC 7.6.3 released with 4.7.0.0 license:        BSD3 license-file:   LICENSE maintainer:     libraries@haskell.org
cbits/inputReady.c view
@@ -25,7 +25,11 @@ 	int maxfd, ready; 	fd_set rfd, wfd; 	struct timeval tv;-	+        if ((fd >= (int)FD_SETSIZE) || (fd < 0)) {+            /* avoid memory corruption on too large FDs */+            errno = EINVAL;+            return -1;+        } 	FD_ZERO(&rfd); 	FD_ZERO(&wfd);         if (write) {
changelog.md view
@@ -1,5 +1,18 @@ # Changelog for [`base` package](http://hackage.haskell.org/package/base) +## 4.7.0.1  *Jul 2014*++  * Bundled with GHC 7.8.3++  * Unhide `Foreign.ForeignPtr` in Haddock (#8475)++  * Fix recomputation of `TypeRep` in `Typeable` type-application instance+    (#9203)++  * Fix regression in Data.Fixed Read instance (#9231)++  * Fix `fdReady` to honor `FD_SETSIZE` (#9168)+ ## 4.7.0.0  *Mar 2014*    * Bundled with GHC 7.8.1
configure view
@@ -3876,7 +3876,7 @@     We can't simply define LARGE_OFF_T to be 9223372036854775807,     since some C++ compilers masquerading as C compilers     incorrectly reject 9223372036854775807.  */-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 		       && LARGE_OFF_T % 2147483647 == 1) 		      ? 1 : -1];@@ -3922,7 +3922,7 @@     We can't simply define LARGE_OFF_T to be 9223372036854775807,     since some C++ compilers masquerading as C compilers     incorrectly reject 9223372036854775807.  */-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 		       && LARGE_OFF_T % 2147483647 == 1) 		      ? 1 : -1];@@ -3946,7 +3946,7 @@     We can't simply define LARGE_OFF_T to be 9223372036854775807,     since some C++ compilers masquerading as C compilers     incorrectly reject 9223372036854775807.  */-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 		       && LARGE_OFF_T % 2147483647 == 1) 		      ? 1 : -1];@@ -3991,7 +3991,7 @@     We can't simply define LARGE_OFF_T to be 9223372036854775807,     since some C++ compilers masquerading as C compilers     incorrectly reject 9223372036854775807.  */-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 		       && LARGE_OFF_T % 2147483647 == 1) 		      ? 1 : -1];@@ -4015,7 +4015,7 @@     We can't simply define LARGE_OFF_T to be 9223372036854775807,     since some C++ compilers masquerading as C compilers     incorrectly reject 9223372036854775807.  */-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))+#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 		       && LARGE_OFF_T % 2147483647 == 1) 		      ? 1 : -1];