From 1d16bba4d8b8b648d2dabd610924bcf3051a0f29 Mon Sep 17 00:00:00 2001 From: bfredl Date: Sat, 7 Jan 2023 10:06:03 +0100 Subject: 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. --- src/nvim/ui_client.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/nvim/ui_client.c') diff --git a/src/nvim/ui_client.c b/src/nvim/ui_client.c index 2821054909..ff82fd3239 100644 --- a/src/nvim/ui_client.c +++ b/src/nvim/ui_client.c @@ -41,8 +41,11 @@ uint64_t ui_client_start_server(int argc, char **argv) } args[args_idx++] = NULL; + CallbackReader on_err = CALLBACK_READER_INIT; + on_err.fwd_err = true; + Channel *channel = channel_job_start(args, CALLBACK_READER_INIT, - CALLBACK_READER_INIT, CALLBACK_NONE, + on_err, CALLBACK_NONE, false, true, true, false, kChannelStdinPipe, NULL, 0, 0, NULL, &exit_status); if (ui_client_forward_stdin) { -- cgit