diff options
-rw-r--r-- | pp_ctl.c | 8 | ||||
-rwxr-xr-x | t/pragma/warn/9enabled | 2 |
2 files changed, 8 insertions, 2 deletions
@@ -1521,15 +1521,21 @@ PP(pp_caller) else PUSHs(sv_2mortal(newSViv(gimme & G_ARRAY))); if (CxTYPE(cx) == CXt_EVAL) { + /* eval STRING */ if (cx->blk_eval.old_op_type == OP_ENTEREVAL) { PUSHs(cx->blk_eval.cur_text); PUSHs(&PL_sv_no); } - /* try blocks have old_namesv == 0 */ + /* require */ else if (cx->blk_eval.old_namesv) { PUSHs(sv_2mortal(newSVsv(cx->blk_eval.old_namesv))); PUSHs(&PL_sv_yes); } + /* eval BLOCK (try blocks have old_namesv == 0) */ + else { + PUSHs(&PL_sv_undef); + PUSHs(&PL_sv_undef); + } } else { PUSHs(&PL_sv_undef); diff --git a/t/pragma/warn/9enabled b/t/pragma/warn/9enabled index 7facf996f5..55642ffadf 100755 --- a/t/pragma/warn/9enabled +++ b/t/pragma/warn/9enabled @@ -332,7 +332,7 @@ print $@ ; EXPECT Usage: warnings::warn([category,] 'message') at - line 4 unknown warnings category 'fred' at - line 6 - require 0 called at - line 6 + eval {...} called at - line 6 ######## --FILE-- abc.pm |