From d3e5d99a20305d5f71e3d383d1005d232d3efcc9 Mon Sep 17 00:00:00 2001 From: Foo Date: Fri, 2 Jun 2017 21:23:03 +0300 Subject: [PATCH] Do not spawn jobs With previous variant of code first call has spawned a job which was perfectly reproducibly visible in prompt at bash startup. In subsequent prompts job number segment disappeared because result was cached, but it still was not good. --- powerline/bindings/bash/powerline.sh | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/powerline/bindings/bash/powerline.sh b/powerline/bindings/bash/powerline.sh index 618cb0d0..db831fd5 100644 --- a/powerline/bindings/bash/powerline.sh +++ b/powerline/bindings/bash/powerline.sh @@ -31,17 +31,13 @@ _powerline_return() { return $1 } -_POWERLINE_HAS_PIPESTATUS= +_POWERLINE_HAS_PIPESTATUS="$( + _powerline_return 0 | _powerline_return 43 + test "${PIPESTATUS[*]}" = "0 43" + echo "$?" +)" _powerline_has_pipestatus() { - if test -z "$_POWERLINE_HAS_PIPESTATUS" ; then - _powerline_return 0 | _powerline_return 43 - if test "${PIPESTATUS[*]}" = "0 43" ; then - _POWERLINE_HAS_PIPESTATUS=0 - else - _POWERLINE_HAS_PIPESTATUS=1 - fi - fi return $_POWERLINE_HAS_PIPESTATUS }