about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--source_text.lua3
-rw-r--r--text.lua3
2 files changed, 4 insertions, 2 deletions
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)