git.iko.soy/typeable/pandoc
on master help sign in
Man reader: allow any nonspace char for macro name.
a7819c6John MacFarlane
src/Text/Pandoc/Readers/Man.hs+3−2
@@ -40,7 +40,7 @@ import Control.Monad (liftM, void, mzero, guard)
40import Control.Monad.Except (throwError)
40import Control.Monad.Except (throwError)
41import Text.Pandoc.Class
41import Text.Pandoc.Class
42 (getResourcePath, readFileFromDirs, PandocMonad(..), report)
42 (getResourcePath, readFileFromDirs, PandocMonad(..), report)
43−import Data.Char (isHexDigit, chr, ord, isAscii, isAlphaNum)
43+import Data.Char (isHexDigit, chr, ord, isAscii, isAlphaNum, isSpace)
44import Data.Default (Default)
44import Data.Default (Default)
45import Data.Maybe (catMaybes)
45import Data.Maybe (catMaybes)
46import qualified Data.Map as M
46import qualified Data.Map as M
@@ -293,7 +293,7 @@ lexMacro = do
293 pos <- getPosition
293 pos <- getPosition
294 char '.' <|> char '\''
294 char '.' <|> char '\''
295 many spacetab
295 many spacetab
296− macroName <- many (letter <|> oneOf ['\\', '"', '&', '.'])
296+ macroName <- many (satisfy (not . isSpace))
297 args <- lexArgs
297 args <- lexArgs
298
298
299 case macroName of
299 case macroName of
@@ -301,6 +301,7 @@ lexMacro = do
301 "\\\"" -> return mempty
301 "\\\"" -> return mempty
302 "\\#" -> return mempty
302 "\\#" -> return mempty
303 "de" -> lexMacroDef args
303 "de" -> lexMacroDef args
304+ "de1" -> lexMacroDef args
304 "ds" -> lexStringDef args
305 "ds" -> lexStringDef args
305 "ds1" -> lexStringDef args
306 "ds1" -> lexStringDef args
306 "sp" -> return $ singleTok MEmptyLine
307 "sp" -> return $ singleTok MEmptyLine