summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/getchar.c2
-rw-r--r--src/testdir/test_functions.vim4
-rw-r--r--src/version.c2
3 files changed, 7 insertions, 1 deletions
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\\<BS>y\")\<CR>\<CR>", 'xt')
call assert_equal('y', c)
+ " Test for using text with composing characters as default input
+ call feedkeys(":let c = input('name? ', \"ã̳\")\<CR>\<CR>", 'xt')
+ call assert_equal('ã̳', c)
+
" Test for using <CR> as default input
call feedkeys(":let c = input('name? ', \"\\<CR>\")\<CR>x\<CR>", '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
@@ -735,6 +735,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 5058,
+/**/
5057,
/**/
5056,