commit 40287319002ff6ced3d280657c276fb7c9ef4df5
parent c726585ce1a5a8776e747fe20bead0acec88edf4
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sun, 19 Feb 2023 20:56:15 +0800
fix(tui): properly check if stdin is a tty (#22321)
After #21831 `in_fd` is no longer set to stderr when starting TUI, so
check for `stdin_isatty` instead.
Fix #22259.
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c
@@ -1147,7 +1147,7 @@ void tui_mode_change(TUIData *tui, String mode, Integer mode_idx)
// If stdin is not a TTY, the LHS of pipe may change the state of the TTY
// after calling uv_tty_set_mode. So, set the mode of the TTY again here.
// #13073
- if (tui->is_starting && tui->input.in_fd == STDERR_FILENO) {
+ if (tui->is_starting && !stdin_isatty) {
int ret = uv_tty_set_mode(&tui->output_handle.tty, UV_TTY_MODE_NORMAL);
if (ret) {
ELOG("uv_tty_set_mode failed: %s", uv_strerror(ret));