Perl_croak(aTHX_ "Can't linearize anonymous symbol table");
if (level > 100)
- Perl_croak(aTHX_ "Recursive inheritance detected in package '%s'",
- HEK_KEY(stashhek));
+ Perl_croak(aTHX_ "Recursive inheritance detected in package '%"SVf"'",
+ SVfARG(sv_2mortal(newSVhek(stashhek))));
meta = HvMROMETA(stash);
SV *errmsg;
I32 i;
- errmsg = newSVpvf("Inconsistent hierarchy during C3 merge of class '%s':\n\t"
- "current merge results [\n", HEK_KEY(stashhek));
+ errmsg = newSVpvf(
+ "Inconsistent hierarchy during C3 merge of class '%"SVf"':\n\t"
+ "current merge results [\n",
+ SVfARG(sv_2mortal(newSVhek(stashhek))));
for (i = 0; i <= av_len(retval); i++) {
SV **elem = av_fetch(retval, i, 0);
sv_catpvf(errmsg, "\t\t%"SVf",\n", SVfARG(*elem));
SV* const val = HeVAL(cache_entry);
if(val == &PL_sv_undef) {
if(throw_nomethod)
- Perl_croak(aTHX_ "No next::method '%s' found for %s", subname, hvname);
+ Perl_croak(aTHX_ "No next::method '%"SVf"' found for %"SVf,
+ SVfARG(newSVpvn_flags(subname, subname_len,
+ SVs_TEMP | ( subname_utf8 ? SVf_UTF8 : 0 ) )),
+ SVfARG(sv_2mortal(newSVhek( HvNAME_HEK(selfstash) ))));
XSRETURN_EMPTY;
}
mXPUSHs(newRV_inc(val));
if (!curstash) {
if (ckWARN(WARN_SYNTAX))
- Perl_warner(aTHX_ packWARN(WARN_SYNTAX), "Can't locate package %"SVf" for @%s::ISA",
- (void*)linear_sv, hvname);
+ Perl_warner(aTHX_ packWARN(WARN_SYNTAX), "Can't locate package %"SVf" for @%"SVf"::ISA",
+ (void*)linear_sv,
+ SVfARG(sv_2mortal(newSVhek( HvNAME_HEK(selfstash) ))));
continue;
}
assert(curstash);
gvp = (GV**)hv_fetch(curstash, subname,
- subname_utf8 ? -subname_len : subname_len, 0);
+ subname_utf8 ? -(I32)subname_len : (I32)subname_len, 0);
if (!gvp) continue;
candidate = *gvp;
(void)hv_store_ent(nmcache, sv, &PL_sv_undef, 0);
if(throw_nomethod)
- Perl_croak(aTHX_ "No next::method '%s' found for %s", subname, hvname);
+ Perl_croak(aTHX_ "No next::method '%"SVf"' found for %"SVf,
+ SVfARG(newSVpvn_flags(subname, subname_len,
+ SVs_TEMP | ( subname_utf8 ? SVf_UTF8 : 0 ) )),
+ SVfARG(sv_2mortal(newSVhek( HvNAME_HEK(selfstash) ))));
XSRETURN_EMPTY;
BOOT: