| @@ -1169,14 +1169,20 @@ Tokenizer_verify_safe(Tokenizer* self, int context, Py_UNICODE data) | |||||
| } | } | ||||
| else if (context & LC_FAIL_ON_LBRACE) { | else if (context & LC_FAIL_ON_LBRACE) { | ||||
| if (data == *"{") { | if (data == *"{") { | ||||
| self->topstack->context |= (context & LC_TEMPLATE) ? LC_FAIL_ON_EQUALS : LC_FAIL_NEXT; | |||||
| if (context & LC_TEMPLATE) | |||||
| self->topstack->context |= LC_FAIL_ON_EQUALS; | |||||
| else | |||||
| self->topstack->context |= LC_FAIL_NEXT; | |||||
| return; | return; | ||||
| } | } | ||||
| self->topstack->context ^= LC_FAIL_ON_LBRACE; | self->topstack->context ^= LC_FAIL_ON_LBRACE; | ||||
| } | } | ||||
| else if (context & LC_FAIL_ON_RBRACE) { | else if (context & LC_FAIL_ON_RBRACE) { | ||||
| if (data == *"}") { | if (data == *"}") { | ||||
| self->topstack->context |= (context & LC_TEMPLATE) ? LC_FAIL_ON_EQUALS : LC_FAIL_NEXT; | |||||
| if (context & LC_TEMPLATE) | |||||
| self->topstack->context |= LC_FAIL_ON_EQUALS; | |||||
| else | |||||
| self->topstack->context |= LC_FAIL_NEXT; | |||||
| return; | return; | ||||
| } | } | ||||
| self->topstack->context ^= LC_FAIL_ON_RBRACE; | self->topstack->context ^= LC_FAIL_ON_RBRACE; | ||||
| @@ -1208,8 +1214,10 @@ Tokenizer_verify_safe(Tokenizer* self, int context, Py_UNICODE data) | |||||
| static PyObject* | static PyObject* | ||||
| Tokenizer_parse(Tokenizer* self, int context) | Tokenizer_parse(Tokenizer* self, int context) | ||||
| { | { | ||||
| static int fail_contexts = LC_TEMPLATE | LC_ARGUMENT | LC_WIKILINK | LC_HEADING | LC_COMMENT; | |||||
| static int unsafe_contexts = LC_TEMPLATE_NAME | LC_WIKILINK_TITLE | LC_TEMPLATE_PARAM_KEY | LC_ARGUMENT_NAME; | |||||
| static int fail_contexts = (LC_TEMPLATE | LC_ARGUMENT | LC_WIKILINK | | |||||
| LC_HEADING | LC_COMMENT); | |||||
| static int unsafe_contexts = (LC_TEMPLATE_NAME | LC_WIKILINK_TITLE | | |||||
| LC_TEMPLATE_PARAM_KEY | LC_ARGUMENT_NAME); | |||||
| int this_context, is_marker, i; | int this_context, is_marker, i; | ||||
| Py_UNICODE this, next, next_next, last; | Py_UNICODE this, next, next_next, last; | ||||