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


Reply via email to