diff --git a/source_text.lua b/source_text.lua index a1c7e6c..a4175c3 100644 --- a/source_text.lua +++ b/source_text.lua @@ -907,7 +907,8 @@ function Text.nearest_pos_less_than(line, x) end function Text.x_after(s, pos) - local offset = Text.offset(s, math.min(pos+1, #s+1)) + local len = utf8.len(s) + local offset = Text.offset(s, math.min(pos+1, len+1)) local s_before = s:sub(1, offset-1) --? print('^'..s_before..'$') return App.width(s_before) diff --git a/text.lua b/text.lua index f1f6e48..f07cf48 100644 --- a/text.lua +++ b/text.lua @@ -771,7 +771,8 @@ function Text.nearest_pos_less_than(line, x) end function Text.x_after(s, pos) - local offset = Text.offset(s, math.min(pos+1, #s+1)) + local len = utf8.len(s) + local offset = Text.offset(s, math.min(pos+1, len+1)) local s_before = s:sub(1, offset-1) --? print('^'..s_before..'$') return App.width(s_before)