summaryrefslogtreecommitdiff
path: root/toke.c
diff options
context:
space:
mode:
authorBrian Fraser <fraserbn@gmail.com>2011-07-23 17:29:44 -0300
committerFather Chrysostomos <sprout@cpan.org>2011-10-06 13:01:03 -0700
commit38d2cf30405659ad117ac9cdb653b35d0242d0b2 (patch)
tree0df49e1ec3eb32b13abc506e1c7af35bf10f5030 /toke.c
parent6fbd0d97c7abe1a197482131161c7df22104bc45 (diff)
downloadperl-38d2cf30405659ad117ac9cdb653b35d0242d0b2.tar.gz
toke.c: S_intuit_method, GV-related UTF8 cleanup
Diffstat (limited to 'toke.c')
-rw-r--r--toke.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/toke.c b/toke.c
index e6e8cfedae..b05ad96432 100644
--- a/toke.c
+++ b/toke.c
@@ -3780,11 +3780,11 @@ S_intuit_method(pTHX_ char *start, GV *gv, CV *cv)
#endif
goto bare_package;
}
- indirgv = gv_fetchpvn_flags(tmpbuf, len, 0, SVt_PVCV);
+ indirgv = gv_fetchpvn_flags(tmpbuf, len, ( UTF ? SVf_UTF8 : 0 ), SVt_PVCV);
if (indirgv && GvCVu(indirgv))
return 0;
/* filehandle or package name makes it a method */
- if (!gv || GvIO(indirgv) || gv_stashpvn(tmpbuf, len, 0)) {
+ if (!gv || GvIO(indirgv) || gv_stashpvn(tmpbuf, len, UTF ? SVf_UTF8 : 0)) {
#ifdef PERL_MAD
soff = s - SvPVX(PL_linestr);
#endif
@@ -3797,7 +3797,8 @@ S_intuit_method(pTHX_ char *start, GV *gv, CV *cv)
S_newSV_maybe_utf8(aTHX_ tmpbuf, len));
NEXTVAL_NEXTTOKE.opval->op_private = OPpCONST_BARE;
if (PL_madskills)
- curmad('X', newSVpvn(start,SvPVX(PL_linestr) + soff - start));
+ curmad('X', newSVpvn_flags(start,SvPVX(PL_linestr) + soff - start,
+ ( UTF ? SVf_UTF8 : 0 )));
PL_expect = XTERM;
force_next(WORD);
PL_bufptr = s;