diff options
-rwxr-xr-x | bootstrap | 18 | ||||
m--------- | gnulib | 0 | ||||
-rwxr-xr-x | tests/init.sh | 8 |
3 files changed, 18 insertions, 8 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2016-01-24.06; # UTC +scriptversion=2016-11-03.18; # UTC # Bootstrap this package from checked-out sources. @@ -418,13 +418,8 @@ sort_ver() { # sort -V is not generally available done } -get_version() { - app=$1 - - $app --version >/dev/null 2>&1 || { $app --version; return 1; } - - $app --version 2>&1 | - sed -n '# Move version to start of line. +get_version_sed=' +# Move version to start of line. s/.*[v ]\([0-9]\)/\1/ # Skip lines that do not start with version. @@ -440,6 +435,13 @@ get_version() { s/\.0*\([1-9]\)/.\1/g p q' + +get_version() { + app=$1 + + $app --version >/dev/null 2>&1 || { $app --version; return 1; } + + $app --version 2>&1 | sed -n "$get_version_sed" } check_versions() { diff --git a/gnulib b/gnulib -Subproject 7dad5f25591de682c452c3fc39ffe2fa11e2149 +Subproject 012262350494958b70da16b43ed9acf24ee7fbc diff --git a/tests/init.sh b/tests/init.sh index 97e4e4ba5..09b07394f 100755 --- a/tests/init.sh +++ b/tests/init.sh @@ -128,6 +128,13 @@ else fi # We require $(...) support unconditionally. +# We require non-surprising "local" semantics (this eliminates dash). +# This takes the admittedly draconian step of eliminating dash, because the +# assignment tab=$(printf '\t') works fine, yet preceding it with "local " +# transforms it into an assignment that sets the variable to the empty string. +# That is too counter-intuitive, and can lead to subtle run-time malfunction. +# The example below is less subtle in that with dash, it evokes the run-time +# exception "dash: 1: local: 1: bad variable name". # We require a few additional shell features only when $EXEEXT is nonempty, # in order to support automatic $EXEEXT emulation: # - hyphen-containing alias names @@ -151,6 +158,7 @@ fi gl_shell_test_script_=' test $(echo y) = y || exit 1 f_local_() { local v=1; }; f_local_ || exit 1 +f_dash_local_fail_() { local t=$(printf " 1"); }; f_dash_local_fail_ score_=10 if test "$VERBOSE" = yes; then test -n "$( (exec 3>&1; set -x; P=1 true 2>&3) 2> /dev/null)" && score_=9 |