Index: bin/ebuild.sh =================================================================== --- bin/ebuild.sh (revision 9402) +++ bin/ebuild.sh (revision 9422) @@ -1384,9 +1384,14 @@ # @FUNCTION: filter_readonly_variables # @DESCRIPTION: [--filter-sandbox] [--allow-extra-vars] -# Read an environment from stdin and echo to stdout while filtering readonly -# variables. +# Read an environment from stdin and echo to stdout while filtering variables +# with names that are known to cause interference: # +# * some specific variables for which bash does not allow assignment +# * some specific variables that affect portage or sandbox behavior +# * variable names that begin with a digit or that contain any +# non-alphanumeric characters that are not be supported by bash +# # --filter-sandbox causes all SANDBOX_* variables to be filtered, which # is only desired in certain cases, such as during preprocessing or when # saving environment.bz2 for a binary or installed package. @@ -1414,7 +1419,9 @@ SANDBOX_DEBUG_LOG SANDBOX_DISABLED SANDBOX_LIB SANDBOX_LOG SANDBOX_ON" filtered_vars="${readonly_bash_vars} ${READONLY_PORTAGE_VARS} - BASH_[_[:alnum:]]* PATH" + BASH_[_[:alnum:]]* PATH + [[:digit:]][_[:alnum:]]* + [^[:space:]]*[^_[:alnum:][:space:]][^[:space:]]*" if hasq --filter-sandbox $* ; then filtered_vars="${filtered_vars} SANDBOX_[_[:alnum:]]*" else Index: bin/filter-bash-environment.py =================================================================== --- bin/filter-bash-environment.py (revision 9402) +++ bin/filter-bash-environment.py (revision 9422) @@ -7,6 +7,7 @@ egrep_compat_map = { "[:alnum:]" : r'\w', + "[:digit:]" : r'\d', "[:space:]" : r'\s', }