terminfo_start: flush buffer #11074

This aligns with `terminfo_stop`, which also flushes the buffer
after disabling things.

This ensures Neovim gets the response to the terminal background query
before exiting (`nvim -u NONE -cq` with e.g. urxvt or kitty).

Caveats:
* With kitty this causes some "flickering", likely since the alternate
  screen is being setup with `nvim -u NONE -cq`, whereas it would not be
  processed otherwise before quitting (as with the background query).
* tmux after this patch may print ^[[I (CSI I / FocusGained) after
  `nvim -u NONE -cq`.

Fixes https://github.com/neovim/neovim/issues/11062
This commit is contained in:
Daniel Hahler 2019-09-22 21:51:55 +02:00 committed by Justin M. Keyes
parent fb26c38434
commit 3626d2107e

View File

@ -312,6 +312,7 @@ static void terminfo_start(UI *ui)
uv_pipe_init(&data->write_loop, &data->output_handle.pipe, 0); uv_pipe_init(&data->write_loop, &data->output_handle.pipe, 0);
uv_pipe_open(&data->output_handle.pipe, data->out_fd); uv_pipe_open(&data->output_handle.pipe, data->out_fd);
} }
flush_buf(ui);
} }
static void terminfo_stop(UI *ui) static void terminfo_stop(UI *ui)