From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: mattiase@acm.org, lokedhs@gmail.com, emacs-devel@gnu.org,
philippe.vaucher@gmail.com, jaygkamat@gmail.com,
perry@piermont.com
Subject: Re: modern regexes in emacs
Date: Fri, 15 Feb 2019 20:40:38 +0000 [thread overview]
Message-ID: <20190215204038.GC5438@ACM> (raw)
In-Reply-To: <83ftson7nu.fsf@gnu.org>
Hello, Eli.
On Fri, Feb 15, 2019 at 22:00:53 +0200, Eli Zaretskii wrote:
> > Date: Fri, 15 Feb 2019 19:14:47 +0000
> > Cc: perry@piermont.com, mattiase@acm.org, lokedhs@gmail.com,
> > emacs-devel@gnu.org, philippe.vaucher@gmail.com, jaygkamat@gmail.com
> > From: Alan Mackenzie <acm@muc.de>
> > > > I suggest we retain our current regexp notation, together with compatible
> > > > tools, as the sole way of writing regexps in Emacs. This notation is not
> > > > all that bad, and it is thoroughly documented and well tested. It's the
> > > > approach which will cause the least confusion. It works.
> > > I proposed to have a separate set of functions that will accept PCRE
> > > syntax. That would allow everyone to have what they want: you to use
> > > the "classic" regexps, and those who want PCRE to have that. Where's
> > > the problem with that?
> > This will end up with a mixture of the two incompatible styles of regexp
> > in the Emacs sources. I can see there being such a mixture even within
> > single source files. This will be confusing to everybody, particularly
> > to beginners.
> How is that different from having rx.el?
rx.el is fully compatible with standard regexps, and can be viewed as a
tool to construct them.
> And how is that different from having pcase.el, which invents a whole
> new sub-language on top of Lisp?
I fear it might not be. I don't think pcase.el was a good addition to
Emacs.
> Etc. etc. -- that ship has already sailed.
No, just because we have several questionable extensions to Emacs Lisp
doesn't mean we shouldn't be careful when considering further extensions.
> IMO, we'd be silly (let alone look and sound silly) to try to stop
> this. The net result will be an unbundled package which everyone will
> use, while we bury our heads in the sand.
Maybe you're right. But nobody in the thread before me had brought up
the disadvantages of the proposal, so I did.
To implement a full PCRE inside Emacs Lisp will involve extending it to
handle Emacs specific elements (such as \s<character>), and thus closely
tying it with syntax.c, etc. "Trying to stop" the proposal may need
little more than not actively supporting it.
Maybe it won't be as bad as I foresee. There are "but"s, though.
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2019-02-15 20:40 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-16 16:37 modern regexes in emacs Perry E. Metzger
2018-06-16 17:45 ` Radon Rosborough
2018-06-16 18:25 ` Perry E. Metzger
2018-06-16 21:01 ` Daniel Colascione
2018-06-16 22:31 ` Jay Kamat
2019-02-09 17:20 ` Philippe Vaucher
2019-02-10 9:39 ` Elias Mårtenson
2019-02-11 22:12 ` Mattias Engdegård
2019-02-15 13:42 ` Philippe Vaucher
2019-02-15 14:10 ` Clément Pit-Claudel
2019-02-15 15:03 ` Philippe Vaucher
2019-02-15 15:13 ` Clément Pit-Claudel
2019-02-15 14:18 ` Eli Zaretskii
2019-02-15 15:28 ` Perry E. Metzger
2019-02-15 16:06 ` Stefan Monnier
2019-02-15 16:24 ` Mattias Engdegård
2019-02-15 16:47 ` Perry E. Metzger
2019-02-15 17:54 ` Alan Mackenzie
2019-02-15 18:27 ` Drew Adams
2019-02-15 23:33 ` Perry E. Metzger
2019-02-16 0:34 ` Jay Kamat
2019-02-16 1:46 ` Perry E. Metzger
2019-02-16 2:44 ` Jay Kamat
2019-02-15 18:36 ` Eli Zaretskii
2019-02-15 18:43 ` Mattias Engdegård
2019-02-15 19:48 ` Eli Zaretskii
2019-02-17 3:17 ` Richard Stallman
2019-02-25 14:47 ` Lars Ingebrigtsen
2019-02-25 15:46 ` Clément Pit-Claudel
2019-02-26 2:57 ` Richard Stallman
2019-02-26 12:39 ` Lars Ingebrigtsen
2019-02-26 13:24 ` Troy Hinckley
2019-02-26 13:32 ` Lars Ingebrigtsen
2019-02-26 14:33 ` Andreas Schwab
2019-02-27 12:09 ` Mattias Engdegård
2019-02-27 18:18 ` Daniel Pittman
2019-02-26 15:29 ` Eli Zaretskii
2019-02-27 4:08 ` Richard Stallman
2019-02-26 3:47 ` Elias Mårtenson
2019-02-26 12:00 ` Mattias Engdegård
2019-02-15 23:35 ` Perry E. Metzger
2019-02-17 20:01 ` Juri Linkov
2019-02-18 0:38 ` Stefan Monnier
2019-02-15 18:46 ` Clément Pit-Claudel
2019-02-15 19:52 ` Eli Zaretskii
2019-02-15 20:08 ` Clément Pit-Claudel
2019-02-15 19:14 ` Alan Mackenzie
2019-02-15 20:00 ` Eli Zaretskii
2019-02-15 20:40 ` Alan Mackenzie [this message]
2019-02-15 23:33 ` Perry E. Metzger
2019-02-15 18:44 ` Clément Pit-Claudel
2019-02-15 19:37 ` Stefan Monnier
2019-02-19 12:29 ` Van L
2019-02-17 20:47 ` Stefan Monnier
2019-02-18 8:40 ` Philippe Vaucher
2019-02-18 8:55 ` Mattias Engdegård
-- strict thread matches above, loose matches on Subject: below --
2018-06-16 21:33 Jimmy Yuen Ho Wong
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190215204038.GC5438@ACM \
--to=acm@muc.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=jaygkamat@gmail.com \
--cc=lokedhs@gmail.com \
--cc=mattiase@acm.org \
--cc=perry@piermont.com \
--cc=philippe.vaucher@gmail.com \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).