diff --git a/src/parser/affiliated_keyword.rs b/src/parser/affiliated_keyword.rs index 88cdabd..498033f 100644 --- a/src/parser/affiliated_keyword.rs +++ b/src/parser/affiliated_keyword.rs @@ -15,6 +15,7 @@ use nom::multi::many_till; use nom::sequence::tuple; use super::object_parser::standard_set_object; +use super::util::confine_context; use crate::context::parser_with_context; use crate::context::Context; use crate::context::ContextElement; @@ -62,9 +63,11 @@ pub(crate) fn parse_affiliated_keywords<'g, 's>( tag("["), map_parser( recognize(many_till(anychar, peek(tuple((tag("]"), eof))))), - all_consuming(many0(parser_with_context!(standard_set_object)( - &initial_context, - ))), + confine_context(|i| { + all_consuming(many0(parser_with_context!(standard_set_object)( + &initial_context, + )))(i) + }), ), tag("]"), eof,