all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: "Mattias Engdegård" <mattiase@acm.org>
Cc: Stephen Leake <stephen_leake@stephe-leake.org>,
	emacs-devel <emacs-devel@gnu.org>
Subject: Re: :alnum: broken?
Date: Sun, 23 Feb 2020 10:13:16 -0800	[thread overview]
Message-ID: <b1ea62a0-54f2-55f4-de1d-f9be6caf2b82@cs.ucla.edu> (raw)
In-Reply-To: <D3840F98-A930-40C7-8F05-88D9D16CF36F@acm.org>

On 2/23/20 2:21 AM, Mattias Engdegård wrote:
>> GNU grep treats a bracket expression like '[:space:]' as an error, since it's inevitably a typo....
> Such a check is obviously unsound, strictly speaking, which may be a reason for objecting to it.

I understand the objection, but the check is not unsound. The syntax of regexps 
was not carved in stone by God. It is something that we decide, and we can 
change our minds if the change would be an overall win, as it would be if Emacs 
behaved like Grep.

When the [[:alnum:]] syntax was added to regular expressions many years ago, it 
invalidated some astronomically-unlikely but formerly-valid expressions. For 
example, "[[:x:]" formerly was a valid regexp (with the same meaning as "[:[x]") 
but it is now invalid. So there is precedent for invalidating some 
astronomically-unlikely regexps when the overall change is a net benefit, as it 
would be if Emacs behaved like Grep.

The byte-compiler could warn about some of these blunders and if someone wants 
to change the byte-compiler to do that, it would be an improvement. However, 
this would necessarily either cry wolf or let blunders through, because the 
byte-compiler cannot reliably determine whether a string will be used as a 
regular expression.



  reply	other threads:[~2020-02-23 18:13 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-21 18:58 :alnum: broken? Stephen Leake
2020-02-21 19:00 ` Paul Eggert
2020-02-21 19:32   ` Mattias Engdegård
2020-02-21 21:28   ` Stephen Leake
2020-02-22  1:09     ` Paul Eggert
2020-02-22  7:48       ` Eli Zaretskii
2020-02-22 21:28         ` Paul Eggert
2020-02-23  3:28           ` Eli Zaretskii
2020-02-23 10:21       ` Mattias Engdegård
2020-02-23 18:13         ` Paul Eggert [this message]
2020-02-23 18:27           ` Eli Zaretskii
2020-02-23 19:34             ` Óscar Fuentes
2020-02-23 22:12               ` Drew Adams
2020-02-25  3:57                 ` Richard Stallman
2020-02-25 14:37                   ` Stefan Monnier
2020-02-25 15:45                     ` Drew Adams
2020-02-25 15:40                   ` Drew Adams
2020-02-25  9:33                 ` Andreas Schwab
2020-02-25 13:53                   ` Clément Pit-Claudel
2020-02-25 15:40                   ` Drew Adams
2020-02-23 18:40           ` Mattias Engdegård
2020-02-26 14:10           ` Mattias Engdegård
2020-02-26 14:54             ` Drew Adams
2020-02-26 15:48             ` Stefan Monnier
2020-02-26 21:00               ` Paul Eggert
2020-02-26 21:18                 ` Mattias Engdegård
2020-02-26 21:24                   ` Clément Pit-Claudel
2020-02-26 22:01                     ` Mattias Engdegård
2020-02-26 22:38                       ` Eli Zaretskii
2020-02-27 17:57                         ` Mattias Engdegård
2020-02-27 23:17                           ` Óscar Fuentes
2020-02-28  8:09                           ` Eli Zaretskii
2020-02-28  8:48                             ` Paul Eggert
2020-02-28 13:11                               ` Eli Zaretskii
2020-02-28 17:41                                 ` Paul Eggert
2020-02-28 20:09                                   ` Eli Zaretskii
2020-02-28 20:25                                     ` Paul Eggert
2020-02-28 20:38                                       ` Eli Zaretskii
2020-02-28 21:04                                         ` Mattias Engdegård
2020-02-28 21:40                                           ` Eli Zaretskii
2020-02-29 11:43                                             ` Mattias Engdegård
2020-02-29 12:07                                               ` Eli Zaretskii
2020-02-29 14:24                                                 ` Stefan Monnier
2020-02-29 14:14                                               ` Stefan Monnier
2020-02-29 17:33                                                 ` Óscar Fuentes
2020-02-29 19:52                                                   ` Stefan Monnier
2020-02-29 21:12                                                     ` Óscar Fuentes
2020-02-29 22:22                                                       ` Marcin Borkowski
2020-02-29 22:34                                                         ` Clément Pit-Claudel
2020-03-01 22:44                                                           ` Marcin Borkowski
2020-03-02  3:07                                                             ` Stefan Monnier
2020-03-02  7:15                                                               ` Marcin Borkowski
2020-03-02  7:41                                                                 ` Emanuel Berg via Emacs development discussions.
2020-03-02 16:14                                                                   ` Drew Adams
2020-03-02 16:51                                                                     ` Emanuel Berg via Emacs development discussions.
2020-03-02  7:56                                                                 ` Joost Kremers
2020-03-02  9:44                                                                   ` Štěpán Němec
2020-03-02 10:43                                                                     ` Joost Kremers
2020-03-02 13:37                                                                 ` Clément Pit-Claudel
2020-03-02 17:03                                                                 ` Stefan Monnier
2020-03-02 18:23                                                                   ` Clément Pit-Claudel
2020-02-29 23:02                                                         ` Andrea Corallo
2020-03-01 22:41                                                           ` Marcin Borkowski
2020-02-29 22:58                                                       ` Stefan Monnier
2020-02-29 23:28                                                         ` Óscar Fuentes
2020-02-27  1:33                       ` Paul Eggert
2020-02-26 16:01             ` Andreas Schwab
2020-02-26 21:06               ` Mattias Engdegård
2020-02-27  8:43                 ` Andreas Schwab
2020-02-27 18:05                   ` Mattias Engdegård
2020-02-22  9:09     ` Eli Zaretskii
2020-02-23  3:49     ` Richard Stallman
2020-02-23  7:51       ` Paul Eggert
2020-02-23 15:07         ` Eli Zaretskii
2020-02-21 19:01 ` Noam Postavsky
2020-02-21 19:04 ` Andreas Schwab
     [not found] <<86wo8flqct.fsf@stephe-leake.org>
     [not found] ` <<f89e340f-9a19-50e1-4421-57fd3e235548@cs.ucla.edu>
     [not found]   ` <<86sgj3ljf0.fsf@stephe-leake.org>
     [not found]     ` <<E1j5iGS-0000r6-Id@fencepost.gnu.org>
     [not found]       ` <<18bd2b64-1c2f-055f-4fa0-092bdb1da531@cs.ucla.edu>
     [not found]         ` <<838sktibpu.fsf@gnu.org>
2020-02-23 16:52           ` Drew Adams

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=b1ea62a0-54f2-55f4-de1d-f9be6caf2b82@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=emacs-devel@gnu.org \
    --cc=mattiase@acm.org \
    --cc=stephen_leake@stephe-leake.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.