0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 8.2.1976: cannot backspace in prompt buffer after using cursor-left

Problem:    Cannot backspace in prompt buffer after using cursor-left. (Maxim
            Kim)
Solution:   Ignore "arrow_used" in a prompt buffer. (closes #7281)
This commit is contained in:
Bram Moolenaar
2020-11-11 20:52:40 +01:00
parent bbf9f344af
commit 6f6244855f
3 changed files with 15 additions and 2 deletions

View File

@@ -3946,8 +3946,11 @@ ins_bs(
#endif #endif
((curwin->w_cursor.lnum == 1 && curwin->w_cursor.col == 0) ((curwin->w_cursor.lnum == 1 && curwin->w_cursor.col == 0)
|| (!can_bs(BS_START) || (!can_bs(BS_START)
&& (arrow_used && ((arrow_used
|| (curwin->w_cursor.lnum == Insstart_orig.lnum #ifdef FEAT_JOB_CHANNEL
&& !bt_prompt(curbuf)
#endif
) || (curwin->w_cursor.lnum == Insstart_orig.lnum
&& curwin->w_cursor.col <= Insstart_orig.col))) && curwin->w_cursor.col <= Insstart_orig.col)))
|| (!can_bs(BS_INDENT) && !arrow_used && ai_col > 0 || (!can_bs(BS_INDENT) && !arrow_used && ai_col > 0
&& curwin->w_cursor.col <= ai_col) && curwin->w_cursor.col <= ai_col)

View File

@@ -122,6 +122,14 @@ func Test_prompt_garbage_collect()
bwipe! bwipe!
endfunc endfunc
func Test_prompt_backspace()
new
set buftype=prompt
call feedkeys("A123456\<Left>\<BS>\<Esc>", 'xt')
call assert_equal('% 12346', getline(1))
bwipe!
endfunc
" Test for editing the prompt buffer " Test for editing the prompt buffer
func Test_prompt_buffer_edit() func Test_prompt_buffer_edit()
new new

View File

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