* is called once and only once */
if (SvGMAGICAL(TOPs)) TOPs = sv_2mortal(newSVsv(TOPs));
- tryAMAGICunTARGETlist(iter_amg, 0, (PL_op->op_flags & OPf_SPECIAL));
+ tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
if (PL_op->op_flags & OPf_SPECIAL) {
/* call Perl-level glob function instead. Stack args are:
}
else {
SV * const errsv = ERRSV;
+ SvGETMAGIC(errsv);
if (SvROK(errsv)) {
exsv = errsv;
if (sv_isobject(exsv)) {
}
}
}
- else if (SvPV_const(errsv, len), len) {
+ else if (SvPOK(errsv) && SvCUR(errsv)) {
exsv = sv_mortalcopy(errsv);
sv_catpvs(exsv, "\t...propagated");
}