diff options
author | jluehrs2 <jluehrs2@uiuc.edu> | 2008-05-24 17:20:33 -0500 |
---|---|---|
committer | jluehrs2 <jluehrs2@uiuc.edu> | 2008-05-24 17:20:33 -0500 |
commit | 57e912eefc5bebd9b0f9f4dcaa53689620965f8d (patch) | |
tree | d4bc30ffc6cefb960ec2e9800e9847a605d9734d | |
parent | 84aa60a8815d3a35a0cfebe5f9973eff837d1c19 (diff) | |
download | language-teco-57e912eefc5bebd9b0f9f4dcaa53689620965f8d.tar.gz language-teco-57e912eefc5bebd9b0f9f4dcaa53689620965f8d.zip |
make indexing off the ends of the buffer do the right thing
-rw-r--r-- | lib/Language/TECO/Buffer.pm | 4 |
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; } |