[BACK]Return to Todo.pm CVS log [TXT][DIR] Up to [local] / todotxt / Text-Todo / lib / Text

Diff for /todotxt/Text-Todo/lib/Text/Todo.pm between version 1.10 and 1.13

version 1.10, 2010/01/09 20:41:45 version 1.13, 2010/01/10 07:07:46
Line 1 
Line 1 
 package Text::Todo;  package Text::Todo;
   
 # $RedRiver: Todo.pm,v 1.9 2010/01/09 06:54:15 andrew Exp $  # $RedRiver: Todo.pm,v 1.12 2010/01/10 04:08:59 andrew Exp $
   
 use warnings;  use warnings;
 use strict;  use strict;
Line 28 
Line 28 
             todo_dir    => undef,              todo_dir    => undef,
             todo_file   => 'todo.txt',              todo_file   => 'todo.txt',
             done_file   => undef,              done_file   => undef,
             report_file => undef,  
         };          };
   
         if ($options) {          if ($options) {
Line 38 
Line 37 
                         $self->_path_to( $opt, $options->{$opt} );                          $self->_path_to( $opt, $options->{$opt} );
                     }                      }
                     else {                      else {
                         carp "Invalid option [$opt]";                          #carp "Invalid option [$opt]";
                     }                      }
                 }                  }
             }              }
Line 160 
Line 159 
         open my $fh, '<', $file or croak "Couldn't open [$file]: $!";          open my $fh, '<', $file or croak "Couldn't open [$file]: $!";
         while (<$fh>) {          while (<$fh>) {
             s/\r?\n$//xms;              s/\r?\n$//xms;
             next if !length $_;  
             push @list, Text::Todo::Entry->new($_);              push @list, Text::Todo::Entry->new($_);
         }          }
         close $fh or croak "Couldn't close [$file]: $!";          close $fh or croak "Couldn't close [$file]: $!";
Line 276 
Line 274 
             return;              return;
         }          }
   
         my $archived = 0;          my $changed = 0;
     ENTRY: foreach my $e ( $self->list ) {      ENTRY: foreach my $e ( $self->list ) {
             if ( $e->done ) {              if ( $e->done ) {
                 if ( $self->addto( 'done_file', $e ) && $self->del($e) ) {                  if ( $self->addto( 'done_file', $e ) && $self->del($e) ) {
                     $archived++;                      $changed++;
                 }                  }
                 else {                  else {
                     carp q{Couldn't archive entry [} . $e->text . ']';                      carp q{Couldn't archive entry [} . $e->text . ']';
                     last ENTRY;                      last ENTRY;
                 }                  }
             }              }
               elsif ($e->text eq q{}) {
                   if ($self->del($e)) {
                       $changed++;
                   }
                   else {
                       carp q{Couldn't delete blank entry};
                       last ENTRY;
                   }
               }
         }          }
   
         if ($archived) {          if ($changed) {
             $self->save;              $self->save;
         }          }
   
         return $archived;          return $changed;
     }      }
   
     sub addto {      sub addto {
Line 566 
Line 573 
 =head1 BUGS AND LIMITATIONS  =head1 BUGS AND LIMITATIONS
   
 No bugs have been reported.  No bugs have been reported.
   
   Limitations:
   
   Currently there isn't an easy way to print out line numbers with the entry.
   
 Please report any bugs or feature requests to  Please report any bugs or feature requests to
 C<bug-text-todo@rt.cpan.org>, or through the web interface at  C<bug-text-todo@rt.cpan.org>, or through the web interface at

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.13

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>