[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master ef4440a 2/2: Revert "Signal an error for the regexp "[:alnum:]""
From: |
Mattias Engdegård |
Subject: |
master ef4440a 2/2: Revert "Signal an error for the regexp "[:alnum:]"" |
Date: |
Thu, 27 Feb 2020 12:58:13 -0500 (EST) |
branch: master
commit ef4440a9c80b284d46ecce47f4d387f132bbf374
Author: Mattias Engdegård <address@hidden>
Commit: Mattias Engdegård <address@hidden>
Revert "Signal an error for the regexp "[:alnum:]""
This reverts commit 8d5e8cddab732ac90e9ae930c63f7830f9dab24f.
---
etc/NEWS | 5 -----
src/regex-emacs.c | 21 +--------------------
test/src/regex-emacs-tests.el | 5 -----
3 files changed, 1 insertion(+), 30 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index 96a612b..ee3a3c1 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -202,11 +202,6 @@ Emacs now supports bignums so this old glitch is no longer
needed.
'previous-system-time-locale' have been removed, as they were created
by mistake and were not useful to Lisp code.
-** The regexp mistake '[:digit:]' is now an error.
-The correct syntax is '[[:digit:]]'. Previously, forgetting the extra
-brackets silently resulted in a regexp that did not at all work as
-intended.
-
* Lisp Changes in Emacs 28.1
diff --git a/src/regex-emacs.c b/src/regex-emacs.c
index 3882437..694431c 100644
--- a/src/regex-emacs.c
+++ b/src/regex-emacs.c
@@ -818,8 +818,7 @@ typedef enum
REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */
REG_ERPAREN, /* Unmatched ) or \); not returned from regcomp. */
REG_ERANGEX, /* Range striding over charsets. */
- REG_ESIZEBR, /* n or m too big in \{n,m\} */
- REG_ECLASSBR, /* Missing [] around [:class:]. */
+ REG_ESIZEBR /* n or m too big in \{n,m\} */
} reg_errcode_t;
static const char *re_error_msgid[] =
@@ -843,7 +842,6 @@ static const char *re_error_msgid[] =
[REG_ERPAREN] = "Unmatched ) or \\)",
[REG_ERANGEX ] = "Range striding over charsets",
[REG_ESIZEBR ] = "Invalid content of \\{\\}",
- [REG_ECLASSBR] = "Class syntax is [[:digit:]]; missing brackets",
};
/* For 'regs_allocated'. */
@@ -2002,23 +2000,6 @@ regex_compile (re_char *pattern, ptrdiff_t size,
laststart = b;
- /* Check for the mistake of forgetting the extra square brackets,
- as in "[:alpha:]". */
- if (*p == ':')
- {
- re_char *q = p + 1;
- while (q != pend && *q != ']')
- {
- if (*q == ':')
- {
- if (q + 1 != pend && q[1] == ']' && q > p + 1)
- FREE_STACK_RETURN (REG_ECLASSBR);
- break;
- }
- q++;
- }
- }
-
/* Test '*p == '^' twice, instead of using an if
statement, so we need only one BUF_PUSH. */
BUF_PUSH (*p == '^' ? charset_not : charset);
diff --git a/test/src/regex-emacs-tests.el b/test/src/regex-emacs-tests.el
index 661d416..f9372e3 100644
--- a/test/src/regex-emacs-tests.el
+++ b/test/src/regex-emacs-tests.el
@@ -803,9 +803,4 @@ This evaluates the TESTS test cases from glibc."
(should-not (string-match "Ã¥" "\xe5"))
(should-not (string-match "[Ã¥]" "\xe5")))
-(ert-deftest regexp-invalid ()
- ;; relint suppression: Duplicated
- (should-error (string-match "[:space:]" "")
- :type 'invalid-regexp))
-
;;; regex-emacs-tests.el ends here