patch 8.2.2732: prompt for s///c in Ex mode can be wrong
Problem: Prompt for s///c in Ex mode can be wrong.
Solution: Position the cursor before showing the prompt. (closes #8073)
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 90a9403..6cd54d2 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4153,6 +4153,7 @@
if (curwin->w_cursor.col < 0)
curwin->w_cursor.col = 0;
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
+ curwin->w_cursor.col = regmatch.startpos[0].col;
if (subflags.do_number || curwin->w_p_nu)
{
int numw = number_width(curwin) + 1;
diff --git a/src/testdir/test_ex_mode.vim b/src/testdir/test_ex_mode.vim
index ffde11e..a761cbf 100644
--- a/src/testdir/test_ex_mode.vim
+++ b/src/testdir/test_ex_mode.vim
@@ -77,6 +77,9 @@
call WaitForAssert({-> assert_match(' 1 foo foo', term_getline(buf, 5))},
\ 1000)
call WaitForAssert({-> assert_match(' ^^^', term_getline(buf, 6))}, 1000)
+ call term_sendkeys(buf, "N\<CR>")
+ call term_wait(buf)
+ call WaitForAssert({-> assert_match(' ^^^', term_getline(buf, 6))}, 1000)
call term_sendkeys(buf, "n\<CR>")
call WaitForAssert({-> assert_match(' ^^^', term_getline(buf, 6))},
\ 1000)
diff --git a/src/version.c b/src/version.c
index 7a865de..0bf9073 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2732,
+/**/
2731,
/**/
2730,