On Mon, Sep 27 2021, Phillip Wood wrote: > On 24/09/2021 20:30, Ævar Arnfjörð Bjarmason wrote: >> On Fri, Sep 24 2021, Phillip Wood wrote: >> >>> Hi Ævar >>> On 23/09/2021 11:30, Ævar Arnfjörð Bjarmason wrote: >>>> diff --git a/generate-hooklist.sh b/generate-hooklist.sh >>>> new file mode 100755 >>>> index 00000000000..6d4e56d1a31 >>>> --- /dev/null >>>> +++ b/generate-hooklist.sh >>>> @@ -0,0 +1,18 @@ >>>> +#!/bin/sh >>>> +# >>>> +# Usage: ./generate-hooklist.sh >hook-list.h >>>> + >>>> +cat <<EOF >>>> +/* Automatically generated by generate-hooklist.sh */ >>>> + >>>> +static const char *hook_name_list[] = { >>>> +EOF >>>> + >>>> +sed -n -e '/^~~~~*$/ {x; s/^.*$/ "&",/; p;}; x' \ >>> >>> POSIX does not support using a semicolon after a closing brace [1], >>> grepping our code base with >>> git grep 'sed .*};' '*.sh' >>> does not give any matches so I don't think we're using that pattern >>> any where else. Replacing the semicolon with ' -e' would fix it. >>> >>> Best Wishes >>> >>> Phillip >> Does this fail on any system you're aware of? If so what OS/version >> (and >> preferably version of "sed"). > > I'm not aware of any such system but I rarely use anything other than > linux. As this departure from POSIX is not already in the code base I > thought it was worth flagging it. I did wonder if it would be > supported by the various BSDs but you testing shows it is actually > quite widely supported. > > Best Wishes > > Phillip Thanks, I completely agree that it's worth changing either way (as I did in my v2). I just wondered if it was a careful reading of the standard or having run into it on a system in the wild, in that case I'd try to test on that system in the future. Good eyes :)