* regcomp.c (noname_disable_map): add NT_ANCHOR case.
Without this change, captured groups in anchors (look-ahead, look-behind, and so on) are not removed and unintended invalid backref error occur. [ruby-core:28235] * regcomp.c (renumber_by_map): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1c0dfeef41
commit
76a5c00be6
12
ChangeLog
12
ChangeLog
@ -1,3 +1,12 @@
|
|||||||
|
Tue Mar 2 15:54:40 2010 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
|
* regcomp.c (noname_disable_map): add NT_ANCHOR case.
|
||||||
|
Without this change, captured groups in anchors (look-ahead,
|
||||||
|
look-behind, and so on) are not removed and
|
||||||
|
unintended invalid backref error occur. [ruby-core:28235]
|
||||||
|
|
||||||
|
* regcomp.c (renumber_by_map): ditto.
|
||||||
|
|
||||||
Tue Mar 2 14:42:00 2010 Kenta Murata <mrkn@mrkn.jp>
|
Tue Mar 2 14:42:00 2010 Kenta Murata <mrkn@mrkn.jp>
|
||||||
|
|
||||||
* test/dl/test_closure.rb: forget to revert at r26764.
|
* test/dl/test_closure.rb: forget to revert at r26764.
|
||||||
@ -17,7 +26,8 @@ Mon Mar 1 23:26:56 2010 Tanaka Akira <akr@fsij.org>
|
|||||||
|
|
||||||
Mon Mar 1 20:07:06 2010 TAKANO Mitsuhiro (takano32) <tak@no32.tk>
|
Mon Mar 1 20:07:06 2010 TAKANO Mitsuhiro (takano32) <tak@no32.tk>
|
||||||
|
|
||||||
* ext/zlib/zlib.c (zstream_expand_buffer_into): remove compare different type values warning.
|
* ext/zlib/zlib.c (zstream_expand_buffer_into): remove compare
|
||||||
|
different type values warning.
|
||||||
|
|
||||||
Mon Mar 1 17:42:45 2010 wanabe <s.wanabe@gmail.com>
|
Mon Mar 1 17:42:45 2010 wanabe <s.wanabe@gmail.com>
|
||||||
|
|
||||||
|
28
regcomp.c
28
regcomp.c
@ -1794,6 +1794,20 @@ noname_disable_map(Node** plink, GroupNumRemap* map, int* counter)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case NT_ANCHOR:
|
||||||
|
{
|
||||||
|
AnchorNode* an = NANCHOR(node);
|
||||||
|
switch (an->type) {
|
||||||
|
case ANCHOR_PREC_READ:
|
||||||
|
case ANCHOR_PREC_READ_NOT:
|
||||||
|
case ANCHOR_LOOK_BEHIND:
|
||||||
|
case ANCHOR_LOOK_BEHIND_NOT:
|
||||||
|
r = noname_disable_map(&(an->target), map, counter);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1852,6 +1866,20 @@ renumber_by_map(Node* node, GroupNumRemap* map)
|
|||||||
r = renumber_node_backref(node, map);
|
r = renumber_node_backref(node, map);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case NT_ANCHOR:
|
||||||
|
{
|
||||||
|
AnchorNode* an = NANCHOR(node);
|
||||||
|
switch (an->type) {
|
||||||
|
case ANCHOR_PREC_READ:
|
||||||
|
case ANCHOR_PREC_READ_NOT:
|
||||||
|
case ANCHOR_LOOK_BEHIND:
|
||||||
|
case ANCHOR_LOOK_BEHIND_NOT:
|
||||||
|
r = renumber_by_map(an->target, map);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user