From c4a26cb2b191c56b97a04bfba46f0c95f8e58f9a Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Tue, 20 May 2025 12:27:57 +0200 Subject: [PATCH] builtin status: remove spurious newline from current-command (Rust port regression) WHen "status current-command" is called outside a function it always returns "fish". An extra newline crept in, fix that. Fixes 77aeb6a2a88 (Port execution, 2023-10-08). Fixes #11503 (cherry picked from commit e26b585ce5d5bc0b49f50eec4eec7764a6bfe78f) --- src/builtins/status.rs | 3 +-- tests/checks/status.fish | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/builtins/status.rs b/src/builtins/status.rs index 7446fc54a..24234bd8b 100644 --- a/src/builtins/status.rs +++ b/src/builtins/status.rs @@ -582,11 +582,10 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> O STATUS_CURRENT_CMD => { let command = &parser.libdata().status_vars.command; if !command.is_empty() { - streams.out.append(command); + streams.out.appendln(command); } else { streams.out.appendln(*PROGRAM_NAME.get().unwrap()); } - streams.out.append_char('\n'); } STATUS_CURRENT_COMMANDLINE => { let commandline = &parser.libdata().status_vars.commandline; diff --git a/tests/checks/status.fish b/tests/checks/status.fish index d861611fc..7626d437e 100644 --- a/tests/checks/status.fish +++ b/tests/checks/status.fish @@ -38,6 +38,9 @@ status --job-control=1none # Now set it to a valid mode. status job-control none +status current-command | sed s/^/^/ +# CHECK: ^fish + # Check status -u outside functions status current-function #CHECK: Not a function