From 5d32fe1b077d9b61c90b122cb342864ce0d533ad Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Sat, 3 Jan 2026 01:57:50 -0500 Subject: fix some unicode issues in line_edit --- main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index bac7fac..8156bb0 100644 --- a/main.c +++ b/main.c @@ -695,6 +695,7 @@ static LineEditStatus line_edit(LineEditor *le, u32 c) { e.input_prompt = (Str) { 0, 0 }; return LEDIT_EMPTY; case KEY_BKSP: + while (le->s.n > 0 && (le->s.v[le->s.n-1] & 0xc0) == 0x80) le->s.n--; if (le->s.n > 0) le->s.n--; break; case 0x17 /* ^W */: @@ -705,7 +706,7 @@ static LineEditStatus line_edit(LineEditor *le, u32 c) { if (c > 0 && c <= KEY_UTF8_MAX && c >= ' ') { u32 n = utf8_encode_len(&c, 1); DA_AFIT(&le->s, le->a, le->s.n + n); - utf8_encode(&le->s.v[le->s.n], &c, n); + utf8_encode(&le->s.v[le->s.n], &c, 1); le->s.n += n; } e.opti = 0; -- cgit v1.2.3