From nobody Fri Aug 8 18:27:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bzCFR2bkDz64LJ7; Fri, 08 Aug 2025 18:27:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bzCFR1rMyz4QCq; Fri, 08 Aug 2025 18:27:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1754677675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IN+RnFxqmKTmsazVSv1hZwklSW3nWGG0wSQW4pzS8U0=; b=urg+AYFPPRkUVOaTQw3woBoLOVRyUp5ExqUgRgwkfCFj7UrOB+R+dz4ysCgd1xG73h3MlE E4qfI26Os9BAIRo4gd+7ERxOCMf0G1mue0B88hOs10aPpDac8IKH/XpOXNUG15phaqrl2X 8qkTBF546eSML/IucXWaIYUJC20owx/KLm2oRJK2YtYye7iXPFN/XwQRntwRiZzpA101Wg nptMGThBrWXwK2OmrOMGNirWIlHM3hEmR8rjykPu+haGW9hj5+YfZUGThpwo+3HjMg3fi5 8c0uS9BZICoCuM+MVte8X2LUmgeHTnlrgejbRA8jZY5kiSE8oo8X+BdZGs0Kjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1754677675; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IN+RnFxqmKTmsazVSv1hZwklSW3nWGG0wSQW4pzS8U0=; b=kxP3nL+gJn9lWCkiS4J2us0IPsjX7q/dcy5UmFS8gho7M5ghcZ+8i/6uKIcjWks2KVA8uh WD2jnas6DtOUQSWqOciu4JAc+WPWD62T/Jmpal60HtDkv3LZH/CPFa4PbzQIz6tFZSge7B J6fiqmKLmcqpEYa0QkRMe0sGpgrqIuVxuELQ9xIyWphmuhJJHtLpXXK00EEUI6X6EtrLVu G39DkwSM6XB1+gT5CN21LabFMi3T/iU1RLlbMsl//CGUJ2JqDCiurcDdFSurcQayZE2QCX M3ZEpi7WdVecWf5tNfgSOcwceiZOD/f7EJR+55OZpt+vrur7qacssnIxwxi5kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1754677675; a=rsa-sha256; cv=none; b=EPasxPSoNx/zwdz9HWtvYXonqpZ10QrshB/aB6aoUMfM4XB/92S09uJ6wLMeX84I7NJq0U hAXFvNqRXjGUGjs7Rf69O/B8mBvRCr4pMR4/9IBO3sHhNSdLmGfBWWla90K8NkUTBpBc99 yOYeQfFYon3MyOga1C7EzD5kCXSzRX7s9uBuYl7y8vnKDxVPYv8rXJuTnv+yiYHpguo4Sg qo+ATEULuyjaTT4HJl/bcNJa4DnES6skzqVCYP2g/zxAF7f1OwvqG+9QILHot/TPEkmAQ2 1fnMa/3EiJYvtO8cP1/h91TEZGEra/dmDE3hqzz4UgsDoO6zcWvRTfz4II/U+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bzCFR16Dtzmvc; Fri, 08 Aug 2025 18:27:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 578IRtfL076360; Fri, 8 Aug 2025 18:27:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 578IRtCc076357; Fri, 8 Aug 2025 18:27:55 GMT (envelope-from git) Date: Fri, 8 Aug 2025 18:27:55 GMT Message-Id: <202508081827.578IRtCc076357@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d0ff5773cefa - main - libregex: fix our mapping for \w List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d0ff5773cefaf3fa41b1be3e44ca35bd9d5f68ee Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d0ff5773cefaf3fa41b1be3e44ca35bd9d5f68ee commit d0ff5773cefaf3fa41b1be3e44ca35bd9d5f68ee Author: Kyle Evans AuthorDate: 2025-08-08 18:21:03 +0000 Commit: Kyle Evans CommitDate: 2025-08-08 18:27:26 +0000 libregex: fix our mapping for \w A small oversight in our implementation of \w is that it's actually not strictly [[:alnum:]]. According to the GNU documentation, it's actually [[:alnum:]] + underscore. The fix is rather trivial: just add it to our set explicitly, and amend our test set to be sure that _ is actually included. PR: 287396 --- lib/libc/regex/regcomp.c | 1 + lib/libregex/tests/gnuext.in | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/libc/regex/regcomp.c b/lib/libc/regex/regcomp.c index f34dc322d0bb..aebea2b02435 100644 --- a/lib/libc/regex/regcomp.c +++ b/lib/libc/regex/regcomp.c @@ -1183,6 +1183,7 @@ p_b_pseudoclass(struct parse *p, char c) { /* PASSTHROUGH */ case 'w': p_b_cclass_named(p, cs, "alnum"); + CHadd(p, cs, '_'); break; case 'S': cs->invert = 1; diff --git a/lib/libregex/tests/gnuext.in b/lib/libregex/tests/gnuext.in index 8f49854235a9..3ce0f4af1b34 100644 --- a/lib/libregex/tests/gnuext.in +++ b/lib/libregex/tests/gnuext.in @@ -10,9 +10,9 @@ a\|b\|c b abc a (ab)\1 - abab abab \1(ab) C ESUBREG (a)(b)(c)(d)(e)(f)(g)(h)(i)\9 - abcdefghii abcdefghii -# \w, \W, \s, \S (alnum, ^alnum, space, ^space) -\w+ - -%@a0X- a0X -\w\+ b -%@a0X- a0X +# \w, \W, \s, \S (_alnum, ^_alnum, space, ^space) +\w+ - -%@a_0X- a_0X +\w\+ b -%@a_0X- a_0X \s+ - aSNTb SNT \s\+ b aSNTb SNT # Word boundaries (\b, \B, \<, \>, \`, \')