From 1874082a2c062239d9efd5b6d930517149385178 Mon Sep 17 00:00:00 2001 From: Darren Schroeder <343840+fdncred@users.noreply.github.com> Date: Mon, 6 Nov 2023 12:15:37 -0600 Subject: [PATCH] allow `items` to properly evaluate block settings (#10980) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Description @jntrnr discovered that `items` wasn't properly setting the `eval_block_with_early_return()` block settings. This change fixes that which allows `echo` to be redirected and therefore pass data through the pipeline. Without `echo` ```nushell ❯ { new: york, san: francisco } | items {|key, value| $'($key) ($value)' } ╭─┬─────────────╮ │0│new york │ │1│san francisco│ ╰─┴─────────────╯ ``` With `echo` ```nushell ❯ { new: york, san: francisco } | items {|key, value| echo $'($key) ($value)' } ╭─┬─────────────╮ │0│new york │ │1│san francisco│ ╰─┴─────────────╯ ``` # User-Facing Changes # Tests + Formatting # After Submitting --- crates/nu-command/src/filters/items.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/nu-command/src/filters/items.rs b/crates/nu-command/src/filters/items.rs index 758594356d..4ca987339e 100644 --- a/crates/nu-command/src/filters/items.rs +++ b/crates/nu-command/src/filters/items.rs @@ -53,7 +53,6 @@ impl Command for Items { let orig_env_vars = stack.env_vars.clone(); let orig_env_hidden = stack.env_hidden.clone(); let span = call.head; - let redirect_stdout = call.redirect_stdout; let redirect_stderr = call.redirect_stderr; let input_span = input.span().unwrap_or(call.head); @@ -80,7 +79,7 @@ impl Command for Items { &mut stack, &block, PipelineData::empty(), - redirect_stdout, + true, redirect_stderr, ) { Ok(v) => Some(v.into_value(span)), @@ -123,7 +122,8 @@ impl Command for Items { fn examples(&self) -> Vec { vec![Example { - example: "{ new: york, san: francisco } | items {|key, value| $'($key) ($value)' }", + example: + "{ new: york, san: francisco } | items {|key, value| echo $'($key) ($value)' }", description: "Iterate over each key-value pair of a record", result: Some(Value::list( vec![