summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pp_ctl.c8
-rw-r--r--regexec.c7
2 files changed, 6 insertions, 9 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index a4fabd2cdd..fbfcab5827 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -669,12 +669,8 @@ PP(pp_grepstart)
ENTER; /* enter outer scope */
SAVETMPS;
-#ifdef USE_THREADS
- /* SAVE_DEFSV does *not* suffice here */
- save_sptr(&THREADSV(0));
-#else
- SAVESPTR(GvSV(PL_defgv));
-#endif /* USE_THREADS */
+ /* SAVE_DEFSV does *not* suffice here for USE_THREADS */
+ SAVESPTR(DEFSV);
ENTER; /* enter inner scope */
SAVESPTR(PL_curpm);
diff --git a/regexec.c b/regexec.c
index 770fca6170..48797065b3 100644
--- a/regexec.c
+++ b/regexec.c
@@ -1058,9 +1058,10 @@ regtry(regexp *prog, char *startpos)
if (PL_reg_sv) {
/* Make $_ available to executed code. */
- if (PL_reg_sv != GvSV(PL_defgv)) {
- SAVESPTR(GvSV(PL_defgv));
- GvSV(PL_defgv) = PL_reg_sv;
+ if (PL_reg_sv != DEFSV) {
+ /* SAVE_DEFSV does *not* suffice here for USE_THREADS */
+ SAVESPTR(DEFSV);
+ DEFSV = PL_reg_sv;
}
if (!(SvTYPE(PL_reg_sv) >= SVt_PVMG && SvMAGIC(PL_reg_sv)