brian m. carlson wrote: > On 2021-05-05 at 00:08:17, Felipe Contreras wrote: > > brian m. carlson wrote: > > > On 2021-05-04 at 15:09:54, Ævar Arnfjörð Bjarmason wrote: > > > > My aim here was to discover if we had any reason to think that "local" > > > > was less universally implemented than other POSIX/C89-plus features we > > > > rely on. It seems that it's not. > > > > > > "local" is missing in AT&T ksh. > > > > It's not missing, it's supported only in "functions", which have a > > different syntax in ksh: > > > > function f { local x="foo"; echo $x; }; f > > I believe there's a bash compatibility mode that enables this, but I > don't see support for it in the version Debian ships[0], which doesn't > enable that mode: > > ksh -c 'function f { local x="foo"; echo $x; }; f' > ksh: f[1]: local: not found [No such file or directory] I tried to build ksh myself to make sure, and apparently there's a mess of different versions of it. I manually applied some patches and tried three times before giving up. It's clear the Debian version and the Arch Linux version are completely different. > Regardless of the specifics, I think we can both agree that it doesn't > work in sh-style functions, so for Git's purposes, AT&T ksh does not > meet our needs in terms of support for local. Indeed. But it also probably doesn't meet many other needs. A quick check shows 54 failed tests just on t0000-basic.sh. I don't think it's something we should even consider. Cheers. -- Felipe Contreras