From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id A48D03858D37; Thu, 27 Jul 2023 18:24:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A48D03858D37 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1690482259; bh=+IIBZpW7yNazBvx7NLgeBNpVd46Yck6e9K26SvTACaI=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=yboZZ1va1aMPqMl33oag5NxSKKDJryMpgpd1P4dFlW21p5jIinp2IqIKKl7Y2SJyk o0N3up51PdZcOPNPZgXrajvexr7bPHYGjCEFtSNpRRnFXGG8htv8yzGGgdZzonvoVn r3q1aJZsVj5IEycHuDU4/Si0InB26UT/cBCYg/yM= Received: by calimero.vinschen.de (Postfix, from userid 500) id C7AABA80965; Thu, 27 Jul 2023 20:24:17 +0200 (CEST) Date: Thu, 27 Jul 2023 20:24:17 +0200 From: Corinna Vinschen To: Bruno Haible Cc: cygwin@cygwin.com Subject: Re: fnmatch improvements Message-ID: Reply-To: cygwin@cygwin.com Mail-Followup-To: Bruno Haible , cygwin@cygwin.com References: <3884636.3uDm00564X@nimes> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <3884636.3uDm00564X@nimes> List-Id: 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