>>>>> "Stefan" == Stefan Monnier
<monnier+lists.xemacs.beta/news/(a)RUM.cs.yale.edu> writes:
Stefan> It took me a significant amount of rework to fix it for
Stefan> Emacs-21.
Stefan> I sent the corresponding patch+changelog to Jan Vroonhof,
Stefan> but merging them into XEmacs' regexp.c is not a piece of
Stefan> cake.
OK, I found that patch, he forwarded it to xemacs-beta in February or
so. I did read through the patch, and although I don't understand the
code, the comments seem to be greatly improved. I did recognize a lot
of it from browsing the regex.c. It seems like a lot should be fairly
straightforward to merge, maybe 2/3 to 3/4.
If you don't mind, I have a few questions:
Do you have any further comments you might be willing to make on main
difficulties in merging, or whatever?
When implementing shy-groups and non-greedy operators for Emacs,
I (of course) took a look at XEmacs' code and the regex.c code there
is clearly very similar to Emacs', so merging shouldn't be too difficult.
But I believe that there are many cosmetic differences in the code
which prevent "automatic" merging.
I think the cosmetic differences had mostly to do with MULE and with
syntax-tables (which can be overridden with text-properties in Emacs).
Do you have any other test cases, besides the two or three you put
in
the patch?
As I told Jan, I had more test cases, but I mistakenly deleted them
and couldn't find them on the backup tapes. I have some more by now.
I append my current test script.
I believe that we came across another bug recently that had to do with
intervals (counters were not reset when backtracking).
Has your code stood up in test since last year, or have you had to
make any revisions? (No offense intended, but that was not just a
"tweak"!).
No offense taken. Indeed I introduced a couple bugs, the latest one
was reported/fixed yesterday, as a matter of fact.
If anybody does the merge, I'll send him the remaining bug fixes.
Stefan
PS: while massaging the code I tried to factor out the details of the
multibyte support, so it *might* be easier to try and port Emacs' regex.c
to XEmacs than to merge my changes into the current code.
(the original motivation wasn't for XEmacs but rather for glibc, although
I haven't finished merging the glibc fixes/enhancements to regex.c
into Emacs'. And multibyte-regex support for glibc will require a good
bit more work that I don't intend to do).