summaryrefslogtreecommitdiff
path: root/test/src/regex-resources
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2023-09-27 13:29:50 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2023-09-27 13:29:50 -0400
commitbc52fdd1d153b36a9da74d7aa7f1e6150ff6b2eb (patch)
treea302e300d15378c840b9eab4f49861c375dd52f7 /test/src/regex-resources
parent9a67540e51edca00b17de639af18989f9ecc9be9 (diff)
downloademacs-bc52fdd1d153b36a9da74d7aa7f1e6150ff6b2eb.tar.gz
emacs-bc52fdd1d153b36a9da74d7aa7f1e6150ff6b2eb.tar.bz2
emacs-bc52fdd1d153b36a9da74d7aa7f1e6150ff6b2eb.zip
* src/regex-emacs.c (analyze_first): Fix incorrect optimization
The optimization was incorrect in a particular corner case. In this fix I just disable it conservatively for more cases because it's not obvious how to fix it while preserving the "good" cases. We may find a better fix by using an approach like the one in `mutually_exhaustive_aux`, but for now this is good enough, especially since \{..\} repetitions are not used very frequently. * test/src/regex-resources/PTESTS: New test.
Diffstat (limited to 'test/src/regex-resources')
-rw-r--r--test/src/regex-resources/PTESTS1
1 files changed, 1 insertions, 0 deletions
diff --git a/test/src/regex-resources/PTESTS b/test/src/regex-resources/PTESTS
index 68acc314d37..59dd4b3bc21 100644
--- a/test/src/regex-resources/PTESTS
+++ b/test/src/regex-resources/PTESTS
@@ -269,6 +269,7 @@
#W the expected result for \([a-c]*\)\{2,\} is failure which isn't correct
1¦3¦\([a-c]*\)\{2,\}¦abcdefg¦
1¦3¦\([a-c]*\)\{1,\}¦abcdefg¦
+0¦0¦\([a-c]*\)\{2,\}¦gabcdefg¦
-1¦-1¦a\{64,\}¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa¦
# GA142
1¦3¦a\{2,3\}¦aaaa¦