unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Re: [ELPA] New package: xr
Date: Fri, 01 Mar 2019 08:51:39 -0500	[thread overview]
Message-ID: <jwvtvgmso8j.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: 5904ECC1-8E45-49FB-B457-2924519733DA@acm.org

>> I'm definitely in favor of using the standard * + and ?
> They are suggestive but I find `?' a bit on the hacky side. For instance,
> you can't break the line after the operator, since it requires
> a space following.

Oh, indeed, that's a problem.

> Interestingly, (not (any ...)) and (not (in ...)) are valid, but (not (char
> ...)) isn't (although there is `not-char').

I guess this means we should go with `in`.
Tho it should be easy to add (not (char ...)) if needed.

BTE, I don't like (not (any ...)) and (not (in ...)) in any case:
the negation should be within the `char`, `in`, or `any` not around it.
This is because the negation of a regexp RE could be defined as a regexp
which matches all strings not matched by RE (and hence when RE is (any
...), it will also match all strings of length != 1).

This form of negation is supported in lex.el, for example.

> Another implementation leak: since `any' is also an alias for `not-newline',
> `char' and `in' are as well:
> (rx any char in) => "..."

But XR doesn't have to abuse this, luckily.


        Stefan




  reply	other threads:[~2019-03-01 13:51 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-01 14:09 [ELPA] New package: xr Mattias Engdegård
2019-02-01 15:25 ` Clément Pit-Claudel
2019-02-01 15:42   ` Eli Zaretskii
2019-02-01 18:39     ` Clément Pit-Claudel
2019-02-01 15:51   ` Mattias Engdegård
2019-02-01 18:41     ` Clément Pit-Claudel
2019-02-02  9:43       ` Mattias Engdegård
2019-02-02 15:15         ` Mattias Engdegård
2019-02-02 18:41           ` Clément Pit-Claudel
2019-02-03  9:37             ` Mattias Engdegård
2019-02-03 20:11             ` Juri Linkov
2019-02-03 21:04               ` Mattias Engdegård
2019-02-03 21:13               ` Clément Pit-Claudel
2019-02-05 16:15 ` Stefan Monnier
2019-02-05 22:37   ` Michael Heerdegen
2019-02-06  0:04     ` Mattias Engdegård
2019-02-05 23:00   ` Michael Heerdegen
2019-02-06  0:11     ` Stefan Monnier
2019-02-06  0:25       ` Noam Postavsky
2019-02-06  0:34         ` Michael Heerdegen
2019-02-06  1:36         ` Stefan Monnier
2019-02-06 12:43       ` Mattias Engdegård
2019-02-07  4:34         ` pcre2el Richard Stallman
2019-02-07  7:11           ` pcre2el John Wiegley
2019-02-07 14:54           ` pcre2el Stefan Monnier
2019-02-06  0:02   ` [ELPA] New package: xr Mattias Engdegård
2019-02-06  0:14     ` Stefan Monnier
2019-02-06  7:02   ` Richard Stallman
2019-02-06 15:39     ` Eli Zaretskii
2019-02-07  4:36       ` Richard Stallman
2019-02-07 14:37         ` Eli Zaretskii
2019-02-08  3:21           ` Richard Stallman
2019-02-08  3:50             ` Stefan Monnier
2019-02-08  7:18               ` Eli Zaretskii
2019-02-08 10:06                 ` Stephen Berman
2019-02-09  3:37                   ` Richard Stallman
2019-02-09  8:03                     ` Eli Zaretskii
2019-02-09  3:38                 ` Richard Stallman
2019-02-09  8:05                   ` Eli Zaretskii
2019-02-10  5:51                     ` Richard Stallman
2019-02-10 15:12                       ` Eli Zaretskii
2019-02-11  5:38                         ` Richard Stallman
2019-02-10  5:51                     ` Richard Stallman
2019-02-10 15:14                       ` Eli Zaretskii
2019-02-09  3:37               ` Richard Stallman
2019-02-27 15:06 ` Michael Heerdegen
2019-02-27 16:22   ` Mattias Engdegård
2019-02-27 17:09     ` Michael Heerdegen
2019-02-28 14:10       ` Mattias Engdegård
2019-02-28 14:34         ` Clément Pit-Claudel
2019-02-28 23:06         ` Stefan Monnier
2019-03-01 13:39           ` Mattias Engdegård
2019-03-01 13:51             ` Stefan Monnier [this message]
2019-03-01  5:29         ` Van L
2019-03-01 13:54           ` Stefan Monnier
2019-03-01 15:25         ` Michael Heerdegen

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=jwvtvgmso8j.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --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 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).