From c78557f3ca333d9ae925fdcb8a7c03199f5e47fd Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sun, 8 Sep 2013 12:04:47 -0700 Subject: Templates: more consistent behavior of `$for$`. When `foo` is not a list, `$for(foo)$...$endfor$` should behave like $if(foo)$...$endif$. So if `foo` resolves to "", no output should be produced. See pandoc-templates#39. --- src/Text/Pandoc/Templates.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/Text/Pandoc/Templates.hs b/src/Text/Pandoc/Templates.hs index 22a44e735..7f744c7e1 100644 --- a/src/Text/Pandoc/Templates.hs +++ b/src/Text/Pandoc/Templates.hs @@ -212,7 +212,7 @@ iter var' template sep = Template $ \val -> unTemplate Just (Array vec) -> mconcat $ intersperse sep $ map (setVar template var') $ toList vec - Just x -> setVar template var' x + Just x -> cond var' (setVar template var' x) mempty Nothing -> mempty) val setVar :: Template -> Variable -> Value -> Template -- cgit v1.2.3