From d39f1964012613101037623021f470ffc770fbb0 Mon Sep 17 00:00:00 2001 From: naruse Date: Thu, 4 Jul 2013 01:16:22 +0000 Subject: * regcomp.c (): Merge Onigmo 5.13.5 23b523076d6f1161. https://bugs.ruby-lang.org/issues/8583 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- regcomp.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'regcomp.c') diff --git a/regcomp.c b/regcomp.c index 1373ff2eb4..705e0faad7 100644 --- a/regcomp.c +++ b/regcomp.c @@ -1943,7 +1943,12 @@ renumber_by_map(Node* node, GroupNumRemap* map) r = renumber_by_map(NQTFR(node)->target, map); break; case NT_ENCLOSE: - r = renumber_by_map(NENCLOSE(node)->target, map); + { + EncloseNode* en = NENCLOSE(node); + if (en->type == ENCLOSE_CONDITION) + en->regnum = map[en->regnum].new_val; + r = renumber_by_map(en->target, map); + } break; case NT_BREF: @@ -4090,8 +4095,8 @@ restart: ( BIT_NT_LIST | BIT_NT_ALT | BIT_NT_STR | BIT_NT_CCLASS | BIT_NT_CTYPE | \ BIT_NT_CANY | BIT_NT_ANCHOR | BIT_NT_ENCLOSE | BIT_NT_QTFR | BIT_NT_CALL ) -#define ALLOWED_ENCLOSE_IN_LB ( ENCLOSE_MEMORY ) -#define ALLOWED_ENCLOSE_IN_LB_NOT 0 +#define ALLOWED_ENCLOSE_IN_LB ( ENCLOSE_MEMORY | ENCLOSE_OPTION ) +#define ALLOWED_ENCLOSE_IN_LB_NOT ENCLOSE_OPTION #define ALLOWED_ANCHOR_IN_LB \ ( ANCHOR_LOOK_BEHIND | ANCHOR_LOOK_BEHIND_NOT | ANCHOR_BEGIN_LINE | \ @@ -6646,7 +6651,7 @@ print_indent_tree(FILE* f, Node* node, int indent) fprintf(f, " ", (intptr_t)node); switch (NENCLOSE(node)->type) { case ENCLOSE_OPTION: - fprintf(f, "option:%d\n", NENCLOSE(node)->option); + fprintf(f, "option:%d", NENCLOSE(node)->option); break; case ENCLOSE_MEMORY: fprintf(f, "memory:%d", NENCLOSE(node)->regnum); -- cgit v1.2.3