on master help sign in
Merge pull request #81 from glguy/710-cleanup

Clean up warnings when compiling on 7.10

commit50ab1162a85d73ec26287a33cef10d135c112937 authorCorey O'Connor <coreyoconnor@gmail.com> dateSat 8 Aug 2015, 13:59 (11 years ago) parenta90eb928217bd7
13 files changed+135−26
src/Data/Terminfo/Eval.hs+11−2 src/Data/Terminfo/Parse.hs+10−1 src/Graphics/Vty/Attributes.hs+10−1 src/Graphics/Vty/DisplayAttributes.hs+9 src/Graphics/Vty/Image/Internal.hs+10−1 src/Graphics/Vty/Inline.hs+11−2 src/Graphics/Vty/Inline/Unsafe.hs+9−2 src/Graphics/Vty/Input.hs+11−3 src/Graphics/Vty/Output.hs+9−2 src/Graphics/Vty/Output/Interface.hs+15−6 src/Graphics/Vty/Output/TerminfoBased.hs+10−2 src/Graphics/Vty/Output/XTermColor.hs+11−3 src/Graphics/Vty/PictureToSpans.hs+9−1
src/Data/Terminfo/Eval.hs+11−2
@@ -1,7 +1,13 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE BangPatterns #-}
23{-# LANGUAGE NoMonomorphismRestriction #-}
34{-# OPTIONS_GHC -funbox-strict-fields #-}
45{-# OPTIONS_HADDOCK hide #-}
6+
7+#ifndef MIN_VERSION_base
8+#defined MIN_VERSION_base(x,y,z) 1
9+#endif
10+
511{- Evaluates the paramaterized terminfo string capability with the given parameters.
612 -
713 -}
@@ -17,11 +23,14 @@ import Control.Monad.State.Strict
1723import Control.Monad.Writer
1824
1925import Data.Bits ((.|.), (.&.), xor)
20−import Data.List
21−import Data.Word
26+import Data.List
2227
2328import qualified Data.Vector.Unboxed as Vector
2429
30+#if !(MIN_VERSION_base(4,8,0))
31+import Data.Word
32+#endif
33+
2534-- | capability evaluator state
2635data EvalState = EvalState
2736 { evalStack :: ![CapParam]
src/Data/Terminfo/Parse.hs+10−1
@@ -1,8 +1,14 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE BangPatterns #-}
23{-# OPTIONS_HADDOCK hide #-}
34{-# LANGUAGE NoMonomorphismRestriction #-}
45{-# LANGUAGE NamedFieldPuns #-}
56{-# OPTIONS_GHC -funbox-strict-fields -O #-}
7+
8+#ifndef MIN_VERSION_base
9+#defined MIN_VERSION_base(x,y,z) 1
10+#endif
11+
612module Data.Terminfo.Parse ( module Data.Terminfo.Parse
713 , Text.Parsec.ParseError
814 )
@@ -11,7 +17,6 @@ module Data.Terminfo.Parse ( module Data.Terminfo.Parse
1117import Control.Monad ( liftM )
1218import Control.DeepSeq
1319
14−import Data.Monoid
1520import Data.Word
1621import qualified Data.Vector.Unboxed as Vector
1722
@@ -19,6 +24,10 @@ import Numeric (showHex)
1924
2025import Text.Parsec
2126
27+#if !(MIN_VERSION_base(4,8,0))
28+import Data.Monoid
29+#endif
30+
2231data CapExpression = CapExpression
2332 { capOps :: !CapOps
2433 , capBytes :: !(Vector.Vector Word8)
src/Graphics/Vty/Attributes.hs+10−1
@@ -1,6 +1,12 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE StandaloneDeriving #-}
23{-# LANGUAGE GADTs #-}
34{-# LANGUAGE RankNTypes #-}
5+
6+#ifndef MIN_VERSION_base
7+#defined MIN_VERSION_base(x,y,z) 1
8+#endif
9+
410-- | Display attributes
511--
612-- Typically the values 'defAttr' or 'currentAttr' are modified to form attributes:
@@ -33,12 +39,15 @@ module Graphics.Vty.Attributes ( module Graphics.Vty.Attributes
3339
3440import Data.Bits
3541import Data.Default
36−import Data.Monoid
3742import Data.Word
3843
3944import Graphics.Vty.Attributes.Color
4045import Graphics.Vty.Attributes.Color240
4146
47+#if !(MIN_VERSION_base(4,8,0))
48+import Data.Monoid
49+#endif
50+
4251-- | A display attribute defines the Color and Style of all the characters rendered after the
4352-- attribute is applied.
4453--
src/Graphics/Vty/DisplayAttributes.hs+9
@@ -1,12 +1,21 @@
11-- Copyright 2009-2010 Corey O'Connor
2+{-# LANGUAGE CPP #-}
23{-# LANGUAGE BangPatterns #-}
4+
5+#ifndef MIN_VERSION_base
6+#defined MIN_VERSION_base(x,y,z) 1
7+#endif
8+
39module Graphics.Vty.DisplayAttributes
410 where
511
612import Graphics.Vty.Attributes
713
814import Data.Bits ((.&.))
15+
16+#if !(MIN_VERSION_base(4,8,0))
917import Data.Monoid (Monoid(..), mconcat)
18+#endif
1019
1120-- | Given the previously applied display attributes as a FixedAttr and the current display
1221-- attributes as an Attr produces a FixedAttr that represents the current display attributes. This
src/Graphics/Vty/Image/Internal.hs+10−1
@@ -1,5 +1,11 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE NamedFieldPuns #-}
23{-# OPTIONS_HADDOCK hide #-}
4+
5+#ifndef MIN_VERSION_base
6+#defined MIN_VERSION_base(x,y,z) 1
7+#endif
8+
39module Graphics.Vty.Image.Internal where
410
511import Graphics.Vty.Attributes
@@ -7,9 +13,12 @@ import Graphics.Text.Width
713
814import Control.DeepSeq
915
10−import Data.Monoid
1116import qualified Data.Text.Lazy as TL
1217
18+#if !(MIN_VERSION_base(4,8,0))
19+import Data.Monoid
20+#endif
21+
1322-- | A display text is a Data.Text.Lazy
1423--
1524-- TODO(corey): hm. there is an explicit equation for each type which goes to a lazy text. Each
src/Graphics/Vty/Inline.hs+11−2
@@ -24,7 +24,13 @@
2424-- 'putAttrChange'
2525--
2626-- Copyright 2009-2010 Corey O'Connor
27+{-# LANGUAGE CPP #-}
2728{-# LANGUAGE BangPatterns #-}
29+
30+#ifndef MIN_VERSION_base
31+#defined MIN_VERSION_base(x,y,z) 1
32+#endif
33+
2834module Graphics.Vty.Inline ( module Graphics.Vty.Inline
2935 , withVty
3036 )
@@ -37,15 +43,18 @@ import Graphics.Vty.Output.Interface
3743
3844import Blaze.ByteString.Builder (writeToByteString)
3945
40−import Control.Applicative
4146import Control.Monad.State.Strict
4247
4348import Data.Bits ( (.&.), complement )
4449import Data.IORef
45−import Data.Monoid ( mappend )
4650
4751import System.IO
4852
53+#if !(MIN_VERSION_base(4,8,0))
54+import Control.Applicative
55+import Data.Monoid ( mappend )
56+#endif
57+
4958type InlineM v = State Attr v
5059
5160-- | Set the background color to the provided 'Color'
src/Graphics/Vty/Inline/Unsafe.hs+9−2
@@ -1,11 +1,14 @@
11{-# LANGUAGE CPP #-}
22{-# OPTIONS_HADDOCK hide #-}
3+
4+#ifndef MIN_VERSION_base
5+#defined MIN_VERSION_base(x,y,z) 1
6+#endif
7+
38module Graphics.Vty.Inline.Unsafe where
49
510import Graphics.Vty
611
7−import Control.Applicative
8−
912import Data.Default
1013import Data.Monoid
1114import Data.IORef
@@ -18,6 +21,10 @@ import System.IO.Unsafe
1821
1922import System.Posix.IO (handleToFd)
2023
24+#if !(MIN_VERSION_base(4,8,0))
25+import Control.Applicative
26+#endif
27+
2128globalVty :: IORef (Maybe Vty)
2229{-# NOINLINE globalVty #-}
2330globalVty = unsafePerformIO $ newIORef Nothing
src/Graphics/Vty/Input.hs+11−3
@@ -1,4 +1,10 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE RecordWildCards #-}
3+
4+#ifndef MIN_VERSION_base
5+#defined MIN_VERSION_base(x,y,z) 1
6+#endif
7+
28-- | The input layer for VTY. This provides methods for initializing an 'Input' structure which can
39-- then be used to read 'Event's from the terminal.
410--
@@ -133,12 +139,14 @@ import Graphics.Vty.Input.Terminfo
133139import Control.Concurrent
134140import Control.Lens
135141
136−import Data.Functor ((<$>))
137−import Data.Monoid
138−
139142import qualified System.Console.Terminfo as Terminfo
140143import System.Posix.Signals.Exts
141144
145+#if !(MIN_VERSION_base(4,8,0))
146+import Data.Functor ((<$>))
147+import Data.Monoid
148+#endif
149+
142150-- | Set up the terminal with file descriptor `inputFd` for input. Returns a 'Input'.
143151--
144152-- The table used to determine the 'Events' to produce for the input bytes comes from
src/Graphics/Vty/Output.hs+9−2
@@ -1,5 +1,11 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE RecordWildCards #-}
23{-# LANGUAGE NamedFieldPuns #-}
4+
5+#ifndef MIN_VERSION_base
6+#defined MIN_VERSION_base(x,y,z) 1
7+#endif
8+
39-- | Output interface.
410--
511-- Access to the current terminal or a specific terminal device.
@@ -40,10 +46,11 @@ import Blaze.ByteString.Builder (writeToByteString)
4046
4147import Control.Monad.Trans
4248
43−import Data.Monoid (mappend)
4449import Data.List (isPrefixOf)
4550
46−import System.Posix.Env (getEnv)
51+#if !(MIN_VERSION_base(4,8,0))
52+import Data.Monoid (mappend)
53+#endif
4754
4855-- | Returns a `Output` for the terminal specified in `Config`
4956--
src/Graphics/Vty/Output/Interface.hs+15−6
@@ -1,10 +1,16 @@
11-- Copyright Corey O'Connor
22-- General philosophy is: MonadIO is for equations exposed to clients.
3+{-# LANGUAGE CPP #-}
34{-# LANGUAGE BangPatterns #-}
45{-# LANGUAGE RankNTypes #-}
56{-# LANGUAGE ExistentialQuantification #-}
67{-# LANGUAGE GADTs #-}
78{-# LANGUAGE FlexibleContexts #-}
9+
10+#ifndef MIN_VERSION_base
11+#defined MIN_VERSION_base(x,y,z) 1
12+#endif
13+
814module Graphics.Vty.Output.Interface
915where
1016
@@ -23,15 +29,18 @@ import Control.Monad.Trans
2329
2430import qualified Data.ByteString as BS
2531import Data.IORef
26−import Data.Monoid (mempty, mappend)
2732import qualified Data.Text.Encoding as T
2833import qualified Data.Text.Lazy as TL
2934import qualified Data.Vector as Vector
3035
36+#if !(MIN_VERSION_base(4,8,0))
37+import Data.Monoid (mempty, mappend)
38+#endif
39+
3140data Output = Output
3241 { -- | Text identifier for the output device. Used for debugging.
3342 terminalID :: String
34− , releaseTerminal :: MonadIO m => m ()
43+ , releaseTerminal :: forall m. MonadIO m => m ()
3544 -- | Clear the display and initialize the terminal to some initial display state.
3645 --
3746 -- The expectation of a program is that the display starts in some initial state.
@@ -46,12 +55,12 @@ data Output = Output
4655 --
4756 -- - The previous state cannot be determined
4857 -- - When exclusive access to a display is released the display returns to the previous state.
49− , reserveDisplay :: MonadIO m => m ()
58+ , reserveDisplay :: forall m. MonadIO m => m ()
5059 -- | Return the display to the state before `reserveDisplay`
5160 -- If no previous state then set the display state to the initial state.
52− , releaseDisplay :: MonadIO m => m ()
61+ , releaseDisplay :: forall m. MonadIO m => m ()
5362 -- | Returns the current display bounds.
54− , displayBounds :: MonadIO m => m DisplayRegion
63+ , displayBounds :: forall m. MonadIO m => m DisplayRegion
5564 -- | Output the byte string to the terminal device.
5665 , outputByteBuffer :: BS.ByteString -> IO ()
5766 -- | Maximum number of colors supported by the context.
@@ -62,7 +71,7 @@ data Output = Output
6271 -- | Acquire display access to the given region of the display.
6372 -- Currently all regions have the upper left corner of (0,0) and the lower right corner at
6473 -- (max displayWidth providedWidth, max displayHeight providedHeight)
65− , mkDisplayContext :: MonadIO m => Output -> DisplayRegion -> m DisplayContext
74+ , mkDisplayContext :: forall m. MonadIO m => Output -> DisplayRegion -> m DisplayContext
6675 }
6776
6877displayContext :: MonadIO m => Output -> DisplayRegion -> m DisplayContext
src/Graphics/Vty/Output/TerminfoBased.hs+10−2
@@ -3,6 +3,11 @@
33{-# LANGUAGE FlexibleInstances #-}
44{-# OPTIONS_GHC -D_XOPEN_SOURCE=500 -fno-warn-warnings-deprecations #-}
55{-# CFILES gwinsz.c #-}
6+
7+#ifndef MIN_VERSION_base
8+#defined MIN_VERSION_base(x,y,z) 1
9+#endif
10+
611-- | Terminfo based terminal handling.
712--
813-- The color handling assumes tektronix like. No HP support provided. If the terminal is not one I
@@ -28,10 +33,8 @@ import Blaze.ByteString.Builder (Write, writeToByteString)
2833import Control.Monad.Trans
2934
3035import Data.Bits ((.&.))
31−import Data.Foldable (foldMap)
3236import Data.IORef
3337import Data.Maybe (isJust, isNothing, fromJust)
34−import Data.Monoid
3538import Data.Word
3639
3740import Foreign.C.Types ( CInt(..), CLong(..) )
@@ -42,6 +45,11 @@ import qualified System.Console.Terminfo as Terminfo
4245import System.Posix.IO (fdWriteBuf)
4346import System.Posix.Types (Fd(..))
4447
48+#if !(MIN_VERSION_base(4,8,0))
49+import Data.Foldable (foldMap)
50+import Data.Monoid
51+#endif
52+
4553data TerminfoCaps = TerminfoCaps
4654 { smcup :: Maybe CapExpression
4755 , rmcup :: Maybe CapExpression
src/Graphics/Vty/Output/XTermColor.hs+11−3
@@ -1,3 +1,9 @@
1+{-# LANGUAGE CPP #-}
2+
3+#ifndef MIN_VERSION_base
4+#defined MIN_VERSION_base(x,y,z) 1
5+#endif
6+
17-- Copyright 2009-2010 Corey O'Connor
28module Graphics.Vty.Output.XTermColor ( reserveTerminal )
39 where
@@ -8,15 +14,17 @@ import qualified Graphics.Vty.Output.TerminfoBased as TerminfoBased
814import Blaze.ByteString.Builder (writeToByteString)
915import Blaze.ByteString.Builder.Word (writeWord8)
1016
11−import Control.Applicative
1217import Control.Monad (void)
1318import Control.Monad.Trans
1419
15−import Data.Foldable (foldMap)
16−
1720import System.Posix.IO (fdWrite)
1821import System.Posix.Types (Fd)
1922
23+#if !(MIN_VERSION_base(4,8,0))
24+import Control.Applicative
25+import Data.Foldable (foldMap)
26+#endif
27+
2028-- | Initialize the display to UTF-8.
2129reserveTerminal :: ( Applicative m, MonadIO m ) => String -> Fd -> m Output
2230reserveTerminal variant outFd = liftIO $ do
src/Graphics/Vty/PictureToSpans.hs+9−1
@@ -5,6 +5,11 @@
55{-# LANGUAGE NamedFieldPuns #-}
66{-# LANGUAGE RankNTypes #-}
77{-# LANGUAGE TemplateHaskell #-}
8+
9+#ifndef MIN_VERSION_base
10+#defined MIN_VERSION_base(x,y,z) 1
11+#endif
12+
813{- | Transforms an image into rows of operations.
914 -}
1015module Graphics.Vty.PictureToSpans where
@@ -27,12 +32,15 @@ import Control.Monad.ST.Strict
2732#endif
2833
2934import qualified Data.Vector as Vector hiding ( take, replicate )
30−import Data.Monoid (mappend)
3135import Data.Vector.Mutable ( MVector(..))
3236import qualified Data.Vector.Mutable as MVector
3337
3438import qualified Data.Text.Lazy as TL
3539
40+#if !(MIN_VERSION_base(4,8,0))
41+import Data.Monoid (mappend)
42+#endif
43+
3644type MRowOps s = MVector s SpanOps
3745
3846type MSpanOps s = MVector s SpanOp