packages feed

unicode-data-scripts 0.2.0 → 0.2.0.1

raw patch · 5 files changed

+25/−10 lines, 5 filesdep ~base

Dependency ranges changed: base

Files

Changelog.md view
@@ -1,5 +1,9 @@ # Changelog +## 0.2.0.1 (December 2022)++- Fix [Unicode scripts handling on big-endian architectures](https://github.com/composewell/unicode-data/issues/97).+ ## 0.2.0 (September 2022)  - Update to [Unicode 15.0.0](https://www.unicode.org/versions/Unicode15.0.0/).
lib/Unicode/Char/General/Scripts.hs view
@@ -20,6 +20,8 @@     ) where +#include "MachDeps.h"+ import Data.Char (chr) import Data.List.NonEmpty (NonEmpty) import GHC.Exts@@ -30,7 +32,7 @@ import GHC.Exts (word32ToWord#) #endif #ifdef WORDS_BIGENDIAN-import GHC.Exts (byteSwap32#)+import GHC.Exts (byteSwap32#, narrow32Word#) #endif  import qualified Unicode.Internal.Char.Scripts as S@@ -62,9 +64,9 @@         getRawCodePoint k# = #ifdef WORDS_BIGENDIAN #if MIN_VERSION_base(4,16,0)-            byteSwap32# (word32ToWord# (indexWord32OffAddr# addr# k#));+            narrow32Word# (byteSwap32# (word32ToWord# (indexWord32OffAddr# addr# k#))); #else-            byteSwap32# (indexWord32OffAddr# addr# k#);+            narrow32Word# (byteSwap32# (indexWord32OffAddr# addr# k#)); #endif #elif MIN_VERSION_base(4,16,0)             word32ToWord# (indexWord32OffAddr# addr# k#);
test/Main.hs view
@@ -1,1 +1,10 @@-{-# OPTIONS_GHC -F -pgmF hspec-discover #-}+module Main where++import Test.Hspec+import qualified Unicode.Char.General.ScriptsSpec as Scripts++main :: IO ()+main = hspec spec++spec :: Spec+spec = describe "Unicode.Char.General.Scripts" Scripts.spec
test/Unicode/Char/General/ScriptsSpec.hs view
@@ -4,6 +4,8 @@   ( spec   ) where +#include "MachDeps.h"+ import Data.Foldable (traverse_) import Test.Hspec import qualified Unicode.Char.General.Scripts as UScripts@@ -19,7 +21,7 @@ import GHC.Exts (word32ToWord#) #endif #ifdef WORDS_BIGENDIAN-import GHC.Exts (byteSwap32#)+import GHC.Exts (byteSwap32#, narrow32Word#) #endif  {- [NOTE]@@ -177,9 +179,9 @@         getRawCodePoint k# = #ifdef WORDS_BIGENDIAN #if MIN_VERSION_base(4,16,0)-            byteSwap32# (word32ToWord# (indexWord32OffAddr# addr# k#));+            narrow32Word# (byteSwap32# (word32ToWord# (indexWord32OffAddr# addr# k#))); #else-            byteSwap32# (indexWord32OffAddr# addr# k#);+            narrow32Word# (byteSwap32# (indexWord32OffAddr# addr# k#)); #endif #elif MIN_VERSION_base(4,16,0)             word32ToWord# (indexWord32OffAddr# addr# k#);
unicode-data-scripts.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.2 name:                unicode-data-scripts-version:             0.2.0+version:             0.2.0.1 synopsis:            Unicode characters scripts description:   @unicode-data-scripts@ provides Haskell APIs to access the Unicode@@ -94,8 +94,6 @@     , hspec            >= 2.0   && < 2.11     , unicode-data     , unicode-data-scripts-  build-tool-depends:-      hspec-discover:hspec-discover >= 2.0 && < 2.11   default-language: Haskell2010  benchmark bench