summaryrefslogtreecommitdiffstats
path: root/lib/Language/TECO.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Language/TECO.pm')
-rw-r--r--lib/Language/TECO.pm16
1 files changed, 1 insertions, 15 deletions
diff --git a/lib/Language/TECO.pm b/lib/Language/TECO.pm
index 46f0918..ff11e4f 100644
--- a/lib/Language/TECO.pm
+++ b/lib/Language/TECO.pm
@@ -191,21 +191,7 @@ sub execute {
$self->num(1);
}
my $num = $self->num;
- if ($num > 0) {
- my $regex = "(?:.*(?:\n|\$)){$num}";
- pos $self->{buffer}->{buffer} = $self->{buffer}->{pointer};
- $self->{buffer}->{buffer} =~ /$regex/g;
- $self->{buffer}->print($self->{buffer}->{pointer},
- $+[0]);
- }
- else {
- $num = -$num;
- my $rev = reverse $self->{buffer}->{buffer};
- my $regex = ".*?(?:\n.*?){$num}(?=\n|\$)";
- pos $rev = length($self->{buffer}->{buffer}) - $self->{buffer}->{pointer};
- $rev =~ /$regex/sg;
- $self->{buffer}->print(length($self->{buffer}->{buffer}) - $+[0], $self->{buffer}->{pointer});
- }
+ $self->{buffer}->print($self->{buffer}->get_line_offset($num));
}
});
}