mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
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.
This commit is contained in:
parent
dddab90d22
commit
606cb8b08e
@ -469,6 +469,9 @@ BufWinEnter After a buffer is displayed in a window. This
|
||||
existing buffer. But it does happen for a
|
||||
":split" with the name of the current buffer,
|
||||
since it reloads that buffer.
|
||||
Does not happen for a terminal window, because
|
||||
it starts in Terminal-Job mode and Normal mode
|
||||
commands won't work. Use |TerminalOpen| instead.
|
||||
*BufWinLeave*
|
||||
BufWinLeave Before a buffer is removed from a window.
|
||||
Not when it's still visible in another window.
|
||||
|
@ -605,13 +605,7 @@ term_start(
|
||||
* 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;
|
||||
|
@ -32,7 +32,7 @@ func Run_shell_in_terminal(options)
|
||||
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 @@ func Test_terminal_basic()
|
||||
close
|
||||
call assert_equal("", bufname(buf))
|
||||
|
||||
au! BufWinEnter
|
||||
au! TerminalOpen
|
||||
unlet g:job
|
||||
endfunc
|
||||
|
||||
|
@ -761,6 +761,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1789,
|
||||
/**/
|
||||
1788,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user