diff --git a/cmd/micro/buffer.go b/cmd/micro/buffer.go index 6b908f9c..c902345d 100644 --- a/cmd/micro/buffer.go +++ b/cmd/micro/buffer.go @@ -269,7 +269,7 @@ func (b *Buffer) Start() Loc { // End returns the location of the last character in the buffer func (b *Buffer) End() Loc { - return Loc{utf8.RuneCount(b.lines[len(b.lines)-1]), b.NumLines - 1} + return Loc{utf8.RuneCount(b.lines[b.NumLines-1]), b.NumLines - 1} } // Line returns a single line diff --git a/cmd/micro/loc.go b/cmd/micro/loc.go index 59d4893a..d0bee09f 100644 --- a/cmd/micro/loc.go +++ b/cmd/micro/loc.go @@ -85,7 +85,7 @@ func (l Loc) LessEqual(b Loc) bool { func (l Loc) right(buf *Buffer) Loc { if l == buf.End() { - return l + return Loc{l.X + 1, l.Y} } var res Loc if l.X < Count(buf.Line(l.Y)) { @@ -97,7 +97,7 @@ func (l Loc) right(buf *Buffer) Loc { } func (l Loc) left(buf *Buffer) Loc { if l == buf.Start() { - return l + return Loc{l.X - 1, l.Y} } var res Loc if l.X > 0 {