patch 8.0.1789: BufWinEnter does not work well for a terminal window
Problem: BufWinEnter does not work well for a terminal window.
Solution: Do not trigger BufWinEnter when opening a terminal window.
diff --git a/src/terminal.c b/src/terminal.c
index 1fd9ed2..56e08db 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -605,13 +605,7 @@
* a deadlock if the job is waiting for Vim to read. */
channel_set_nonblock(term->tl_job->jv_channel, PART_IN);
- if (old_curbuf == NULL)
- {
- ++curbuf->b_locked;
- apply_autocmds(EVENT_BUFWINENTER, NULL, NULL, FALSE, curbuf);
- --curbuf->b_locked;
- }
- else
+ if (old_curbuf != NULL)
{
--curbuf->b_nwindows;
curbuf = old_curbuf;
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index cde41a1..8b63dee 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -32,7 +32,7 @@
endfunc
func Test_terminal_basic()
- au BufWinEnter * if &buftype == 'terminal' | let b:done = 'yes' | endif
+ au TerminalOpen * let b:done = 'yes'
let buf = Run_shell_in_terminal({})
if has("unix")
@@ -61,7 +61,7 @@
close
call assert_equal("", bufname(buf))
- au! BufWinEnter
+ au! TerminalOpen
unlet g:job
endfunc
diff --git a/src/version.c b/src/version.c
index d933e81..9d00e46 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1789,
+/**/
1788,
/**/
1787,