Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-vty for openSUSE:Factory checked 
in at 2021-03-10 08:55:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-vty (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-vty.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-vty"

Wed Mar 10 08:55:58 2021 rev:8 rq:877687 version:5.33

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-vty/ghc-vty.changes  2020-12-22 
11:48:52.693979584 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-vty.new.2378/ghc-vty.changes        
2021-03-10 08:57:53.642928542 +0100
@@ -1,0 +2,26 @@
+Wed Feb 24 19:35:07 UTC 2021 - [email protected]
+
+- Update vty to version 5.33 revision 1.
+  Upstream has revised the Cabal build instructions on Hackage.
+
+-------------------------------------------------------------------
+Tue Feb 23 20:57:43 UTC 2021 - [email protected]
+
+- Update vty to version 5.33.
+  5.33
+  ----
+
+  API changes:
+  * The `Cursor` type got a new `PositionOnly` constructor for cursor
+    placement without visibility.
+
+  Package changes:
+  * Relaxed upper bound for `random`
+  * Updated `microlens` bounds to allow 0.4.12
+
+  Other improvements:
+  * Various hlint-driven improvements (thanks Willem Van Onsem)
+  * The implementation of `color240` was improved (thanks (Willem Van
+    Onsem)
+
+-------------------------------------------------------------------

Old:
----
  vty-5.32.tar.gz

New:
----
  vty-5.33.tar.gz
  vty.cabal

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-vty.spec ++++++
--- /var/tmp/diff_new_pack.MrUJU8/_old  2021-03-10 08:57:54.378929302 +0100
+++ /var/tmp/diff_new_pack.MrUJU8/_new  2021-03-10 08:57:54.394929318 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-vty
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,12 +19,13 @@
 %global pkg_name vty
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        5.32
+Version:        5.33
 Release:        0
 Summary:        A simple terminal UI library
 License:        BSD-3-Clause
 URL:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
 BuildRequires:  chrpath
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-ansi-terminal-devel
@@ -93,7 +94,7 @@
 
 %prep
 %autosetup -n %{pkg_name}-%{version}
-cabal-tweak-dep-ver microlens '< 0.4.12' '< 0.5'
+cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build

++++++ vty-5.32.tar.gz -> vty-5.33.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/CHANGELOG.md new/vty-5.33/CHANGELOG.md
--- old/vty-5.32/CHANGELOG.md   2001-09-09 03:46:40.000000000 +0200
+++ new/vty-5.33/CHANGELOG.md   2001-09-09 03:46:40.000000000 +0200
@@ -1,4 +1,20 @@
 
+5.33
+----
+
+API changes:
+* The `Cursor` type got a new `PositionOnly` constructor for cursor
+  placement without visibility.
+
+Package changes:
+* Relaxed upper bound for `random`
+* Updated `microlens` bounds to allow 0.4.12
+
+Other improvements:
+* Various hlint-driven improvements (thanks Willem Van Onsem)
+* The implementation of `color240` was improved (thanks (Willem Van
+  Onsem)
+
 5.32
 ----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Codec/Binary/UTF8/Debug.hs 
new/vty-5.33/src/Codec/Binary/UTF8/Debug.hs
--- old/vty-5.32/src/Codec/Binary/UTF8/Debug.hs 2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Codec/Binary/UTF8/Debug.hs 2001-09-09 03:46:40.000000000 
+0200
@@ -14,5 +14,4 @@
 utf8FromIso = encode . map toEnum
 
 ppUtf8 :: [Int] -> IO ()
-ppUtf8 = print . map (\f -> f "") . map showHex . utf8FromIso
-
+ppUtf8 = print . map (`showHex` "") . utf8FromIso
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Data/Terminfo/Eval.hs 
new/vty-5.33/src/Data/Terminfo/Eval.hs
--- old/vty-5.32/src/Data/Terminfo/Eval.hs      2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Data/Terminfo/Eval.hs      2001-09-09 03:46:40.000000000 
+0200
@@ -42,7 +42,7 @@
 
 readParam :: Word -> Eval CapParam
 readParam pn = do
-    !params <- get >>= return . evalParams
+    !params <- evalParams <$> get
     return $! genericIndex params pn
 
 push :: CapParam -> Eval ()
@@ -64,11 +64,11 @@
     in snd $ runWriter (runStateT (writeCapOps (capOps cap)) s0)
 
 writeCapOps :: CapOps -> Eval ()
-writeCapOps ops = mapM_ writeCapOp ops
+writeCapOps = mapM_ writeCapOp
 
 writeCapOp :: CapOp -> Eval ()
 writeCapOp (Bytes !offset !count) = do
-    !cap <- get >>= return . evalExpression
+    !cap <- evalExpression <$> get
     let bytes = Vector.take count $ Vector.drop offset (capBytes cap)
     Vector.forM_ bytes $ tell.writeWord8
 writeCapOp DecOut = do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Data/Terminfo/Parse.hs 
new/vty-5.33/src/Data/Terminfo/Parse.hs
--- old/vty-5.32/src/Data/Terminfo/Parse.hs     2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Data/Terminfo/Parse.hs     2001-09-09 03:46:40.000000000 
+0200
@@ -2,7 +2,6 @@
 {-# LANGUAGE CPP #-}
 {-# OPTIONS_HADDOCK hide #-}
 {-# LANGUAGE NoMonomorphismRestriction #-}
-{-# LANGUAGE NamedFieldPuns #-}
 {-# OPTIONS_GHC -funbox-strict-fields -O #-}
 
 module Data.Terminfo.Parse
@@ -39,7 +38,7 @@
         ++ " <= " ++ show (sourceString c)
         where
             hexDump :: [Word8] -> String
-            hexDump = foldr (\b s -> showHex b s) ""
+            hexDump = foldr showHex ""
 
 instance NFData CapExpression where
     rnf (CapExpression ops !_bytes !str !c !pOps)
@@ -99,7 +98,7 @@
         Left e -> Left e
         Right buildResults -> Right $ constructCapExpression capString 
buildResults
 
-constructCapExpression :: [Char] -> BuildResults -> CapExpression
+constructCapExpression :: String -> BuildResults -> CapExpression
 constructCapExpression capString buildResults =
     let expr = CapExpression
                 { capOps = outCapOps buildResults
@@ -128,7 +127,7 @@
 literalPercentParser :: CapParser BuildResults
 literalPercentParser = do
     _ <- char '%'
-    startOffset <- getState >>= return . nextOffset
+    startOffset <- nextOffset <$> getState
     incOffset 1
     return $ BuildResults 0 [Bytes startOffset 1] []
 
@@ -154,7 +153,7 @@
 pushOpParser :: CapParser BuildResults
 pushOpParser = do
     _ <- char 'p'
-    paramN <- digit >>= return . (\d -> read [d])
+    paramN <- read . pure <$> digit
     incOffset 2
     return $ BuildResults (fromEnum paramN) [PushParam $ paramN - 1] []
 
@@ -299,7 +298,7 @@
 bytesOpParser :: CapParser BuildResults
 bytesOpParser = do
     bytes <- many1 $ satisfy (/= '%')
-    startOffset <- getState >>= return . nextOffset
+    startOffset <- nextOffset <$> getState
     let !c = length bytes
     !s <- getState
     let s' = s { nextOffset = startOffset + c }
@@ -336,9 +335,9 @@
 instance Semigroup BuildResults where
     v0 <> v1
         = BuildResults
-        { outParamCount = (outParamCount v0) `max` (outParamCount v1)
-        , outCapOps = (outCapOps v0) <> (outCapOps v1)
-        , outParamOps = (outParamOps v0) <> (outParamOps v1)
+        { outParamCount = outParamCount v0 `max` outParamCount v1
+        , outCapOps = outCapOps v0 <> outCapOps v1
+        , outParamOps = outParamOps v0 <> outParamOps v1
         }
 
 instance Monoid BuildResults where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Attributes/Color240.hs 
new/vty-5.33/src/Graphics/Vty/Attributes/Color240.hs
--- old/vty-5.32/src/Graphics/Vty/Attributes/Color240.hs        2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/Attributes/Color240.hs        2001-09-09 
03:46:40.000000000 +0200
@@ -39,226 +39,18 @@
     | r == 218 && g == 218 && b == 218 = 237
     | r == 228 && g == 228 && b == 228 = 238
     | r == 238 && g == 238 && b == 238 = 239
-    | r <= 0 && g <= 0 && b <= 0 = 0
-    | r <= 0 && g <= 0 && b <= 95 = 1
-    | r <= 0 && g <= 0 && b <= 135 = 2
-    | r <= 0 && g <= 0 && b <= 175 = 3
-    | r <= 0 && g <= 0 && b <= 215 = 4
-    | r <= 0 && g <= 0 && b <= 255 = 5
-    | r <= 0 && g <= 95 && b <= 0 = 6
-    | r <= 0 && g <= 95 && b <= 95 = 7
-    | r <= 0 && g <= 95 && b <= 135 = 8
-    | r <= 0 && g <= 95 && b <= 175 = 9
-    | r <= 0 && g <= 95 && b <= 215 = 10
-    | r <= 0 && g <= 95 && b <= 255 = 11
-    | r <= 0 && g <= 135 && b <= 0 = 12
-    | r <= 0 && g <= 135 && b <= 95 = 13
-    | r <= 0 && g <= 135 && b <= 135 = 14
-    | r <= 0 && g <= 135 && b <= 175 = 15
-    | r <= 0 && g <= 135 && b <= 215 = 16
-    | r <= 0 && g <= 135 && b <= 255 = 17
-    | r <= 0 && g <= 175 && b <= 0 = 18
-    | r <= 0 && g <= 175 && b <= 95 = 19
-    | r <= 0 && g <= 175 && b <= 135 = 20
-    | r <= 0 && g <= 175 && b <= 175 = 21
-    | r <= 0 && g <= 175 && b <= 215 = 22
-    | r <= 0 && g <= 175 && b <= 255 = 23
-    | r <= 0 && g <= 215 && b <= 0 = 24
-    | r <= 0 && g <= 215 && b <= 95 = 25
-    | r <= 0 && g <= 215 && b <= 135 = 26
-    | r <= 0 && g <= 215 && b <= 175 = 27
-    | r <= 0 && g <= 215 && b <= 215 = 28
-    | r <= 0 && g <= 215 && b <= 255 = 29
-    | r <= 0 && g <= 255 && b <= 0 = 30
-    | r <= 0 && g <= 255 && b <= 95 = 31
-    | r <= 0 && g <= 255 && b <= 135 = 32
-    | r <= 0 && g <= 255 && b <= 175 = 33
-    | r <= 0 && g <= 255 && b <= 215 = 34
-    | r <= 0 && g <= 255 && b <= 255 = 35
-    | r <= 95 && g <= 0 && b <= 0 = 36
-    | r <= 95 && g <= 0 && b <= 95 = 37
-    | r <= 95 && g <= 0 && b <= 135 = 38
-    | r <= 95 && g <= 0 && b <= 175 = 39
-    | r <= 95 && g <= 0 && b <= 215 = 40
-    | r <= 95 && g <= 0 && b <= 255 = 41
-    | r <= 95 && g <= 95 && b <= 0 = 42
-    | r <= 95 && g <= 95 && b <= 95 = 43
-    | r <= 95 && g <= 95 && b <= 135 = 44
-    | r <= 95 && g <= 95 && b <= 175 = 45
-    | r <= 95 && g <= 95 && b <= 215 = 46
-    | r <= 95 && g <= 95 && b <= 255 = 47
-    | r <= 95 && g <= 135 && b <= 0 = 48
-    | r <= 95 && g <= 135 && b <= 95 = 49
-    | r <= 95 && g <= 135 && b <= 135 = 50
-    | r <= 95 && g <= 135 && b <= 175 = 51
-    | r <= 95 && g <= 135 && b <= 215 = 52
-    | r <= 95 && g <= 135 && b <= 255 = 53
-    | r <= 95 && g <= 175 && b <= 0 = 54
-    | r <= 95 && g <= 175 && b <= 95 = 55
-    | r <= 95 && g <= 175 && b <= 135 = 56
-    | r <= 95 && g <= 175 && b <= 175 = 57
-    | r <= 95 && g <= 175 && b <= 215 = 58
-    | r <= 95 && g <= 175 && b <= 255 = 59
-    | r <= 95 && g <= 215 && b <= 0 = 60
-    | r <= 95 && g <= 215 && b <= 95 = 61
-    | r <= 95 && g <= 215 && b <= 135 = 62
-    | r <= 95 && g <= 215 && b <= 175 = 63
-    | r <= 95 && g <= 215 && b <= 215 = 64
-    | r <= 95 && g <= 215 && b <= 255 = 65
-    | r <= 95 && g <= 255 && b <= 0 = 66
-    | r <= 95 && g <= 255 && b <= 95 = 67
-    | r <= 95 && g <= 255 && b <= 135 = 68
-    | r <= 95 && g <= 255 && b <= 175 = 69
-    | r <= 95 && g <= 255 && b <= 215 = 70
-    | r <= 95 && g <= 255 && b <= 255 = 71
-    | r <= 135 && g <= 0 && b <= 0 = 72
-    | r <= 135 && g <= 0 && b <= 95 = 73
-    | r <= 135 && g <= 0 && b <= 135 = 74
-    | r <= 135 && g <= 0 && b <= 175 = 75
-    | r <= 135 && g <= 0 && b <= 215 = 76
-    | r <= 135 && g <= 0 && b <= 255 = 77
-    | r <= 135 && g <= 95 && b <= 0 = 78
-    | r <= 135 && g <= 95 && b <= 95 = 79
-    | r <= 135 && g <= 95 && b <= 135 = 80
-    | r <= 135 && g <= 95 && b <= 175 = 81
-    | r <= 135 && g <= 95 && b <= 215 = 82
-    | r <= 135 && g <= 95 && b <= 255 = 83
-    | r <= 135 && g <= 135 && b <= 0 = 84
-    | r <= 135 && g <= 135 && b <= 95 = 85
-    | r <= 135 && g <= 135 && b <= 135 = 86
-    | r <= 135 && g <= 135 && b <= 175 = 87
-    | r <= 135 && g <= 135 && b <= 215 = 88
-    | r <= 135 && g <= 135 && b <= 255 = 89
-    | r <= 135 && g <= 175 && b <= 0 = 90
-    | r <= 135 && g <= 175 && b <= 95 = 91
-    | r <= 135 && g <= 175 && b <= 135 = 92
-    | r <= 135 && g <= 175 && b <= 175 = 93
-    | r <= 135 && g <= 175 && b <= 215 = 94
-    | r <= 135 && g <= 175 && b <= 255 = 95
-    | r <= 135 && g <= 215 && b <= 0 = 96
-    | r <= 135 && g <= 215 && b <= 95 = 97
-    | r <= 135 && g <= 215 && b <= 135 = 98
-    | r <= 135 && g <= 215 && b <= 175 = 99
-    | r <= 135 && g <= 215 && b <= 215 = 100
-    | r <= 135 && g <= 215 && b <= 255 = 101
-    | r <= 135 && g <= 255 && b <= 0 = 102
-    | r <= 135 && g <= 255 && b <= 95 = 103
-    | r <= 135 && g <= 255 && b <= 135 = 104
-    | r <= 135 && g <= 255 && b <= 175 = 105
-    | r <= 135 && g <= 255 && b <= 215 = 106
-    | r <= 135 && g <= 255 && b <= 255 = 107
-    | r <= 175 && g <= 0 && b <= 0 = 108
-    | r <= 175 && g <= 0 && b <= 95 = 109
-    | r <= 175 && g <= 0 && b <= 135 = 110
-    | r <= 175 && g <= 0 && b <= 175 = 111
-    | r <= 175 && g <= 0 && b <= 215 = 112
-    | r <= 175 && g <= 0 && b <= 255 = 113
-    | r <= 175 && g <= 95 && b <= 0 = 114
-    | r <= 175 && g <= 95 && b <= 95 = 115
-    | r <= 175 && g <= 95 && b <= 135 = 116
-    | r <= 175 && g <= 95 && b <= 175 = 117
-    | r <= 175 && g <= 95 && b <= 215 = 118
-    | r <= 175 && g <= 95 && b <= 255 = 119
-    | r <= 175 && g <= 135 && b <= 0 = 120
-    | r <= 175 && g <= 135 && b <= 95 = 121
-    | r <= 175 && g <= 135 && b <= 135 = 122
-    | r <= 175 && g <= 135 && b <= 175 = 123
-    | r <= 175 && g <= 135 && b <= 215 = 124
-    | r <= 175 && g <= 135 && b <= 255 = 125
-    | r <= 175 && g <= 175 && b <= 0 = 126
-    | r <= 175 && g <= 175 && b <= 95 = 127
-    | r <= 175 && g <= 175 && b <= 135 = 128
-    | r <= 175 && g <= 175 && b <= 175 = 129
-    | r <= 175 && g <= 175 && b <= 215 = 130
-    | r <= 175 && g <= 175 && b <= 255 = 131
-    | r <= 175 && g <= 215 && b <= 0 = 132
-    | r <= 175 && g <= 215 && b <= 95 = 133
-    | r <= 175 && g <= 215 && b <= 135 = 134
-    | r <= 175 && g <= 215 && b <= 175 = 135
-    | r <= 175 && g <= 215 && b <= 215 = 136
-    | r <= 175 && g <= 215 && b <= 255 = 137
-    | r <= 175 && g <= 255 && b <= 0 = 138
-    | r <= 175 && g <= 255 && b <= 95 = 139
-    | r <= 175 && g <= 255 && b <= 135 = 140
-    | r <= 175 && g <= 255 && b <= 175 = 141
-    | r <= 175 && g <= 255 && b <= 215 = 142
-    | r <= 175 && g <= 255 && b <= 255 = 143
-    | r <= 215 && g <= 0 && b <= 0 = 144
-    | r <= 215 && g <= 0 && b <= 95 = 145
-    | r <= 215 && g <= 0 && b <= 135 = 146
-    | r <= 215 && g <= 0 && b <= 175 = 147
-    | r <= 215 && g <= 0 && b <= 215 = 148
-    | r <= 215 && g <= 0 && b <= 255 = 149
-    | r <= 215 && g <= 95 && b <= 0 = 150
-    | r <= 215 && g <= 95 && b <= 95 = 151
-    | r <= 215 && g <= 95 && b <= 135 = 152
-    | r <= 215 && g <= 95 && b <= 175 = 153
-    | r <= 215 && g <= 95 && b <= 215 = 154
-    | r <= 215 && g <= 95 && b <= 255 = 155
-    | r <= 215 && g <= 135 && b <= 0 = 156
-    | r <= 215 && g <= 135 && b <= 95 = 157
-    | r <= 215 && g <= 135 && b <= 135 = 158
-    | r <= 215 && g <= 135 && b <= 175 = 159
-    | r <= 215 && g <= 135 && b <= 215 = 160
-    | r <= 215 && g <= 135 && b <= 255 = 161
-    | r <= 215 && g <= 175 && b <= 0 = 162
-    | r <= 215 && g <= 175 && b <= 95 = 163
-    | r <= 215 && g <= 175 && b <= 135 = 164
-    | r <= 215 && g <= 175 && b <= 175 = 165
-    | r <= 215 && g <= 175 && b <= 215 = 166
-    | r <= 215 && g <= 175 && b <= 255 = 167
-    | r <= 215 && g <= 215 && b <= 0 = 168
-    | r <= 215 && g <= 215 && b <= 95 = 169
-    | r <= 215 && g <= 215 && b <= 135 = 170
-    | r <= 215 && g <= 215 && b <= 175 = 171
-    | r <= 215 && g <= 215 && b <= 215 = 172
-    | r <= 215 && g <= 215 && b <= 255 = 173
-    | r <= 215 && g <= 255 && b <= 0 = 174
-    | r <= 215 && g <= 255 && b <= 95 = 175
-    | r <= 215 && g <= 255 && b <= 135 = 176
-    | r <= 215 && g <= 255 && b <= 175 = 177
-    | r <= 215 && g <= 255 && b <= 215 = 178
-    | r <= 215 && g <= 255 && b <= 255 = 179
-    | r <= 255 && g <= 0 && b <= 0 = 180
-    | r <= 255 && g <= 0 && b <= 95 = 181
-    | r <= 255 && g <= 0 && b <= 135 = 182
-    | r <= 255 && g <= 0 && b <= 175 = 183
-    | r <= 255 && g <= 0 && b <= 215 = 184
-    | r <= 255 && g <= 0 && b <= 255 = 185
-    | r <= 255 && g <= 95 && b <= 0 = 186
-    | r <= 255 && g <= 95 && b <= 95 = 187
-    | r <= 255 && g <= 95 && b <= 135 = 188
-    | r <= 255 && g <= 95 && b <= 175 = 189
-    | r <= 255 && g <= 95 && b <= 215 = 190
-    | r <= 255 && g <= 95 && b <= 255 = 191
-    | r <= 255 && g <= 135 && b <= 0 = 192
-    | r <= 255 && g <= 135 && b <= 95 = 193
-    | r <= 255 && g <= 135 && b <= 135 = 194
-    | r <= 255 && g <= 135 && b <= 175 = 195
-    | r <= 255 && g <= 135 && b <= 215 = 196
-    | r <= 255 && g <= 135 && b <= 255 = 197
-    | r <= 255 && g <= 175 && b <= 0 = 198
-    | r <= 255 && g <= 175 && b <= 95 = 199
-    | r <= 255 && g <= 175 && b <= 135 = 200
-    | r <= 255 && g <= 175 && b <= 175 = 201
-    | r <= 255 && g <= 175 && b <= 215 = 202
-    | r <= 255 && g <= 175 && b <= 255 = 203
-    | r <= 255 && g <= 215 && b <= 0 = 204
-    | r <= 255 && g <= 215 && b <= 95 = 205
-    | r <= 255 && g <= 215 && b <= 135 = 206
-    | r <= 255 && g <= 215 && b <= 175 = 207
-    | r <= 255 && g <= 215 && b <= 215 = 208
-    | r <= 255 && g <= 215 && b <= 255 = 209
-    | r <= 255 && g <= 255 && b <= 0 = 210
-    | r <= 255 && g <= 255 && b <= 95 = 211
-    | r <= 255 && g <= 255 && b <= 135 = 212
-    | r <= 255 && g <= 255 && b <= 175 = 213
-    | r <= 255 && g <= 255 && b <= 215 = 214
-    | r <= 255 && g <= 255 && b <= 255 = 215
-    | otherwise = error (printf "RGB color %d %d %d does not map to 240 
palette."
+    | otherwise = 36 * go r + 6 * go g + go b
+    where go = simpleColor_ (error (printf "RGB color %d %d %d does not map to 
240 palette."
                                 (fromIntegral r :: Int)
                                 (fromIntegral g :: Int)
-                                (fromIntegral b :: Int))
+                                (fromIntegral b :: Int)))
+
+simpleColor_ :: Integral i => Word8 -> i -> Word8
+simpleColor_ e c
+    | c <= 0 = 0
+    | c <= 95 = 1
+    | c <= 255 = fromIntegral ((c-16) `div` 40)
+    | otherwise = e
 
 -- | Create a RGB triple from a value in the Color240 set.
 color240CodeToRGB :: Word8 -> Maybe (Int, Int, Int)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Attributes.hs 
new/vty-5.33/src/Graphics/Vty/Attributes.hs
--- old/vty-5.32/src/Graphics/Vty/Attributes.hs 2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Graphics/Vty/Attributes.hs 2001-09-09 03:46:40.000000000 
+0200
@@ -1,7 +1,4 @@
 {-# LANGUAGE CPP #-}
-{-# LANGUAGE StandaloneDeriving #-}
-{-# LANGUAGE GADTs #-}
-{-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE DeriveAnyClass #-}
 
@@ -146,20 +143,14 @@
 -- | The style and color attributes can either be the terminal defaults.
 -- Or be equivalent to the previously applied style. Or be a specific
 -- value.
-data MaybeDefault v where
-    Default :: MaybeDefault v
-    KeepCurrent :: MaybeDefault v
-    SetTo :: forall v . ( Eq v, Show v, Read v ) => !v -> MaybeDefault v
+data MaybeDefault v = Default | KeepCurrent | SetTo !v
+  deriving (Eq, Read, Show)
 
 instance (NFData v) => NFData (MaybeDefault v) where
     rnf Default = ()
     rnf KeepCurrent = ()
     rnf (SetTo v) = rnf v
 
-deriving instance Eq v => Eq (MaybeDefault v)
-deriving instance Eq v => Show (MaybeDefault v)
-deriving instance (Eq v, Show v, Read v) => Read (MaybeDefault v)
-
 instance Eq v => Semigroup (MaybeDefault v) where
     Default     <> Default     = Default
     Default     <> KeepCurrent = Default
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Image/Internal.hs 
new/vty-5.33/src/Graphics/Vty/Image/Internal.hs
--- old/vty-5.32/src/Graphics/Vty/Image/Internal.hs     2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/Image/Internal.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -146,7 +146,7 @@
 
 -- | pretty print just the structure of an image.
 ppImageStructure :: Image -> String
-ppImageStructure inImg = go 0 inImg
+ppImageStructure = go 0
     where
         go indent img = tab indent ++ pp indent img
         tab indent = concat $ replicate indent "  "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Image.hs 
new/vty-5.33/src/Graphics/Vty/Image.hs
--- old/vty-5.32/src/Graphics/Vty/Image.hs      2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Graphics/Vty/Image.hs      2001-09-09 03:46:40.000000000 
+0200
@@ -1,5 +1,4 @@
 -- Copyright 2009-2010 Corey O'Connor
-{-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE NamedFieldPuns #-}
 {-# LANGUAGE DisambiguateRecordFields #-}
 -- | A Vty program makes 'Picture's from 'Image's. This module provides
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Inline.hs 
new/vty-5.33/src/Graphics/Vty/Inline.hs
--- old/vty-5.32/src/Graphics/Vty/Inline.hs     2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Graphics/Vty/Inline.hs     2001-09-09 03:46:40.000000000 
+0200
@@ -1,5 +1,3 @@
-{-# LANGUAGE BangPatterns #-}
-
 -- | The inline module provides a limited interface to changing the
 -- style of terminal output. The intention is for this interface to be
 -- used inline with other output systems.
@@ -85,8 +83,8 @@
 removeStyle sMask = modify $ \s ->
     s { inlineAttr =
           let style' = case attrStyle (inlineAttr s) of
-                Default -> error $ "Graphics.Vty.Inline: Cannot removeStyle if 
applyStyle never used."
-                KeepCurrent -> error $ "Graphics.Vty.Inline: Cannot 
removeStyle if applyStyle never used."
+                Default -> error "Graphics.Vty.Inline: Cannot removeStyle if 
applyStyle never used."
+                KeepCurrent -> error "Graphics.Vty.Inline: Cannot removeStyle 
if applyStyle never used."
                 SetTo st -> st .&. complement sMask
           in (inlineAttr s) { attrStyle = SetTo style' }
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Input/Classify/Types.hs 
new/vty-5.33/src/Graphics/Vty/Input/Classify/Types.hs
--- old/vty-5.32/src/Graphics/Vty/Input/Classify/Types.hs       2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/Input/Classify/Types.hs       2001-09-09 
03:46:40.000000000 +0200
@@ -8,7 +8,7 @@
 import Graphics.Vty.Input.Events
 
 data KClass
-    = Valid Event [Char]
+    = Valid Event String
     -- ^ A valid event was parsed. Any unused characters from the input
     -- stream are also provided.
     | Invalid
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Input/Classify.hs 
new/vty-5.33/src/Graphics/Vty/Input/Classify.hs
--- old/vty-5.32/src/Graphics/Vty/Input/Classify.hs     2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/Input/Classify.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -24,10 +24,10 @@
 import Data.Char
 import Data.Word
 
-compile :: ClassifyMap -> [Char] -> KClass
+compile :: ClassifyMap -> String -> KClass
 compile table = cl' where
     -- take all prefixes and create a set of these
-    prefixSet = S.fromList $ concatMap (init . inits . fst) $ table
+    prefixSet = S.fromList $ concatMap (init . inits . fst) table
     maxValidInputLength = maximum (map (length . fst) table)
     eventForInput = M.fromList table
     cl' [] = Prefix
@@ -51,7 +51,7 @@
                         -- neither a prefix or a full event.
                         [] -> Invalid
 
-classify :: ClassifyMap -> [Char] -> KClass
+classify :: ClassifyMap -> String -> KClass
 classify table =
     let standardClassifier = compile table
     in \s -> case s of
@@ -64,7 +64,7 @@
         c:cs | ord c >= 0xC2 -> classifyUtf8 c cs
         _                    -> standardClassifier s
 
-classifyUtf8 :: Char -> [Char] -> KClass
+classifyUtf8 :: Char -> String -> KClass
 classifyUtf8 c cs =
   let n = utf8Length (ord c)
       (codepoint,rest) = splitAt n (c:cs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Input/Loop.hs 
new/vty-5.33/src/Graphics/Vty/Input/Loop.hs
--- old/vty-5.32/src/Graphics/Vty/Input/Loop.hs 2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Graphics/Vty/Input/Loop.hs 2001-09-09 03:46:40.000000000 
+0200
@@ -137,7 +137,7 @@
         threadWaitRead fd
         bytesRead <- fdReadBuf fd bufferPtr (fromIntegral maxBytes)
         if bytesRead > 0
-        then fmap (map $ chr . fromIntegral) $ peekArray (fromIntegral 
bytesRead) bufferPtr
+        then map (chr . fromIntegral) <$> peekArray (fromIntegral bytesRead) 
bufferPtr
         else return []
     when (not $ null stringRep) $ logMsg $ "input bytes: " ++ show stringRep
     return stringRep
@@ -224,7 +224,7 @@
     Just h  -> do
         Config{ vmin = Just theVmin
               , vtime = Just theVtime
-              , termName = Just theTerm, .. } <- readIORef $ _configRef input
+              , termName = Just theTerm } <- readIORef $ _configRef input
         _ <- hPrintf h "initial (vmin,vtime): %s\n" (show (theVmin, theVtime))
         forM_ classifyTable $ \i -> case i of
             (inBytes, EvKey k mods) -> hPrintf h "map %s %s %s %s\n" (show 
theTerm)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Input/Terminfo/ANSIVT.hs 
new/vty-5.33/src/Graphics/Vty/Input/Terminfo/ANSIVT.hs
--- old/vty-5.32/src/Graphics/Vty/Input/Terminfo/ANSIVT.hs      2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/Input/Terminfo/ANSIVT.hs      2001-09-09 
03:46:40.000000000 +0200
@@ -59,7 +59,7 @@
 -- This encoding depends on the terminal.
 functionKeys1 :: ClassifyMap
 functionKeys1 =
-    let f ff nrs m = [ ("\ESC["++show n++"~",EvKey (KFun $ n-(nrs!!0)+ff) m) | 
n <- nrs ] in
+    let f ff nrs m = [ ("\ESC["++show n++"~",EvKey (KFun $ n-head nrs+ff) m) | 
n <- nrs ] in
     concat [f 1 [25,26] [MShift], f 3 [28,29] [MShift], f 5 [31..34] [MShift] ]
 
 -- | encoding for meta plus char
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Input/Terminfo.hs 
new/vty-5.33/src/Graphics/Vty/Input/Terminfo.hs
--- old/vty-5.32/src/Graphics/Vty/Input/Terminfo.hs     2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/Input/Terminfo.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -74,7 +74,7 @@
 ctrlChars :: ClassifyMap
 ctrlChars =
     [ ([toEnum x],EvKey (KChar y) [MCtrl])
-    | (x,y) <- zip ([0..31]) ('@':['a'..'z']++['['..'_'])
+    | (x,y) <- zip [0..31] ('@':['a'..'z']++['['..'_'])
     , y /= 'i'  -- Resolve issue #3 where CTRL-i hides TAB.
     , y /= 'h'  -- CTRL-h should not hide BS
     ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Output/Interface.hs 
new/vty-5.33/src/Graphics/Vty/Output/Interface.hs
--- old/vty-5.32/src/Graphics/Vty/Output/Interface.hs   2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/Output/Interface.hs   2001-09-09 
03:46:40.000000000 +0200
@@ -1,5 +1,4 @@
 -- Copyright Corey O'Connor
-{-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE ExistentialQuantification #-}
 {-# LANGUAGE GADTs #-}
@@ -207,6 +206,12 @@
                     AbsoluteCursor x y ->
                         writeShowCursor dc `mappend`
                         writeMoveCursor dc (clampX x) (clampY y)
+                    PositionOnly isAbs x y ->
+                        if isAbs
+                           then writeMoveCursor dc (clampX x) (clampY y)
+                           else let (ox, oy) = charToOutputPos m (clampX x, 
clampY y)
+                                    m = cursorOutputMap ops $ picCursor pic
+                                in writeMoveCursor dc (clampX ox) (clampY oy)
                     Cursor x y           ->
                         let m = cursorOutputMap ops $ picCursor pic
                             (ox, oy) = charToOutputPos m (clampX x, clampY y)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Output/TerminfoBased.hs 
new/vty-5.33/src/Graphics/Vty/Output/TerminfoBased.hs
--- old/vty-5.32/src/Graphics/Vty/Output/TerminfoBased.hs       2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/Output/TerminfoBased.hs       2001-09-09 
03:46:40.000000000 +0200
@@ -1,4 +1,3 @@
-{-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE CPP #-}
@@ -15,7 +14,7 @@
 where
 
 import Control.Monad (when)
-import Data.Bits (shiftL)
+import Data.Bits (shiftL, (.&.))
 import qualified Data.ByteString as BS
 import Data.ByteString.Internal (toForeignPtr)
 import Data.Terminfo.Parse
@@ -28,7 +27,6 @@
 
 import Blaze.ByteString.Builder (Write, writeToByteString, writeStorable)
 
-import Data.Bits ((.&.))
 import Data.IORef
 import Data.Maybe (isJust, isNothing, fromJust)
 import Data.Word
@@ -209,7 +207,7 @@
             , assumedStateRef = newAssumedStateRef
             -- I think fix would help assure tActual is the only
             -- reference. I was having issues tho.
-            , mkDisplayContext = \tActual -> terminfoDisplayContext tActual 
terminfoCaps
+            , mkDisplayContext = (`terminfoDisplayContext` terminfoCaps)
             }
         sendCap s = sendCapToTerminal t (s terminfoCaps)
         maybeSendCap s = when (isJust $ s terminfoCaps) . sendCap (fromJust . 
s)
@@ -355,8 +353,7 @@
                                      setColors
                 -- implicitly resets the colors to the defaults
                 SetState state -> writeCapExpr (fromJust $ setAttrStates
-                                                         $ displayAttrCaps
-                                                         $ terminfoCaps
+                                                         $ displayAttrCaps 
terminfoCaps
                                                )
                                                (sgrArgsForState state)
                                   `mappend` setItalics
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Output.hs 
new/vty-5.33/src/Graphics/Vty/Output.hs
--- old/vty-5.32/src/Graphics/Vty/Output.hs     2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Graphics/Vty/Output.hs     2001-09-09 03:46:40.000000000 
+0200
@@ -1,4 +1,4 @@
-{-# LANGUAGE RecordWildCards, NamedFieldPuns, CPP #-}
+{-# LANGUAGE RecordWildCards, CPP #-}
 -- | This module provides functions for accessing the current terminal
 -- or a specific terminal device.
 --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Picture.hs 
new/vty-5.33/src/Graphics/Vty/Picture.hs
--- old/vty-5.32/src/Graphics/Vty/Picture.hs    2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Graphics/Vty/Picture.hs    2001-09-09 03:46:40.000000000 
+0200
@@ -1,4 +1,3 @@
-{-# LANGUAGE BangPatterns #-}
 -- A 'Picture' is a background paired with a set of 'Image' layers. The
 -- 'Picture' data structure is representative of the final terminal
 -- view.
@@ -82,6 +81,14 @@
     NoCursor
     -- | Show the cursor at the given logical column accounting for
     -- character width in the presence of multi-column characters.
+    | PositionOnly !Bool !Int !Int
+    -- | Set the terminal's cursor position without displaying a cursor
+    -- character. This is important for accessibility with screen
+    -- readers where a cursor position needs to be reported but we may
+    -- not want to show a block cursor in that location for cosmetic
+    -- reasons. The boolean argument indicates whether the positioning
+    -- should be absolute as with 'AbsoluteCursor' ('True') or logical
+    -- as with 'Cursor' ('False').
     | Cursor !Int !Int
     -- | Show the cursor at the given absolute terminal column and row
     | AbsoluteCursor !Int !Int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/PictureToSpans.hs 
new/vty-5.33/src/Graphics/Vty/PictureToSpans.hs
--- old/vty-5.32/src/Graphics/Vty/PictureToSpans.hs     2001-09-09 
03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty/PictureToSpans.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -81,7 +81,7 @@
 combinedOpsForLayers pic r
     | regionWidth r == 0 || regionHeight r == 0 = MVector.new 0
     | otherwise = do
-        layerOps <- mapM (\layer -> buildSpans layer r) (picLayers pic)
+        layerOps <- mapM (`buildSpans` r) (picLayers pic)
         case layerOps of
             []    -> fail "empty picture"
             [ops] -> substituteSkips (picBackground pic) ops
@@ -136,8 +136,8 @@
     return upper
 
 mergeRowUnder :: SpanOps -> SpanOps -> SpanOps
-mergeRowUnder upperRowOps lowerRowOps =
-    onUpperOp Vector.empty (Vector.head upperRowOps) (Vector.tail upperRowOps) 
lowerRowOps
+mergeRowUnder upperRowOps =
+    onUpperOp Vector.empty (Vector.head upperRowOps) (Vector.tail upperRowOps)
     where
         -- H: it will never be the case that we are out of upper ops
         -- before lower ops.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty/Span.hs 
new/vty-5.33/src/Graphics/Vty/Span.hs
--- old/vty-5.32/src/Graphics/Vty/Span.hs       2001-09-09 03:46:40.000000000 
+0200
+++ new/vty-5.33/src/Graphics/Vty/Span.hs       2001-09-09 03:46:40.000000000 
+0200
@@ -1,6 +1,4 @@
 -- Copyright Corey O'Connor
-{-# LANGUAGE BangPatterns #-}
-{-# LANGUAGE NamedFieldPuns #-}
 {-# LANGUAGE GADTs #-}
 -- | A picture is translated into a sequences of state changes and
 -- character spans. The attribute is applied to all following spans,
@@ -52,7 +50,7 @@
 dropOps w = snd . splitOpsAt w
 
 splitOpsAt :: Int -> SpanOps -> (SpanOps, SpanOps)
-splitOpsAt inW inOps = splitOpsAt' inW inOps
+splitOpsAt = splitOpsAt'
     where
         splitOpsAt' 0 ops = (Vector.empty, ops)
         splitOpsAt' remainingColumns ops = case Vector.head ops of
@@ -103,7 +101,7 @@
 
 -- | The number of rows the DisplayOps are defined for.
 displayOpsRows :: DisplayOps -> Int
-displayOpsRows ops = Vector.length ops
+displayOpsRows = Vector.length
 
 affectedRegion :: DisplayOps -> DisplayRegion
 affectedRegion ops = (displayOpsColumns ops, displayOpsRows ops)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/src/Graphics/Vty.hs 
new/vty-5.33/src/Graphics/Vty.hs
--- old/vty-5.32/src/Graphics/Vty.hs    2001-09-09 03:46:40.000000000 +0200
+++ new/vty-5.33/src/Graphics/Vty.hs    2001-09-09 03:46:40.000000000 +0200
@@ -166,7 +166,7 @@
 internalMkVty input out = do
     reserveDisplay out
 
-    shutdownVar <- atomically $ newTVar False
+    shutdownVar <- newTVarIO False
     let shutdownIo = do
             alreadyShutdown <- atomically $ swapTVar shutdownVar True
             when (not alreadyShutdown) $ do
@@ -174,7 +174,7 @@
                 releaseDisplay out
                 releaseTerminal out
 
-    let shutdownStatus = atomically $ readTVar shutdownVar
+    let shutdownStatus = readTVarIO shutdownVar
 
     lastPicRef <- newIORef Nothing
     lastUpdateRef <- newIORef Nothing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/test/VerifyColor240.hs 
new/vty-5.33/test/VerifyColor240.hs
--- old/vty-5.32/test/VerifyColor240.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/vty-5.33/test/VerifyColor240.hs 2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,269 @@
+module VerifyColor240 where
+
+import Data.Word(Word8)
+import Verify
+
+import Graphics.Vty.Attributes.Color240(rgbColorToColor240)
+
+oldRgbColorToColor240 :: Integral i => i -> i -> i -> Word8
+oldRgbColorToColor240 r g b
+    | r < 0 && g < 0 && b < 0 = error "rgbColor with negative color component 
intensity"
+    | r == 8 && g == 8 && b == 8 = 216
+    | r == 18 && g == 18 && b == 18 = 217
+    | r == 28 && g == 28 && b == 28 = 218
+    | r == 38 && g == 38 && b == 38 = 219
+    | r == 48 && g == 48 && b == 48 = 220
+    | r == 58 && g == 58 && b == 58 = 221
+    | r == 68 && g == 68 && b == 68 = 222
+    | r == 78 && g == 78 && b == 78 = 223
+    | r == 88 && g == 88 && b == 88 = 224
+    | r == 98 && g == 98 && b == 98 = 225
+    | r == 108 && g == 108 && b == 108 = 226
+    | r == 118 && g == 118 && b == 118 = 227
+    | r == 128 && g == 128 && b == 128 = 228
+    | r == 138 && g == 138 && b == 138 = 229
+    | r == 148 && g == 148 && b == 148 = 230
+    | r == 158 && g == 158 && b == 158 = 231
+    | r == 168 && g == 168 && b == 168 = 232
+    | r == 178 && g == 178 && b == 178 = 233
+    | r == 188 && g == 188 && b == 188 = 234
+    | r == 198 && g == 198 && b == 198 = 235
+    | r == 208 && g == 208 && b == 208 = 236
+    | r == 218 && g == 218 && b == 218 = 237
+    | r == 228 && g == 228 && b == 228 = 238
+    | r == 238 && g == 238 && b == 238 = 239
+    | r <= 0 && g <= 0 && b <= 0 = 0
+    | r <= 0 && g <= 0 && b <= 95 = 1
+    | r <= 0 && g <= 0 && b <= 135 = 2
+    | r <= 0 && g <= 0 && b <= 175 = 3
+    | r <= 0 && g <= 0 && b <= 215 = 4
+    | r <= 0 && g <= 0 && b <= 255 = 5
+    | r <= 0 && g <= 95 && b <= 0 = 6
+    | r <= 0 && g <= 95 && b <= 95 = 7
+    | r <= 0 && g <= 95 && b <= 135 = 8
+    | r <= 0 && g <= 95 && b <= 175 = 9
+    | r <= 0 && g <= 95 && b <= 215 = 10
+    | r <= 0 && g <= 95 && b <= 255 = 11
+    | r <= 0 && g <= 135 && b <= 0 = 12
+    | r <= 0 && g <= 135 && b <= 95 = 13
+    | r <= 0 && g <= 135 && b <= 135 = 14
+    | r <= 0 && g <= 135 && b <= 175 = 15
+    | r <= 0 && g <= 135 && b <= 215 = 16
+    | r <= 0 && g <= 135 && b <= 255 = 17
+    | r <= 0 && g <= 175 && b <= 0 = 18
+    | r <= 0 && g <= 175 && b <= 95 = 19
+    | r <= 0 && g <= 175 && b <= 135 = 20
+    | r <= 0 && g <= 175 && b <= 175 = 21
+    | r <= 0 && g <= 175 && b <= 215 = 22
+    | r <= 0 && g <= 175 && b <= 255 = 23
+    | r <= 0 && g <= 215 && b <= 0 = 24
+    | r <= 0 && g <= 215 && b <= 95 = 25
+    | r <= 0 && g <= 215 && b <= 135 = 26
+    | r <= 0 && g <= 215 && b <= 175 = 27
+    | r <= 0 && g <= 215 && b <= 215 = 28
+    | r <= 0 && g <= 215 && b <= 255 = 29
+    | r <= 0 && g <= 255 && b <= 0 = 30
+    | r <= 0 && g <= 255 && b <= 95 = 31
+    | r <= 0 && g <= 255 && b <= 135 = 32
+    | r <= 0 && g <= 255 && b <= 175 = 33
+    | r <= 0 && g <= 255 && b <= 215 = 34
+    | r <= 0 && g <= 255 && b <= 255 = 35
+    | r <= 95 && g <= 0 && b <= 0 = 36
+    | r <= 95 && g <= 0 && b <= 95 = 37
+    | r <= 95 && g <= 0 && b <= 135 = 38
+    | r <= 95 && g <= 0 && b <= 175 = 39
+    | r <= 95 && g <= 0 && b <= 215 = 40
+    | r <= 95 && g <= 0 && b <= 255 = 41
+    | r <= 95 && g <= 95 && b <= 0 = 42
+    | r <= 95 && g <= 95 && b <= 95 = 43
+    | r <= 95 && g <= 95 && b <= 135 = 44
+    | r <= 95 && g <= 95 && b <= 175 = 45
+    | r <= 95 && g <= 95 && b <= 215 = 46
+    | r <= 95 && g <= 95 && b <= 255 = 47
+    | r <= 95 && g <= 135 && b <= 0 = 48
+    | r <= 95 && g <= 135 && b <= 95 = 49
+    | r <= 95 && g <= 135 && b <= 135 = 50
+    | r <= 95 && g <= 135 && b <= 175 = 51
+    | r <= 95 && g <= 135 && b <= 215 = 52
+    | r <= 95 && g <= 135 && b <= 255 = 53
+    | r <= 95 && g <= 175 && b <= 0 = 54
+    | r <= 95 && g <= 175 && b <= 95 = 55
+    | r <= 95 && g <= 175 && b <= 135 = 56
+    | r <= 95 && g <= 175 && b <= 175 = 57
+    | r <= 95 && g <= 175 && b <= 215 = 58
+    | r <= 95 && g <= 175 && b <= 255 = 59
+    | r <= 95 && g <= 215 && b <= 0 = 60
+    | r <= 95 && g <= 215 && b <= 95 = 61
+    | r <= 95 && g <= 215 && b <= 135 = 62
+    | r <= 95 && g <= 215 && b <= 175 = 63
+    | r <= 95 && g <= 215 && b <= 215 = 64
+    | r <= 95 && g <= 215 && b <= 255 = 65
+    | r <= 95 && g <= 255 && b <= 0 = 66
+    | r <= 95 && g <= 255 && b <= 95 = 67
+    | r <= 95 && g <= 255 && b <= 135 = 68
+    | r <= 95 && g <= 255 && b <= 175 = 69
+    | r <= 95 && g <= 255 && b <= 215 = 70
+    | r <= 95 && g <= 255 && b <= 255 = 71
+    | r <= 135 && g <= 0 && b <= 0 = 72
+    | r <= 135 && g <= 0 && b <= 95 = 73
+    | r <= 135 && g <= 0 && b <= 135 = 74
+    | r <= 135 && g <= 0 && b <= 175 = 75
+    | r <= 135 && g <= 0 && b <= 215 = 76
+    | r <= 135 && g <= 0 && b <= 255 = 77
+    | r <= 135 && g <= 95 && b <= 0 = 78
+    | r <= 135 && g <= 95 && b <= 95 = 79
+    | r <= 135 && g <= 95 && b <= 135 = 80
+    | r <= 135 && g <= 95 && b <= 175 = 81
+    | r <= 135 && g <= 95 && b <= 215 = 82
+    | r <= 135 && g <= 95 && b <= 255 = 83
+    | r <= 135 && g <= 135 && b <= 0 = 84
+    | r <= 135 && g <= 135 && b <= 95 = 85
+    | r <= 135 && g <= 135 && b <= 135 = 86
+    | r <= 135 && g <= 135 && b <= 175 = 87
+    | r <= 135 && g <= 135 && b <= 215 = 88
+    | r <= 135 && g <= 135 && b <= 255 = 89
+    | r <= 135 && g <= 175 && b <= 0 = 90
+    | r <= 135 && g <= 175 && b <= 95 = 91
+    | r <= 135 && g <= 175 && b <= 135 = 92
+    | r <= 135 && g <= 175 && b <= 175 = 93
+    | r <= 135 && g <= 175 && b <= 215 = 94
+    | r <= 135 && g <= 175 && b <= 255 = 95
+    | r <= 135 && g <= 215 && b <= 0 = 96
+    | r <= 135 && g <= 215 && b <= 95 = 97
+    | r <= 135 && g <= 215 && b <= 135 = 98
+    | r <= 135 && g <= 215 && b <= 175 = 99
+    | r <= 135 && g <= 215 && b <= 215 = 100
+    | r <= 135 && g <= 215 && b <= 255 = 101
+    | r <= 135 && g <= 255 && b <= 0 = 102
+    | r <= 135 && g <= 255 && b <= 95 = 103
+    | r <= 135 && g <= 255 && b <= 135 = 104
+    | r <= 135 && g <= 255 && b <= 175 = 105
+    | r <= 135 && g <= 255 && b <= 215 = 106
+    | r <= 135 && g <= 255 && b <= 255 = 107
+    | r <= 175 && g <= 0 && b <= 0 = 108
+    | r <= 175 && g <= 0 && b <= 95 = 109
+    | r <= 175 && g <= 0 && b <= 135 = 110
+    | r <= 175 && g <= 0 && b <= 175 = 111
+    | r <= 175 && g <= 0 && b <= 215 = 112
+    | r <= 175 && g <= 0 && b <= 255 = 113
+    | r <= 175 && g <= 95 && b <= 0 = 114
+    | r <= 175 && g <= 95 && b <= 95 = 115
+    | r <= 175 && g <= 95 && b <= 135 = 116
+    | r <= 175 && g <= 95 && b <= 175 = 117
+    | r <= 175 && g <= 95 && b <= 215 = 118
+    | r <= 175 && g <= 95 && b <= 255 = 119
+    | r <= 175 && g <= 135 && b <= 0 = 120
+    | r <= 175 && g <= 135 && b <= 95 = 121
+    | r <= 175 && g <= 135 && b <= 135 = 122
+    | r <= 175 && g <= 135 && b <= 175 = 123
+    | r <= 175 && g <= 135 && b <= 215 = 124
+    | r <= 175 && g <= 135 && b <= 255 = 125
+    | r <= 175 && g <= 175 && b <= 0 = 126
+    | r <= 175 && g <= 175 && b <= 95 = 127
+    | r <= 175 && g <= 175 && b <= 135 = 128
+    | r <= 175 && g <= 175 && b <= 175 = 129
+    | r <= 175 && g <= 175 && b <= 215 = 130
+    | r <= 175 && g <= 175 && b <= 255 = 131
+    | r <= 175 && g <= 215 && b <= 0 = 132
+    | r <= 175 && g <= 215 && b <= 95 = 133
+    | r <= 175 && g <= 215 && b <= 135 = 134
+    | r <= 175 && g <= 215 && b <= 175 = 135
+    | r <= 175 && g <= 215 && b <= 215 = 136
+    | r <= 175 && g <= 215 && b <= 255 = 137
+    | r <= 175 && g <= 255 && b <= 0 = 138
+    | r <= 175 && g <= 255 && b <= 95 = 139
+    | r <= 175 && g <= 255 && b <= 135 = 140
+    | r <= 175 && g <= 255 && b <= 175 = 141
+    | r <= 175 && g <= 255 && b <= 215 = 142
+    | r <= 175 && g <= 255 && b <= 255 = 143
+    | r <= 215 && g <= 0 && b <= 0 = 144
+    | r <= 215 && g <= 0 && b <= 95 = 145
+    | r <= 215 && g <= 0 && b <= 135 = 146
+    | r <= 215 && g <= 0 && b <= 175 = 147
+    | r <= 215 && g <= 0 && b <= 215 = 148
+    | r <= 215 && g <= 0 && b <= 255 = 149
+    | r <= 215 && g <= 95 && b <= 0 = 150
+    | r <= 215 && g <= 95 && b <= 95 = 151
+    | r <= 215 && g <= 95 && b <= 135 = 152
+    | r <= 215 && g <= 95 && b <= 175 = 153
+    | r <= 215 && g <= 95 && b <= 215 = 154
+    | r <= 215 && g <= 95 && b <= 255 = 155
+    | r <= 215 && g <= 135 && b <= 0 = 156
+    | r <= 215 && g <= 135 && b <= 95 = 157
+    | r <= 215 && g <= 135 && b <= 135 = 158
+    | r <= 215 && g <= 135 && b <= 175 = 159
+    | r <= 215 && g <= 135 && b <= 215 = 160
+    | r <= 215 && g <= 135 && b <= 255 = 161
+    | r <= 215 && g <= 175 && b <= 0 = 162
+    | r <= 215 && g <= 175 && b <= 95 = 163
+    | r <= 215 && g <= 175 && b <= 135 = 164
+    | r <= 215 && g <= 175 && b <= 175 = 165
+    | r <= 215 && g <= 175 && b <= 215 = 166
+    | r <= 215 && g <= 175 && b <= 255 = 167
+    | r <= 215 && g <= 215 && b <= 0 = 168
+    | r <= 215 && g <= 215 && b <= 95 = 169
+    | r <= 215 && g <= 215 && b <= 135 = 170
+    | r <= 215 && g <= 215 && b <= 175 = 171
+    | r <= 215 && g <= 215 && b <= 215 = 172
+    | r <= 215 && g <= 215 && b <= 255 = 173
+    | r <= 215 && g <= 255 && b <= 0 = 174
+    | r <= 215 && g <= 255 && b <= 95 = 175
+    | r <= 215 && g <= 255 && b <= 135 = 176
+    | r <= 215 && g <= 255 && b <= 175 = 177
+    | r <= 215 && g <= 255 && b <= 215 = 178
+    | r <= 215 && g <= 255 && b <= 255 = 179
+    | r <= 255 && g <= 0 && b <= 0 = 180
+    | r <= 255 && g <= 0 && b <= 95 = 181
+    | r <= 255 && g <= 0 && b <= 135 = 182
+    | r <= 255 && g <= 0 && b <= 175 = 183
+    | r <= 255 && g <= 0 && b <= 215 = 184
+    | r <= 255 && g <= 0 && b <= 255 = 185
+    | r <= 255 && g <= 95 && b <= 0 = 186
+    | r <= 255 && g <= 95 && b <= 95 = 187
+    | r <= 255 && g <= 95 && b <= 135 = 188
+    | r <= 255 && g <= 95 && b <= 175 = 189
+    | r <= 255 && g <= 95 && b <= 215 = 190
+    | r <= 255 && g <= 95 && b <= 255 = 191
+    | r <= 255 && g <= 135 && b <= 0 = 192
+    | r <= 255 && g <= 135 && b <= 95 = 193
+    | r <= 255 && g <= 135 && b <= 135 = 194
+    | r <= 255 && g <= 135 && b <= 175 = 195
+    | r <= 255 && g <= 135 && b <= 215 = 196
+    | r <= 255 && g <= 135 && b <= 255 = 197
+    | r <= 255 && g <= 175 && b <= 0 = 198
+    | r <= 255 && g <= 175 && b <= 95 = 199
+    | r <= 255 && g <= 175 && b <= 135 = 200
+    | r <= 255 && g <= 175 && b <= 175 = 201
+    | r <= 255 && g <= 175 && b <= 215 = 202
+    | r <= 255 && g <= 175 && b <= 255 = 203
+    | r <= 255 && g <= 215 && b <= 0 = 204
+    | r <= 255 && g <= 215 && b <= 95 = 205
+    | r <= 255 && g <= 215 && b <= 135 = 206
+    | r <= 255 && g <= 215 && b <= 175 = 207
+    | r <= 255 && g <= 215 && b <= 215 = 208
+    | r <= 255 && g <= 215 && b <= 255 = 209
+    | r <= 255 && g <= 255 && b <= 0 = 210
+    | r <= 255 && g <= 255 && b <= 95 = 211
+    | r <= 255 && g <= 255 && b <= 135 = 212
+    | r <= 255 && g <= 255 && b <= 175 = 213
+    | r <= 255 && g <= 255 && b <= 215 = 214
+    | r <= 255 && g <= 255 && b <= 255 = 215
+    | otherwise = error (printf "RGB color %d %d %d does not map to 240 
palette."
+                                (fromIntegral r :: Int)
+                                (fromIntegral g :: Int)
+                                (fromIntegral b :: Int))
+
+sameColor :: Int -> Int -> Int -> Bool
+sameColor r g b = oldRgbColorToColor240 r g b == rgbColorToColor240 r g b
+
+genVal :: Gen Int
+genVal = chooseInt (0, 255)
+
+sameColorCheck :: Property
+sameColorCheck = forAll genVal (\r -> forAll genVal (\g -> forAll genVal 
(sameColor r g)))
+
+tests :: IO [Test]
+tests = return
+  [ verify "check rgbColorToColor240 optimization is correct" sameColorCheck
+  ]
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vty-5.32/vty.cabal new/vty-5.33/vty.cabal
--- old/vty-5.32/vty.cabal      2001-09-09 03:46:40.000000000 +0200
+++ new/vty-5.33/vty.cabal      2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
 name:                vty
-version:             5.32
+version:             5.33
 license:             BSD3
 license-file:        LICENSE
 author:              AUTHORS
@@ -45,7 +45,7 @@
                        deepseq >= 1.1 && < 1.5,
                        directory,
                        filepath >= 1.0 && < 2.0,
-                       microlens < 0.4.12,
+                       microlens < 0.4.13,
                        microlens-mtl,
                        microlens-th,
                        hashable >= 1.2,
@@ -69,6 +69,7 @@
   exposed-modules:     Graphics.Vty
                        Graphics.Vty.Attributes
                        Graphics.Vty.Attributes.Color 
+                       Graphics.Vty.Attributes.Color240
                        Graphics.Vty.Config
                        Graphics.Vty.Error
                        Graphics.Vty.Image
@@ -104,8 +105,7 @@
                        Graphics.Vty.UnicodeWidthTable.Query
                        Graphics.Vty.UnicodeWidthTable.Install
 
-  other-modules:       Graphics.Vty.Attributes.Color240
-                       Graphics.Vty.Debug.Image
+  other-modules:       Graphics.Vty.Debug.Image
                        Graphics.Vty.Input.Terminfo.ANSIVT
 
   c-sources:           cbits/gwinsz.c
@@ -189,7 +189,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -222,7 +222,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -255,7 +255,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -281,7 +281,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -308,7 +308,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        blaze-builder >= 0.3.3.2 && < 0.5,
                        bytestring,
@@ -338,7 +338,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -366,7 +366,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -393,7 +393,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -421,7 +421,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -453,7 +453,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -485,7 +485,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -517,6 +517,32 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
+                       random >= 1.0 && < 1.3,
+                       base >= 4.8 && < 5,
+                       bytestring,
+                       containers,
+                       deepseq >= 1.1 && < 1.5,
+                       mtl >= 1.1.1.0 && < 2.3,
+                       text >= 0.11.3,
+                       unix,
+                       utf8-string >= 0.3 && < 1.1,
+                       vector >= 0.7
+
+test-suite verify-color-mapping
+  default-language:    Haskell2010
+  default-extensions:  ScopedTypeVariables
+
+  type:                detailed-0.9
+
+  hs-source-dirs:      test
+
+  test-module:         VerifyColor240
+
+  other-modules:       Verify
+
+  build-depends:       vty,
+                       Cabal >= 1.20,
+                       QuickCheck >= 2.7,
                        random >= 1.0 && < 1.2,
                        base >= 4.8 && < 5,
                        bytestring,
@@ -528,6 +554,7 @@
                        utf8-string >= 0.3 && < 1.1,
                        vector >= 0.7
 
+
 test-suite verify-utf8-width
   default-language:    Haskell2010
   default-extensions:  ScopedTypeVariables
@@ -543,7 +570,7 @@
   build-depends:       vty,
                        Cabal >= 1.20,
                        QuickCheck >= 2.7,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -571,7 +598,7 @@
                        quickcheck-assertions >= 0.1.1,
                        test-framework == 0.8.*,
                        test-framework-smallcheck == 0.2.*,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,
@@ -607,7 +634,7 @@
                        test-framework == 0.8.*,
                        test-framework-smallcheck == 0.2.*,
                        test-framework-hunit,
-                       random >= 1.0 && < 1.2,
+                       random >= 1.0 && < 1.3,
                        base >= 4.8 && < 5,
                        bytestring,
                        containers,

++++++ vty.cabal ++++++
++++ 653 lines (skipped)

Reply via email to