Actually, I do believe this may be a very simple problem.
Around line 4078 of regex.c, we have the code:
/* In a forward search for something that starts with \=.
don't keep searching past point. */
if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] == at_dot
&& range > 0)
{
range = BUF_PT (regex_emacs_buffer) - BUF_BEGV (regex_emacs_buffer)
- startpos;
if (range < 0)
return -1;
}
I think BUF_PT and BUF_BEGV should be BI_BUF_PT and BI_BUF_BEGV, since
range and startpos are byte positions not buffer positions. (A proper
type system would have caught that, of course...)
Leastways, it seems to work for me after doing that!
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta