SV *msg;
ENTER;
+ save_re_context();
if (message) {
msg = newSVpvn(message, msglen);
SvREADONLY_on(msg);
SV *msg;
ENTER;
+ save_re_context();
msg = newSVpvn(message, msglen);
SvREADONLY_on(msg);
SAVEFREESV(msg);
SV *msg;
ENTER;
+ save_re_context();
msg = newSVpvn(message, msglen);
SvREADONLY_on(msg);
SAVEFREESV(msg);
SV *msg;
ENTER;
+ save_re_context();
msg = newSVpvn(message, msglen);
SvREADONLY_on(msg);
SAVEFREESV(msg);
+ PUSHSTACKi(PERLSI_DIEHOOK);
PUSHMARK(sp);
XPUSHs(msg);
PUTBACK;
call_sv((SV*)cv, G_DISCARD);
-
+ POPSTACK;
LEAVE;
}
}
SAVESPTR(PL_warnhook);
PL_warnhook = Nullsv;
cv = sv_2cv(oldwarnhook, &stash, &gv, 0);
- LEAVE;
+ LEAVE;
if (cv && !CvDEPTH(cv) && (CvROOT(cv) || CvXSUB(cv))) {
dSP;
SV *msg;
ENTER;
+ save_re_context();
msg = newSVpvn(message, msglen);
SvREADONLY_on(msg);
SAVEFREESV(msg);
+ PUSHSTACKi(PERLSI_WARNHOOK);
PUSHMARK(sp);
XPUSHs(msg);
PUTBACK;
call_sv((SV*)cv, G_DISCARD);
-
+ POPSTACK;
LEAVE;
return;
}