summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/edit.c7
-rw-r--r--src/testdir/test_prompt_buffer.vim8
-rw-r--r--src/version.c2
3 files changed, 15 insertions, 2 deletions
diff --git a/src/edit.c b/src/edit.c
index 73e833752..934f6c198 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -3946,8 +3946,11 @@ ins_bs(
#endif
((curwin->w_cursor.lnum == 1 && curwin->w_cursor.col == 0)
|| (!can_bs(BS_START)
- && (arrow_used
- || (curwin->w_cursor.lnum == Insstart_orig.lnum
+ && ((arrow_used
+#ifdef FEAT_JOB_CHANNEL
+ && !bt_prompt(curbuf)
+#endif
+ ) || (curwin->w_cursor.lnum == Insstart_orig.lnum
&& curwin->w_cursor.col <= Insstart_orig.col)))
|| (!can_bs(BS_INDENT) && !arrow_used && ai_col > 0
&& curwin->w_cursor.col <= ai_col)
diff --git a/src/testdir/test_prompt_buffer.vim b/src/testdir/test_prompt_buffer.vim
index 8c266ebe6..00b97f8c8 100644
--- a/src/testdir/test_prompt_buffer.vim
+++ b/src/testdir/test_prompt_buffer.vim
@@ -122,6 +122,14 @@ func Test_prompt_garbage_collect()
bwipe!
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
func Test_prompt_buffer_edit()
new
diff --git a/src/version.c b/src/version.c
index 872c25a9b..28f95cfbb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1976,
+/**/
1975,
/**/
1974,