1
0
forked from aniani/vim

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();
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;

View File

@@ -10,6 +10,7 @@ int win_count(void);
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);

View File

@@ -227,7 +227,12 @@ func RunTheTest(test)
" 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

View File

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

View File

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