git.iko.soy/typeable/pandoc
on master help sign in
More changes to avoid compiler warnings on ghc 7.10.

* CPP around deprecated `parseTime`. * Text.Pandoc.Compat.Locale -> Text.Pandoc.Compat.Time, now exports Data.Time.

commit6dc3b6585d028dea4df3684ed975ccd2f7046e62 authorJohn MacFarlane <jgm@berkeley.edu> dateWed 14 Oct 2015, 10:05 (11 years ago) parent1aff1b8
8 files changed+42−22
pandoc.cabal+5−1 src/Text/Pandoc/Compat/Locale.hs−9 src/Text/Pandoc/Compat/Time.hs+18 src/Text/Pandoc/Readers/Txt2Tags.hs+1−1 src/Text/Pandoc/Shared.hs+7−3 src/Text/Pandoc/Writers/Docx.hs+1−2 src/Text/Pandoc/Writers/EPUB.hs+1−2 src/Text/Pandoc/Writers/OPML.hs+9−4
pandoc.cabal+5−1
@@ -393,7 +393,7 @@ Library
393393 Text.Pandoc.ImageSize,
394394 Text.Pandoc.Slides,
395395 Text.Pandoc.Highlighting,
396− Text.Pandoc.Compat.Locale,
396+ Text.Pandoc.Compat.Time,
397397 Text.Pandoc.Compat.Except,
398398 Text.Pandoc.Compat.TagSoupEntity,
399399 Text.Pandoc.Compat.Directory
@@ -432,6 +432,7 @@ Executable pandoc
432432 Hs-Source-Dirs: ., prelude
433433 Main-Is: pandoc.hs
434434 Buildable: True
435+ Other-Modules: Prelude
435436
436437Executable trypandoc
437438 Main-Is: trypandoc.hs
@@ -443,6 +444,7 @@ Executable trypandoc
443444 Buildable: True
444445 else
445446 Buildable: False
447+ Other-Modules: Prelude
446448
447449Test-Suite test-pandoc
448450 Type: exitcode-stdio-1.0
@@ -492,6 +494,7 @@ Test-Suite test-pandoc
492494 Tests.Writers.LaTeX
493495 Tests.Writers.Docx
494496 Tests.Writers.RST
497+ Prelude
495498 Ghc-Options: -rtsopts -Wall -fno-warn-unused-do-bind -threaded
496499 Default-Language: Haskell98
497500
@@ -505,3 +508,4 @@ benchmark benchmark-pandoc
505508 criterion >= 1.0 && < 1.2
506509 Ghc-Options: -rtsopts -Wall -fno-warn-unused-do-bind
507510 Default-Language: Haskell98
511+ Other-Modules: Prelude
src/Text/Pandoc/Compat/Locale.hsdeleted−9
@@ -1,9 +0,0 @@
1−{-# LANGUAGE CPP #-}
2−module Text.Pandoc.Compat.Locale ( defaultTimeLocale )
3−where
4−
5−#if MIN_VERSION_time(1,5,0)
6−import Data.Time.Format ( defaultTimeLocale )
7−#else
8−import System.Locale ( defaultTimeLocale )
9−#endif
src/Text/Pandoc/Compat/Time.hsnew file+18
@@ -0,0 +1,18 @@
1+{-# LANGUAGE CPP #-}
2+#if MIN_VERSION_time(1,5,0)
3+module Text.Pandoc.Compat.Time (
4+ module Data.Time
5+)
6+where
7+import Data.Time
8+
9+#else
10+module Text.Pandoc.Compat.Time (
11+ module Data.Time,
12+ defaultTimeLocale
13+)
14+where
15+import Data.Time
16+import System.Locale ( defaultTimeLocale )
17+
18+#endif
src/Text/Pandoc/Readers/Txt2Tags.hs+1−1
@@ -50,7 +50,7 @@ import Text.Pandoc.Error
5050import Data.Time.LocalTime (getZonedTime)
5151import Text.Pandoc.Compat.Directory(getModificationTime)
5252import Data.Time.Format (formatTime)
53−import Text.Pandoc.Compat.Locale (defaultTimeLocale)
53+import Text.Pandoc.Compat.Time (defaultTimeLocale)
5454import System.IO.Error (catchIOError)
5555
5656type T2T = ParserT String ParserState (Reader T2TMeta)
src/Text/Pandoc/Shared.hs+7−3
@@ -123,8 +123,7 @@ import qualified Control.Monad.State as S
123123import qualified Control.Exception as E
124124import Control.Monad (msum, unless, MonadPlus(..))
125125import Text.Pandoc.Pretty (charWidth)
126−import Text.Pandoc.Compat.Locale (defaultTimeLocale)
127−import Data.Time
126+import Text.Pandoc.Compat.Time
128127import Data.Time.Clock.POSIX
129128import System.IO (stderr)
130129import System.IO.Temp
@@ -321,7 +320,12 @@ tabFilter tabStop =
321320normalizeDate :: String -> Maybe String
322321normalizeDate s = fmap (formatTime defaultTimeLocale "%F")
323322 (msum $ map (\fs -> parsetimeWith fs s) formats :: Maybe Day)
324− where parsetimeWith = parseTime defaultTimeLocale
323+ where parsetimeWith =
324+#if MIN_VERSION_time(1,5,0)
325+ parseTimeM True defaultTimeLocale
326+#else
327+ parseTime defaultTimeLocale
328+#endif
325329 formats = ["%x","%m/%d/%Y", "%D","%F", "%d %b %Y",
326330 "%d %B %Y", "%b. %d, %Y", "%B %d, %Y", "%Y"]
327331
src/Text/Pandoc/Writers/Docx.hs+1−2
@@ -38,9 +38,8 @@ import qualified Text.Pandoc.UTF8 as UTF8
3838import Codec.Archive.Zip
3939import Data.Time.Clock.POSIX
4040import Data.Time.Clock
41−import Data.Time.Format
4241import System.Environment
43−import Text.Pandoc.Compat.Locale (defaultTimeLocale)
42+import Text.Pandoc.Compat.Time
4443import Text.Pandoc.Definition
4544import Text.Pandoc.Generic
4645import Text.Pandoc.ImageSize
src/Text/Pandoc/Writers/EPUB.hs+1−2
@@ -43,8 +43,7 @@ import qualified Data.ByteString.Lazy.Char8 as B8
4343import qualified Text.Pandoc.UTF8 as UTF8
4444import Codec.Archive.Zip ( emptyArchive, addEntryToArchive, eRelativePath, fromEntry , Entry, toEntry, fromArchive)
4545import Data.Time.Clock.POSIX ( getPOSIXTime )
46−import Data.Time (getCurrentTime,UTCTime, formatTime)
47−import Text.Pandoc.Compat.Locale ( defaultTimeLocale )
46+import Text.Pandoc.Compat.Time
4847import Text.Pandoc.Shared ( renderTags', safeRead, uniqueIdent, trim
4948 , normalizeDate, readDataFile, stringify, warn
5049 , hierarchicalize, fetchItem' )
src/Text/Pandoc/Writers/OPML.hs+9−4
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-
23Copyright (C) 2013-2015 John MacFarlane <jgm@berkeley.edu>
34
@@ -37,8 +38,7 @@ import Text.Pandoc.Templates (renderTemplate')
3738import Text.Pandoc.Writers.HTML (writeHtmlString)
3839import Text.Pandoc.Writers.Markdown (writeMarkdown)
3940import Text.Pandoc.Pretty
40−import Data.Time
41−import Text.Pandoc.Compat.Locale (defaultTimeLocale)
41+import Text.Pandoc.Compat.Time
4242import qualified Text.Pandoc.Builder as B
4343
4444-- | Convert Pandoc document to string in OPML format.
@@ -69,8 +69,13 @@ showDateTimeRFC822 :: UTCTime -> String
6969showDateTimeRFC822 = formatTime defaultTimeLocale "%a, %d %b %Y %X %Z"
7070
7171convertDate :: [Inline] -> String
72−convertDate ils = maybe "" showDateTimeRFC822
73− $ parseTime defaultTimeLocale "%F" =<< (normalizeDate $ stringify ils)
72+convertDate ils = maybe "" showDateTimeRFC822 $
73+#if MIN_VERSION_time(1,5,0)
74+ parseTimeM True
75+#else
76+ parseTime
77+#endif
78+ defaultTimeLocale "%F" =<< (normalizeDate $ stringify ils)
7479
7580-- | Convert an Element to OPML.
7681elementToOPML :: WriterOptions -> Element -> Doc