diff options
-rw-r--r-- | src/Text/Pandoc/Readers/Man.hs | 5 | ||||
-rw-r--r-- | test/grofftest.sh | 22 |
2 files changed, 25 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Man.hs b/src/Text/Pandoc/Readers/Man.hs index 30076102b..0f84a01b3 100644 --- a/src/Text/Pandoc/Readers/Man.hs +++ b/src/Text/Pandoc/Readers/Man.hs @@ -179,9 +179,10 @@ escapeLexer = do escChar :: PandocMonad m => ManLexer m EscapeThing escChar = - let skipSeqs = ["%", "{", "}", "&"] + let skipSeqs = ["%", "{", "}", "&", "\n", ":", "\"", "0", "c"] subsSeqs = [ ("-", '-'), (" ", ' '), ("\\", '\\'), ("[lq]", '“'), ("[rq]", '”') - , ("[em]", '—'), ("[en]", '–') ] + , ("[em]", '—'), ("[en]", '–'), ("*(lq", '«'), ("*(rq", '»') + , ("t", '\t'), ("e", '\\') ] substitute :: PandocMonad m => (String,Char) -> ManLexer m EscapeThing substitute (from,to) = try $ string from >> return (EChar to) skip :: PandocMonad m => String -> ManLexer m EscapeThing diff --git a/test/grofftest.sh b/test/grofftest.sh new file mode 100644 index 000000000..2c559d21a --- /dev/null +++ b/test/grofftest.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# iterates over specified directory, containing "\w+\.\d"-like files, +# executes pandoc voer them and prints stderr on nonzero return code + +if [ $# -ne 2 ]; then + echo "Not enough arguments" + exit 1 +fi + +PANDOC=$1 +DIR=$2 + +$PANDOC --version > /dev/null || { echo "pandoc executable error" >&2 ; exit 1 ; } + +ls $2 | egrep "^.+\.[0-9]$" | while read f ; do + FILE="$DIR/$f" + $PANDOC -f man -t native < $FILE > /dev/null + if [ $? -ne 0 ]; then + echo "Failed to convert $FILE" + fi +done |