summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2013-11-04 04:20:33 +0100
committerBram Moolenaar <bram@vim.org>2013-11-04 04:20:33 +0100
commit4f34f4da0a113d8a55b45e04ffec1a046c226ed5 (patch)
treedb43c30cd7cddc4d88f0bafb6de09c26347d38fd
parente6f1b8dca00284529e7e59025f897bdc5cb52420 (diff)
downloadvim-4f34f4da0a113d8a55b45e04ffec1a046c226ed5.tar.gz
updated for version 7.4.067v7.4.067v7-4-067
Problem: After inserting comment leader, CTRL-\ CTRL-O does move the cursor. (Wiktor Ruben) Solution: Avoid moving the cursor. (Christian Brabandt)
-rw-r--r--src/edit.c11
-rw-r--r--src/version.c2
2 files changed, 8 insertions, 5 deletions
diff --git a/src/edit.c b/src/edit.c
index d2f058a9..02d82252 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -199,7 +199,7 @@ static void check_spell_redraw __ARGS((void));
static void spell_back_to_badword __ARGS((void));
static int spell_bad_len = 0; /* length of located bad word */
#endif
-static void stop_insert __ARGS((pos_T *end_insert_pos, int esc));
+static void stop_insert __ARGS((pos_T *end_insert_pos, int esc, int nomove));
static int echeck_abbr __ARGS((int));
static int replace_pop __ARGS((void));
static void replace_join __ARGS((int off));
@@ -6698,7 +6698,7 @@ start_arrow(end_insert_pos)
if (!arrow_used) /* something has been inserted */
{
AppendToRedobuff(ESC_STR);
- stop_insert(end_insert_pos, FALSE);
+ stop_insert(end_insert_pos, FALSE, FALSE);
arrow_used = TRUE; /* this means we stopped the current insert */
}
#ifdef FEAT_SPELL
@@ -6787,9 +6787,10 @@ stop_arrow()
* to another window/buffer.
*/
static void
-stop_insert(end_insert_pos, esc)
+stop_insert(end_insert_pos, esc, nomove)
pos_T *end_insert_pos;
int esc; /* called by ins_esc() */
+ int nomove; /* <c-\><c-o>, don't move cursor */
{
int cc;
char_u *ptr;
@@ -6860,7 +6861,7 @@ stop_insert(end_insert_pos, esc)
* Do this when ESC was used or moving the cursor up/down.
* Check for the old position still being valid, just in case the text
* got changed unexpectedly. */
- if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
+ if (!nomove && did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL
&& curwin->w_cursor.lnum != end_insert_pos->lnum))
&& end_insert_pos->lnum <= curbuf->b_ml.ml_line_count)
{
@@ -8377,7 +8378,7 @@ ins_esc(count, cmdchar, nomove)
disabled_redraw = TRUE;
return FALSE; /* repeat the insert */
}
- stop_insert(&curwin->w_cursor, TRUE);
+ stop_insert(&curwin->w_cursor, TRUE, nomove);
undisplay_dollar();
}
diff --git a/src/version.c b/src/version.c
index 615d86db..93faccbd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 67,
+/**/
66,
/**/
65,