This patch moves the tests for the warnings appearing in pad.c from t/lib/warnings/op to t/lib/warnings/pad, and also adds a test for "our" variable $x redeclared which had been missed. Thanks to Rafael for pointing the need out to me! -- But Pity stayed his hand. "It's a pity I've run out of bullets", he thought. - "Bored of the Rings" --- MANIFEST- Thu Jan 23 20:51:55 2003 +++ MANIFEST Thu Jan 23 20:52:18 2003 @@ -2499,6 +2499,7 @@ t/lib/warnings/malloc Tests for malloc.c for warnings.t t/lib/warnings/mg Tests for mg.c for warnings.t t/lib/warnings/op Tests for op.c for warnings.t +t/lib/warnings/pad Tests for pad.c for warnings.t t/lib/warnings/perl Tests for perl.c for warnings.t t/lib/warnings/perlio Tests for perlio.c for warnings.t t/lib/warnings/perly Tests for perly.y for warnings.t --- t/lib/warnings/op- Thu Jan 23 20:00:43 2003 +++ t/lib/warnings/op Thu Jan 23 20:25:24 2003 @@ -1,25 +1,5 @@ op.c AOK - "my" variable %s masks earlier declaration in same scope - my $x; - my $x ; - - Variable "%s" may be unavailable - sub x { - my $x; - sub y { - $x - } - } - - Variable "%s" will not stay shared - sub x { - my $x; - sub y { - sub { $x } - } - } - Found = in conditional, should be == 1 if $a = 1 ; @@ -118,80 +98,12 @@ sub fred() ; sub fred($) {} - %s never introduced [pad_leavemy] TODO Runaway prototype [newSUB] TODO oops: oopsAV [oopsAV] TODO oops: oopsHV [oopsHV] TODO __END__ # op.c -use warnings 'misc' ; -my $x ; -my $x ; -my $y = my $y ; -no warnings 'misc' ; -my $x ; -my $y ; -EXPECT -"my" variable $x masks earlier declaration in same scope at - line 4. -"my" variable $y masks earlier declaration in same statement at - line 5. -######## -# op.c -use warnings 'closure' ; -sub x { - my $x; - sub y { - $x - } - } -EXPECT -Variable "$x" will not stay shared at - line 7. -######## -# op.c -no warnings 'closure' ; -sub x { - my $x; - sub y { - $x - } - } -EXPECT - -######## -# op.c -use warnings 'closure' ; -sub x { - our $x; - sub y { - $x - } - } -EXPECT - -######## -# op.c -use warnings 'closure' ; -sub x { - my $x; - sub y { - sub { $x } - } - } -EXPECT -Variable "$x" may be unavailable at - line 6. -######## -# op.c -no warnings 'closure' ; -sub x { - my $x; - sub y { - sub { $x } - } - } -EXPECT - -######## -# op.c use warnings 'syntax' ; 1 if $a = 1 ; no warnings 'syntax' ; --- /dev/null Thu Aug 30 21:30:55 2001 +++ t/lib/warnings/pad Thu Jan 23 20:48:25 2003 @@ -0,0 +1,105 @@ + pad.c AOK + + "my" variable %s masks earlier declaration in same scope + my $x; + my $x ; + + Variable "%s" may be unavailable + sub x { + my $x; + sub y { + $x + } + } + + Variable "%s" will not stay shared + sub x { + my $x; + sub y { + sub { $x } + } + } + "our" variable %s redeclared (Did you mean "local" instead of "our"?) + our $x; + { + our $x; + } + + %s never introduced [pad_leavemy] TODO + +__END__ +# pad.c +use warnings 'misc' ; +my $x ; +my $x ; +my $y = my $y ; +no warnings 'misc' ; +my $x ; +my $y ; +EXPECT +"my" variable $x masks earlier declaration in same scope at - line 4. +"my" variable $y masks earlier declaration in same statement at - line 5. +######## +# pad.c +use warnings 'closure' ; +sub x { + my $x; + sub y { + $x + } + } +EXPECT +Variable "$x" will not stay shared at - line 7. +######## +# pad.c +no warnings 'closure' ; +sub x { + my $x; + sub y { + $x + } + } +EXPECT + +######## +# pad.c +use warnings 'closure' ; +sub x { + our $x; + sub y { + $x + } + } +EXPECT + +######## +# pad.c +use warnings 'closure' ; +sub x { + my $x; + sub y { + sub { $x } + } + } +EXPECT +Variable "$x" may be unavailable at - line 6. +######## +# pad.c +no warnings 'closure' ; +sub x { + my $x; + sub y { + sub { $x } + } + } +EXPECT + +######## +use warnings 'misc' ; +our $x; +{ + our $x; +} +EXPECT +"our" variable $x redeclared at - line 4. + (Did you mean "local" instead of "our"?)Thread Next