Path: csiph.com!xmission!news.glorb.com!usenet.stanford.edu!not-for-mail From: Mike Frysinger Newsgroups: gnu.bash.bug Subject: updating shopt compat settings to include current version Date: Thu, 15 Oct 2015 13:34:33 -0400 Lines: 77 Approved: bug-bash@gnu.org Message-ID: NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="GDLQamdgIxhPcIwq" X-Trace: usenet.stanford.edu 1444930560 27233 208.118.235.17 (15 Oct 2015 17:36:00 GMT) X-Complaints-To: action@cs.stanford.edu To: bug-bash@gnu.org Envelope-to: bug-bash@gnu.org Mail-Followup-To: bug-bash@gnu.org Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 140.211.166.183 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com gnu.bash.bug:11663 --GDLQamdgIxhPcIwq Content-Type: text/plain; charset=utf-8 Content-Disposition: inline with bash-4.0, new compat options were introduced: shopt -s compat32 and with bash-4.3, a variable was added: export BASH_COMPAT=3.2 but things get a little weird when you want to set the compat level to the current version: $ echo $BASH_VERSION 4.3.42(1)-release $ shopt -s compat43 bash: shopt: compat43: invalid shell option name $ export BASH_COMPAT=4.3 we're interested in this in Gentoo because we want to set the current shell compat level to a min version even if that version is the active one. ideally it'd be: if ! shopt -s compat43 ; then echo "error: >=bash-4.3 required, but ${BASH_VERSION} found" >&2 exit 1 fi instead we have to probe the active version ourselves: if ! shopt -s compat43 ; then if [[ ${BASH_VERSINFO[0]} -ne "4" || ${BASH_VERSINFO[1]} -ne "3" ]] ; then echo ... exit 1 fi fi the BASH_COMPAT variable isn't as useful: - possible to accidentally export and impact other shell scripts - doesn't fail for &1 ) ]] || [[ ${BASH_VERSINFO[0]} -lt 4 ]] || [[ ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 3 ]]) ; then echo ... exit 1 fi BASH_COMPAT=4.3 so my request is simple: can we have compatXY added for the current version ? so in the upcoming bash-4.4 release, get a compat44 option added. -mike --GDLQamdgIxhPcIwq Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWH+OpAAoJEEFjO5/oN/WBGNAP/0x7k70nv7DFUxYPXPcQOK6S FjuP30WOZQAW/YB26Qv0yJiiKeFd7GASAoedG+blYGb7FYAf43sif37TnGxa/sm8 kxx69Xlh7vZkiMPYeBOorW++TzLA2cQqMtR5lXqz37fAmGD8nH/AXkr6RU0zDhIJ rq4d0Ge2oCVYGBRTYr78bGPLd9O+5qRJ3NzKk/8f0fwuJi7AhKOZFpnnjDPqpD29 oDNw7yzNrnhW6jw7fRDBSSIERIj+FToEmHlRNTVOFCdoa/gZLh3jqvg7zfK+olRR NeSH2t7sEuJ15eAjm6xOJQH9TM6KlsM5v2snrq8134qCO2ou90AijcDBW1Iki+4m xtQYEP17xuiXrWJ5s0snv7CnwLwt6yyzFTzaEToMI5EdrWR+kbqw5BiLdLnNkT8v VyXo9k5ee/KB3SgludIxHnN7IXuLcmFQQT3luTeP3TfivxFwi8WFfaZPBeutN3dp 4QNE0SjSzQljdb9OemlWdG2rOUVTNvg5Cs9+Ypzcx78xt+YVwD2aYoWks4Mw1FDm Zpp7fkj/wlpayWb5zaI7dvVRSOypNWKo71+bzdaef4iBvpr4e36r3JCy8uaCRso0 BIe/OvnjjpS/bn9wEVGlnkQeiAiDMOoWcFXXMnC5dru8bs1kiBObXEoEtq7VsH7G N7w+FE9A6je8h8gBtruJ =Tt8B -----END PGP SIGNATURE----- --GDLQamdgIxhPcIwq--