diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-09-23 11:00:20 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-23 11:00:20 +0800 |
commit | c26b39a9aa56e834262753e08372240fde9dcdf1 (patch) | |
tree | be46bd448633a3f51ea0505d5363466215a3c45a /src | |
parent | c68c121f50ee0eae7f26ed043689105086572f55 (diff) | |
download | rneovim-c26b39a9aa56e834262753e08372240fde9dcdf1.tar.gz rneovim-c26b39a9aa56e834262753e08372240fde9dcdf1.tar.bz2 rneovim-c26b39a9aa56e834262753e08372240fde9dcdf1.zip |
fix(tui): make :cquit work properly with remote TUI (#25313)
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/main.c | 3 | ||||
-rw-r--r-- | src/nvim/tui/tui.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index d9ca82784f..0bb69d000b 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -659,6 +659,9 @@ void os_exit(int r) if (ui_client_channel_id) { ui_client_stop(); + if (r == 0) { + r = ui_client_exit_status; + } } else { ui_flush(); ui_call_stop(); diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c index 4097b770c9..db15cdb053 100644 --- a/src/nvim/tui/tui.c +++ b/src/nvim/tui/tui.c @@ -386,6 +386,9 @@ static void terminfo_stop(TUIData *tui) unibi_out_ext(tui, tui->unibi_ext.disable_extended_keys); // May restore old title before exiting alternate screen. tui_set_title(tui, (String)STRING_INIT); + if (ui_client_exit_status == 0) { + ui_client_exit_status = tui->seen_error_exit; + } // if nvim exited with nonzero status, without indicated this was an // intentional exit (like `:1cquit`), it likely was an internal failure. // Don't clobber the stderr error message in this case. |