in reply to Re: Devel::Cover eating caller() information
in thread Devel::Cover eating caller() information

It isn't just that $@ is getting blown away, is it?

No, I have tried that in the code that this issue originally showed up in. But now I have discovered something even weirder. When I changed this:

push @stack_trace, [ (caller($i))[0 .. 3] ] while caller(++$i);
to this (taken straight from Devel::StackTrace):
while ( do { package DB; @DB::args = (); @c = caller($i++) } ) { push @stack_trace, [ @c[0 .. 3] ]; }
(Note the post-increment of $i instead of the pre-increment)

This makes the Devel::Cover run work, and the plain test fail. So it seems that maybe Devel::Cover is pushing up the caller level?

Oh well, still looking.

-stvn