]> git.vpit.fr Git - perl/modules/Sub-Nary.git/commitdiff
Return 'list' when we can't enter the coderef (such as calling non-overriden core...
authorVincent Pit <vince@profvince.com>
Mon, 4 Aug 2008 21:33:37 +0000 (23:33 +0200)
committerVincent Pit <vince@profvince.com>
Mon, 4 Aug 2008 21:33:37 +0000 (23:33 +0200)
lib/Sub/Nary.pm
t/22-call.t

index 3a0b00097b305393648f75290be32933e4d13f78..f2b53439d92c0bf7fbff1398c0ab7651dc4eaf38 100644 (file)
@@ -207,6 +207,7 @@ $ops{$_} = 'list' for qw/padany flip match/;
 sub enter {
  my ($self, $cv) = @_;
 
+ return 'list' if class($cv) ne 'CV';
  my $op  = $cv->ROOT;
  my $tag = tag($op);
 
index f7bb741cf8027a5b18a2fcdda76e070d1e195e59..fdd3812fcdfac933dafba9e12f01de1c75e2d5e3 100644 (file)
@@ -3,12 +3,16 @@
 use strict;
 use warnings;
 
-use Test::More tests => 39;
+use Test::More tests => 41;
 
 use Sub::Nary;
 
 my $sn = Sub::Nary->new();
 
+sub CORE::GLOBAL::reset {
+ return 1, 2, 3
+}
+
 sub zero { }
 sub one  { 1 }
 sub two  { 1, 2 }
@@ -68,6 +72,9 @@ my @tests = (
  [ sub { \&zero },          1 ],
  [ sub { *zero },           1 ],
  [ sub { *zero{CODE}->() }, 'list' ],
+
+ [ sub { &CORE::GLOBAL::shift }, 'list' ],
+ [ sub { &CORE::GLOBAL::reset }, 3 ],
 );
 
 my $i = 1;