diff --git a/src/getchar.c b/src/getchar.c index 55fad1cb29..03d90ac87e 100644 --- a/src/getchar.c +++ b/src/getchar.c @@ -669,7 +669,7 @@ stuffReadbuffSpec(char_u *s) } else { - c = mb_ptr2char_adv(&s); + c = mb_cptr2char_adv(&s); if (c == CAR || c == NL || c == ESC) c = ' '; stuffcharReadbuff(c); diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index af07a64243..f55e846fa5 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -1545,6 +1545,10 @@ func Test_input_func() call feedkeys(":let c = input('name? ', \"x\\y\")\\", 'xt') call assert_equal('y', c) + " Test for using text with composing characters as default input + call feedkeys(":let c = input('name? ', \"ã̳\")\\", 'xt') + call assert_equal('ã̳', c) + " Test for using as default input call feedkeys(":let c = input('name? ', \"\\\")\x\", 'xt') call assert_equal(' x', c) diff --git a/src/version.c b/src/version.c index 254b5f1f8d..744fad6612 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 5058, /**/ 5057, /**/