aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ops.c
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2022-08-18 23:29:47 -0600
committerJosh Rahm <joshuarahm@gmail.com>2022-08-18 23:29:47 -0600
commitb7362a2daf0eb434fffd2aaec7cfe8c12b0ed6d1 (patch)
treefc7cd5c62a6a6e11dacd8d5c67fe86e3d12985a7 /src/nvim/ops.c
parentb9a0252822e3969574d4e07e7e85b8292ef5bae0 (diff)
downloadrneovim-b7362a2daf0eb434fffd2aaec7cfe8c12b0ed6d1.tar.gz
rneovim-b7362a2daf0eb434fffd2aaec7cfe8c12b0ed6d1.tar.bz2
rneovim-b7362a2daf0eb434fffd2aaec7cfe8c12b0ed6d1.zip
Fix messaging aronud yanking to support multibyte chars.
Diffstat (limited to 'src/nvim/ops.c')
-rw-r--r--src/nvim/ops.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index af7b9e007a..6f682fc7a1 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -3105,7 +3105,11 @@ static void op_yank_reg(oparg_T *oap, bool message, yankreg_T *reg, bool append)
if (oap->regname == NUL) {
*namebuf = NUL;
} else {
- vim_snprintf(namebuf, sizeof(namebuf), _(" into \"%c"), oap->regname);
+ char buf[5];
+ int len = (*utf_char2len) (oap->regname);
+ utf_char2bytes(oap->regname, buf);
+ buf[len] = 0;
+ vim_snprintf(namebuf, sizeof(namebuf), _(" into \"%s"), buf);
}
// redisplay now, so message is not deleted