diff --git a/src/buffer.c b/src/buffer.c index 55e200ab88..b013295f73 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -580,7 +580,7 @@ aucmd_abort: /* When closing the current buffer stop Visual mode before freeing * anything. */ - if (buf == curbuf + if (buf == curbuf && VIsual_active #if defined(EXITFREE) && !entered_free_all_mem #endif @@ -1389,7 +1389,7 @@ do_buffer( } /* When closing the current buffer stop Visual mode. */ - if (buf == curbuf) + if (buf == curbuf && VIsual_active) end_visual_mode(); /* diff --git a/src/ex_docmd.c b/src/ex_docmd.c index dc0a71e682..eef559506d 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -9388,6 +9388,7 @@ ex_at(exarg_T *eap) int prev_len = typebuf.tb_len; curwin->w_cursor.lnum = eap->line2; + check_cursor_col(); #ifdef USE_ON_FLY_SCROLL dont_scroll = TRUE; /* disallow scrolling here */ diff --git a/src/version.c b/src/version.c index 9a6851e556..8a6062d76e 100644 --- a/src/version.c +++ b/src/version.c @@ -763,6 +763,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2362, /**/ 2361, /**/