about summary refs log tree commit diff stats
path: root/edit.lua
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2023-03-26 08:17:31 -0700
committerKartik K. Agaram <vc@akkartik.com>2023-03-26 08:19:40 -0700
commit0ae94b0de59618bb86a55edcaa8e961abb192f2d (patch)
tree023dec99a847c8a9e0d03cd962f4d61beca4d86e /edit.lua
parent7f433753b6f84e1107a2c3298ade3b309c493795 (diff)
downloadtext.love-0ae94b0de59618bb86a55edcaa8e961abb192f2d.tar.gz
bugfix
Diffstat (limited to 'edit.lua')
-rw-r--r--edit.lua10
1 files changed, 6 insertions, 4 deletions
diff --git a/edit.lua b/edit.lua
index c05a2e5..38c2883 100644
--- a/edit.lua
+++ b/edit.lua
@@ -491,10 +491,12 @@ function edit.keychord_press(State, chord, key)
         record_undo_event(State, {before=before, after=snapshot(State, State.lines.current_drawing_index)})
       elseif chord == 'backspace' then
         local len = utf8.len(p.name)
-        local byte_offset = Text.offset(p.name, len-1)
-        if len == 1 then byte_offset = 0 end
-        p.name = string.sub(p.name, 1, byte_offset)
-        record_undo_event(State, {before=before, after=snapshot(State, State.lines.current_drawing_index)})
+        if len > 0 then
+          local byte_offset = Text.offset(p.name, len-1)
+          if len == 1 then byte_offset = 0 end
+          p.name = string.sub(p.name, 1, byte_offset)
+          record_undo_event(State, {before=before, after=snapshot(State, State.lines.current_drawing_index)})
+        end
       end
     end
     schedule_save(State)