diff options
author | bfredl <bjorn.linse@gmail.com> | 2023-01-07 10:06:03 +0100 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2023-01-09 11:17:11 +0100 |
commit | 1d16bba4d8b8b648d2dabd610924bcf3051a0f29 (patch) | |
tree | 9ea37b95a190d055e37deabb3c556edd83bded70 /src/nvim/main.c | |
parent | c19bd47c0a2e3cc77d7f5e41ed184edb41685bd3 (diff) | |
download | rneovim-1d16bba4d8b8b648d2dabd610924bcf3051a0f29.tar.gz rneovim-1d16bba4d8b8b648d2dabd610924bcf3051a0f29.tar.bz2 rneovim-1d16bba4d8b8b648d2dabd610924bcf3051a0f29.zip |
fix(embed): handle stdio in server properly
Rename stdin/stdout in the server, so that RPC data won't get corrupted.
This also restores the use of stderr to write directly to the terminal.
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r-- | src/nvim/main.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index 9bb9eea4f6..953385836b 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -279,6 +279,15 @@ int main(int argc, char **argv) // argument list "global_alist". command_line_scan(¶ms); +#ifndef MSWIN + int tty_fd = params.input_isatty + ? STDIN_FILENO + : (params.output_isatty + ? STDOUT_FILENO + : (params.err_isatty ? STDERR_FILENO : -1)); + pty_process_save_termios(tty_fd); +#endif + nlua_init(argv, argc, params.lua_arg0); TIME_MSG("init lua interpreter"); @@ -1455,14 +1464,6 @@ static void check_and_set_isatty(mparm_T *paramp) stdout_isatty = paramp->output_isatty = os_isatty(STDOUT_FILENO); paramp->err_isatty = os_isatty(STDERR_FILENO); -#ifndef MSWIN - int tty_fd = paramp->input_isatty - ? STDIN_FILENO - : (paramp->output_isatty - ? STDOUT_FILENO - : (paramp->err_isatty ? STDERR_FILENO : -1)); - pty_process_save_termios(tty_fd); -#endif TIME_MSG("window checked"); } |