1
0
forked from aniani/vim

patch 8.2.2875: cancelling inputlist() after a digit does not return zero

Problem:    Cancelling inputlist() after a digit does not return zero.
Solution:   Always return zero when cancelling. (closes #8231)
This commit is contained in:
=?UTF-8?q?Luka=20Marku=C5=A1i=C4=87?=
2021-05-20 21:14:20 +02:00
committed by Bram Moolenaar
parent 4eb1914e1b
commit 5cf94577cf
3 changed files with 12 additions and 1 deletions

View File

@@ -946,7 +946,12 @@ get_number(
do_redraw = FALSE;
break;
}
else if (c == CAR || c == NL || c == Ctrl_C || c == ESC || c == 'q')
else if (c == Ctrl_C || c == ESC || c == 'q')
{
n = 0;
break;
}
else if (c == CAR || c == NL )
break;
}
--no_mapping;

View File

@@ -1480,6 +1480,10 @@ func Test_inputlist()
call feedkeys(":let c = inputlist(['Select color:', '1. red', '2. green', '3. blue'])\<cr>q", 'tx')
call assert_equal(0, c)
" Cancel after inputting a number
call feedkeys(":let c = inputlist(['Select color:', '1. red', '2. green', '3. blue'])\<cr>5q", 'tx')
call assert_equal(0, c)
" Use backspace to delete characters in the prompt
call feedkeys(":let c = inputlist(['Select color:', '1. red', '2. green', '3. blue'])\<cr>1\<BS>3\<BS>2\<cr>", 'tx')
call assert_equal(2, c)

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2875,
/**/
2874,
/**/