aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Readers/Man.hs5
-rw-r--r--test/grofftest.sh22
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