diff --git a/src/edit.c b/src/edit.c index 1b81413860de93a9327ae7490a078c7178ee352e..1396c10d7b419e05f858d694a0c29d7ee4a15b8f 100644 --- a/src/edit.c +++ b/src/edit.c @@ -152,7 +152,7 @@ static int cindent_on __ARGS((void)); static void ins_reg __ARGS((void)); static void ins_ctrl_g __ARGS((void)); static void ins_ctrl_hat __ARGS((void)); -static int ins_esc __ARGS((long *count, int cmdchar)); +static int ins_esc __ARGS((long *count, int cmdchar, int c)); #ifdef FEAT_RIGHTLEFT static void ins_ctrl_ __ARGS((void)); #endif @@ -787,7 +787,7 @@ doESCkey: if (ins_at_eol && gchar_cursor() == NUL) o_lnum = curwin->w_cursor.lnum; - if (ins_esc(&count, cmdchar)) + if (ins_esc(&count, cmdchar, c)) { #ifdef FEAT_AUTOCMD if (cmdchar != 'r' && cmdchar != 'v') @@ -6272,9 +6272,10 @@ ins_ctrl_hat() * insert. */ static int -ins_esc(count, cmdchar) +ins_esc(count, cmdchar, c) long *count; int cmdchar; + int c; /* typed character */ { int temp; static int disabled_redraw = FALSE; @@ -6352,12 +6353,13 @@ ins_esc(count, cmdchar) /* * The cursor should end up on the last inserted character. + * Don't do it for CTRL-O or CTRL-L. */ if ((curwin->w_cursor.col != 0 #ifdef FEAT_VIRTUALEDIT || curwin->w_cursor.coladd > 0 #endif - ) && (restart_edit == NUL + ) && ((restart_edit == NUL && c != Ctrl_L) || (gchar_cursor() == NUL #ifdef FEAT_VISUAL && !VIsual_active diff --git a/src/version.h b/src/version.h index 612f0783e1d1f29203e4e392a45c8dd19793ec9a..56c6e40c999d38e310592a5dae6c0650a031191a 100644 --- a/src/version.h +++ b/src/version.h @@ -36,5 +36,5 @@ #define VIM_VERSION_NODOT "vim70aa" #define VIM_VERSION_SHORT "7.0aa" #define VIM_VERSION_MEDIUM "7.0aa ALPHA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 8)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 8, compiled " +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 9)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 9, compiled "