Problem: Try-catch test fails.
Solution: Don't call win_enter(), only call enterering_window().
unblock_autocmds();
if (win_valid(aco->save_curwin))
- win_enter(aco->save_curwin, TRUE);
+ curwin = aco->save_curwin;
else
// Hmm, original window disappeared. Just use the first one.
curwin = firstwin;
+ curbuf = curwin->w_buffer;
+#ifdef FEAT_JOB_CHANNEL
+ // May need to restore insert mode for a prompt buffer.
+ entering_window(curwin);
+#endif
+
if (win_valid(aco->save_prevwin))
prevwin = aco->save_prevwin;
#ifdef FEAT_EVAL
vars_clear(&aucmd_win->w_vars->dv_hashtab); // free all w: variables
hash_init(&aucmd_win->w_vars->dv_hashtab); // re-use the hashtab
#endif
- curbuf = curwin->w_buffer;
-
vim_free(globaldir);
globaldir = aco->globaldir;
int make_windows(int count, int vertical);
void win_move_after(win_T *win1, win_T *win2);
void win_equal(win_T *next_curwin, int current, int dir);
+void entering_window(win_T *win);
void close_windows(buf_T *buf, int keep_curwin);
int one_window(void);
int win_close(win_T *win, int free_buf);
" Close any extra tab pages and windows and make the current one not modified.
while tabpagenr('$') > 1
+ let winid = win_getid()
quit!
+ if winid == win_getid()
+ echoerr 'Could not quit window'
+ break
+ endif
endwhile
while 1
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1783,
/**/
1782,
/**/
}
}
- static void
+ void
entering_window(win_T *win)
{
// Only matters for a prompt window.