Source .zimrc twice when installing/updating

Once before installing/updating to prepare _zmodule_xargs, and once
after modules are updated, so functions and scripts can be found inside
them. Installation of Zim from scratch was failing because all modules
are empty at first.
This commit is contained in:
Eric Nielsen 2019-12-03 07:07:59 -05:00
parent dfe35e1bfa
commit a227f134a5
No known key found for this signature in database
GPG Key ID: 47D1DBFA0765A1FB
4 changed files with 46 additions and 38 deletions

View File

@ -96,6 +96,11 @@ Startup options:
esac esac
shift shift
done done
if (( _zprepare_xargs )); then
if (( ! zfrozen )); then
_zmodules_xargs+=${zmodule}$'\0'${zdir}$'\0'${zurl}$'\0'${ztype}$'\0'${zrev}$'\0'${_zquiet}$'\0'
fi
else
if (( zdisabled )); then if (( zdisabled )); then
_zdisableds+=(${zmodule}) _zdisableds+=(${zmodule})
else else
@ -113,7 +118,5 @@ Startup options:
_zscripts+=(${zscripts}) _zscripts+=(${zscripts})
_zmodules+=(${zmodule}) _zmodules+=(${zmodule})
fi fi
if (( ! zfrozen )); then
_zmodules_xargs+=${zmodule}$'\0'${zdir}$'\0'${zurl}$'\0'${ztype}$'\0'${zrev}$'\0'${_zquiet}$'\0'
fi fi
} }

View File

@ -1,4 +1,5 @@
_zimfw_source_zimrc() { _zimfw_source_zimrc() {
local -ri _zprepare_xargs=${1}
local -i _zfailed=0 local -i _zfailed=0
if ! source <%= home %>/.zimrc || (( _zfailed )); then if ! source <%= home %>/.zimrc || (( _zfailed )); then
print -u2 -PR "%F{red}✗ Failed to source <%= home %>/.zimrc%f" print -u2 -PR "%F{red}✗ Failed to source <%= home %>/.zimrc%f"

View File

@ -56,12 +56,12 @@ Options:
compile|login-init) _zimfw_source_zimrc && _zimfw_compile ${2} ;; compile|login-init) _zimfw_source_zimrc && _zimfw_compile ${2} ;;
info) _zimfw_info ;; info) _zimfw_info ;;
install|update) install|update)
_zimfw_source_zimrc || return 1 _zimfw_source_zimrc 1 || return 1
print -Rn ${_zmodules_xargs} | xargs -0 -n6 -P10 zsh -c ${ztool} ${1} && \ print -Rn ${_zmodules_xargs} | xargs -0 -n6 -P10 zsh -c ${ztool} ${1} && \
if (( ! _zquiet )); then if (( ! _zquiet )); then
print -PR "%F{green}✓%f Done with ${1}. Restart your terminal for any changes to take effect." print -PR "%F{green}✓%f Done with ${1}. Restart your terminal for any changes to take effect."
fi && \ fi && \
_zimfw_build && _zimfw_compile ${2} _zimfw_source_zimrc && _zimfw_build && _zimfw_compile ${2}
;; ;;
upgrade) _zimfw_upgrade ;; upgrade) _zimfw_upgrade ;;
*) *)

View File

@ -171,6 +171,11 @@ Startup options:
esac esac
shift shift
done done
if (( _zprepare_xargs )); then
if (( ! zfrozen )); then
_zmodules_xargs+=${zmodule}$'\0'${zdir}$'\0'${zurl}$'\0'${ztype}$'\0'${zrev}$'\0'${_zquiet}$'\0'
fi
else
if (( zdisabled )); then if (( zdisabled )); then
_zdisableds+=(${zmodule}) _zdisableds+=(${zmodule})
else else
@ -188,12 +193,11 @@ Startup options:
_zscripts+=(${zscripts}) _zscripts+=(${zscripts})
_zmodules+=(${zmodule}) _zmodules+=(${zmodule})
fi fi
if (( ! zfrozen )); then
_zmodules_xargs+=${zmodule}$'\0'${zdir}$'\0'${zurl}$'\0'${ztype}$'\0'${zrev}$'\0'${_zquiet}$'\0'
fi fi
} }
_zimfw_source_zimrc() { _zimfw_source_zimrc() {
local -ri _zprepare_xargs=${1}
local -i _zfailed=0 local -i _zfailed=0
if ! source ${ZDOTDIR:-${HOME}}/.zimrc || (( _zfailed )); then if ! source ${ZDOTDIR:-${HOME}}/.zimrc || (( _zfailed )); then
print -u2 -PR "%F{red}✗ Failed to source ${ZDOTDIR:-${HOME}}/.zimrc%f" print -u2 -PR "%F{red}✗ Failed to source ${ZDOTDIR:-${HOME}}/.zimrc%f"
@ -416,12 +420,12 @@ fi
compile|login-init) _zimfw_source_zimrc && _zimfw_compile ${2} ;; compile|login-init) _zimfw_source_zimrc && _zimfw_compile ${2} ;;
info) _zimfw_info ;; info) _zimfw_info ;;
install|update) install|update)
_zimfw_source_zimrc || return 1 _zimfw_source_zimrc 1 || return 1
print -Rn ${_zmodules_xargs} | xargs -0 -n6 -P10 zsh -c ${ztool} ${1} && \ print -Rn ${_zmodules_xargs} | xargs -0 -n6 -P10 zsh -c ${ztool} ${1} && \
if (( ! _zquiet )); then if (( ! _zquiet )); then
print -PR "%F{green}✓%f Done with ${1}. Restart your terminal for any changes to take effect." print -PR "%F{green}✓%f Done with ${1}. Restart your terminal for any changes to take effect."
fi && \ fi && \
_zimfw_build && _zimfw_compile ${2} _zimfw_source_zimrc && _zimfw_build && _zimfw_compile ${2}
;; ;;
upgrade) _zimfw_upgrade ;; upgrade) _zimfw_upgrade ;;
*) *)