updated for version 7.4.492
Problem: In Insert mode, after inserting a newline that inserts a comment
leader, CTRL-O moves to the right. (ZyX) Issue 57.
Solution: Correct the condition for moving the cursor back to the NUL.
(Christian Brabandt)
diff --git a/src/edit.c b/src/edit.c
index 8243890..ee63daa 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -6916,8 +6916,12 @@
}
if (curwin->w_cursor.lnum != tpos.lnum)
curwin->w_cursor = tpos;
- else if (cc != NUL)
- ++curwin->w_cursor.col; /* put cursor back on the NUL */
+ else
+ {
+ tpos.col++;
+ if (cc != NUL && gchar_pos(&tpos) == NUL)
+ ++curwin->w_cursor.col; /* put cursor back on the NUL */
+ }
/* <C-S-Right> may have started Visual mode, adjust the position for
* deleted characters. */
diff --git a/src/testdir/test4.in b/src/testdir/test4.in
index 4aa2fe5..b8bd9fc 100644
--- a/src/testdir/test4.in
+++ b/src/testdir/test4.in
@@ -17,6 +17,9 @@
G?this is a
othis should be in column 1:wq " append text without autoindent to Xxx
G:r Xxx " include Xxx in the current file
+:set fo+=r " issue #57 do not move cursor on <c-o> when autoindent is set
+Go# abcdef2hi
+d0o# abcdef2hid0
:?startstart?,$w! test.out
:qa!
ENDTEST
diff --git a/src/testdir/test4.ok b/src/testdir/test4.ok
index dffecda..d032e4c 100644
--- a/src/testdir/test4.ok
+++ b/src/testdir/test4.ok
@@ -15,3 +15,6 @@
this is a test
this should be in column 1
end of test file Xxx
+# abc
+def
+def
diff --git a/src/version.c b/src/version.c
index 71258da..6953814 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 492,
+/**/
491,
/**/
490,