diff options
-rw-r--r-- | src/nvim/version.c | 2 | ||||
-rw-r--r-- | src/nvim/window.c | 14 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/nvim/version.c b/src/nvim/version.c index 383a69c3b3..b8dd2c2a47 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -739,7 +739,7 @@ static int included_patches[] = { // 1707, // 1706 NA // 1705 NA - // 1704, + 1704, 1703, // 1702, // 1701, diff --git a/src/nvim/window.c b/src/nvim/window.c index 29c670322a..03a2e9a842 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -278,10 +278,11 @@ newwindow: /* cursor to last accessed (previous) window */ case 'p': case Ctrl_P: - if (prevwin == NULL) + if (!win_valid(prevwin)) { beep_flush(); - else + } else { win_goto(prevwin); + } break; /* exchange current and next window */ @@ -3768,8 +3769,15 @@ win_free ( hash_init(&wp->w_vars->dv_hashtab); unref_var_dict(wp->w_vars); - if (prevwin == wp) + if (prevwin == wp) { prevwin = NULL; + } + FOR_ALL_TABS(ttp) { + if (ttp->tp_prevwin == wp) { + ttp->tp_prevwin = NULL; + } + } + win_free_lsize(wp); for (i = 0; i < wp->w_tagstacklen; ++i) |