fixes for extended glob in compat mode; fix for brackets appearing in nested parameter expansions

This commit is contained in:
Chet Ramey
2022-10-07 17:46:16 -04:00
parent 38d9d3590f
commit 22f21b760e
13 changed files with 125 additions and 19 deletions
+7
View File
@@ -182,3 +182,10 @@ no dotglob: .a .foo bar
? . .. .a .foo
*
bar
extglob off
x
extglob off
extglob off
extglob off
extglob off
extglob off
+1
View File
@@ -386,5 +386,6 @@ ${THIS_SH} ./extglob4.sub
${THIS_SH} ./extglob5.sub
${THIS_SH} ./extglob6.sub
${THIS_SH} ./extglob7.sub
${THIS_SH} ./extglob8.sub
exit 0
+33
View File
@@ -0,0 +1,33 @@
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# extglob option interaction with other parts of the shell that force
# extended_glob on; only an issue in compatibility mode
shopt -u extglob
BASH_COMPAT=50
shopt extglob
echo $(echo $(echo $(echo $(echo $(echo x) ) ) ) )
shopt extglob
shopt -u extglob
[[ '' = $(shopt extglob >&2) ]]
shopt extglob
shopt -u extglob
[[ foo = $(: $(shopt extglob >&2)) ]]
shopt extglob
+1 -1
View File
@@ -1,4 +1,4 @@
PATH=$PATH:`pwd`
export PATH
${THIS_SH} ./extglob.tests | grep -v '^expect' > ${BASH_TSTOUT}
${THIS_SH} ./extglob.tests 2>&1 | grep -v '^expect' > ${BASH_TSTOUT}
diff ${BASH_TSTOUT} extglob.right && rm -f ${BASH_TSTOUT}