--- ISelect.pm 2007/10/25 19:21:12 16 +++ ISelect.pm 2007/10/25 20:21:43 20 @@ -80,6 +80,9 @@ my $cols = $self->screen->cols; my $t = shift; + + $t =~ s/{s}//; + $t = '' unless defined $t; $t = substr($t,0,$cols) if length($t) > $cols; return $t . (" " x ($cols - length($t))); @@ -176,18 +179,18 @@ if ( $pos > 0 ) { $top_screen_line--; $pos--; + $self->redraw_screen; } else { $self->error_text( "Already at Begin." ); } - $self->redraw_screen; } elsif ( $d > 0 && $screen_line == $last_screen_line ) { if ( $pos < $nr_lines ) { $top_screen_line++; $pos++; + $self->redraw_screen; } else { $self->error_text( "Already at End." ); } - $self->redraw_screen; } else { $pos += $d; } @@ -221,7 +224,7 @@ my $callback = shift; confess "expect callback as first arg" unless ref($callback) eq 'CODE'; - my @lines = $self->lines; + my @lines = @{ $self->lines }; # find which lines are selectable in input file for my $l (0 .. $#lines) {