@@ -32,11 +32,15 @@ import Data.Typeable
3232
3333-- | Parse a CommonMark formatted string into a 'Pandoc' structure.
3434readCommonMark :: PandocMonad m => ReaderOptions -> Text -> m Pandoc
35−readCommonMark opts s = do
36− let res = runIdentity $ commonmarkWith (specFor opts) "" s
37− case res of
38− Left err -> throwError $ PandocParsecError s err
39− Right (Cm bls :: Cm () Blocks) -> return $ B.doc bls
35+readCommonMark opts s
36+ | isEnabled Ext_sourcepos opts =
37+ case runIdentity (commonmarkWith (specFor opts) "" s) of
38+ Left err -> throwError $ PandocParsecError s err
39+ Right (Cm bls :: Cm SourceRange Blocks) -> return $ B.doc bls
40+ | otherwise =
41+ case runIdentity (commonmarkWith (specFor opts) "" s) of
42+ Left err -> throwError $ PandocParsecError s err
43+ Right (Cm bls :: Cm () Blocks) -> return $ B.doc bls
4044
4145specFor :: (Monad m, Typeable m, Typeable a,
4246 Rangeable (Cm a Inlines), Rangeable (Cm a Blocks))