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>" == "<b>"g&t"</n>" --- > escapeHTML "don't" == "don't" +-- > escapeHTML "t'was another test" == "t'was another test" escapeHTML :: String -> String escapeHTML = concatMap f where @@ -298,6 +298,7 @@ f '<' = "<" f '&' = "&" f '\"' = """ + f '\'' = "'" 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>\" == \"<b>"g&t"</n>\"" $ escapeHTML "<b>\"g&t\"</n>" == "<b>"g&t"</n>" - testGen "escapeHTML \"don't\" == \"don't\"" $ escapeHTML "don't" == "don't" + testGen "escapeHTML \"t'was another test\" == \"t'was another test\"" $ escapeHTML "t'was another test" == "t'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
