summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-10-31 19:20:36 +0100
committerBram Moolenaar <Bram@vim.org>2014-10-31 19:20:36 +0100
commit2f31e399780f434c9635a1da969020824440e03b (patch)
tree37f34877a340a805d7ea6158bb720eccdf1d08cb /src
parentb851a96d5c201291d9e955afaf55979b3e410f9f (diff)
downloadvim-git-2f31e399780f434c9635a1da969020824440e03b.tar.gz
updated for version 7.4.492v7.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)
Diffstat (limited to 'src')
-rw-r--r--src/edit.c8
-rw-r--r--src/testdir/test4.in3
-rw-r--r--src/testdir/test4.ok3
-rw-r--r--src/version.c2
4 files changed, 14 insertions, 2 deletions
diff --git a/src/edit.c b/src/edit.c
index 8243890c5..ee63daa1c 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -6916,8 +6916,12 @@ stop_insert(end_insert_pos, esc, nomove)
}
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 4aa2fe5a8..b8bd9fc9c 100644
--- a/src/testdir/test4.in
+++ b/src/testdir/test4.in
@@ -17,6 +17,9 @@ othis should be auto-indented
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 dffecda4d..d032e4c31 100644
--- a/src/testdir/test4.ok
+++ b/src/testdir/test4.ok
@@ -15,3 +15,6 @@ vim: set noai :
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 71258da12..69538140c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 492,
+/**/
491,
/**/
490,