save_IFS and restore_IFS are the only aliases that Portage defines,
and they are used exactly once. Rewrite __source_all_bashrcs() not to
depend on them, and remove their definitions.

The intention is to drop the expand_aliases shell option at some time
in the future.

Signed-off-by: Ulrich Müller <u...@gentoo.org>
---
 bin/ebuild.sh             | 8 ++------
 bin/isolated-functions.sh | 2 --
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 5491c4f58..00524d019 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -421,13 +421,9 @@ __source_all_bashrcs() {
 
        if [[ $EBUILD_PHASE != depend ]] ; then
                # source the existing profile.bashrcs.
-               save_IFS
-               IFS=$'\n'
-               local bashenv_files=($PORTAGE_BASHRC_FILES)
-               restore_IFS
-               for x in "${bashenv_files[@]}" ; do
+               while read -r x; do
                        __try_source "${x}"
-               done
+               done <<<"${PORTAGE_BASHRC_FILES}"
        fi
 
        # The user's bashrc is the ONLY non-portage bit of code
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index 39b0ad344..22a6dbb0f 100644
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -11,8 +11,6 @@ fi
 # We need this next line for "die" and "assert". It expands
 # It _must_ preceed all the calls to die and assert.
 shopt -s expand_aliases
-alias save_IFS='[ "${IFS:-unset}" != "unset" ] && old_IFS="${IFS}"'
-alias restore_IFS='if [ "${old_IFS:-unset}" != "unset" ]; then 
IFS="${old_IFS}"; unset old_IFS; else unset IFS; fi'
 
 assert() {
        local x pipestatus=${PIPESTATUS[*]}
-- 
2.19.1

Attachment: signature.asc
Description: PGP signature

Reply via email to