From da659739d2bd53e27eae61483318eee967d76777 Mon Sep 17 00:00:00 2001 From: Yamashita Yuu Date: Fri, 31 Aug 2012 20:12:26 +0900 Subject: [PATCH] fixed `pyenv shell`. we cannot carry out bash array via envvars. --- libexec/pyenv-sh-shell | 18 ++++++------------ libexec/pyenv-which | 3 ++- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/libexec/pyenv-sh-shell b/libexec/pyenv-sh-shell index da7c3a7f..b1f3fafa 100755 --- a/libexec/pyenv-sh-shell +++ b/libexec/pyenv-sh-shell @@ -9,30 +9,24 @@ if [ "$1" = "--complete" ]; then exec pyenv-versions --bare fi -versions=() -for version in "$@"; do - versions=("${versions[@]}" "$version") -done +version="$1" -if [ -z "$versions" ]; then +if [ -z "$version" ]; then if [ -z "$PYENV_VERSION" ]; then echo "pyenv: no shell-specific version configured" >&2 exit 1 else - echo "echo \"\${PYENV_VERSION[@]}\"" + echo "echo \"\$PYENV_VERSION\"" exit fi fi -if [ "$versions" = "--unset" ]; then +if [ "$version" = "--unset" ]; then echo "unset PYENV_VERSION" exit 1 fi # Make sure the specified version is installed. -pyenv-prefix $versions >/dev/null +pyenv-prefix $version >/dev/null -{ - IFS=: - echo "export PYENV_VERSION=(\"${versions[@]}\")" -} +echo "export PYENV_VERSION=\"${version}\"" diff --git a/libexec/pyenv-which b/libexec/pyenv-which index c9a95434..bf246bc0 100755 --- a/libexec/pyenv-which +++ b/libexec/pyenv-which @@ -40,7 +40,8 @@ remove_from_path() { echo "${result%:}" } -IFS=: PYENV_VERSION=($(pyenv-version-name)) +IFS=: versions=($(pyenv-version-name)) +PYENV_VERSION=("${versions[@]}") PYENV_COMMAND="$1" if [ -z "$PYENV_COMMAND" ]; then