]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't complain about the regexp "[:-:]"
authorMattias Engdegård <mattiase@acm.org>
Wed, 26 Feb 2020 21:59:22 +0000 (22:59 +0100)
committerMattias Engdegård <mattiase@acm.org>
Wed, 26 Feb 2020 21:59:22 +0000 (22:59 +0100)
Suggested by Clément Pit-Claudel.

* src/regex-emacs.c (regex_compile):
* test/src/regex-emacs-tests.el (regexp-invalid): Tolerate ranges.

src/regex-emacs.c
test/src/regex-emacs-tests.el

index 38824370e056cc78eb332537b402b13cafb231d6..794958eb461c1954ced6aa10c8ac11f65e6b0c7c 100644 (file)
@@ -2007,7 +2007,7 @@ regex_compile (re_char *pattern, ptrdiff_t size,
             if (*p == ':')
               {
                 re_char *q = p + 1;
-                while (q != pend && *q != ']')
+                while (q != pend && *q != ']' && *q != '-')
                   {
                     if (*q == ':')
                       {
index 661d416e6a72b1562e0027ade6439525d3fd53b3..f1c703ab8bd6937f7ffaa7561ab495e3e7a17ef8 100644 (file)
@@ -806,6 +806,7 @@ This evaluates the TESTS test cases from glibc."
 (ert-deftest regexp-invalid ()
   ;; relint suppression: Duplicated
   (should-error (string-match "[:space:]" "")
-                :type 'invalid-regexp))
+                :type 'invalid-regexp)
+  (should (equal (string-match "[:-:]" "a-:") 2)))
 
 ;;; regex-emacs-tests.el ends here