summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Language/TECO/Buffer.pm4
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) = '';
}