From 8ae8fae4001873515c2465ca05b8ac77a35a72e5 Mon Sep 17 00:00:00 2001
From: Peter Stephenson
Date: Thu, 8 Aug 2013 20:10:06 +0100
Subject: 31644: Fix insertion of multibyte characters into editor line. This
was broken for a string that came from outside ZLE in the case where the
editing buffer wasn't metafied, i.e. not in completion.
---
Src/Zle/zle_tricky.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'Src')
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 610055c64..e30e0b1aa 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -2136,8 +2136,8 @@ inststrlen(char *str, int move, int len)
return 0;
if (len == -1)
len = strlen(str);
- spaceinline(len);
if (zlemetaline != NULL) {
+ spaceinline(len);
strncpy(zlemetaline + zlemetacs, str, len);
if (move)
zlemetacs += len;
@@ -2148,6 +2148,7 @@ inststrlen(char *str, int move, int len)
instr = ztrduppfx(str, len);
zlestr = stringaszleline(instr, 0, &zlelen, NULL, NULL);
+ spaceinline(zlelen);
ZS_strncpy(zleline + zlecs, zlestr, zlelen);
free(zlestr);
zsfree(instr);
--
cgit 1.4.1