@@ -32,6 +32,7 @@ import Data.Char (isAlphaNum, isLetter)
3232import Data.Default (Default (..), def)
3333import Data.Foldable (for_)
3434import Data.List.Split (splitWhen)
35+import Data.List (foldl')
3536import qualified Data.Map as M
3637import Data.Maybe (fromMaybe, isJust, isNothing)
3738import Data.Monoid (First (..))
@@ -360,7 +361,10 @@ pDefListItem = try $ do
360361 terms <- many1 (try $ skipMany nonItem >> pInTags "dt" inline)
361362 defs <- many1 (try $ skipMany nonItem >> pInTags "dd" block)
362363 skipMany nonItem
363− let term = foldl1 (\x y -> x <> B.linebreak <> y) $ map trimInlines terms
364+ let term = foldl' (\x y -> if null x
365+ then trimInlines y
366+ else x <> B.linebreak <> trimInlines y)
367+ mempty terms
364368 return (term, map (fixPlains True) defs)
365369
366370fixPlains :: Bool -> Blocks -> Blocks