diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-12-02 14:46:17 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-12-02 14:46:17 +0000 |
commit | c30d8139ead4f83c6b3d27b2eace9ff0466eaf4c (patch) | |
tree | 6ed4f1f65e4f966b84e35cfd515fb02b0d1b7a3e /pp_ctl.c | |
parent | 359d40bacc2dcec1685bd77f0ec299cc69818b79 (diff) | |
download | perl-c30d8139ead4f83c6b3d27b2eace9ff0466eaf4c.tar.gz |
Add two more flags, PERLDBf_SAVESRC_NOSUBS and PERLDBf_SAVESRC_INVALID,
which give total control over when source code from evals is stored.
The debugger doesn't need them, but I forsee that profilers might.
p4raw-id: //depot/perl@34979
Diffstat (limited to 'pp_ctl.c')
-rw-r--r-- | pp_ctl.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -3730,9 +3730,10 @@ PP(pp_entereval) save_lines(CopFILEAV(&PL_compiling), PL_parser->linestr); PUTBACK; ok = doeval(gimme, NULL, runcv, seq); - if ((PERLDB_LINE || PERLDB_SAVESRC) - && was != PL_breakable_sub_gen /* Some subs defined here. */ - && ok) { + if (ok ? (was != PL_breakable_sub_gen /* Some subs defined here. */ + ? (PERLDB_LINE || PERLDB_SAVESRC) + : PERLDB_SAVESRC_NOSUBS) + : PERLDB_SAVESRC_INVALID) { /* Just need to change the string in our writable scratch buffer that will be used at scope exit to delete this eval's "file" name, to something safe. The key names are of the form "_<(eval 1)" upwards, |