Hello community, here is the log from the commit of package ghc-yi-rope for openSUSE:Factory checked in at 2017-04-07 13:55:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-yi-rope (Old) and /work/SRC/openSUSE:Factory/.ghc-yi-rope.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-yi-rope" Fri Apr 7 13:55:26 2017 rev:2 rq:483136 version:0.8 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-yi-rope/ghc-yi-rope.changes 2017-03-28 15:19:53.489371976 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-yi-rope.new/ghc-yi-rope.changes 2017-04-07 13:55:28.989032222 +0200 @@ -1,0 +2,10 @@ +Sun Feb 12 14:12:17 UTC 2017 - [email protected] + +- Update to version 0.8 with cabal2obs. + +------------------------------------------------------------------- +Thu Sep 15 06:41:42 UTC 2016 - [email protected] + +- Update to version 0.7.0.2 revision 0 with cabal2obs. + +------------------------------------------------------------------- Old: ---- yi-rope-0.7.0.1.tar.gz New: ---- yi-rope-0.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-yi-rope.spec ++++++ --- /var/tmp/diff_new_pack.4u1Zfa/_old 2017-04-07 13:55:29.760923187 +0200 +++ /var/tmp/diff_new_pack.4u1Zfa/_new 2017-04-07 13:55:29.764922622 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-yi-rope # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %global pkg_name yi-rope %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.7.0.1 +Version: 0.8 Release: 0 Summary: A rope data structure used by Yi License: GPL-2.0+ @@ -36,13 +36,13 @@ BuildRequires: ghc-rpm-macros BuildRequires: ghc-text-devel BuildRequires: ghc-text-icu-devel +BuildRequires: libstdc++-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %{with tests} BuildRequires: ghc-QuickCheck-devel BuildRequires: ghc-hspec-devel BuildRequires: ghc-quickcheck-instances-devel %endif -BuildRequires: libstdc++-devel %description A rope data structure used by Yi. @@ -52,9 +52,9 @@ Group: Development/Libraries/Other Requires: %{name} = %{version}-%{release} Requires: ghc-compiler = %{ghc_version} +Requires: libstdc++-devel Requires(post): ghc-compiler = %{ghc_version} Requires(postun): ghc-compiler = %{ghc_version} -Requires: libstdc++-devel %description devel This package provides the Haskell %{pkg_name} library development files. ++++++ yi-rope-0.7.0.1.tar.gz -> yi-rope-0.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yi-rope-0.7.0.1/src/Yi/Rope.hs new/yi-rope-0.8/src/Yi/Rope.hs --- old/yi-rope-0.7.0.1/src/Yi/Rope.hs 2015-03-09 02:07:45.000000000 +0100 +++ new/yi-rope-0.8/src/Yi/Rope.hs 2016-10-10 15:23:38.000000000 +0200 @@ -62,7 +62,6 @@ import Codec.Text.Detect (detectEncodingName) -import Control.Applicative ((<$>)) import Control.DeepSeq import Data.Binary import qualified Data.ByteString as BS @@ -476,10 +475,10 @@ -- pre-process the list. intercalate :: YiString -> [YiString] -> YiString intercalate _ [] = mempty -intercalate (YiString t') (YiString s:ss) = YiString $ s >< go ss +intercalate (YiString t') (YiString s:ss) = YiString $ go s ss where - go [] = mempty - go (YiString t : ts') = t' >< t >< go ts' + go !acc [] = acc + go acc (YiString t : ts') = go (acc >< t' >< t) ts' -- | Intersperses the given character between the 'YiString's. This is -- useful when you have a bunch of strings you just want to separate @@ -496,10 +495,10 @@ -- and use 'TX.intersperse' for that instead. intersperse :: Char -> [YiString] -> YiString intersperse _ [] = mempty -intersperse c (t:ts) = t <> go ts +intersperse c (t:ts) = go t ts where - go [] = mempty - go (t':ts') = (c `cons` t') <> go ts' + go !acc [] = acc + go acc (t':ts') = go (acc <> (c `cons` t')) ts' -- | Add a 'Char' in front of a 'YiString'. -- @@ -638,8 +637,8 @@ all p = go . fromRope where go x = case viewl x of - EmptyL -> False - Chunk _ t :< ts -> TX.all p t || go ts + EmptyL -> True + Chunk _ t :< ts -> TX.all p t && go ts -- | To serialise a 'YiString', we turn it into a regular 'String' -- first. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yi-rope-0.7.0.1/test/Yi/RopeSpec.hs new/yi-rope-0.8/test/Yi/RopeSpec.hs --- old/yi-rope-0.7.0.1/test/Yi/RopeSpec.hs 2015-03-09 02:07:45.000000000 +0100 +++ new/yi-rope-0.8/test/Yi/RopeSpec.hs 2016-10-10 15:21:13.000000000 +0200 @@ -1,7 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} module Yi.RopeSpec (main, spec) where -import Control.Applicative import Data.Char (isUpper, toUpper, isSpace) import qualified Data.Text as T import Test.Hspec @@ -61,6 +60,10 @@ R.any (const True) (R.fromText t) `shouldBe` T.any (const True) t prop "\\p -> R.any p ~ T.any p $ const False" $ \t -> R.any (const False) (R.fromText t) `shouldBe` T.any (const False) t + prop "\\p c -> R.any (== c) p ~ T.any (== c) p" $ \c t -> + R.any (== c) (R.fromText t) `shouldBe` T.any (== c) t + prop "\\p c -> R.all (== c) p ~ T.all (== c) p" $ \c t -> + R.all (== c) (R.fromText t) `shouldBe` T.all (== c) t prop "\\f -> R.withText ~ f $ T.toTitle" $ R.withText T.toTitle `isLikeT` T.toTitle prop "\\p -> R.dropWhile p ~ T.dropWhile p $ isUpper" $ @@ -104,3 +107,7 @@ prop "R.intercalate ~ T.intercalate" $ \t ts -> R.toText (R.intercalate (R.fromText t) (R.fromText <$> ts)) `shouldBe` T.intercalate t ts + describe "But R.intersperse is not like T.intersperse" $ do + prop "R.intercalate (R.singleton c) = R.intersperse c" $ \c ts -> + let rs = R.fromText <$> ts + in R.intercalate (R.singleton c) rs `shouldBe` R.intersperse c rs \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yi-rope-0.7.0.1/yi-rope.cabal new/yi-rope-0.8/yi-rope.cabal --- old/yi-rope-0.7.0.1/yi-rope.cabal 2015-03-09 02:07:45.000000000 +0100 +++ new/yi-rope-0.8/yi-rope.cabal 2016-10-10 15:27:03.000000000 +0200 @@ -1,5 +1,5 @@ name: yi-rope -version: 0.7.0.1 +version: 0.8 synopsis: A rope data structure used by Yi description: A rope data structure used by Yi license: GPL-2 @@ -11,16 +11,13 @@ cabal-version: >=1.10 library - if true - ghc-options: -fpedantic-bottoms -fexpose-all-unfoldings -Wall -O2 - if impl(ghc >= 7.8.1) - ghc-options: -flate-dmd-anal + ghc-options: -fpedantic-bottoms -fexpose-all-unfoldings -Wall -O2 -flate-dmd-anal exposed-modules: Yi.Rope build-depends: - base >=4.5 && <5 + base >=4.8 && <5 , binary , bytestring , charsetdetect-ae >= 1.0.1 @@ -38,7 +35,7 @@ default-language: Haskell2010 main-is: Spec.hs hs-source-dirs: test - ghc-options: -funbox-strict-fields -Wall -O2 + ghc-options: -Wall -O2 -rtsopts other-modules: Yi.RopeSpec @@ -55,12 +52,13 @@ default-language: Haskell2010 main-is: MainBenchmarkSuite.hs hs-source-dirs: bench - ghc-options: -funbox-strict-fields -Wall -O2 + ghc-options: -Wall -O2 build-depends: - base >=4.5 && <5 + base >=4.8 && <5 , criterion , deepseq + , text , yi-rope source-repository head
