[perl #41530] s/non-utf8/is-utf8/ fails.
authorKarl Williamson <khw@khw-desktop.(none)>
Tue, 11 May 2010 16:57:41 +0000 (10:57 -0600)
committerRafael Garcia-Suarez <rgs@consttype.org>
Mon, 17 May 2010 07:51:56 +0000 (09:51 +0200)
commit3e462cdc2087ddf90984010fabd80c30db92bfa0
treeab2329f812aa22c7ea9553d4d2d8299aadc7327b
parent618c9ef5ca707d1f047f20c323241c7349ab59c9
[perl #41530] s/non-utf8/is-utf8/ fails.

When the replacement is in utf8, there was failure to upgrade the result
when the source and the pattern weren't in utf8.  This simply checks
that when there is a match that will lead to the replacement being done.
It then does the upgrade.  If this led to changes in the source, we redo
the match because pointers to saved buffers could have changed.  There
may be other cases where we don't need to redo the match, but I don't
know the code well-enough to easily figure it out.
pp_hot.c
t/re/subst.t