patch 8.1.1425: win_execute() does not set window pointers properly

Problem:    Win_execute() does not set window pointers properly.
Solution:   Use switch_win_noblock().  Also execute autocommands in a popup
            window.
diff --git a/src/proto/window.pro b/src/proto/window.pro
index b5cbf69..1424c3d 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -77,7 +77,9 @@
 void make_snapshot(int idx);
 void restore_snapshot(int idx, int close_curwin);
 int switch_win(win_T **save_curwin, tabpage_T **save_curtab, win_T *win, tabpage_T *tp, int no_display);
+int switch_win_noblock(win_T **save_curwin, tabpage_T **save_curtab, win_T *win, tabpage_T *tp, int no_display);
 void restore_win(win_T *save_curwin, tabpage_T *save_curtab, int no_display);
+void restore_win_noblock(win_T *save_curwin, tabpage_T *save_curtab, int no_display);
 void switch_buffer(bufref_T *save_curbuf, buf_T *buf);
 void restore_buffer(bufref_T *save_curbuf);
 int win_hasvertsplit(void);