summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-11-19 18:46:25 +0100
committerBram Moolenaar <Bram@vim.org>2020-11-19 18:46:25 +0100
commitee8b787bcd15f63a938243770065e704c9b5c85f (patch)
treee37b80b2ec5d0860baf3afbb6270016c8f4db1cb
parent79cdf80bed3192add70882bc0aaeede91cc74300 (diff)
downloadvim-git-8.2.2014.tar.gz
patch 8.2.2014: using CTRL-O in a prompt buffer moves cursor to startv8.2.2014
Problem: Using CTRL-O in a prompt buffer moves cursor to start of the line. Solution: Do not move the cursor when restarting edit. (closes #7330)
-rw-r--r--src/job.c2
-rw-r--r--src/testdir/test_prompt_buffer.vim5
-rw-r--r--src/version.c2
3 files changed, 7 insertions, 2 deletions
diff --git a/src/job.c b/src/job.c
index 5876c28cb..16fc7c767 100644
--- a/src/job.c
+++ b/src/job.c
@@ -1628,7 +1628,7 @@ init_prompt(int cmdchar_todo)
if (cmdchar_todo == 'A')
coladvance((colnr_T)MAXCOL);
- if (cmdchar_todo == 'I' || curwin->w_cursor.col <= (int)STRLEN(prompt))
+ if (curwin->w_cursor.col < (int)STRLEN(prompt))
curwin->w_cursor.col = (int)STRLEN(prompt);
// Make sure the cursor is in a valid position.
check_cursor();
diff --git a/src/testdir/test_prompt_buffer.vim b/src/testdir/test_prompt_buffer.vim
index 00b97f8c8..2a1ae67f5 100644
--- a/src/testdir/test_prompt_buffer.vim
+++ b/src/testdir/test_prompt_buffer.vim
@@ -85,9 +85,12 @@ func Test_prompt_editing()
call term_sendkeys(buf, left . left . left . bs . '-')
call WaitForAssert({-> assert_equal('cmd: -hel', term_getline(buf, 1))})
+ call term_sendkeys(buf, "\<C-O>lz")
+ call WaitForAssert({-> assert_equal('cmd: -hzel', term_getline(buf, 1))})
+
let end = "\<End>"
call term_sendkeys(buf, end . "x")
- call WaitForAssert({-> assert_equal('cmd: -helx', term_getline(buf, 1))})
+ call WaitForAssert({-> assert_equal('cmd: -hzelx', term_getline(buf, 1))})
call term_sendkeys(buf, "\<C-U>exit\<CR>")
call WaitForAssert({-> assert_equal('other buffer', term_getline(buf, 1))})
diff --git a/src/version.c b/src/version.c
index 3f5cd797c..55dcf0d99 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 */
/**/
+ 2014,
+/**/
2013,
/**/
2012,