From f82d91eb497b7d243f775fa85dd4183841af8f9e Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Tue, 4 Jun 2019 08:39:54 -0700
Subject: [PATCH] Markdown reader: don't create implicit reference for empty
 header.

Closes #5549.
---
 src/Text/Pandoc/Readers/Markdown.hs | 11 +++++++----
 test/command/5549.md                |  9 +++++++++
 2 files changed, 16 insertions(+), 4 deletions(-)
 create mode 100644 test/command/5549.md

diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index c3469b22b..ab5aa6b05 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -589,10 +589,13 @@ setextHeader = try $ do
   return $ B.headerWith attr' level <$> text
 
 registerImplicitHeader :: PandocMonad m => String -> Attr -> MarkdownParser m ()
-registerImplicitHeader raw attr@(ident, _, _) = do
-  let key = toKey $ "[" ++ raw ++ "]"
-  updateState (\s -> s { stateHeaderKeys =
-                         M.insert key (('#':ident,""), attr) (stateHeaderKeys s) })
+registerImplicitHeader raw attr@(ident, _, _)
+  | null raw  = return ()
+  | otherwise = do
+      let key = toKey $ "[" ++ raw ++ "]"
+      updateState $ \s ->
+        s { stateHeaderKeys = M.insert key (('#':ident,""), attr)
+                                     (stateHeaderKeys s) }
 
 --
 -- hrule block
diff --git a/test/command/5549.md b/test/command/5549.md
new file mode 100644
index 000000000..fa030d921
--- /dev/null
+++ b/test/command/5549.md
@@ -0,0 +1,9 @@
+```
+% pandoc -t native
+##
+
+[]
+^D
+[Header 2 ("section",[],[]) []
+,Para [Str "[]"]]
+```