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:
committed by
Bram Moolenaar
parent
4eb1914e1b
commit
5cf94577cf
@@ -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;
|
||||
|
@@ -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)
|
||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2875,
|
||||
/**/
|
||||
2874,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user