--- perl-5.6.0/cop.h~ Tue Mar 21 02:26:52 2000 +++ perl-5.6.0/cop.h Sat Jun 24 18:38:34 2000 @@ -105,13 +105,9 @@ } STMT_END #endif /* USE_THREADS */ -#ifdef USE_ITHREADS - /* junk in @_ spells trouble when cloning CVs, so don't leave any */ -# define CLEAR_ARGARRAY() av_clear(cx->blk_sub.argarray) -#else -# define CLEAR_ARGARRAY() NOOP -#endif /* USE_ITHREADS */ - +/* junk in @_ spells trouble when cloning CVs and in pp_caller(), so don't + * leave any */ +#define CLEAR_ARGARRAY() av_clear(cx->blk_sub.argarray) #define POPSUB(cx,sv) \ STMT_START { \ --- perl-5.6.0/t/op/runlevel.t~ Wed Mar 1 09:28:41 2000 +++ perl-5.6.0/t/op/runlevel.t Sat Jun 24 18:34:44 2000 @@ -349,3 +349,18 @@ bar B 2 bar +######## +sub n { 0 } +sub f { my $x = shift; d(); } +f(n()); +f(); + +sub d { + my $i = 0; my @a; + while (do { { package DB; @a = caller($i++) } } ) { + @a = @DB::args; + for (@a) { print "$_\n"; $_ = '' } + } +} +EXPECT +0