"Robert J. Chassell" <[EMAIL PROTECTED]> writes:

> Stefan Monnier <[EMAIL PROTECTED]> wrote, 
>
>    ... re_match_2_internal is a function that can easily take an
>    insane amount of time ...
>
>    So a good thing to do is to look at the regexp that's being matched
>    (typically: look up the backtrace to see the value of the `string' argument
>    to search_buffer, then do "print string" and then "xstring" to see the
>    actual string).  
>
> Thank you.  This and Kim's message are what I need.  I cannot figure
> out why things go wrong.  They look OK to me.
>
>     ... let the code run until the end of re_match_2_internal.  If
>     it's immediate it means the problem is maybe not in the time taken
>     in each call to re_match_2_internal, but rather in the number of
>     calls.
>
> When I evoke `finish' when the program has stopped at
> re_match_2_internal, it runs fairly quickly to then stop in
> re_search_2 in regex.c, line 4338, at the second line of 
>
>       if (val >= 0)
>       return startpos;
>
> even though I do not have a break point there.  (The only breakpoint
> for this run is in re_match_2_internal at regex.c:4828)

Please compile Emacs with "-fnocrossjumping" in the CFLAGS options.
If you don't, GCC will merge multiple execution paths, making
debugging returns, assertions and other stuff quite impossible.

Stack traces will tend to be occasionally rubbish, too.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to