Parameter expansion stopped working in recent ash/dash
Thu Feb 9 12:08:45 GMT 2023
Greetings, Brian Inglis!
> On 2023-02-07 12:01, Brian Inglis via Cygwin wrote:
>> On 2023-02-07 10:19, Brian Inglis via Cygwin wrote:
>>> On 2023-02-07 05:07, Andrey Repin via Cygwin wrote:
>>>> In the attached script, that I always run using dash, the expansion is
>>>> supposed to strip leading/trailing spaces from provided parameter.
>>>> The upgrade that took place after which the expansion stopped working is
>>>> libsolv: - dash-0.5.11.5-1.any -> dash-0.5.12-1.any
>>>> Downgrading to 0.5.11.5 restored the expected behavior.
>>>> I failed to find anything relevant in the dash 0.5.12 patch notes, but perhaps
>>>> community could help?
>>> Looks like something in dash broke space trimming of any sort: see attached >> script and logs.
>>> I will see what upstream has to say for themselves, or about Cygwin.
>> Stupid errors in test script, didn't actually run trim3 anyway, redone, and that > and updated logs attached.
>> It appears the locale dependent [[:space:]] regexp no longer works but using > escapes generated by echo still does, see corrected trim3, so perhaps use those > for now, if you can, while I follow this upstream.
>> You may need to add escape sequences for any locale dependent spacing characters > to the space string, so please let us know if there are.
> Hi Andrey,
> A new test release 0.5.12-2 has been uploaded so please install and test
> that behaves as expected in past releases.
At least it no longer clears the input in real world tests.
So that's good for me now.
> The issue was caused as glibc fnmatch and glob now support locale dependent
> named character classes, equivalents, etc. as in grep, so the build now
> defaults to using the local libc fnmatch and glob, without any config test for which libc or supported features.
That's proving importance of proper testing yet again. >.<
> Cygwin winsup and newlib libc fnmatch and glob do not support those locale
> dependent named character classes, equivalents, etc. as in grep, so those
> features are no longer provided in dash by default.
> The new test release disables the build from using libc fnmatch and glob
> and use those provided by dash (possibly by or from gnulib), so those
> classes again appear to work as expected: see attached log.
> If there are no further negative reports by this weekend, I will replace
> the current stable release with this latest test release.
With best regards,
Thursday, February 9, 2023 15:05:35
Sorry for my terrible english...
More information about the Cygwin