unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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).



  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).