From 3741a71cc5958b96d9c8f89a80e55630b09d0a23 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Sun, 18 Jun 2017 15:38:33 -0400 Subject: [PATCH] Check bounds on LastVisualX Fixes #708 --- cmd/micro/cursor.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmd/micro/cursor.go b/cmd/micro/cursor.go index 2682dee4..353f1d3e 100644 --- a/cmd/micro/cursor.go +++ b/cmd/micro/cursor.go @@ -337,6 +337,9 @@ func (c *Cursor) GetCharPosInLine(lineNum, visualPos int) int { func (c *Cursor) GetVisualX() int { runes := []rune(c.buf.Line(c.Y)) tabSize := int(c.buf.Settings["tabsize"].(float64)) + if c.X > len(runes) { + c.X = len(runes) - 1 + } return StringWidth(string(runes[:c.X]), tabSize) }