all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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



  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.