Subject: Re: bug#66406: Broken `re-search-forward' (?)

From: Stefan Monnier <[email-masked]>
Date: Tue, 10 Oct 2023 09:37:20 -0400

Basil L. Contovounesios [2023-10-08 21:39:44] wrote:

> Paul Pogonyshev [2023-10-08 12:35 +0200] wrote:
>
>> In a recent Emacs master (as provided in Silex's Docker image):
>
> Any chance of knowing which commit precisely?
>
>> $ emacs --batch --eval "(with-temp-buffer (insert
>> \"\n;;;###autoload\n(defun ...)\n\") (goto-char 1) (print
>> (re-search-forward \"^[[:space:]]*;;;###autoload[[:space:]]*$\" nil t)))"
>>
>> Prints nil.
>>
>> With every stable version of Emacs I have this prints 16.
>
> I get 16 with today's master as well
> (M-x report-emacs-bug info follows below).

According, to my test, this was fixed by

    commit 37130fd500fbf78ff0d0037aa6275f0f70a415dd
    Author: Stefan Monnier <[email-masked]>
    Date:   Tue Oct 3 10:10:57 2023 -0400
    
        regex.c: Fix recent regression with mutually_exclusive_p
        
        The new analysis code ended up increasing the scope of an optimization
        a bit too far.  Reign it in.
        
        * src/regex-emacs.c (struct mutexcl_data): Add `unconstrained` field.
        (mutually_exclusive_one): Use and set it.
        (mutually_exclusive_p): Initialize it.
        
        * test/src/regex-emacs-tests.el (regexp-tests-backtrack-optimization):
        Add test.

-- Stefan