summaryrefslogtreecommitdiff
path: root/gv.c
diff options
context:
space:
mode:
authorBrian Fraser <fraserbn@gmail.com>2011-09-26 08:27:59 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-10-06 13:01:07 -0700
commitf937af422282fa774bb1c803f5b67d95d8283b7e (patch)
tree74d5af077ddf0ae8ed69ab87460b83a373c8f221 /gv.c
parent14d1dfbd5a7729c29625907ff4fb08dc71a2059e (diff)
downloadperl-f937af422282fa774bb1c803f5b67d95d8283b7e.tar.gz
pp_hot.c: method_common is UTF-8 aware.
Not really useful yet, since named methods aren't correctly flagged; that is to access a \x{30cb} method, you'd need to do something like Obj->${\"\x{30cb}"}. Committer’s note: I’m also including one piece of the ‘gv.c and pp_ctl.c warnings’ patch so that the newly-added tests in this commit pass.
Diffstat (limited to 'gv.c')
-rw-r--r--gv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gv.c b/gv.c
index 30ffa0a85f..52846fa150 100644
--- a/gv.c
+++ b/gv.c
@@ -1046,8 +1046,10 @@ Perl_gv_fetchmethod_pvn_flags(pTHX_ HV *stash, const char *name, const STRLEN le
return gv;
}
Perl_croak(aTHX_
- "Can't locate object method \"%s\" via package \"%.*s\"",
- name, (int)HvNAMELEN_get(stash), HvNAME_get(stash));
+ "Can't locate object method \"%"SVf"\" via package \"%"SVf"\"",
+ SVfARG(newSVpvn_flags(name, nend - name,
+ SVs_TEMP | is_utf8)),
+ SVfARG(sv_2mortal(newSVhek(HvNAME_HEK(stash)))));
}
else {
STRLEN packlen;