racket/pkgs/racket-test-core
Matthew Flatt 00644821de fix regexp-matching bug
In a pattern like

 a*b

a naive attempt to match will take quadratic time on an input that
contains all "a"s an no "b". To improve that case, the regexp compiler
detects that a match will require a "b" and checks the input for a "b"
to enable linear-time failure.

That optimization mishandled `(?!...)` and `(?<!...)` patterns,
treating the must-not-match subpatterns as things that must match.
So,

  (regexp-match "a*(?!b)" "aaaxy")

returned false, because the input doesn't contain "b".

Thie commit repairs the optimization.

Closes #1468
2016-09-24 14:46:28 -06:00
..
mzlib Finish fixing dependencies of "racket-test-core". 2014-12-19 11:35:39 -05:00
tests/racket fix regexp-matching bug 2016-09-24 14:46:28 -06:00
info.rkt Remove stray unstable dependency. 2015-09-14 16:54:06 -05:00
LICENSE.txt update copyright from 2015 to 2016 2016-01-13 19:40:35 -07:00