aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/eval.lua4
-rw-r--r--src/nvim/globals.h2
-rw-r--r--src/nvim/window.c4
3 files changed, 4 insertions, 6 deletions
diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua
index febd022254..73715e2631 100644
--- a/src/nvim/eval.lua
+++ b/src/nvim/eval.lua
@@ -12856,7 +12856,9 @@ M.funcs = {
# the number of the last accessed window (where
|CTRL-W_p| goes to). If there is no previous
window or it is in another tab page 0 is
- returned.
+ returned. May refer to the current window in
+ some cases (e.g. when evaluating 'statusline'
+ expressions).
{N}j the number of the Nth window below the
current window (where |CTRL-W_j| goes to).
{N}k the number of the Nth window above the current
diff --git a/src/nvim/globals.h b/src/nvim/globals.h
index aecb9d1116..06fb95b577 100644
--- a/src/nvim/globals.h
+++ b/src/nvim/globals.h
@@ -363,7 +363,7 @@ EXTERN bool sys_menu INIT( = false);
// currently active window.
EXTERN win_T *firstwin; // first window
EXTERN win_T *lastwin; // last window
-EXTERN win_T *prevwin INIT( = NULL); // previous window
+EXTERN win_T *prevwin INIT( = NULL); // previous window (may equal curwin)
#define ONE_WINDOW (firstwin == lastwin)
#define FOR_ALL_FRAMES(frp, first_frame) \
for ((frp) = first_frame; (frp) != NULL; (frp) = (frp)->fr_next)
diff --git a/src/nvim/window.c b/src/nvim/window.c
index 521699f2f0..843cf154a7 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -4915,14 +4915,10 @@ static void win_enter_ext(win_T *const wp, const int flags)
if (wp->w_buffer != curbuf) {
buf_copy_options(wp->w_buffer, BCO_ENTER | BCO_NOHELP);
}
-
if (!curwin_invalid) {
prevwin = curwin; // remember for CTRL-W p
curwin->w_redr_status = true;
- } else if (wp == prevwin) {
- prevwin = NULL; // don't want it to be the new curwin
}
-
curwin = wp;
curbuf = wp->w_buffer;