diff --git a/common.nix b/common.nix index 7d5e046..541bead 100644 --- a/common.nix +++ b/common.nix @@ -42,7 +42,10 @@ let drawn=1 ;; esac done - [ -n "$drawn" ] && printf '\n' + # `if`, not `[ … ] && …`: with nothing to copy the bar never draws, and a + # bare test as the last statement would exit 1 and break the caller's + # && chain. A real copy failure still surfaces via the caller's pipefail. + if [ -n "$drawn" ]; then printf '\n'; fi } '';