Hello community,

here is the log from the commit of package ghc-extra for openSUSE:Factory 
checked in at 2018-10-25 08:16:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-extra (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-extra.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-extra"

Thu Oct 25 08:16:08 2018 rev:18 rq:642857 version:1.6.13

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-extra/ghc-extra.changes      2018-07-24 
17:18:36.451009111 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-extra.new/ghc-extra.changes 2018-10-25 
08:17:10.956048678 +0200
@@ -1,0 +2,18 @@
+Mon Oct 15 02:01:21 UTC 2018 - [email protected]
+
+- Update extra to version 1.6.13.
+  1.6.13, released 2018-10-14
+      #40, deprecate Data.List.Extra.for (clashes with Traversable)
+
+-------------------------------------------------------------------
+Thu Oct  4 09:43:02 UTC 2018 - [email protected]
+
+- Update extra to version 1.6.12.
+  1.6.12, released 2018-09-24
+      #39, add curry3/uncurry3
+  1.6.11, released 2018-09-18
+      #38, make escapeHTML replace ' with '
+  1.6.10, released 2018-09-04
+      #37, make a duration/sleep test more robust (wider bounds)
+
+-------------------------------------------------------------------

Old:
----
  extra-1.6.9.tar.gz

New:
----
  extra-1.6.13.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-extra.spec ++++++
--- /var/tmp/diff_new_pack.ZP6IgC/_old  2018-10-25 08:17:11.648048376 +0200
+++ /var/tmp/diff_new_pack.ZP6IgC/_new  2018-10-25 08:17:11.672048365 +0200
@@ -12,14 +12,14 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %global pkg_name extra
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        1.6.9
+Version:        1.6.13
 Release:        0
 Summary:        Extra functions I use
 License:        BSD-3-Clause

++++++ extra-1.6.9.tar.gz -> extra-1.6.13.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-1.6.9/CHANGES.txt new/extra-1.6.13/CHANGES.txt
--- old/extra-1.6.9/CHANGES.txt 2018-07-12 23:36:55.000000000 +0200
+++ new/extra-1.6.13/CHANGES.txt        2018-10-14 18:09:12.000000000 +0200
@@ -1,5 +1,13 @@
 Changelog for Extra
 
+1.6.13, released 2018-10-14
+    #40, deprecate Data.List.Extra.for (clashes with Traversable)
+1.6.12, released 2018-09-24
+    #39, add curry3/uncurry3
+1.6.11, released 2018-09-18
+    #38, make escapeHTML replace ' with '
+1.6.10, released 2018-09-04
+    #37, make a duration/sleep test more robust (wider bounds)
 1.6.9, released 2018-07-12
     Add loop, the non-monadic version of loopM
     #36, add whenMaybe and whenMaybeM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-1.6.9/extra.cabal new/extra-1.6.13/extra.cabal
--- old/extra-1.6.9/extra.cabal 2018-07-12 23:36:55.000000000 +0200
+++ new/extra-1.6.13/extra.cabal        2018-10-14 18:09:12.000000000 +0200
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.18
 build-type:         Simple
 name:               extra
-version:            1.6.9
+version:            1.6.13
 license:            BSD3
 license-file:       LICENSE
 category:           Development
@@ -15,7 +15,7 @@
     The module "Extra" documents all functions provided by this library. 
Modules such as "Data.List.Extra" provide extra functions over "Data.List" and 
also reexport "Data.List". Users are recommended to replace "Data.List" imports 
with "Data.List.Extra" if they need the extra functionality.
 homepage:           https://github.com/ndmitchell/extra#readme
 bug-reports:        https://github.com/ndmitchell/extra/issues
-tested-with:        GHC==8.4.3, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, 
GHC==7.8.4, GHC==7.6.3, GHC==7.4.2
+tested-with:        GHC==8.6.1, GHC==8.4.3, GHC==8.2.2, GHC==8.0.2, 
GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2
 
 extra-doc-files:
     CHANGES.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-1.6.9/src/Data/List/Extra.hs 
new/extra-1.6.13/src/Data/List/Extra.hs
--- old/extra-1.6.9/src/Data/List/Extra.hs      2018-07-12 23:36:55.000000000 
+0200
+++ new/extra-1.6.13/src/Data/List/Extra.hs     2018-10-14 18:09:12.000000000 
+0200
@@ -57,9 +57,10 @@
     where (b, as') = f as
 
 
--- | Flipped version of 'map'.
+-- | /DEPRECATED/ Use @flip map@ directly, since this function clashes with 
@Data.Traversable.for@.
 --
--- > for [1,2,3] (+1) == [2,3,4]
+--   Flipped version of 'map'.
+{-# DEPRECATED for "Use flip map directly, since this function clashes with 
Data.Traversable.for" #-}
 for :: [a] -> (a -> b) -> [b]
 for = flip map
 
@@ -285,12 +286,11 @@
 
 -- | Escape a string such that it can be inserted into an HTML document or 
@\"@ attribute
 --   without any special interpretation. This requires escaping the @<@, @>@, 
@&@ and @\"@ characters.
---   Note that it does /not/ escape @\'@, so will not work when placed in a 
@\'@ delimited attribute.
---   Also note that it will escape @\"@ even though that is not required in an 
HTML body (but is not harmful).
+--   Note that it will escape @\"@ and @\'@ even though that is not required 
in an HTML body (but is not harmful).
 --
 -- > escapeHTML "this is a test" == "this is a test"
 -- > escapeHTML "<b>\"g&t\"</n>" == "&lt;b&gt;&quot;g&amp;t&quot;&lt;/n&gt;"
--- > escapeHTML "don't" == "don't"
+-- > escapeHTML "t'was another test" == "t&#39;was another test"
 escapeHTML :: String -> String
 escapeHTML = concatMap f
     where
@@ -298,6 +298,7 @@
         f '<' = "&lt;"
         f '&' = "&amp;"
         f '\"' = "&quot;"
+        f '\'' = "&#39;"
         f x = [x]
 
 -- | Invert of 'escapeHTML' (does not do general HTML unescaping)
@@ -309,6 +310,7 @@
     | Just xs <- stripPrefix "gt;" xs = '>' : unescapeHTML xs
     | Just xs <- stripPrefix "amp;" xs = '&' : unescapeHTML xs
     | Just xs <- stripPrefix "quot;" xs = '\"' : unescapeHTML xs
+    | Just xs <- stripPrefix "#39;" xs = '\'' : unescapeHTML xs
 unescapeHTML (x:xs) = x : unescapeHTML xs
 unescapeHTML [] = []
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-1.6.9/src/Data/Tuple/Extra.hs 
new/extra-1.6.13/src/Data/Tuple/Extra.hs
--- old/extra-1.6.9/src/Data/Tuple/Extra.hs     2018-07-12 23:36:55.000000000 
+0200
+++ new/extra-1.6.13/src/Data/Tuple/Extra.hs    2018-10-14 18:09:12.000000000 
+0200
@@ -8,8 +8,9 @@
     first, second, (***), (&&&),
     -- * More pair operations
     dupe, both,
-    -- * Extract from a triple
-    fst3, snd3, thd3
+    -- * Operations on triple
+    fst3, snd3, thd3,
+    curry3, uncurry3
     ) where
 
 import Data.Tuple
@@ -66,3 +67,11 @@
 -- | Extract the final element of a triple.
 thd3 :: (a,b,c) -> c
 thd3 (a,b,c) = c
+
+-- | Converts an uncurried function to a curried function.
+curry3 :: ((a, b, c) -> d) -> a -> b -> c -> d
+curry3 f a b c = f (a,b,c)
+
+-- | Converts a curried function to a function on a triple.
+uncurry3 :: (a -> b -> c -> d) -> ((a, b, c) -> d)
+uncurry3 f ~(a,b,c) = f a b c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-1.6.9/src/Extra.hs 
new/extra-1.6.13/src/Extra.hs
--- old/extra-1.6.9/src/Extra.hs        2018-07-12 23:36:55.000000000 +0200
+++ new/extra-1.6.13/src/Extra.hs       2018-10-14 18:09:12.000000000 +0200
@@ -26,7 +26,7 @@
     lower, upper, trim, trimStart, trimEnd, word1, line1, escapeHTML, 
escapeJSON, unescapeHTML, unescapeJSON, dropEnd, takeEnd, splitAtEnd, breakEnd, 
spanEnd, dropWhileEnd, dropWhileEnd', takeWhileEnd, stripSuffix, stripInfix, 
stripInfixEnd, dropPrefix, dropSuffix, wordsBy, linesBy, breakOn, breakOnEnd, 
splitOn, split, chunksOf, notNull, list, uncons, unsnoc, cons, snoc, drop1, 
mconcatMap, groupSort, groupSortOn, groupSortBy, nubOrd, nubOrdBy, nubOrdOn, 
nubOn, groupOn, sortOn, nubSort, nubSortBy, nubSortOn, maximumOn, minimumOn, 
disjoint, allSame, anySame, repeatedly, for, firstJust, concatUnzip, 
concatUnzip3, zipFrom, zipWithFrom, replace, merge, mergeBy,
     -- * Data.Tuple.Extra
     -- | Extra functions available in @"Data.Tuple.Extra"@.
-    first, second, (***), (&&&), dupe, both, fst3, snd3, thd3,
+    first, second, (***), (&&&), dupe, both, fst3, snd3, thd3, curry3, 
uncurry3,
     -- * Data.Typeable.Extra
     -- | Extra functions available in @"Data.Typeable.Extra"@.
     typeRep, (:~:)(..), Proxy(..),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-1.6.9/src/System/Time/Extra.hs 
new/extra-1.6.13/src/System/Time/Extra.hs
--- old/extra-1.6.9/src/System/Time/Extra.hs    2018-07-12 23:36:55.000000000 
+0200
+++ new/extra-1.6.13/src/System/Time/Extra.hs   2018-10-14 18:09:12.000000000 
+0200
@@ -63,7 +63,7 @@
     | otherwise = do
         pid <- myThreadId
         ex  <- fmap Timeout newUnique
-        handleBool (== ex) 
+        handleBool (== ex)
                    (const $ return Nothing)
                    (bracket (forkIOWithUnmask $ \unmask -> unmask $ sleep n >> 
throwTo pid ex)
                             killThread
@@ -107,7 +107,7 @@
 
 -- | Record how long a computation takes in 'Seconds'.
 --
--- > do (a,_) <- duration $ sleep 1; return $ a >= 1 && a <= 1.1
+-- > do (a,_) <- duration $ sleep 1; return $ a >= 1 && a <= 1.5
 duration :: IO a -> IO (Seconds, a)
 duration act = do
     time <- offsetTime
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-1.6.9/test/TestGen.hs 
new/extra-1.6.13/test/TestGen.hs
--- old/extra-1.6.9/test/TestGen.hs     2018-07-12 23:36:55.000000000 +0200
+++ new/extra-1.6.13/test/TestGen.hs    2018-10-14 18:09:12.000000000 +0200
@@ -71,7 +71,6 @@
     testGen "\\xs -> repeatedly (splitAt 3) xs  == chunksOf 3 xs" $ \xs -> 
repeatedly (splitAt 3) xs  == chunksOf 3 xs
     testGen "\\xs -> repeatedly word1 (trim xs) == words xs" $ \xs -> 
repeatedly word1 (trim xs) == words xs
     testGen "\\xs -> repeatedly line1 xs == lines xs" $ \xs -> repeatedly 
line1 xs == lines xs
-    testGen "for [1,2,3] (+1) == [2,3,4]" $ for [1,2,3] (+1) == [2,3,4]
     testGen "disjoint [1,2,3] [4,5] == True" $ disjoint [1,2,3] [4,5] == True
     testGen "disjoint [1,2,3] [4,1] == False" $ disjoint [1,2,3] [4,1] == False
     testGen "anySame [1,1,2] == True" $ anySame [1,1,2] == True
@@ -142,7 +141,7 @@
     testGen "line1 \"test\\nrest\\nmore\" == (\"test\",\"rest\\nmore\")" $ 
line1 "test\nrest\nmore" == ("test","rest\nmore")
     testGen "escapeHTML \"this is a test\" == \"this is a test\"" $ escapeHTML 
"this is a test" == "this is a test"
     testGen "escapeHTML \"<b>\\\"g&t\\\"</n>\" == 
\"&lt;b&gt;&quot;g&amp;t&quot;&lt;/n&gt;\"" $ escapeHTML "<b>\"g&t\"</n>" == 
"&lt;b&gt;&quot;g&amp;t&quot;&lt;/n&gt;"
-    testGen "escapeHTML \"don't\" == \"don't\"" $ escapeHTML "don't" == "don't"
+    testGen "escapeHTML \"t'was another test\" == \"t&#39;was another test\"" 
$ escapeHTML "t'was another test" == "t&#39;was another test"
     testGen "\\xs -> unescapeHTML (escapeHTML xs) == xs" $ \xs -> unescapeHTML 
(escapeHTML xs) == xs
     testGen "escapeJSON \"this is a test\" == \"this is a test\"" $ escapeJSON 
"this is a test" == "this is a test"
     testGen "escapeJSON \"\\ttab\\nnewline\\\\\" == 
\"\\\\ttab\\\\nnewline\\\\\\\\\"" $ escapeJSON "\ttab\nnewline\\" == 
"\\ttab\\nnewline\\\\"
@@ -274,4 +273,4 @@
     testGen "showDuration 62003.8 == \"17h13m\"" $ showDuration 62003.8 == 
"17h13m"
     testGen "showDuration 1e8     == \"27777h47m\"" $ showDuration 1e8     == 
"27777h47m"
     testGen "do f <- offsetTime; xs <- replicateM 10 f; return $ xs == sort 
xs" $ do f <- offsetTime; xs <- replicateM 10 f; return $ xs == sort xs
-    testGen "do (a,_) <- duration $ sleep 1; return $ a >= 1 && a <= 1.1" $ do 
(a,_) <- duration $ sleep 1; return $ a >= 1 && a <= 1.1
+    testGen "do (a,_) <- duration $ sleep 1; return $ a >= 1 && a <= 1.5" $ do 
(a,_) <- duration $ sleep 1; return $ a >= 1 && a <= 1.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/extra-1.6.9/test/TestUtil.hs 
new/extra-1.6.13/test/TestUtil.hs
--- old/extra-1.6.9/test/TestUtil.hs    2018-07-12 23:36:55.000000000 +0200
+++ new/extra-1.6.13/test/TestUtil.hs   2018-10-14 18:09:12.000000000 +0200
@@ -11,7 +11,6 @@
     ) where
 
 import Test.QuickCheck
-import Test.QuickCheck.Test
 import System.IO.Unsafe
 import Text.Show.Functions()
 
@@ -44,7 +43,9 @@
 testGen :: Testable prop => String -> prop -> IO ()
 testGen msg prop = testRaw msg $ do
     r <- quickCheckResult prop
-    unless (isSuccess r) $ error "Test failed"
+    case r of
+        Success{} -> return ()
+        _ -> errorIO "Test failed"
 
 testRaw :: String -> IO () -> IO ()
 testRaw msg test = do


Reply via email to