From: Stefan Kangas Date: Sun, 24 Oct 2021 21:56:46 +0000 (+0200) Subject: * etc/PROBLEMS: Mention problems with regexp matcher. (Bug#18577) X-Git-Tag: emacs-28.0.90~185 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0771d8939adaacf0b9b41150be9c53e6b9519b04;p=emacs.git * etc/PROBLEMS: Mention problems with regexp matcher. (Bug#18577) --- diff --git a/etc/PROBLEMS b/etc/PROBLEMS index ede83a6e7c0..daff102a0d3 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -742,6 +742,18 @@ completed" message that tls.el relies upon, causing affected Emacs functions to hang. To work around the problem, use older or newer versions of gnutls-cli, or use Emacs's built-in gnutls support. +*** Stack overflow in regexp matcher. +Due to fundamental limitations in the way Emacs' regular expression +engine is designed, you might run into combinatorial explosions in +backtracking with certain regexps. + +Avoid "\(...\(...\)*...\)*" and "\(...\)*\(...\)*". Look for a way to +anchor your regular expression, to avoid matching the null string in +infinite ways. The latter is what creates backtrack points, and +eventual overflow in practice. + +(Also prefer "\(?:...\)" to "\(...\)" unless you need the latter.) + * Runtime problems related to font handling ** Characters are displayed as empty boxes or with wrong font under X.