"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