From 5f0ac2442702491a713120625d3cd1fcd332eddd Mon Sep 17 00:00:00 2001 From: Alex Alabuzhev Date: Sat, 20 Jul 2024 09:19:22 +0100 Subject: [PATCH] Continue 6348.2 --- far/changelog | 5 +++++ far/execute.cpp | 15 +++++++++++++++ far/vbuild.m4 | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/far/changelog b/far/changelog index 35b3b441f8..97c7522f55 100644 --- a/far/changelog +++ b/far/changelog @@ -1,3 +1,8 @@ +-------------------------------------------------------------------------------- +drkns 2024-07-20 09:18:53+01:00 - build 6349 + +1. Continue 6348.2. + -------------------------------------------------------------------------------- drkns 2024-07-18 01:23:45+01:00 - build 6348 diff --git a/far/execute.cpp b/far/execute.cpp index 7c45ee4d64..b41035fa01 100644 --- a/far/execute.cpp +++ b/far/execute.cpp @@ -558,6 +558,7 @@ static void after_process_creation( { case execute_info::wait_mode::no_wait: resume_process(false); + console.command_finished(); return; case execute_info::wait_mode::if_needed: @@ -567,11 +568,16 @@ static void after_process_creation( resume_process(NeedWaiting); if (!NeedWaiting) + { + console.command_finished(); return; + } Process = wait_for_process_or_detach(std::move(Process), KeyNameToKey(Global->Opt->ConsoleDetachKey), ConsoleSize, ConsoleWindowRect); if (Process) log_process_exit_code(Info, Process, UsingComspec); + else + console.command_finished(); } return; @@ -798,7 +804,11 @@ static bool execute_impl( return true; if (os::last_error().Win32Error == ERROR_EXE_MACHINE_TYPE_MISMATCH) + { + SCOPED_ACTION(os::last_error_guard); + ExtendedActivator(false); return false; + } } ExtendedActivator(Info.WaitMode != execute_info::wait_mode::no_wait); @@ -912,7 +922,12 @@ void Execute(execute_info& Info, function_ref const ConsoleActivator const auto ErrorState = os::last_error(); if (ErrorState.Win32Error == ERROR_CANCELLED) + { + console.command_finished(); return; + } + + console.command_finished(ErrorState.Win32Error); std::vector Strings; if (UsingComspec) diff --git a/far/vbuild.m4 b/far/vbuild.m4 index dddbc7d813..433b1a8c16 100644 --- a/far/vbuild.m4 +++ b/far/vbuild.m4 @@ -1 +1 @@ -6348 +6349