PL_amagic_generation is non-zero even without the presence of
'use overload', so don't bother using it as a short-cut test of
whether we can skip AMAGIC processing
sv_setpvs(tmpstr, "");
while (++MARK <= SP) {
SV *msv = *MARK;
- if (PL_amagic_generation) {
- SV *sv;
+ SV *sv;
- tryAMAGICregexp(msv);
+ tryAMAGICregexp(msv);
- if ((SvAMAGIC(tmpstr) || SvAMAGIC(msv)) &&
- (sv = amagic_call(tmpstr, msv, concat_amg, AMGf_assign)))
- {
- sv_setsv(tmpstr, sv);
- continue;
- }
+ if ((SvAMAGIC(tmpstr) || SvAMAGIC(msv)) &&
+ (sv = amagic_call(tmpstr, msv, concat_amg, AMGf_assign)))
+ {
+ sv_setsv(tmpstr, sv);
+ continue;
}
sv_catsv(tmpstr, msv);
}
}
#define tryCALL_AMAGICbin(left,right,meth) \
- (PL_amagic_generation && (SvAMAGIC(left)||SvAMAGIC(right))) \
+ (SvAMAGIC(left)||SvAMAGIC(right)) \
? amagic_call(left, right, CAT2(meth,_amg), 0) \
: NULL;