| 854 | | if ($fate and $fate->[0] eq $name) { |
| 855 | | $self->deb("Fate passed to $name: $$fate[3]") if $DEBUG & DEBUG::fates; |
| 856 | | ($tag, $try, $fate) = @$fate; |
| | 855 | if ($fate) { |
| | 856 | if ($fate->[0] eq $name) { |
| | 857 | $self->deb("Fate passed to $name: $$fate[3]") if $DEBUG & DEBUG::fates; |
| | 858 | ($tag, $try, $fate) = @$fate; |
| | 859 | $r{_fate} = $fate; |
| | 860 | return (CORE::bless \%r, ref $self), $tag, $try, $relex; |
| | 861 | } |
| | 862 | elsif ($fate->[0] . ':*' eq $name) { |
| | 863 | $self->deb("Fate passed to $name: $$fate[3]") if $DEBUG & DEBUG::fates; |
| | 864 | ($tag, $try, $fate) = @$fate; |
| | 865 | $r{_fate} = $fate; |
| | 866 | return (CORE::bless \%r, ref $self), $tag, $try, $relex; |
| | 867 | } |
| | 868 | } |
| | 869 | |
| | 870 | $relex = $self->_AUTOLEXnow($name,$retree); |
| | 871 | $fate = $relex->($self,$_[0]); |
| | 872 | if ($fate) { |
| | 873 | $self->deb("FATE OF ${pkg}::$name: $$fate[3]") if $DEBUG & DEBUG::fates; |
| | 874 | ($tag, $try, $fate) = @$fate; |
| 859 | | elsif ($fate and $fate->[0] . ':*' eq $name) { |
| 860 | | $self->deb("Fate passed to $name: $$fate[3]") if $DEBUG & DEBUG::fates; |
| 861 | | ($tag, $try, $fate) = @$fate; |
| 862 | | $r{_fate} = $fate; |
| 863 | | } |
| 864 | | else { |
| 865 | | $relex = $self->_AUTOLEXnow($name,$retree); |
| 866 | | $fate = $relex->($self,$_[0]); |
| 867 | | if ($fate) { |
| 868 | | $self->deb("FATE OF ${pkg}::$name: $$fate[3]") if $DEBUG & DEBUG::fates; |
| 869 | | ($tag, $try, $fate) = @$fate; |
| 870 | | $r{_fate} = $fate; |
| 871 | | } |
| 872 | | else { |
| 873 | | $self->deb("NO FATE FOR ${pkg}::$name (will probe)") if $DEBUG & DEBUG::fates; |
| 874 | | $tag = ''; |
| 875 | | } |
| | 877 | else { |
| | 878 | $self->deb("NO FATE FOR ${pkg}::$name (will probe)") if $DEBUG & DEBUG::fates; |
| | 879 | $tag = ''; |