summaryrefslogtreecommitdiffstats
path: root/lib/Language/TECO/Buffer.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Language/TECO/Buffer.pm')
-rw-r--r--lib/Language/TECO/Buffer.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Language/TECO/Buffer.pm b/lib/Language/TECO/Buffer.pm
index 5d45397..e2b7945 100644
--- a/lib/Language/TECO/Buffer.pm
+++ b/lib/Language/TECO/Buffer.pm
@@ -17,8 +17,8 @@ sub endpos { length shift->{buffer} }
sub buffer {
my $self = shift;
my ($start, $end) = @_;
- $start = 0 unless defined $start;
- $end = $self->endpos unless defined $end;
+ $start = 0 if !defined $start || $start < 0;
+ $end = $self->endpos if !defined $end || $end > $self->endpos;
($start, $end) = ($end, $start) if $start > $end;
return substr $self->{buffer}, $start, $end - $start;
}