Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix shell activation for zsh (#5795)
# Fix Shell Activation For ZSH This PR resolves an issue wherein poetry will clear the `PATH` on zsh. The activation script contains a number of if statements of the following form: ```bash # ... if ! [ -z "${_OLD_VIRTUAL_PATH:+_}" ] ; then PATH="$_OLD_VIRTUAL_PATH" export PATH unset _OLD_VIRTUAL_PATH fi ``` These constructs are valid in bash, although zsh fails to negate the conditional except when placed in emulation mode: ```zsh # Causes PATH to be cleared, leading to other issues . /home/alecto/.cache/pypoetry/virtualenvs/poetry-E-aAiPjf-py3.10/bin/activate ``` When bash is used as an emulator to source the script, it functions correctly: ```zsh # Functions correctly emulate bash -c '. /home/alecto/.cache/pypoetry/virtualenvs/poetry-E-aAiPjf-py3.10/bin/activate' ``` It's important to note that this doesn't place the *entire* shell into bash emulation mode; only the activate script is sourced as bash. Any guidance on what tests should be added for this PR would be appreciated. Co-authored-by: Alecto Irene Perez <alecto.perez@voladynamics.com> Co-authored-by: Bartosz Sokorski <b.sokorski@gmail.com>
- Loading branch information