: ${HOME:=/}

# works right
echo ab$(echo mnop)yz
# works right
echo ab$(echo mnop
)yz
#
# works right
echo $(echo ab
   )
# works right
echo $(
)
echo $()
echo ab$()cd

echo $(case a in (a) echo sh_352.26ax; esac )
echo $(case a in (a) echo sh_352.26ay; esac)

echo $((echo sh_352.25a);(echo sh_352.25b))

echo $(echo sh_352.27 ')' ")" \)
	# ) comment
	)

echo $(
echo abc # a comment with )
)

echo $(
cat <<eof
here doc with )
eof
)

echo $(
echo ')'
)

unset x
x=$(cat <<"EOF"
bad' syntax
EOF
)
echo "$x"
unset x

echo $(for f in \); do echo a; done )
echo $(case a in a) echo sh_352.26a; esac )
echo $(case a in a) echo sh_352.26a; esac)

echo $(case a in
            (a) echo sh_352.26
               ;;
                 esac
          )

echo $(case a in
            a) echo sh_352.26
               ;;
                 esac
          )


echo $(case a in
            a) echo sh_352.26
               ;;


			

    
                 esac

          )

echo $(( 4<(2+3) ? 1 : 32))

echo $(cat << end
sh_352.28 )
end
)

echo $(cat <<- end  
sh_352.28 )
	end
)

k=$(case x in x) echo k;; esac)
echo $k

x=$(
    case $(ls) in
	example) echo foobix;;
    esac
)

echo $( echo ab\
cd)

echo `echo ab
cd`

echo `echo ab #xyz
cd`

echo "$(echo abcde)
"

recho "$(echo abcde)
  "

echo $(echo abcde)\
foo

recho $(echo abcde)\
   foo

recho "wx$(echo abcde)yz"
recho "$(echo abcde)"

echo $(cat <<eof
'
eof
)

echo after 1

echo $(cat <<\eof
'
eof
)

echo after 2

echo "$(cat <<\eof
'
eof
)"

echo after 3

echo "$(cat <<\eof
`
eof
)"

echo after 4

echo $(
cat << ')'
hello
)
)

echo after 5

echo $(cat <<'eof'
'
eof
)

echo after 6

echo $(
  case x in  x) echo x;; esac
)

echo $(
  case x in (x) echo x;; esac
)

echo $(
  echo 'quoted )'
)

echo $(
  echo comment # with )
)

echo $(
cat <<\eof
  here-doc with )
eof
)

echo $(
cat <<\)
	here-doc terminated with a parenthesis
)
)

echo $(
cat <<\eof
	'   # or a single back- or doublequote
eof
)

${THIS_SH} ./comsub-posix1.sub

${THIS_SH} ./comsub-posix2.sub

${THIS_SH} ./comsub-posix3.sub

# produced a parse error through bash-4.0-beta2
: $(echo foo)"
"
# produced a parse error through bash-4.1
unset x
x=$(
echo yes
# a comment with " ' \
)
echo $x
unset x

# fixed after bash-4.0 released
: $(case a in a) echo ;; # comment
esac)

# fixed after bash-4.3 released
testing=$(
    echo test | while read line; do
        case $line in
             test)  echo saw test ;;
             *)     echo other ;;
        esac
    done
)

# recommended to be parsed as a nested comsub instead of arithsub
echo $(( echo ab cde ) )
