diff options
author | Marc Cornellà <marc.cornella@live.com> | 2020-12-31 23:20:24 +0100 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2020-12-31 23:20:24 +0100 |
commit | 0f6836701d82a2ee024153c7f781bb72c2e9a8ac (patch) | |
tree | bccb5a752a5ddb93811050cff0a6b9c1afe6cb75 /lib | |
parent | 0e7c81316cab30d28d362f69ddc72be83029ac34 (diff) | |
download | zsh-0f6836701d82a2ee024153c7f781bb72c2e9a8ac.tar.gz zsh-0f6836701d82a2ee024153c7f781bb72c2e9a8ac.tar.bz2 zsh-0f6836701d82a2ee024153c7f781bb72c2e9a8ac.zip |
fix(CLI): properly get zsh command in `omz update` (#9558)
Zsh versions older than 5.3 don't have ZSH_ARGZERO, so use an alternative
method to get the zsh command.
Fixes #9558
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cli.zsh | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/cli.zsh b/lib/cli.zsh index 92d447a8e..6fcffdf87 100644 --- a/lib/cli.zsh +++ b/lib/cli.zsh @@ -391,7 +391,9 @@ function _omz::update { # Restart the zsh session if [[ $ret -eq 0 && "$1" != --unattended ]]; then + # Old zsh versions don't have ZSH_ARGZERO + local zsh="${ZSH_ARGZERO:-${functrace[-1]%:*}}" # Check whether to run a login shell - [[ "$ZSH_ARGZERO" = -* ]] && exec -l "${ZSH_ARGZERO#-}" || exec "$ZSH_ARGZERO" + [[ "$zsh" = -* || -o login ]] && exec -l "${zsh#-}" || exec "$zsh" fi } |