From 548284b1ff30fb349822886281fd44a371b73b41 Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Fri, 2 Jan 2026 03:40:51 -0500 Subject: fix invalid null yank at end of file --- main.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 80628d4..d01405a 100644 --- a/main.c +++ b/main.c @@ -1367,6 +1367,7 @@ void yank_range(Editor *e, TxtLoc start, TxtLoc end) { end = t; } Str s = txt_collect_range(start, end, &e->scratch); + if (!s.n) return; e->yank.s = realloc(e->yank.s, s.n); if (!e->yank.s) FAIL_WITH_MSG("couldn't reallocate clipboard"); memcpy(e->yank.s, s.s, s.n); @@ -1475,12 +1476,13 @@ void mode_key_normal(Editor *e, u32 c) { e->mode = 1; break; case 'x': - yank_range(e, eb->cur, cnext(eb->cur)); - eb->cur = txt_delete_c(cnext(eb->cur)); + if (!at_end(eb->cur)) { + yank_range(e, eb->cur, cnext(eb->cur)); + eb->cur = txt_delete_c(cnext(eb->cur)); + } break; case 's': - yank_range(e, eb->cur, cnext(eb->cur)); - eb->cur = txt_delete_c(cnext(eb->cur)); + mode_key_normal(e, 'x'); e->mode = 1; break; case 'r': -- cgit v1.2.3