From cec7d3749396d13f8d8b370d0746bc239253e288 Mon Sep 17 00:00:00 2001 From: jluehrs2 Date: Sat, 24 May 2008 20:21:06 -0500 Subject: clean up handling of the num accessor a bit --- lib/Language/TECO.pm | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) (limited to 'lib') diff --git a/lib/Language/TECO.pm b/lib/Language/TECO.pm index 68f117c..454f3b5 100644 --- a/lib/Language/TECO.pm +++ b/lib/Language/TECO.pm @@ -4,7 +4,7 @@ use strict; use warnings; use Language::TECO::Buffer; use base 'Class::Accessor::Fast'; -Language::TECO->mk_accessors qw/at colon negate want_num ret/; +Language::TECO->mk_accessors qw/num at colon negate want_num ret/; Language::TECO->mk_ro_accessors qw/buf/; sub new { @@ -19,13 +19,13 @@ sub new { sub buffer { shift->buf->buffer(@_) } sub pointer { shift->buf->curpos } sub buflen { shift->buf->endpos } -sub has_range { defined shift->{n2} } +sub has_range { defined shift->{num2} } sub reset { my $self = shift; - $self->{n1} = undef; - $self->{n2} = undef; + $self->{num} = undef; + $self->{num2} = undef; $self->{at} = 0; $self->{colon} = 0; @@ -44,23 +44,14 @@ sub clear_ret { shift->{ret} = '' } sub num { my $self = shift; - - if (@_) { - my $num = shift; - if ($self->negate) { - $num = -$num; - $self->negate(0); - } - $self->{n1} = $num; + if (@_ && $self->negate) { + @_ = (-$_[0]); + $self->negate(0); } - else { - if (wantarray && $self->has_range) { - return ($self->{n2}, $self->{n1}); - } - else { - return $self->{n1}; - } + if (wantarray && $self->has_range) { + return ($self->{num2}, $self->_num_accessor(@_)); } + return $self->_num_accessor(@_); } sub get_string { @@ -119,7 +110,7 @@ sub try_cmd { my $need_reset = 1; if ($command =~ s/^,//) { - $self->{n2} = $self->num; + $self->{num2} = $self->num; $self->num(undef); $self->want_num(1); $need_reset = 0; -- cgit v1.2.3-54-g00ecf