diff options
author | Simon Marlow <simonmar@microsoft.com> | 2006-03-29 11:59:13 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2006-03-29 11:59:13 +0000 |
commit | 274a7b1ab7cf30fd1ceaddd02f991eaf694cc37c (patch) | |
tree | a89fd8d821b89975e4605860ecdc464f51d44f0b | |
parent | c117f1be1a1923f5a87369d738cca562c3481fcc (diff) | |
download | haskell-274a7b1ab7cf30fd1ceaddd02f991eaf694cc37c.tar.gz |
in stage1, we should get isPrint and isUpper from Compat.Unicode, not Data.Char
-rw-r--r-- | ghc/compiler/parser/Lexer.x | 6 | ||||
-rw-r--r-- | ghc/lib/compat/Compat/Unicode.hs | 11 |
2 files changed, 13 insertions, 4 deletions
diff --git a/ghc/compiler/parser/Lexer.x b/ghc/compiler/parser/Lexer.x index 31acaa0409..4c1b48efc0 100644 --- a/ghc/compiler/parser/Lexer.x +++ b/ghc/compiler/parser/Lexer.x @@ -44,14 +44,14 @@ import Ctype import Util ( maybePrefixMatch, readRational ) import DATA_BITS -import Data.Char +import Data.Char ( chr ) import Ratio --import TRACE #if __GLASGOW_HASKELL__ >= 605 -import Data.Char ( GeneralCategory(..), generalCategory ) +import Data.Char ( GeneralCategory(..), generalCategory, isPrint, isUpper ) #else -import Compat.Unicode ( GeneralCategory(..), generalCategory ) +import Compat.Unicode ( GeneralCategory(..), generalCategory, isPrint, isUpper ) #endif } diff --git a/ghc/lib/compat/Compat/Unicode.hs b/ghc/lib/compat/Compat/Unicode.hs index 4765511954..3c8bfc6a06 100644 --- a/ghc/lib/compat/Compat/Unicode.hs +++ b/ghc/lib/compat/Compat/Unicode.hs @@ -1,6 +1,6 @@ {-# OPTIONS -cpp #-} module Compat.Unicode ( - GeneralCategory(..), generalCategory, + GeneralCategory(..), generalCategory, isPrint, isUpper ) where #if __GLASGOW_HASKELL__ > 604 @@ -54,4 +54,13 @@ generalCategory c = toEnum (wgencat (fromIntegral (ord c))) foreign import ccall unsafe "u_gencat" wgencat :: CInt -> Int + +isPrint c = iswprint (fromIntegral (ord c)) /= 0 +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 |