Changed the error message from Cannot to Can't
authorPeter Martini <PeterCMartini@GMail.com>
Thu, 11 Oct 2012 09:07:18 +0000 (05:07 -0400)
committerPeter Martini <PeterCMartini@GMail.com>
Wed, 17 Oct 2012 20:36:15 +0000 (16:36 -0400)
Also, removed the \n, as it prevented line display

mg.c
t/comp/namedproto.t
toke.c

diff --git a/mg.c b/mg.c
index 98c9262..db4fc46 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -3363,7 +3363,7 @@ Perl_magic_poison(pTHX_ SV *sv, MAGIC *mg)
     PERL_ARGS_ASSERT_MAGIC_POISON;
     PERL_UNUSED_ARG(sv);
     PERL_UNUSED_ARG(mg);
-    Perl_croak(aTHX_ "Cannot use @_ in a sub with a signature\n");
+    Perl_croak(aTHX_ "Can't use @_ in a sub with a signature");
     return 0;
 }
 
index cbfdba7..72ebb9f 100644 (file)
@@ -274,17 +274,17 @@ no_warnings("invalid slurpy parameters");
 # Ban @_ inside the sub if it has a named proto
 {
     my ($legal, $failed);
-    my $err = "Cannot use \@_ in a sub with a signature\n";
+    my $err = "Can't use \@_ in a sub with a signature";
     $legal = eval 'sub not_banned1 { $#_ }; 1';
     ok($legal, "No changes to \$#_ within traditional subs");
     $legal = eval 'sub not_banned2 { @_; }; 1';
     ok($legal, "No changes to \@_ within traditional subs");
     $failed = !eval 'sub banned1 ($foo){ $#_ }; 1';
     ok($failed, "Cannot use a literal \$#_ with subroutine signatures");
-    is($@,$err, "Died for the right reason");
+    like($@,$err, "Died for the right reason");
     $failed = !eval 'sub banned2 ($foo){ @_ }; 1';
     ok($failed, "Cannot use a literal \@_ with subroutine signatures");
-    is($@,$err, "Died for the right reason");
+    like($@,$err, "Died for the right reason");
     $legal = eval 'sub banned3 ($foo){ sub not_banned3 { $#_ }; }; 1';
     ok($legal, "\$#_ restriction doesn't apply to nested subs");
     $legal = eval 'sub banned4 ($foo){ sub not_banned4 { @_ }; }; 1';
@@ -303,10 +303,10 @@ no_warnings("invalid slurpy parameters");
     no_warnings("using a global alias - direct access");
     $failed = !eval 'banned5(); 1';
     ok($failed, "An alias to \$#_ dies in execution - () syntax");
-    is($@,$err, "Died for the right reason");
+    like($@,$err, "Died for the right reason");
     $failed = !eval '&banned5; 1';
     ok($failed, "An alias to \$#_ dies in execution - & syntax");
-    is($@,$err, "Died for the right reason");
+    like($@,$err, "Died for the right reason");
     @normal = qw(1 2 3);
     *globb = *normal;
     $legal = eval 'banned5(); 1';
diff --git a/toke.c b/toke.c
index b13de7f..25d2d3a 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -8746,7 +8746,7 @@ S_pending_ident(pTHX)
        at compile time. This only works for a literal @_ - @main::_ (etc)
        can still pass through. Aliases must be handled separately */
     if (tokenbuf_len == 2 && strnEQ(PL_tokenbuf, "@_", 2) && is_sub_with_sig()) {
-       Perl_croak(aTHX_ "Cannot use @_ in a sub with a signature\n");
+       Perl_croak(aTHX_ "Can't use @_ in a sub with a signature");
     }
 
     /* build ops for a bareword */