diff options
author | Steve Hay <steve.m.hay@googlemail.com> | 2020-03-14 12:13:03 +0000 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2020-03-14 12:13:03 +0000 |
commit | e962c4d357ccc91a42fa190be83a514c6c039ab5 (patch) | |
tree | 9bea5e1e872767230c50eac3cdada48d82f1a2ab | |
parent | 5093e0eb37ed945960a3b3184f234d51a3cf226a (diff) | |
download | perl-e962c4d357ccc91a42fa190be83a514c6c039ab5.tar.gz |
Revert "avoid identical stack traces"
This reverts commit b7b8b099a2106c45a577e9cd7b9f1653736cf89a.
I do not think this is currently suitable for maint, given GH#17567
and the attempt at fixing it in fb8188b84d which was itself
reverted in 6311900a66. (See also the documentation update in
ee428a211d.)
-rw-r--r-- | MANIFEST | 3 | ||||
-rw-r--r-- | op.c | 24 | ||||
-rw-r--r-- | t/lib/GH_15109/Apack.pm | 4 | ||||
-rw-r--r-- | t/lib/GH_15109/Bpack.pm | 4 | ||||
-rw-r--r-- | t/lib/GH_15109/Cpack.pm | 11 | ||||
-rw-r--r-- | t/op/caller.t | 19 |
6 files changed, 2 insertions, 63 deletions
@@ -5476,9 +5476,6 @@ t/lib/feature/nonesuch Tests for enabling/disabling nonexistent feature t/lib/feature/removed Tests for enabling/disabling removed feature t/lib/feature/say Tests for enabling/disabling say feature t/lib/feature/switch Tests for enabling/disabling switch feature -t/lib/GH_15109/Apack.pm test Module for caller.t -t/lib/GH_15109/Bpack.pm test Module for caller.t -t/lib/GH_15109/Cpack.pm test Module for caller.t t/lib/h2ph.h Test header file for h2ph t/lib/h2ph.pht Generated output from h2ph.h by h2ph, for comparison t/lib/locale/latin1 Part of locale.t in Latin 1 @@ -10460,32 +10460,10 @@ S_process_special_blocks(pTHX_ I32 floor, const char *const fullname, (void)CvGV(cv); if (floor) LEAVE_SCOPE(floor); ENTER; - - SAVEVPTR(PL_curcop); - if (PL_curcop == &PL_compiling) { - /* Avoid pushing the "global" &PL_compiling onto the - * context stack. For example, a stack trace inside - * nested use's would show all calls coming from whoever - * most recently updated PL_compiling.cop_file and - * cop_line. So instead, temporarily set PL_curcop to a - * private copy of &PL_compiling. PL_curcop will soon be - * set to point back to &PL_compiling anyway but only - * after the temp value has been pushed onto the context - * stack as blk_oldcop. - * This is slightly hacky, but necessary. Note also - * that in the brief window before PL_curcop is set back - * to PL_compiling, IN_PERL_COMPILETIME/IN_PERL_RUNTIME - * will give the wrong answer. - */ - Newx(PL_curcop, 1, COP); - StructCopy(&PL_compiling, PL_curcop, COP); - PL_curcop->op_slabbed = 0; - SAVEFREEPV(PL_curcop); - } - PUSHSTACKi(PERLSI_REQUIRE); SAVECOPFILE(&PL_compiling); SAVECOPLINE(&PL_compiling); + SAVEVPTR(PL_curcop); DEBUG_x( dump_sub(gv) ); Perl_av_create_and_push(aTHX_ &PL_beginav, MUTABLE_SV(cv)); diff --git a/t/lib/GH_15109/Apack.pm b/t/lib/GH_15109/Apack.pm deleted file mode 100644 index fa52ec8b53..0000000000 --- a/t/lib/GH_15109/Apack.pm +++ /dev/null @@ -1,4 +0,0 @@ -# for use by caller.t for GH #15109 -package Apack; -use Bpack; -1; diff --git a/t/lib/GH_15109/Bpack.pm b/t/lib/GH_15109/Bpack.pm deleted file mode 100644 index f9421c813f..0000000000 --- a/t/lib/GH_15109/Bpack.pm +++ /dev/null @@ -1,4 +0,0 @@ -# for use by caller.t for GH #15109 -package Bpack; -use Cpack; -1; diff --git a/t/lib/GH_15109/Cpack.pm b/t/lib/GH_15109/Cpack.pm deleted file mode 100644 index 94c409b05c..0000000000 --- a/t/lib/GH_15109/Cpack.pm +++ /dev/null @@ -1,11 +0,0 @@ -# for use by caller.t for GH #15109 -package Cpack; - - -my $i = 0; - -while (my ($package, $file, $line) = caller($i++)) { - push @Cpack::callers, "$file:$line"; -} - -1; diff --git a/t/op/caller.t b/t/op/caller.t index 9fc9a1ce39..564d140cc0 100644 --- a/t/op/caller.t +++ b/t/op/caller.t @@ -5,7 +5,7 @@ BEGIN { chdir 't' if -d 't'; require './test.pl'; set_up_inc('../lib'); - plan( tests => 109 ); # some tests are run in a BEGIN block + plan( tests => 97 ); # some tests are run in a BEGIN block } my @c; @@ -335,22 +335,6 @@ $::testing_caller = 1; do './op/caller.pl' or die $@; -# GH #15109 -# See that callers within a nested series of 'use's gets the right -# filenames. -{ - local @INC = 'lib/GH_15109/'; - # Apack use's Bpack which use's Cpack which populates @Cpack::caller - # with the file:N of all the callers - eval 'use Apack; 1'; - is($@, "", "GH #15109 - eval"); - is (scalar(@Cpack::callers), 10, "GH #15109 - callers count"); - like($Cpack::callers[$_], qr{GH_15109/Bpack.pm:3}, "GH #15109 level $_") for 0..2; - like($Cpack::callers[$_], qr{GH_15109/Apack.pm:3}, "GH #15109 level $_") for 3..5; - like($Cpack::callers[$_], qr{\(eval \d+\):1}, "GH #15109 level $_") for 6..8; - like($Cpack::callers[$_], qr{caller\.t}, "GH #15109 level $_") for 9; -} - { package RT129239; BEGIN { @@ -364,4 +348,3 @@ do './op/caller.pl' or die $@; #line 12345 "virtually/op/caller.t" } } - |