From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: "Daniel Colascione" <dancol@dancol.org>
Cc: emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] master 938d252 4/4: Make regex matching reentrant; update syntax during match
Date: Sun, 17 Jun 2018 15:30:42 -0400 [thread overview]
Message-ID: <jwv602hgqrr.fsf-monnier+emacsdiffs@gnu.org> (raw)
In-Reply-To: <04e89d2beffedcc102b811863910c1ec.squirrel@dancol.org> (Daniel Colascione's message of "Sun, 17 Jun 2018 11:51:33 -0700")
> Good idea. My reading of the "smart jump" stuff in regex.c suggested that
> we use the optimization for _all_ greedy Kleene star constructs though,
> not just the bounded ones. Am I wrong?
Oh, right, I forgot about that lazy optimization. We'd need to fix this
so the optimization is performed eagerly.
> But anyway, I think the regex code needs a major overhaul.
Yes, but it's a fairly major project.
> I was actually thinking about forking and vendoring RE2. Granted,
> having done that, you'd need a C++ compiler to build Emacs, but it's
> probably one of the better actively-maintained DFA-based regex
> engines around.
Yes, it's a nice library, but we'd need to add support for
back-references, which doesn't seem straightforward (I think the
easiest would be to fallback on the old regex engine when backrefs are
present, but keeping two completely different regexp engines is a real
PITA).
Stefan
next prev parent reply other threads:[~2018-06-17 19:30 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20180616204650.8423.73499@vcs0.savannah.gnu.org>
[not found] ` <20180616204653.86AFC203CB@vcs0.savannah.gnu.org>
2018-06-17 18:42 ` [Emacs-diffs] master 938d252 4/4: Make regex matching reentrant; update syntax during match Stefan Monnier
2018-06-17 18:51 ` Daniel Colascione
2018-06-17 19:18 ` Daniel Colascione
2018-06-17 19:34 ` Stefan Monnier
2018-06-17 19:50 ` Daniel Colascione
2018-06-17 19:30 ` Stefan Monnier [this message]
2018-06-18 15:59 ` Perry E. Metzger
2018-06-18 17:49 ` Daniel Colascione
2018-06-19 13:40 ` Perry E. Metzger
2018-06-19 13:44 ` Perry E. Metzger
2018-06-19 13:49 ` Daniel Colascione
2018-06-19 14:30 ` Perry E. Metzger
2018-06-19 14:33 ` Perry E. Metzger
2018-06-19 14:48 ` Daniel Colascione
2018-06-19 15:37 ` Perry E. Metzger
2018-06-19 16:20 ` Paul Eggert
2018-06-19 16:27 ` Perry E. Metzger
2018-06-19 17:46 ` Stefan Monnier
2018-06-19 18:18 ` Daniel Colascione
2018-06-19 18:26 ` Perry E. Metzger
2018-06-19 16:54 ` John Wiegley
2018-06-19 17:04 ` Perry E. Metzger
2018-06-19 18:20 ` John Wiegley
2018-06-19 18:04 ` Paul Eggert
2018-06-19 18:16 ` Daniel Colascione
2018-06-19 18:26 ` Paul Eggert
2018-06-19 18:03 ` Andreas Schwab
2018-06-19 18:48 ` Paul Eggert
2018-06-19 14:46 ` Daniel Colascione
2018-06-19 14:58 ` Andreas Schwab
2018-06-19 15:32 ` Perry E. Metzger
2018-06-18 23:25 ` Richard Stallman
2018-06-19 1:30 ` Perry E. Metzger
2018-06-19 22:54 ` Richard Stallman
2018-06-20 1:17 ` Perry E. Metzger
2018-06-20 23:26 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwv602hgqrr.fsf-monnier+emacsdiffs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=dancol@dancol.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.