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. 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 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 -- 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