diff --git a/src/to_mdast.rs b/src/to_mdast.rs
index b202649..99a0c2a 100644
--- a/src/to_mdast.rs
+++ b/src/to_mdast.rs
@@ -1743,12 +1743,13 @@ fn on_mismatch_error(
right: &Event,
) -> Result<(), String> {
if right.name == Name::MdxJsxFlowTag || right.name == Name::MdxJsxTextTag {
+ let stack = &context.jsx_tag_stack;
+ let tag = stack.last().unwrap();
let point = if let Some(left) = left {
&left.point
} else {
&context.events[context.events.len() - 1].point
};
- let tag = context.jsx_tag.as_ref().unwrap();
return Err(format!(
"{}:{}: Expected a closing tag for `{}` ({}:{}){} (mdx-jsx:end-tag-mismatch)",
diff --git a/tests/mdx_jsx_text.rs b/tests/mdx_jsx_text.rs
index d0d1972..afd259c 100644
--- a/tests/mdx_jsx_text.rs
+++ b/tests/mdx_jsx_text.rs
@@ -483,6 +483,12 @@ fn mdx_jsx_text_core() -> Result<(), String> {
"should crash when building the ast on mismatched interleaving (4)"
);
+ assert_eq!(
+ to_mdast("", &mdx.parse).err().unwrap(),
+ "1:11: Expected a closing tag for `` (1:1) (mdx-jsx:end-tag-mismatch)",
+ "should crash on unclosed jsx after closed jsx"
+ );
+
Ok(())
}