Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#15088 closed enhancement (fixed)

pcre2-10.37

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 11.0
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (4)

comment:1 by Bruce Dubbs, 3 years ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 3 years ago

Version 10.37 26-May-2021

  1. Change RunGrepTest to use tr instead of sed when testing with binary zero bytes, because sed varies a lot from system to system and has problems with binary zeros. This fixes RunGrepTest for OpenBSD. Later: it broke it for at least one version of Solaris, where tr can't handle binary zeros. However, that system had /usr/xpg4/bin/tr installed, which works OK, so RunGrepTest now checks for that command and uses it if found.
  1. Compiling with gcc 10.2's -fanalyzer option showed up a hypothetical problem with a NULL dereference. I don't think this case could ever occur in practice, but I have put in a check in order to get rid of the compiler error.
  1. An alternative patch for CMakeLists.txt because 10.36 #4 breaks CMake on Windows.
  1. Two bugs related to over-large numbers have been fixed so the behaviour is now the same as Perl.

(a) A pattern such as /\214748364/ gave an overflow error instead of being treated as the octal number \214 followed by literal digits.

(b) A sequence such as {65536 that has no terminating } so is not a quantifier was nevertheless complaining that a quantifier number was too big.

  1. A run of autoconf suggested that configure.ac was out-of-date with respect to the lastest autoconf. Running autoupdate made some valid changes, some valid suggestions, and also some invalid changes, which were fixed by hand. Autoconf now runs clean and the resulting "configure" seems to work, so I hope nothing is broken. Later: the requirement for autoconf 2.70 broke some automatic test robots. It doesn't seem to be necessary: trying a reduction to 2.60.
  1. The pattern /a\K.(?0)*/ when matched against "abac" by the interpreter gave the answer "bac", whereas Perl and JIT both yield "c". This was because the effect of \K was not propagating back from the full pattern recursion. Other recursions such as /(a\K.(?1)*)/ did not have this problem.
  1. Restore single character repetition optimization in JIT. Currently fewer character repetitions are optimized than in 10.34.
  1. When the names of the functions in the POSIX wrapper were changed to pcre2_regcomp() etc. (see change 10.33 #4 below), functions with the original names were left in the library so that pre-compiled programs would still work. However, this has proved troublesome when programs link with several libraries, some of which use PCRE2 via the POSIX interface while others use a native POSIX library. For this reason, the POSIX function names are removed in this release. The macros in pcre2posix.h should ensure that re-compiling fixes any programs that haven't been compiled since before 10.33.

comment:3 by Bruce Dubbs, 3 years ago

Resolution: fixed
Status: assignedclosed

Fixed at c1b3614f1af995be56f374ea682a1c10bb5a3b28

Update to nspr-4.31.
Update to pcre2-10.37.
Update to libinput-1.17.3 (Xorg driver).

comment:4 by Bruce Dubbs, 3 years ago

Milestone: 10.211.0

Milestone renamed

Note: See TracTickets for help on using tickets.