git.iko.soy/typeable/pandoc
on master help sign in
posix man files parsed successfully
commit07b4d7b297dfc83f47aa1d708b7405a5e4b3cc4f authorYan Pas <yanp.bugz@gmail.com> dateSun 7 Oct 2018, 22:41 (8 years ago) parent753a4d3
2 files changed+8−6
src/Text/Pandoc/Readers/Man.hs+6−4 test/grofftest.sh+2−2
src/Text/Pandoc/Readers/Man.hs+6−4
@@ -182,7 +182,8 @@ escapeLexer = do
182182 let skipSeqs = ["%", "{", "}", "&", "\n", ":", "\"", "0", "c"]
183183 subsSeqs = [ ("-", '-'), (" ", ' '), ("\\", '\\'), ("[lq]", '“'), ("[rq]", '”')
184184 , ("[em]", '—'), ("[en]", '–'), ("*(lq", '«'), ("*(rq", '»')
185− , ("t", '\t'), ("e", '\\'), ("`", '`') ]
185+ , ("t", '\t'), ("e", '\\'), ("`", '`'), ("^", ' '), ("|", ' ')
186+ , ("'", '`') ]
186187 substitute :: PandocMonad m => (String,Char) -> ManLexer m EscapeThing
187188 substitute (from,to) = try $ string from >> return (EChar to)
188189 skip :: PandocMonad m => String -> ManLexer m EscapeThing
@@ -219,7 +220,7 @@ escapeLexer = do
219220 escUnknown = do
220221 c <- anyChar
221222 pos <- getPosition
222− logOutput $ SkippedContent ("Unknown escape seq \\" ++ [c]) pos
223+ logOutput $ SkippedContent ("Unknown escape sequence \\" ++ [c]) pos
223224 return ENothing
224225
225226currentFont :: PandocMonad m => ManLexer m FontKind
@@ -240,7 +241,7 @@ lexMacro :: PandocMonad m => ManLexer m ManToken
240241lexMacro = do
241242 char '.' <|> char '\''
242243 many spacetab
243− macroName <- many1 (letter <|> oneOf ['\\', '"'])
244+ macroName <- many1 (letter <|> oneOf ['\\', '"', '&'])
244245 args <- lexArgs
245246 let joinedArgs = unwords $ fst <$> args
246247 knownMacro mkind = MMacro mkind args
@@ -269,7 +270,8 @@ lexMacro = do
269270 -- TODO better would be [[RoffStr]], since one arg may have different fonts
270271 lexArgs :: PandocMonad m => ManLexer m [RoffStr]
271272 lexArgs = do
272− args <- many oneArg
273+ args <- many $ try oneArg
274+ many spacetab
273275 eofline
274276 return args
275277
test/grofftest.sh+2−2
@@ -13,9 +13,9 @@ DIR=$2
1313
1414$PANDOC --version > /dev/null || { echo "pandoc executable error" >&2 ; exit 1 ; }
1515
16−ls $2 | egrep "^.+\.[0-9]$" | while read f ; do
16+ls $2 | egrep "^.+\.[0-9].?$" | while read f ; do
1717 FILE="$DIR/$f"
18− $PANDOC -f man -t native < $FILE > /dev/null
18+ $PANDOC -f man -t native < $FILE 2>&1 > /dev/null
1919 if [ $? -ne 0 ]; then
2020 echo "Failed to convert $FILE"
2121 fi