From 96d21d9ab0c4d05e0c3ea1b691a4b9be0ee4d9fa Mon Sep 17 00:00:00 2001 From: WindSoilder Date: Wed, 17 Jul 2024 21:12:26 +0800 Subject: [PATCH] reset signals in catch block --- crates/nu-cmd-lang/src/core_commands/try_.rs | 1 + crates/nu-protocol/src/engine/engine_state.rs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/nu-cmd-lang/src/core_commands/try_.rs b/crates/nu-cmd-lang/src/core_commands/try_.rs index 2309897a1b..7208ca7433 100644 --- a/crates/nu-cmd-lang/src/core_commands/try_.rs +++ b/crates/nu-cmd-lang/src/core_commands/try_.rs @@ -116,6 +116,7 @@ fn handle_catch( stack: &mut Stack, eval_block_fn: EvalBlockFn, ) -> Result { + engine_state.reset_signals(); if let Some(catch_block) = catch_block { let catch_block = engine_state.get_block(catch_block.block_id); // Put the error value in the positional closure var diff --git a/crates/nu-protocol/src/engine/engine_state.rs b/crates/nu-protocol/src/engine/engine_state.rs index fce24cebbd..de7ada340e 100644 --- a/crates/nu-protocol/src/engine/engine_state.rs +++ b/crates/nu-protocol/src/engine/engine_state.rs @@ -182,7 +182,7 @@ impl EngineState { &self.signals } - pub fn reset_signals(&mut self) { + pub fn reset_signals(&self) { self.signals.reset() }