diff --git a/gitstatus/bin/gitstatusd-android-aarch64 b/gitstatus/bin/gitstatusd-android-aarch64 index cdea703e..77a4b7e1 100755 Binary files a/gitstatus/bin/gitstatusd-android-aarch64 and b/gitstatus/bin/gitstatusd-android-aarch64 differ diff --git a/gitstatus/bin/gitstatusd-cygwin_nt-10.0-x86_64 b/gitstatus/bin/gitstatusd-cygwin_nt-10.0-x86_64 index 0568ca78..4a6639c6 100755 Binary files a/gitstatus/bin/gitstatusd-cygwin_nt-10.0-x86_64 and b/gitstatus/bin/gitstatusd-cygwin_nt-10.0-x86_64 differ diff --git a/gitstatus/bin/gitstatusd-darwin-x86_64 b/gitstatus/bin/gitstatusd-darwin-x86_64 index 17b0ddcf..77f885cd 100755 Binary files a/gitstatus/bin/gitstatusd-darwin-x86_64 and b/gitstatus/bin/gitstatusd-darwin-x86_64 differ diff --git a/gitstatus/bin/gitstatusd-freebsd-amd64 b/gitstatus/bin/gitstatusd-freebsd-amd64 index f164a48e..df717f58 100755 Binary files a/gitstatus/bin/gitstatusd-freebsd-amd64 and b/gitstatus/bin/gitstatusd-freebsd-amd64 differ diff --git a/gitstatus/bin/gitstatusd-linux-aarch64 b/gitstatus/bin/gitstatusd-linux-aarch64 index af762125..b8c040ff 100755 Binary files a/gitstatus/bin/gitstatusd-linux-aarch64 and b/gitstatus/bin/gitstatusd-linux-aarch64 differ diff --git a/gitstatus/bin/gitstatusd-linux-armv7l b/gitstatus/bin/gitstatusd-linux-armv7l index bef8cc66..90569406 100755 Binary files a/gitstatus/bin/gitstatusd-linux-armv7l and b/gitstatus/bin/gitstatusd-linux-armv7l differ diff --git a/gitstatus/bin/gitstatusd-linux-x86_64 b/gitstatus/bin/gitstatusd-linux-x86_64 index 8f10274d..02a933b0 100755 Binary files a/gitstatus/bin/gitstatusd-linux-x86_64 and b/gitstatus/bin/gitstatusd-linux-x86_64 differ diff --git a/gitstatus/bin/gitstatusd-linux-x86_64-static b/gitstatus/bin/gitstatusd-linux-x86_64-static index 46466532..24a060e8 100755 Binary files a/gitstatus/bin/gitstatusd-linux-x86_64-static and b/gitstatus/bin/gitstatusd-linux-x86_64-static differ diff --git a/gitstatus/bin/gitstatusd-msys_nt-10.0-x86_64 b/gitstatus/bin/gitstatusd-msys_nt-10.0-x86_64 index f74138e3..16cd297e 100755 Binary files a/gitstatus/bin/gitstatusd-msys_nt-10.0-x86_64 and b/gitstatus/bin/gitstatusd-msys_nt-10.0-x86_64 differ diff --git a/gitstatus/gitstatus.plugin.zsh b/gitstatus/gitstatus.plugin.zsh index bdc8b7c3..6287798f 100644 --- a/gitstatus/gitstatus.plugin.zsh +++ b/gitstatus/gitstatus.plugin.zsh @@ -67,8 +67,8 @@ typeset -g _gitstatus_plugin_dir=${${(%):-%x}:A:h} # ## Usage: gitstatus_query [OPTION]... NAME # -# -d STR Directory to query. Must be absolute. Defaults to $GIT_DIR or the current -# directory if GIT_DIR is not set. +# -d STR Directory to query. Defaults to the current directory. Has no effect if GIT_DIR +# is set. # -c STR Callback function to call once the results are available. Called only after # gitstatus_query returns 0 with VCS_STATUS_RESULT=tout. # -t FLOAT Timeout in seconds. Will block for at most this long. If no results are @@ -135,7 +135,7 @@ function gitstatus_query() { setopt err_return no_unset local opt - local dir=${GIT_DIR:-} + local dir local callback local -F timeout=-1 local no_diff=0 @@ -160,7 +160,13 @@ function gitstatus_query() { local client_pid_var=_GITSTATUS_CLIENT_PID_${name} [[ ${(P)client_pid_var} == $$ ]] - [[ $dir == /* ]] || dir=${(%):-%/}/$dir + if [[ -z ${GIT_DIR:-} ]]; then + [[ $dir == /* ]] || dir=${(%):-%/}/$dir + elif [[ $GIT_DIR == /* ]]; then + dir=:$GIT_DIR + else + dir=:${(%):-%/}/$GIT_DIR + fi local req_fd_var=_GITSTATUS_REQ_FD_${name} local -i req_fd=${(P)req_fd_var}