From bb2036b0b3fbd51e6cf4e7d3d86c47a519d20a43 Mon Sep 17 00:00:00 2001 From: zbirenbaum Date: Thu, 3 Feb 2022 22:08:36 -0500 Subject: [PATCH] Fix crash on open caused by incorrect conditional in python module --- modules/python/init.zsh | 43 +++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 91aa6d0..22b61c3 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -114,33 +114,34 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) \ pyenv_plugins=(${(@oM)${(f)"$(pyenv commands --no-sh 2> /dev/null)"}:#virtualenv*}) fi + # Optionally activate 'virtualenv' plugin when available. if (( $pyenv_plugins[(i)virtualenv-init] <= $#pyenv_plugins )); then - # Enable 'virtualenv' with 'pyenv'. eval "$(pyenv virtualenv-init - zsh)" + fi - # Optionally activate 'virtualenvwrapper' plugin when available. - if (( $pyenv_plugins[(i)virtualenvwrapper(_lazy|)] <= $#pyenv_plugins )); then - pyenv "$pyenv_plugins[(R)virtualenvwrapper(_lazy|)]" - fi - else - # Fallback to 'virtualenvwrapper' without 'pyenv' wrapper if 'python' is - # available in '$path'. - if (( ! $+VIRTUALENVWRAPPER_PYTHON )) && (( $#commands[(i)python[23]#] )); then - VIRTUALENVWRAPPER_PYTHON=$commands[(i)python[23]#] - fi - - virtenv_sources=( - ${(@Ov)commands[(I)virtualenvwrapper(_lazy|).sh]} - /usr/share/virtualenvwrapper/virtualenvwrapper(_lazy|).sh(OnN) - ) - if (( $#virtenv_sources )); then - source "$virtenv_sources[1]" - fi + # Optionally activate 'virtualenvwrapper' plugin when available. + if (( $pyenv_plugins[(i)virtualenvwrapper(_lazy|)] <= $#pyenv_plugins )); then + pyenv "$pyenv_plugins[(R)virtualenvwrapper(_lazy|)]" + fi + + unset pyenv_plugins + +else + # Fallback to 'virtualenvwrapper' without 'pyenv' wrapper if 'python' is + # available in '$path'. + if (( ! $+VIRTUALENVWRAPPER_PYTHON )) && (( $#commands[(i)python[23]#] )); then + VIRTUALENVWRAPPER_PYTHON=$commands[(i)python[23]#] + fi - unset virtenv_sources + virtenv_sources=( + ${(@Ov)commands[(I)virtualenvwrapper(_lazy|).sh]} + /usr/share/virtualenvwrapper/virtualenvwrapper(_lazy|).sh(OnN) + ) + if (( $#virtenv_sources )); then + source "$virtenv_sources[1]" fi - unset pyenv_plugins + unset virtenv_sources fi # Load conda into the shell session, if requested.