0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.1783: try-catch test fails

Problem:    Try-catch test fails.
Solution:   Don't call win_enter(), only call enterering_window().
This commit is contained in:
Bram Moolenaar
2020-10-01 22:37:40 +02:00
parent 74273e6691
commit bdf931c25b
5 changed files with 16 additions and 4 deletions

View File

@@ -1533,18 +1533,22 @@ win_found:
unblock_autocmds(); unblock_autocmds();
if (win_valid(aco->save_curwin)) if (win_valid(aco->save_curwin))
win_enter(aco->save_curwin, TRUE); curwin = aco->save_curwin;
else else
// Hmm, original window disappeared. Just use the first one. // Hmm, original window disappeared. Just use the first one.
curwin = firstwin; 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)) if (win_valid(aco->save_prevwin))
prevwin = aco->save_prevwin; prevwin = aco->save_prevwin;
#ifdef FEAT_EVAL #ifdef FEAT_EVAL
vars_clear(&aucmd_win->w_vars->dv_hashtab); // free all w: variables vars_clear(&aucmd_win->w_vars->dv_hashtab); // free all w: variables
hash_init(&aucmd_win->w_vars->dv_hashtab); // re-use the hashtab hash_init(&aucmd_win->w_vars->dv_hashtab); // re-use the hashtab
#endif #endif
curbuf = curwin->w_buffer;
vim_free(globaldir); vim_free(globaldir);
globaldir = aco->globaldir; globaldir = aco->globaldir;

View File

@@ -10,6 +10,7 @@ int win_count(void);
int make_windows(int count, int vertical); int make_windows(int count, int vertical);
void win_move_after(win_T *win1, win_T *win2); void win_move_after(win_T *win1, win_T *win2);
void win_equal(win_T *next_curwin, int current, int dir); 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); void close_windows(buf_T *buf, int keep_curwin);
int one_window(void); int one_window(void);
int win_close(win_T *win, int free_buf); int win_close(win_T *win, int free_buf);

View File

@@ -227,7 +227,12 @@ func RunTheTest(test)
" Close any extra tab pages and windows and make the current one not modified. " Close any extra tab pages and windows and make the current one not modified.
while tabpagenr('$') > 1 while tabpagenr('$') > 1
let winid = win_getid()
quit! quit!
if winid == win_getid()
echoerr 'Could not quit window'
break
endif
endwhile endwhile
while 1 while 1

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1783,
/**/ /**/
1782, 1782,
/**/ /**/

View File

@@ -2227,7 +2227,7 @@ leaving_window(win_T *win)
} }
} }
static void void
entering_window(win_T *win) entering_window(win_T *win)
{ {
// Only matters for a prompt window. // Only matters for a prompt window.