Remove the GHC 6.4 unicode compat stuff; we can now just use Data.Char
authorIan Lynagh <igloo@earth.li>
Sat, 8 Nov 2008 14:34:23 +0000 (14:34 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 8 Nov 2008 14:34:23 +0000 (14:34 +0000)
compiler/cbits/unicode.c [deleted file]
compiler/ghc.cabal.in
compiler/parser/Lexer.x
compiler/utils/Unicode.hs [deleted file]

diff --git a/compiler/cbits/unicode.c b/compiler/cbits/unicode.c
deleted file mode 100644 (file)
index c239e21..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#if __GLASGOW_HASKELL__ < 605
-#if __GLASGOW_HASKELL__ != 604 || __GHC_PATCHLEVEL__ == 0
-#include "WCsubst.c"
-#endif
-#endif
index 3cd35d2..51d7bbc 100644 (file)
@@ -109,8 +109,6 @@ Library
     c-sources:
         parser/cutils.c
         utils/md5.c
-        -- For GHC < 6.5:
-        cbits/unicode.c
 
     if flag(dynlibs)
         c-sources:
@@ -422,7 +420,6 @@ Library
         Serialized
         State
         StringBuffer
-        Unicode
         UniqFM
         UniqSet
         Util
index 0dd36ff..952196a 100644 (file)
@@ -70,11 +70,9 @@ import Util          ( maybePrefixMatch, readRational )
 
 import Control.Monad
 import Data.Bits
-import Data.Char       ( chr, ord, isSpace )
+import Data.Char
 import Data.Ratio
 import Debug.Trace
-
-import Unicode ( GeneralCategory(..), generalCategory, isPrint, isUpper )
 }
 
 $unispace    = \x05 -- Trick Alex into handling Unicode. See alexGetChar.
diff --git a/compiler/utils/Unicode.hs b/compiler/utils/Unicode.hs
deleted file mode 100644 (file)
index c12dc46..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-{-# OPTIONS -cpp #-}
-module Unicode (
-    GeneralCategory(..), generalCategory, isPrint, isUpper
-  ) where
-
-#if __GLASGOW_HASKELL__ > 604
-
-import Data.Char (GeneralCategory(..), generalCategory,isPrint,isUpper)
-
-#else
-
-import Foreign.C       ( CInt )
-import Data.Char       ( ord )
-
--- | Unicode General Categories (column 2 of the UnicodeData table)
--- in the order they are listed in the Unicode standard.
-
-data GeneralCategory
-        = UppercaseLetter       -- Lu  Letter, Uppercase
-        | LowercaseLetter       -- Ll  Letter, Lowercase
-        | TitlecaseLetter       -- Lt  Letter, Titlecase
-        | ModifierLetter        -- Lm  Letter, Modifier
-        | OtherLetter           -- Lo  Letter, Other
-        | NonSpacingMark        -- Mn  Mark, Non-Spacing
-        | SpacingCombiningMark  -- Mc  Mark, Spacing Combining
-        | EnclosingMark         -- Me  Mark, Enclosing
-        | DecimalNumber         -- Nd  Number, Decimal
-        | LetterNumber          -- Nl  Number, Letter
-        | OtherNumber           -- No  Number, Other
-        | ConnectorPunctuation  -- Pc  Punctuation, Connector
-        | DashPunctuation       -- Pd  Punctuation, Dash
-        | OpenPunctuation       -- Ps  Punctuation, Open
-        | ClosePunctuation      -- Pe  Punctuation, Close
-        | InitialQuote          -- Pi  Punctuation, Initial quote
-        | FinalQuote            -- Pf  Punctuation, Final quote
-        | OtherPunctuation      -- Po  Punctuation, Other
-        | MathSymbol            -- Sm  Symbol, Math
-        | CurrencySymbol        -- Sc  Symbol, Currency
-        | ModifierSymbol        -- Sk  Symbol, Modifier
-        | OtherSymbol           -- So  Symbol, Other
-        | Space                 -- Zs  Separator, Space
-        | LineSeparator         -- Zl  Separator, Line
-        | ParagraphSeparator    -- Zp  Separator, Paragraph
-        | Control               -- Cc  Other, Control
-        | Format                -- Cf  Other, Format
-        | Surrogate             -- Cs  Other, Surrogate
-        | PrivateUse            -- Co  Other, Private Use
-        | NotAssigned           -- Cn  Other, Not Assigned
-        deriving (Eq, Ord, Enum, Read, Show, Bounded)
-
--- | Retrieves the general Unicode category of the character.
-generalCategory :: Char -> GeneralCategory
-generalCategory c = toEnum $ fromIntegral $ wgencat $ fromIntegral $ ord c
-
-foreign import ccall unsafe "u_gencat"
-  wgencat :: CInt -> CInt
-
-isPrint :: Char -> Bool
-isPrint c = iswprint (fromIntegral (ord c)) /= 0
-
-isUpper :: Char -> Bool
-isUpper c = iswupper (fromIntegral (ord c)) /= 0
-
-foreign import ccall unsafe "u_iswprint"
-  iswprint :: CInt -> CInt
-
-foreign import ccall unsafe "u_iswupper"
-  iswupper :: CInt -> CInt
-#endif