diff options
Diffstat (limited to 'eclass/estack.eclass')
-rw-r--r-- | eclass/estack.eclass | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/eclass/estack.eclass b/eclass/estack.eclass index 19c388f3d8d2..f548abf8c283 100644 --- a/eclass/estack.eclass +++ b/eclass/estack.eclass @@ -158,7 +158,7 @@ eshopts_push() { [[ $# -eq 0 ]] && return 0 shopt "$@" || die "${FUNCNAME}: bad options to shopt: $*" else - estack_push eshopts $- + estack_push eshopts "$(shopt -p -o)" [[ $# -eq 0 ]] && return 0 set "$@" || die "${FUNCNAME}: bad options to set: $*" fi @@ -172,12 +172,7 @@ eshopts_push() { eshopts_pop() { local s estack_pop eshopts s || die "${FUNCNAME}: unbalanced push" - if [[ ${s} == "shopt -"* ]] ; then - eval "${s}" || die "${FUNCNAME}: sanity: invalid shopt options: ${s}" - else - set +$- || die "${FUNCNAME}: sanity: invalid shell settings: $-" - set -${s} || die "${FUNCNAME}: sanity: unable to restore saved shell settings: ${s}" - fi + eval "${s}" || die "${FUNCNAME}: sanity: invalid shopt options: ${s}" } # @FUNCTION: eumask_push |