r61258 - in /trunk/libdatetime-format-natural-perl: ./ debian/ lib/DateTime/Format/ lib/DateTime/Format/Natural/ lib/DateTime/Format/Natural/Lang/ t/

carnil-guest at users.alioth.debian.org carnil-guest at users.alioth.debian.org
Thu Aug 5 22:06:27 UTC 2010


Author: carnil-guest
Date: Thu Aug  5 22:06:15 2010
New Revision: 61258

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=61258
Log:
New upstream release

Added:
    trunk/libdatetime-format-natural-perl/t/08-parse_aliases.t
      - copied unchanged from r61257, branches/upstream/libdatetime-format-natural-perl/current/t/08-parse_aliases.t
    trunk/libdatetime-format-natural-perl/t/09-parse_success.t
      - copied unchanged from r61257, branches/upstream/libdatetime-format-natural-perl/current/t/09-parse_success.t
    trunk/libdatetime-format-natural-perl/t/10-parse_failure.t
      - copied unchanged from r61257, branches/upstream/libdatetime-format-natural-perl/current/t/10-parse_failure.t
    trunk/libdatetime-format-natural-perl/t/11-parse_assert.t
      - copied unchanged from r61257, branches/upstream/libdatetime-format-natural-perl/current/t/11-parse_assert.t
    trunk/libdatetime-format-natural-perl/t/12-regression.t
      - copied unchanged from r61257, branches/upstream/libdatetime-format-natural-perl/current/t/12-regression.t
    trunk/libdatetime-format-natural-perl/t/13-state.t
      - copied unchanged from r61257, branches/upstream/libdatetime-format-natural-perl/current/t/13-state.t
    trunk/libdatetime-format-natural-perl/t/14-trace.t
      - copied unchanged from r61257, branches/upstream/libdatetime-format-natural-perl/current/t/14-trace.t
Removed:
    trunk/libdatetime-format-natural-perl/t/08-parse_failure.t
    trunk/libdatetime-format-natural-perl/t/09-parse_aliases.t
    trunk/libdatetime-format-natural-perl/t/10-parse_assert.t
    trunk/libdatetime-format-natural-perl/t/11-regression.t
    trunk/libdatetime-format-natural-perl/t/12-state.t
    trunk/libdatetime-format-natural-perl/t/13-trace.t
Modified:
    trunk/libdatetime-format-natural-perl/Changes
    trunk/libdatetime-format-natural-perl/MANIFEST
    trunk/libdatetime-format-natural-perl/META.yml
    trunk/libdatetime-format-natural-perl/debian/changelog
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Calc.pm
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Formatted.pm
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm

Modified: trunk/libdatetime-format-natural-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/Changes?rev=61258&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/Changes (original)
+++ trunk/libdatetime-format-natural-perl/Changes Thu Aug  5 22:06:15 2010
@@ -1,4 +1,32 @@
 Revision history for Perl extension DateTime::Format::Natural.
+
+0.89  2010-08-05  <schubiger at cpan.org>
+
+ - Merged development version to stable.
+
+0.88_02  2010-07-29  <schubiger at cpan.org>
+
+ - Replace calling of _valid_date() in _count_weekday_variant_month()
+   with _check_date(), because errors are handled separate.
+
+ - Use more descriptive variable names in _parse_formatted_ymd().
+
+ - Minor indentation and code tweaks.
+
+0.88_01  2010-07-18  <schubiger at cpan.org>
+
+ - Check if suffixes used for ordinal numbers are suitable.
+
+ - Test that invalid ordinal numbers fail and valid ones succeed.
+
+ - Add a test file for the tests expected to succeed.
+
+ - Verify for parse failures their errors emitted.
+
+ - While processing grammar expressions, save all captured values
+   in order to pass the extra ones to the extended checks.
+
+ - Improve whitespace of regular expressions handling durations.
 
 0.88  2010-06-16  <schubiger at cpan.org>
 

Modified: trunk/libdatetime-format-natural-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/MANIFEST?rev=61258&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/MANIFEST (original)
+++ trunk/libdatetime-format-natural-perl/MANIFEST Thu Aug  5 22:06:15 2010
@@ -26,11 +26,12 @@
 t/05-parse_time_zone.t
 t/06-parse_prefer_future.t
 t/07-parse_datetime.t
-t/08-parse_failure.t
-t/09-parse_aliases.t
-t/10-parse_assert.t
-t/11-regression.t
-t/12-state.t
-t/13-trace.t
+t/08-parse_aliases.t
+t/09-parse_success.t
+t/10-parse_failure.t
+t/11-parse_assert.t
+t/12-regression.t
+t/13-state.t
+t/14-trace.t
 t/pod-coverage.t
 t/pod.t

Modified: trunk/libdatetime-format-natural-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/META.yml?rev=61258&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/META.yml (original)
+++ trunk/libdatetime-format-natural-perl/META.yml Thu Aug  5 22:06:15 2010
@@ -1,6 +1,6 @@
 ---
 name: DateTime-Format-Natural
-version: 0.88
+version: 0.89
 author:
   - 'Steven Schubiger <schubiger at cpan.org>'
 abstract: Create machine readable date/time with natural parsing logic
@@ -29,13 +29,13 @@
 provides:
   DateTime::Format::Natural:
     file: lib/DateTime/Format/Natural.pm
-    version: 0.88
+    version: 0.89
   DateTime::Format::Natural::Aliases:
     file: lib/DateTime/Format/Natural/Aliases.pm
     version: 0.03
   DateTime::Format::Natural::Calc:
     file: lib/DateTime/Format/Natural/Calc.pm
-    version: 1.34
+    version: 1.35
   DateTime::Format::Natural::Compat:
     file: lib/DateTime/Format/Natural/Compat.pm
     version: 0.07
@@ -44,7 +44,7 @@
     version: 0.04
   DateTime::Format::Natural::Formatted:
     file: lib/DateTime/Format/Natural/Formatted.pm
-    version: 0.04
+    version: 0.05
   DateTime::Format::Natural::Helpers:
     file: lib/DateTime/Format/Natural/Helpers.pm
     version: 0.06
@@ -53,7 +53,7 @@
     version: 1.06
   DateTime::Format::Natural::Lang::EN:
     file: lib/DateTime/Format/Natural/Lang/EN.pm
-    version: 1.37
+    version: 1.38
   DateTime::Format::Natural::Test:
     file: lib/DateTime/Format/Natural/Test.pm
     version: 0.05

Modified: trunk/libdatetime-format-natural-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/debian/changelog?rev=61258&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/debian/changelog (original)
+++ trunk/libdatetime-format-natural-perl/debian/changelog Thu Aug  5 22:06:15 2010
@@ -1,3 +1,9 @@
+libdatetime-format-natural-perl (0.89-1) UNRELEASED; urgency=low
+
+  * New upstream release
+
+ -- Salvatore Bonaccorso <salvatore.bonaccorso at gmail.com>  Fri, 06 Aug 2010 00:05:52 +0200
+
 libdatetime-format-natural-perl (0.88-1) unstable; urgency=low
 
   * New upstream release

Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm?rev=61258&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm Thu Aug  5 22:06:15 2010
@@ -18,7 +18,7 @@
 use Scalar::Util qw(blessed);
 use Storable qw(dclone);
 
-our $VERSION = '0.88';
+our $VERSION = '0.89';
 
 validation_options(
     on_fail => sub
@@ -337,7 +337,7 @@
             my $valid_expression = true;
             my $definition = $expression->[0];
             my @positions = sort {$a <=> $b} keys %$definition;
-            my %regex_stack;
+            my (%first_stack, %rest_stack);
             foreach my $pos (@positions) {
                 if ($types->[$pos] eq 'SCALAR') {
                     if (defined $definition->{$pos}) {
@@ -351,9 +351,9 @@
                     }
                 }
                 elsif ($types->[$pos] eq 'REGEXP') {
-                    local $1;
-                    if (${$self->_token($pos)} =~ $definition->{$pos}) {
-                        $regex_stack{$pos} = $1 if defined $1;
+                    if (my @captured = ${$self->_token($pos)} =~ $definition->{$pos}) {
+                        $first_stack{$pos} = shift @captured;
+                        $rest_stack{$pos} = [ @captured ];
                         next;
                     }
                     else {
@@ -371,7 +371,7 @@
                 foreach my $check (@{$expression->[2]}) {
                     my @pos = @{$expression->[1][$i++]};
                     my $error;
-                    $valid_expression &= $check->(\%regex_stack, \@pos, \$error);
+                    $valid_expression &= $check->(\%first_stack, \%rest_stack, \@pos, \$error);
                     unless ($valid_expression) {
                         $self->_set_error("($error)");
                         last;
@@ -388,9 +388,9 @@
                         $values[$c++] = ref $pos
                           ? $index eq 'VALUE'
                             ? $pos->{$index}
-                            : $self->SUPER::_helper($pos->{$index}, $regex_stack{$index})
-                          : exists $regex_stack{$index}
-                            ? $regex_stack{$index}
+                            : $self->SUPER::_helper($pos->{$index}, $first_stack{$index})
+                          : exists $first_stack{$index}
+                            ? $first_stack{$index}
                             : ${$self->_token($index)};
                     }
                     my $worker = "SUPER::$expression->[5]->[$i]";

Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Calc.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Calc.pm?rev=61258&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Calc.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Calc.pm Thu Aug  5 22:06:15 2010
@@ -8,7 +8,7 @@
     DateTime::Format::Natural::Wrappers
 );
 
-our $VERSION = '1.34';
+our $VERSION = '1.35';
 
 use constant MORNING   => '08';
 use constant AFTERNOON => '14';
@@ -255,9 +255,10 @@
               $count,
           );
     };
-    if (!$@ and defined $year && defined $month && defined $day
-        and $self->_valid_date(year => $year, month => $month, day => $day))
-    {
+    if (!$@
+        and defined $year && defined $month && defined $day
+        and $self->_check_date($year, $month, $day)
+    ) {
         $self->_set(
             year  => $year,
             month => $month,

Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Formatted.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Formatted.pm?rev=61258&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Formatted.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Formatted.pm Thu Aug  5 22:06:15 2010
@@ -4,7 +4,7 @@
 use warnings;
 use boolean qw(true false);
 
-our $VERSION = '0.04';
+our $VERSION = '0.05';
 
 sub _parse_formatted_ymd
 {
@@ -14,19 +14,19 @@
     my $date = $self->_split_formatted($date_string);
 
     my $date_sep = quotemeta((keys %$count)[0]);
-    my @chunks = split /$date_sep/, $date;
+    my @date_chunks = split /$date_sep/, $date;
 
     my $i = 0;
-    my %length = map { length $_ => $i++ } @chunks;
+    my %chunks_length = map { length $_ => $i++ } @date_chunks;
 
     my $format = lc $self->{Format};
     my $format_sep;
 
     my $lax = false;
 
-    if (exists $length{4}) {
+    if (exists $chunks_length{4}) {
         $format = join $date_sep,
-          ($length{4} == 0
+          ($chunks_length{4} == 0
             ? qw(yyyy mm dd)
             : ($format =~ /^m/
                 ? qw(mm dd yyyy)
@@ -35,7 +35,7 @@
           );
         $lax = true;
     }
-    elsif ($date_sep =~ /^\\[-.]$/ and $format !~ /$date_sep/) {
+    elsif ($date_sep =~ /^\\[-.]$/ && $format !~ /$date_sep/) {
         $format = join $date_sep, qw(dd mm yy);
         $lax = true;
     }
@@ -47,34 +47,32 @@
     }
     $format_sep ||= $date_sep;
 
-    if (not $lax and ($format_sep ne $date_sep)) {
+    if (!$lax && $format_sep ne $date_sep) {
         $self->_set_failure;
         $self->_set_error("(mismatch between format and date separator)");
         return $self->_get_datetime_object;
     }
 
-    my @separated_order = split /$format_sep/, $format;
+    my @format_order = split /$format_sep/, $format;
 
     my ($d, $m, $y) = do {
-        my %f = map { substr($_, 0, 1) => true } @separated_order;
+        my %f = map { substr($_, 0, 1) => true } @format_order;
         ($f{d}, $f{m}, $f{y});
     };
-    unless (@separated_order == 3 and ($d && $m && $y)) {
+    unless (@format_order == 3 and $d && $m && $y) {
         $self->_set_failure;
         $self->_set_error("('format' parameter invalid)");
         return $self->_get_datetime_object;
     }
 
-    my $separated_index = 0;
-    my $separated_indices = { map { substr($_, 0, 1) => $separated_index++ } @separated_order };
-
-    my @bits = split /$date_sep/, $date;
+    $i = 0;
+    my %format_index = map { substr($_, 0, 1) => $i++ } @format_order;
 
     my $century = $self->{datetime}
                 ? int($self->{datetime}->year / 100)
                 : substr((localtime)[5] + 1900, 0, 2);
 
-    my ($day, $month, $year) = map $bits[$separated_indices->{$_}], qw(d m y);
+    my ($day, $month, $year) = map $date_chunks[$format_index{$_}], qw(d m y);
 
     if (length $year == 2) { $year = "$century$year" };
 

Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm?rev=61258&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm Thu Aug  5 22:06:15 2010
@@ -6,14 +6,16 @@
 #use boolean qw(true false);
 use constant true  => 1;
 use constant false => 0;
+use constant skip  => true;
 
 use DateTime::Format::Natural::Helpers qw(%flag);
 
-our $VERSION = '1.37';
+our $VERSION = '1.38';
 
 our (%init,
      %timespan,
      %units,
+     %suffixes,
      %RE,
      %data_weekdays,
      %data_weekdays_abbrev,
@@ -31,6 +33,7 @@
 %init     = (tokens  => sub {});
 %timespan = (literal => 'to');
 %units    = (ordered => [ qw(second minute hour day week month year) ]);
+%suffixes = (ordinal => join '|', qw(st nd rd th d));
 
 %RE = (number    => qr/^(\d+)$/,
        year      => qr/^(\d{4})$/,
@@ -38,8 +41,8 @@
        time_am   => qr/^((?:\d{1,2})(?:\:\d{2})?)am$/i,
        time_pm   => qr/^((?:\d{1,2})(?:\:\d{2})?)pm$/i,
        time_full => qr/^(\d{1,2}\:\d{2}\:\d{2})$/,
-       day       => qr/^(\d+)(?:st|nd|rd|th)?$/i,
-       monthday  => qr/^(\d{1,2})(?:st|nd|rd|th)?$/i);
+       day       => qr/^(\d+)($suffixes{ordinal})?$/i,
+       monthday  => qr/^(\d{1,2})($suffixes{ordinal})?$/i);
 {
     my $i = 1;
 
@@ -91,13 +94,13 @@
         for => sub {
             my ($date_strings) = @_;
             return (@$date_strings == 1
-                && $date_strings->[0] =~ /^for\s+/i);
+                && $date_strings->[0] =~ /^for \s+/ix);
         },
         first_to_last => sub {
             my ($date_strings) = @_;
             return (@$date_strings == 2
                 && $date_strings->[0] =~ /^first$/i
-                && $date_strings->[1] =~ /^last\s+/i);
+                && $date_strings->[1] =~ /^last \s+/ix);
         },
         date_time_to_time => sub {
             my ($date_strings) = @_;
@@ -130,9 +133,9 @@
 %extended_checks = (
     meridiem => sub
     {
-        my ($captured, $pos, $error) = @_;
-
-        my ($hour) = split /:/, $captured->{$pos->[0]};
+        my ($first_stack, $rest_stack, $pos, $error) = @_;
+
+        my ($hour) = split /:/, $first_stack->{$pos->[0]};
 
         if ($hour == 0) {
             $$error = 'hour zero must be literal 12';
@@ -144,15 +147,59 @@
         }
         return true;
     },
+    ordinal => sub
+    {
+        my ($first_stack, $rest_stack, $pos, $error) = @_;
+
+        my $suffix = do {
+            local $_ = $rest_stack->{$pos->[0]}->[0];
+            defined $_ ? lc $_ : undef;
+        };
+        return skip unless defined $suffix;
+
+        my $numeral = $first_stack->{$pos->[0]};
+
+        my %ordinals = (
+            1 => { regex => qr/^st$/,  suffix => 'st' },
+            2 => { regex => qr/^n?d$/, suffix => 'nd' },
+            3 => { regex => qr/^r?d$/, suffix => 'rd' },
+        );
+
+        my $fail_message = sub { "letter suffix should be '$_[0]'" };
+
+        local $1;
+        if ($numeral == 0) {
+            unless ($suffix eq 'th') {
+                $$error = $fail_message->('th');
+                return false;
+            }
+            return true;
+        }
+        elsif ($numeral =~ /([1-3])$/ && $numeral !~ /1\d$/) {
+            unless ($suffix =~ $ordinals{$1}->{regex}) {
+                $$error = $fail_message->($ordinals{$1}->{suffix});
+                return false;
+            }
+            return true;
+        }
+        elsif ($numeral > 3) {
+            unless ($suffix eq 'th') {
+                $$error = $fail_message->('th');
+                return false;
+            }
+            return true;
+        }
+        return skip; # never reached
+    },
     suffix => sub
     {
-        my ($captured, $pos, $error) = @_;
+        my ($first_stack, $rest_stack, $pos, $error) = @_;
 
         my @checks = (
-            { cond  => sub { $captured->{$pos->[0]} == 1 && $captured->{$pos->[1]} =~ $data_helpers{suffix} },
+            { cond  => sub { $first_stack->{$pos->[0]} == 1 && $first_stack->{$pos->[1]} =~ $data_helpers{suffix} },
               error => "suffix 's' without plural",
             },
-            { cond  => sub { $captured->{$pos->[0]} >  1 && $captured->{$pos->[1]} !~ $data_helpers{suffix} },
+            { cond  => sub { $first_stack->{$pos->[0]} >  1 && $first_stack->{$pos->[1]} !~ $data_helpers{suffix} },
               error => "plural without suffix 's'",
             },
         );
@@ -1015,8 +1062,8 @@
        [ 'REGEXP', 'REGEXP' ],
        [
          { 0 => $RE{monthday}, 1 => $RE{month} },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
                0,
@@ -1032,8 +1079,8 @@
        ],
        [
          { 0 => $RE{month}, 1 => $RE{monthday} },
-         [],
-         [],
+         [ [ 1 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
                1,
@@ -1052,8 +1099,8 @@
        [ 'REGEXP', 'REGEXP', 'REGEXP' ],
        [
          { 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{time} },
-         [],
-         [],
+         [ [ 1 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
                1,
@@ -1067,8 +1114,8 @@
        ],
        [
          { 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{time_am} },
-         [ [ 2 ] ],
-         [ $extended_checks{meridiem} ],
+         [ [ 1 ], [ 2 ] ],
+         [ $extended_checks{ordinal}, $extended_checks{meridiem} ],
          [
            [
                1,
@@ -1084,8 +1131,8 @@
        ],
        [
          { 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{time_pm} },
-         [ [ 2 ] ],
-         [ $extended_checks{meridiem} ],
+         [ [ 1 ], [ 2 ] ],
+         [ $extended_checks{ordinal}, $extended_checks{meridiem} ],
          [
            [
                1,
@@ -1104,8 +1151,8 @@
       [ 'REGEXP', 'REGEXP', 'REGEXP', 'REGEXP', 'SCALAR' ],
       [
         { 0 => $RE{monthday}, 1 => $RE{month}, 2 => $RE{number}, 3 => qr/^(years?)$/i, 4 => 'ago' },
-        [ [ 2, 3 ] ],
-        [ $extended_checks{suffix} ],
+        [ [ 0 ], [ 2, 3 ] ],
+        [ $extended_checks{ordinal}, $extended_checks{suffix} ],
         [
           [
               0,
@@ -1122,8 +1169,8 @@
       [ 'REGEXP', 'REGEXP', 'REGEXP', 'SCALAR' ],
       [
         { 0 => $RE{monthday}, 1 => $RE{month}, 2 => qr/^(next)$/i, 3 => 'year' },
-        [],
-        [],
+        [ [ 0 ] ],
+        [ $extended_checks{ordinal} ],
         [
           [
               0,
@@ -1139,8 +1186,8 @@
       ],
       [
         { 0 => $RE{monthday}, 1 => $RE{month}, 2 => qr/^(this)$/i, 3 => 'year' },
-        [],
-        [],
+        [ [ 0 ] ],
+        [ $extended_checks{ordinal} ],
         [
           [
               0,
@@ -1156,8 +1203,8 @@
       ],
       [
         { 0 => $RE{monthday}, 1 => $RE{month}, 2 => qr/^(last)$/i, 3 => 'year' },
-        [],
-        [],
+        [ [ 0 ] ],
+        [ $extended_checks{ordinal} ],
         [
           [
               0,
@@ -1176,8 +1223,8 @@
        [ 'REGEXP', 'REGEXP', 'REGEXP' ],
        [
          { 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{year} },
-         [],
-         [],
+         [ [ 1 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
                1,
@@ -1850,8 +1897,8 @@
        [ 'REGEXP', 'REGEXP' ],
        [
          { 0 => $RE{day}, 1 => $RE{weekday} },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
                0,
@@ -1867,8 +1914,8 @@
        [ 'REGEXP', 'SCALAR' ],
        [
          { 0 => $RE{day}, 1 => 'day' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              0,
@@ -1884,8 +1931,8 @@
         [ 'REGEXP', 'SCALAR', 'REGEXP', 'SCALAR' ],
         [
           { 0 => $RE{day}, 1 => 'day', 2 => qr/^(next)$/i, 3 => 'year' },
-          [],
-          [],
+          [ [ 0 ] ],
+          [ $extended_checks{ordinal} ],
           [
             [
                 0,
@@ -1898,8 +1945,8 @@
         ],
         [
           { 0 => $RE{day}, 1 => 'day', 2 => qr/^(this)$/i, 3 => 'year' },
-          [],
-          [],
+          [ [ 0 ] ],
+          [ $extended_checks{ordinal} ],
           [
             [
                 0,
@@ -1912,8 +1959,8 @@
         ],
         [
           { 0 => $RE{day}, 1 => 'day', 2 => qr/^(last)$/i, 3 => 'year' },
-          [],
-          [],
+          [ [ 0 ] ],
+          [ $extended_checks{ordinal} ],
           [
             [
                 0,
@@ -2574,8 +2621,8 @@
        [ 'REGEXP', 'SCALAR', 'REGEXP', 'SCALAR' ],
        [
          { 0 => $RE{day}, 1 => 'day', 2 => qr/^(next)$/i, 3 => 'week' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2588,8 +2635,8 @@
        ],
        [
          { 0 => $RE{day}, 1 => 'day', 2 => qr/^(this)$/i, 3 => 'week' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2602,8 +2649,8 @@
        ],
        [
          { 0 => $RE{day}, 1 => 'day', 2 => qr/^(last)$/i, 3 => 'week' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2619,8 +2666,8 @@
        [ 'REGEXP', 'SCALAR', 'REGEXP', 'SCALAR' ],
        [
          { 0 => $RE{day}, 1 => 'day', 2 => qr/^(next)$/i, 3 => 'month' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2633,8 +2680,8 @@
        ],
        [
          { 0 => $RE{day}, 1 => 'day', 2 => qr/^(this)$/i, 3 => 'month' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2647,8 +2694,8 @@
        ],
        [
          { 0 => $RE{day}, 1 => 'day', 2 => qr/^(last)$/i, 3 => 'month' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2754,8 +2801,8 @@
        [ 'REGEXP', 'SCALAR', 'REGEXP', 'SCALAR' ],
        [
          { 0 => $RE{day}, 1 => 'month', 2 => qr/^(next)$/i, 3 => 'year' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2768,8 +2815,8 @@
        ],
        [
          { 0 => $RE{day}, 1 => 'month', 2 => qr/^(this)$/i, 3 => 'year' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2782,8 +2829,8 @@
        ],
        [
          { 0 => $RE{day}, 1 => 'month', 2 => qr/^(last)$/i, 3 => 'year' },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2865,8 +2912,8 @@
        [ 'REGEXP', 'REGEXP', 'REGEXP', 'REGEXP' ],
        [
          { 0 => $RE{day}, 1 => $RE{weekday}, 2 => qr/^(next)$/i, 3 => $RE{month} },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2881,8 +2928,8 @@
        ],
        [
          { 0 => $RE{day}, 1 => $RE{weekday}, 2 => qr/^(this)$/i, 3 => $RE{month} },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -2897,8 +2944,8 @@
        ],
        [
          { 0 => $RE{day}, 1 => $RE{weekday}, 2 => qr/^(last)$/i, 3 => $RE{month} },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { 2 => [ $flag{last_this_next} ] },
@@ -3620,8 +3667,8 @@
        [ 'REGEXP', 'REGEXP', 'REGEXP' ],
        [
          { 0 => $RE{monthday}, 1 => $RE{month}, 2 => $RE{year} },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
                0,
@@ -3635,8 +3682,8 @@
        ],
        [
          { 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{year} },
-         [],
-         [],
+         [ [ 1 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
                1,
@@ -3653,8 +3700,8 @@
        [ 'REGEXP', 'REGEXP', 'SCALAR', 'REGEXP' ],
        [
          { 0 => $RE{day}, 1 => $RE{weekday}, 2 => 'in', 3 => $RE{month} },
-         [],
-         [],
+         [ [ 0 ] ],
+         [ $extended_checks{ordinal} ],
          [
            [
              { VALUE => 0 },




More information about the Pkg-perl-cvs-commits mailing list