The new CI job ensures that `make distcheck` passes.
It also bundles up the tarball and includes in the GitHub artifacts, along with a GitHub-provided attestation that the tarball is derived from the given build steps.
New flag: PCRE2_EXTRA_TURKISH_CASING, and pre-pattern flag
(*TURKISH_CASING).
Also added a pre-pattern flag (*CASELESS_RESTRICT) for this existing
flag.
UCD 16 makes a lot of changes to scripts, so make sure that we have
sufficient coverage by keeping the original autogenerated tests in
addition.
Complete the code updates for changes to ScriptExtensions.txt which
is no longer sorted by script and allow for multiple unicode property
test files, depending on Unicode version.
The original asserts weren't very useful in debug mode as they
were lacking information on where they were being triggered and
were also unreliable and dangerous as they could result in
important code being removed and trigger crashes (even in non
debug mode).
Instead of implementing one generic assert for both modes, build
a more useful one for each one, so PCRE2_UNREACHABLE() could be
also used in non debug builds to help with optimization.
Reinstate all original assertions to use the new versions, which
will have the sideeffect of fixing indentation issues introduced
in the original, and include additional asserts that were provided
as the original ones were being audited for safety. Note that during
such audit the use of the original asserts might had been refactored
so it also includes all those relevant code changes.
While at it, update cmake and CI to help with testing as well as
other documentation.
Co-authored-by: Alex Dowad <alexinbeijing@gmail.com>
Starting with Unicode 15, the provided DerivedBidiClass data file
reports different default values to use for unassigned characters
in different groups.
Process the additional hints for that specific file, and allow
overriding the values later if more specific.
Since that was previously forbidden, change get_other_case() to
report when no valid value could be provided and allow skipping
conflicting rule lines that required that restriction.
While at it, Allow using the long identifiers in `ucptest` with
the `find bidi` command (underscores also allowed).