<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/regex, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2025-10-26T02:26:06Z</updated>
<entry>
<title>packages: Install development manpages in the -dev package</title>
<updated>2025-10-26T02:26:06Z</updated>
<author>
<name>Lexi Winter</name>
<email>ivy@FreeBSD.org</email>
</author>
<published>2025-10-25T17:33:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=031e711647c3edc3021c1029496d6798a632697e'/>
<id>urn:sha1:031e711647c3edc3021c1029496d6798a632697e</id>
<content type='text'>
Add a new per-group SUBPACKAGE option to bsd.man.mk.  When MANSPLITPKG
is enabled, this is forced to "-man", otherwise it defaults to empty
but can be overridden by the caller.

Use this in bsd.lib.mk to install library manpages in the -dev package
instead of the base package.  This is nearly always preferable, since
library manpages are usually in section 2 or 3 and are only relevant
to people with development packages installed.

For manpages which should be installed in the base package even for
libraries, add a new MANNODEV group in bsd.lib.mk.  Update existing
Makefiles to use this where appropriate.

MFC after:	3 days
Discussed with:	olce
Reviewed by:	olce
Sponsored by:	https://www.patreon.com/bsdivy
Differential Revision:	https://reviews.freebsd.org/D52832
</content>
</entry>
<entry>
<title>libregex: fix our mapping for \w</title>
<updated>2025-08-08T18:27:26Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2025-08-08T18:21:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d0ff5773cefaf3fa41b1be3e44ca35bd9d5f68ee'/>
<id>urn:sha1:d0ff5773cefaf3fa41b1be3e44ca35bd9d5f68ee</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Remove residual blank line at start of Makefile</title>
<updated>2024-07-15T22:43:39Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2024-07-15T04:46:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e9ac41698b2f322d55ccf9da50a3596edb2c1800'/>
<id>urn:sha1:e9ac41698b2f322d55ccf9da50a3596edb2c1800</id>
<content type='text'>
This is a residual of the $FreeBSD$ removal.

MFC After: 3 days (though I'll just run the command on the branches)
Sponsored by: Netflix
</content>
</entry>
<entry>
<title>Allow -DNO_STRICT_REGEX to restore historic regex behavior</title>
<updated>2024-05-10T01:29:43Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-05-10T01:29:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f77b5b295da3146c3b601767cbc4e85e6713192c'/>
<id>urn:sha1:f77b5b295da3146c3b601767cbc4e85e6713192c</id>
<content type='text'>
Allow restoring the behavior of '{' as described in regex(3).
Ie. only treat it as start of bounds if followed by a digit.

If NO_STRICT_REGEX is not defined, the behavior introduced by
commit a4a801688c909ef39cbcbc3488bc4fdbabd69d66 is retained,
otherwise the previous behavior is restored.

Differential Revision:	https://reviews.freebsd.org/D45134
</content>
</entry>
<entry>
<title>regex: fix freeing g-&gt;charjump in low memory condition</title>
<updated>2024-02-02T18:51:54Z</updated>
<author>
<name>Corinna Vinschen</name>
<email>vinschen@redhat.com</email>
</author>
<published>2024-02-02T18:30:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=619f455b8fc9d05b50822387d3203f74c86fcb5c'/>
<id>urn:sha1:619f455b8fc9d05b50822387d3203f74c86fcb5c</id>
<content type='text'>
computejumps() moves g-&gt;charjump to a position relativ to the value of
CHAR_MIN.  As such, g-&gt;charjump doesn't necessarily point to the address
actually allocated.  While regfree() takes that into account, the low
memory handling in regcomp_internal() doesn't.  Fix that by free'ing
the actually allocated address, as in regfree().

MFC After: 2 weeks
Reviewed by: imp,jrtc27
Pull Request: https://github.com/freebsd/freebsd-src/pull/692
</content>
</entry>
<entry>
<title>regex: mixed sets are misidentified as singletons</title>
<updated>2023-12-22T05:19:59Z</updated>
<author>
<name>Bill Sommerfeld</name>
<email>sommerfeld@hamachi.org</email>
</author>
<published>2023-12-21T03:46:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8f7ed58a15556bf567ff876e1999e4fe4d684e1d'/>
<id>urn:sha1:8f7ed58a15556bf567ff876e1999e4fe4d684e1d</id>
<content type='text'>
Fix "singleton" function used by regcomp() to turn character set matches
into exact character matches if a character set has exactly one
element.

The underlying cset representation is complex; most critically it
records"small" characters (codepoint less than either 128
or 256 depending on locale) in a bit vector, and "wide" characters in
a secondary array.

Unfortunately the "singleton" function uses to identify singleton sets
treated a cset as a singleton if either the "small" or the "wide" sets
had exactly one element (it would then ignore the other set).

The easiest way to demonstrate this bug:

	$ export LANG=C.UTF-8
	$ echo 'a' | grep '[abà]'

It should match (and print "a") but instead it doesn't match because the
single accented character in the set is misinterpreted as a singleton.

Reviewed by:	kevans, yuripv
Obtained from:	illumos
Differential Revision:	https://reviews.freebsd.org/D43149
</content>
</entry>
<entry>
<title>lib: Remove ancient SCCS tags.</title>
<updated>2023-11-27T05:23:28Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-23T17:21:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dc36d6f9bb1753f3808552f3afd30eda9a7b206a'/>
<id>urn:sha1:dc36d6f9bb1753f3808552f3afd30eda9a7b206a</id>
<content type='text'>
Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by:		Netflix
</content>
</entry>
<entry>
<title>libc: Remove empty comments in Symbol.map</title>
<updated>2023-11-15T17:51:03Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2023-11-15T17:51:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1ca63a8219b88b752b064d19bd3428c61dbcf1f9'/>
<id>urn:sha1:1ca63a8219b88b752b064d19bd3428c61dbcf1f9</id>
<content type='text'>
These were left over from $FreeBSD$ removal.

Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D42612
</content>
</entry>
<entry>
<title>libc: Purge unneeded cdefs.h</title>
<updated>2023-11-01T22:44:30Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-01T22:43:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=559a218c9b257775fb249b67945fe4a05b7a6b9f'/>
<id>urn:sha1:559a218c9b257775fb249b67945fe4a05b7a6b9f</id>
<content type='text'>
These sys/cdefs.h are not needed. Purge them. They are mostly left-over
from the $FreeBSD$ removal. A few in libc are still required for macros
that cdefs.h defines. Keep those.

Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D42385
</content>
</entry>
<entry>
<title>regcomp: use unsigned char when testing for escapes</title>
<updated>2023-09-25T22:49:14Z</updated>
<author>
<name>Christos Zoulas</name>
<email>christos@NetBSD.org</email>
</author>
<published>2023-08-30T20:37:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3fb80f1476c7776f04ba7ef6d08397cef6abcfb0'/>
<id>urn:sha1:3fb80f1476c7776f04ba7ef6d08397cef6abcfb0</id>
<content type='text'>
- cast GETNEXT to unsigned where it is being promoted to int to prevent
  sign-extension (really it would have been better for PEEK*() and
  GETNEXT() to return unsigned char; this would have removed a ton of
  (uch) casts, but it is too intrusive for now).
- fix an isalpha that should have been iswalpha

PR:		264275, 274032
Reviewed by:	kevans, eugen (previous version)
Obtained from:	NetBSD
Differential Revision:	https://reviews.freebsd.org/D41947
</content>
</entry>
</feed>
