fix(update): fix error exit code on update check (#10033)

This patch removes the 'exit 1' status code when the update check
finishes or is ended with CTRL+C.

Fixes #10033
This commit is contained in:
Marc Cornellà 2021-07-08 16:11:16 +02:00
parent c44b99e901
commit 36f444ed73
No known key found for this signature in database
GPG Key ID: 0314585E776A9C1B
1 changed files with 7 additions and 4 deletions

View File

@ -48,14 +48,17 @@ function update_ohmyzsh() {
return
fi
# Remove lock directory on exit. `return 1` is important for when trapping a SIGINT:
# Remove lock directory on exit. `return $ret` is important for when trapping a SIGINT:
# The return status from the function is handled specially. If it is zero, the signal is
# assumed to have been handled, and execution continues normally. Otherwise, the shell
# will behave as interrupted except that the return status of the trap is retained.
# This means that for a CTRL+C, the trap needs to return the same exit status so that
# the shell actually exits what it's running.
trap "
unset -f current_epoch update_last_updated_file update_ohmyzsh
command rm -rf '$ZSH/log/update.lock'
return 1
ret=\$?
unset -f current_epoch update_last_updated_file update_ohmyzsh 2>/dev/null
command rm -rf '$ZSH/log/update.lock'
return \$ret
" EXIT INT QUIT
# Create or update .zsh-update file if missing or malformed