bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24358: 25.1.50; re-search-forward errors with "Variable binding dept


From: Sam Halliday
Subject: bug#24358: 25.1.50; re-search-forward errors with "Variable binding depth exceeds max-specpdl-size"
Date: Sun, 23 Oct 2016 19:16:18 +0100

Your patch suggestion results in a failure at 20% in the test for me.

I wish we knew what was causing this to fail on my OS but not yours.
Do you have docker? You could perhaps try with an recent archlinux
image.

On 23 October 2016 at 19:06, Eli Zaretskii <address@hidden> wrote:
> Noam, I think we need these two changes, because otherwise looping
> more than once in search_buffer will fail to update the pointers
> passed to re_search_2, if buffer text was relocated inside
> re_search_2.
>
> Do you agree?
>
> diff --git a/src/search.c b/src/search.c
> index ec5a1d7..5c04916 100644
> --- a/src/search.c
> +++ b/src/search.c
> @@ -1233,6 +1233,8 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, 
> ptrdiff_t pos_byte,
>                               ? &search_regs : &search_regs_1),
>                              /* Don't allow match past current point */
>                              pos_byte - BEGV_BYTE);
> +         /* Update 'base' due to possible relocation inside re_search_2.  */
> +         base = current_buffer->text->beg;
>           if (val == -2)
>             {
>               matcher_overflow ();
> @@ -1279,6 +1281,8 @@ search_buffer (Lisp_Object string, ptrdiff_t pos, 
> ptrdiff_t pos_byte,
>                              (NILP (Vinhibit_changing_match_data)
>                               ? &search_regs : &search_regs_1),
>                              lim_byte - BEGV_BYTE);
> +         /* Update 'base' due to possible relocation inside re_search_2.  */
> +         base = current_buffer->text->beg;
>           if (val == -2)
>             {
>               matcher_overflow ();





reply via email to

[Prev in Thread] Current Thread [Next in Thread]