Hi Bruno,

On Jul 27 12:15, Bruno Haible via Cygwin wrote:
> Hi,
> 
> Gnulib has, for the first time, an fnmatch() implementation that supports
> characters outside the Unicode Basic Multilingual Plane (BMP), even on Cygwin
> with its 16-bits wchar_t type. That is, in an UTF-8 locale, e.g.
>   fnmatch ("x?y", "x\360\237\230\213y", 0)
> now returns 0.
> 
> This implementation also implements GNU extensions, as documented in
> https://www.gnu.org/software/libc/manual/html_node/Wildcard-Matching.html
> 
> Now, I see that in the Cygwin master branch the fnmatch implementation has
> been improved, supposedly handling non-BMP characters and character classes
> as well.

The major changes are using 32 bit unicode values internally and
implementing collating symbols and equivalence class expressions.

> Therefore I would find it interesting to know whether the Cygwin 3.5.0 
> fnmatch()
> now still gets overridden by the gnulib one and, if no, whether it passes the
> gnulib test suite.

I'm looking into that.  First thing, your testsuite uncovered a bug in
the latest fnmatch in the C locale. Comparing pointers instead of
comparing characters was never a good idea for pattern matching...

When I'm done I hope that our 3.5 fnmatch won't be overridden by the
gnulib version :}

> I can't easily install a Cygwin 3.5.0 snapshot. If one of you would like to
> help, here's how to:
>   1. Create an environment for working with a Cygwin 3.5.0 snapshot (from
>      March 2023 or newer).
>   2. wget https://haible.de/bruno/gnu/testdir-fnmatch.tar.gz
>   3. tar xfz testdir-fnmatch.tar.gz
>   4. cd testdir-fnmatch-posix
>      ./configure 2>&1 | tee log1
>      make
>      make check
>      grep fnmatch log1
>      grep REPLACE_FNMATCH config.status
>      cd ..
>   5. cd testdir-fnmatch-gnu
>      ./configure 2>&1 | tee log1
>      make
>      make check
>      grep fnmatch log1
>      grep REPLACE_FNMATCH config.status
>      cd ..
> and provide the build and grep results.
> 
> Thanks!
> 
>          Bruno

No worries, thanks for the testcases, I think I have some result
tomorrow.


Corinna

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to