Stefan Monnier wrote:
>>>>> "Ben" == Ben Wing <ben(a)666.com> writes:
> but i got so annoyed to find out about this bug and the horrendously
> messed up pseudo-implementation of shy groups that we had that i spent
> a few hours tonight that should have gone elsewhere fixing the bug.
Your patch looks good, but it just works around the bug ;-(
well ... "bug" is in the eye of the beholder. it's true that my patch
doesn't
match shy groups any faster, but the use of groups as part of backreferencing
appears to be just the way the engine is implemented, not necessarily a bug.
The fix I coded up for Emacs actually fixes the stupid unsafe
optimization
instead. The main advantage is that \(?:...\) is free again (i.e.
"\\(?:a\\)" generates the same compiled regexp as "a") and that the
code
is "simpler" (at least the file size is reduced). But the patch is
about the same size as the file.
i would love it if you'd consider working on the xemacs regexp engine. [and your
patches will certainly go in.] we made many changes for mule though so our
version is somewhat different. people have also implemented the *? and +?
constructs. [did you do this as well?]
btw what other bugs should i know about?
can you send me your patch?
Stefan
PS: \(?:...\) is still not 100% free, of course: "a\\(?:b\\)c" does not
generate the same compiled regexp as "abc", for example.
--
ben
I'm sometimes slow in getting around to reading my mail, so if you
want to reach me faster, call 520-661-6661.
See
http://www.666.com/ben/chronic-pain/ for the hell I've been
through.