On Fri, Sep 24 2021, René Scharfe wrote: > Am 24.09.21 um 21:30 schrieb Ævar Arnfjörð Bjarmason: >> >> 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 wasn't aware of that restriction and my gut feeling is that enforcing > it in a sed implementation would be slightly harder than allowing "};". > >> René's downthread <d5f297d4-9c64-1ff9-8422-054979bf8cfa@xxxxxx> seems to >> suggest that this is fine. > > That said, I didn't mean to suggest that we keep using this construct, > just that I couldn't find an implementation which would reject it. I'll re-test without "};", my (seemingly incorrect) quick read of your E-Mail + my own testing was that semicolons were fine there, but maybe they're just accepted by most... >> Both beforehand and just now I've tested this on AIX, Solaris, >> {Open,Net,Free}BSD, HP/UX, OSX and Linux (a few distros/versions). >> >> All of them are able to generate the same hook-list.h using this version >> of the patch. > > Impressive list. FWIW that's just the GCC Farm which is fairly easy to get access to for free software devlopment: https://cfarm.tetaneutral.net/machines/list/ The HP/UX box is a similar "private" setup mainly for Perl5 core development, I'm getting to use it to get git working there. > but still it's probably better to move the last "x" to its own -e, to > appease the POSIX spirits. Small change.. *nod*, will test with some version of that.