From df9d79cb81cd600f9b155d542c605abda4827310 Mon Sep 17 00:00:00 2001
From: fiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>
Date: Thu, 11 Mar 2010 03:01:09 +0000
Subject: [PATCH] RTF writer:  fixed headerless tables.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@1877 788f1e2b-df1e-0410-8736-df70ead52e1b
---
 src/Text/Pandoc/Writers/RTF.hs |  4 +-
 tests/tables.rtf               | 79 ++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 1 deletion(-)

diff --git a/src/Text/Pandoc/Writers/RTF.hs b/src/Text/Pandoc/Writers/RTF.hs
index 9f3b9de2a..b9ef2a29a 100644
--- a/src/Text/Pandoc/Writers/RTF.hs
+++ b/src/Text/Pandoc/Writers/RTF.hs
@@ -173,7 +173,9 @@ blockToRTF indent _ HorizontalRule =
 blockToRTF indent alignment (Header level lst) = rtfPar indent 0 alignment $
   "\\b \\fs" ++ (show (40 - (level * 4))) ++ " " ++ inlineListToRTF lst
 blockToRTF indent alignment (Table caption aligns sizes headers rows) = 
-  tableRowToRTF True indent aligns sizes headers ++ 
+  (if all null headers
+      then ""
+      else tableRowToRTF True indent aligns sizes headers) ++ 
   concatMap (tableRowToRTF False indent aligns sizes) rows ++
   rtfPar indent 0 alignment (inlineListToRTF caption)
 
diff --git a/tests/tables.rtf b/tests/tables.rtf
index bd0a88467..e7c1e9f60 100644
--- a/tests/tables.rtf
+++ b/tests/tables.rtf
@@ -278,4 +278,83 @@
 }
 \intbl\row}
 {\pard \ql \f0 \sa180 \li0 \fi0 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Table without column headers:\par}
+{
+\trowd \trgaph120
+\cellx2160\cellx4320\cellx6480\cellx8640
+\trkeep\intbl
+{
+{\intbl {\pard \qr \f0 \sa0 \li0 \fi0 12\par}
+\cell}
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 12\par}
+\cell}
+{\intbl {\pard \qc \f0 \sa0 \li0 \fi0 12\par}
+\cell}
+{\intbl {\pard \qr \f0 \sa0 \li0 \fi0 12\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx2160\cellx4320\cellx6480\cellx8640
+\trkeep\intbl
+{
+{\intbl {\pard \qr \f0 \sa0 \li0 \fi0 123\par}
+\cell}
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 123\par}
+\cell}
+{\intbl {\pard \qc \f0 \sa0 \li0 \fi0 123\par}
+\cell}
+{\intbl {\pard \qr \f0 \sa0 \li0 \fi0 123\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx2160\cellx4320\cellx6480\cellx8640
+\trkeep\intbl
+{
+{\intbl {\pard \qr \f0 \sa0 \li0 \fi0 1\par}
+\cell}
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 1\par}
+\cell}
+{\intbl {\pard \qc \f0 \sa0 \li0 \fi0 1\par}
+\cell}
+{\intbl {\pard \qr \f0 \sa0 \li0 \fi0 1\par}
+\cell}
+}
+\intbl\row}
+{\pard \ql \f0 \sa180 \li0 \fi0 \par}
+{\pard \ql \f0 \sa180 \li0 \fi0 Multiline table without column headers:\par}
+{
+\trowd \trgaph120
+\cellx1296\cellx2484\cellx3888\cellx6804
+\trkeep\intbl
+{
+{\intbl {\pard \qc \f0 \sa0 \li0 \fi0 First\par}
+\cell}
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 row\par}
+\cell}
+{\intbl {\pard \qr \f0 \sa0 \li0 \fi0 12.0\par}
+\cell}
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Example of a row that spans multiple lines.\par}
+\cell}
+}
+\intbl\row}
+{
+\trowd \trgaph120
+\cellx1296\cellx2484\cellx3888\cellx6804
+\trkeep\intbl
+{
+{\intbl {\pard \qc \f0 \sa0 \li0 \fi0 Second\par}
+\cell}
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 row\par}
+\cell}
+{\intbl {\pard \qr \f0 \sa0 \li0 \fi0 5.0\par}
+\cell}
+{\intbl {\pard \ql \f0 \sa0 \li0 \fi0 Here's another one. Note the blank line between rows.\par}
+\cell}
+}
+\intbl\row}
+{\pard \ql \f0 \sa180 \li0 \fi0 \par}