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,