summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-11-06 17:51:25 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-11-15 05:00:13 -0800
commitc8cb8d5592ed374fcbaa72b70beb1b661f447402 (patch)
treec485adbdf731f676223a24368eba3bae70f73467 /pp_ctl.c
parent691f175822a5edda9dc7ba243d6c774254b9e225 (diff)
downloadperl-c8cb8d5592ed374fcbaa72b70beb1b661f447402.tar.gz
Move a pp_entereval comment where it belongs.
Commit f9bddea7d2 divorced it from the code it was describing (dele- tion of the FILEGV on eval exit). That code was subsequently repeated in various places by commit 78da7625. The comment is now above the first instance.
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 85ee20f451..8af13d00cd 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -4189,11 +4189,6 @@ PP(pp_entereval)
CopFILE_set(&PL_compiling, tmpbuf+2);
SAVECOPLINE(&PL_compiling);
CopLINE_set(&PL_compiling, 1);
- /* XXX For C<eval "...">s within BEGIN {} blocks, this ends up
- deleting the eval's FILEGV from the stash before gv_check() runs
- (i.e. before run-time proper). To work around the coredump that
- ensues, we always turn GvMULTI_on for any globals that were
- introduced within evals. See force_ident(). GSAR 96-10-12 */
SAVEHINTS();
PL_hints = PL_op->op_private & OPpEVAL_COPHH
? PL_curcop->cop_hints : PL_op->op_targ;
@@ -4232,6 +4227,11 @@ PP(pp_entereval)
if ((PERLDB_LINE || PERLDB_SAVESRC) && PL_curstash != PL_debstash)
save_lines(CopFILEAV(&PL_compiling), PL_parser->linestr);
else {
+ /* XXX For C<eval "...">s within BEGIN {} blocks, this ends up
+ deleting the eval's FILEGV from the stash before gv_check() runs
+ (i.e. before run-time proper). To work around the coredump that
+ ensues, we always turn GvMULTI_on for any globals that were
+ introduced within evals. See force_ident(). GSAR 96-10-12 */
char *const safestr = savepvn(tmpbuf, len);
SAVEDELETE(PL_defstash, safestr, len);
saved_delete = TRUE;