Subject: Re: [PATCH] test-lib: check Bash version for '-x' without using shell arrays

From: SZEDER Gábor <[email-masked]>
Date: Thu, 3 Jan 2019 12:36:59 +0100

On Wed, Jan 02, 2019 at 12:19:49AM +0100, SZEDER Gábor wrote:
> To my understanding both shells are right and conform to POSIX,
> because the standard allows both behavior by stating the following
> under '2.8.1 Consequences of Shell Errors':
> 
>   "An expansion error is one that occurs when the shell expansions
>   define in wordexp are carried out (for example, "${x!y}", because

That "define" above always stops my (non-native) English parser for a
moment or two...  shouldn't it be s/define/defined/ ?

It's not a copy-paste error, POSIX does indeed write "define" there,
see:

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_08_01

(First paragraph below the table and the Notes.)

>   '!' is not a valid operator); an implementation may treat these as
>   syntax errors if it is able to detect them during tokenization,
>   rather than during expansion."
>