diff options
author | jluehrs2 <jluehrs2@uiuc.edu> | 2008-05-22 11:34:31 -0500 |
---|---|---|
committer | jluehrs2 <jluehrs2@uiuc.edu> | 2008-05-22 11:34:31 -0500 |
commit | bdc063779a1387312b7d4020123ce4a319061594 (patch) | |
tree | a26ef59dcd54e94c58e5cc7b9b2829b0423ebc31 | |
parent | ad82f647a16c45719e81d190164f94e9348013e3 (diff) | |
download | language-teco-bdc063779a1387312b7d4020123ce4a319061594.tar.gz language-teco-bdc063779a1387312b7d4020123ce4a319061594.zip |
add error handling for the delete command
-rw-r--r-- | lib/Language/TECO/Buffer.pm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Language/TECO/Buffer.pm b/lib/Language/TECO/Buffer.pm index 9ed6d44..bc0f7c8 100644 --- a/lib/Language/TECO/Buffer.pm +++ b/lib/Language/TECO/Buffer.pm @@ -34,8 +34,10 @@ sub delete { my $length = shift; if ($length < 0) { $length = -$length; - $self->{pointer} -= $length; + $self->offset(-$length); } + die "Pointer off page" + if $self->{pointer} + $length > length $self->{buffer}; substr($self->{buffer}, $self->{pointer}, $length) = ''; } |