]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Fix ^.
authorCameron Desautels <camdez@gmail.com>
Thu, 5 Dec 2013 20:25:54 +0000 (15:25 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 5 Dec 2013 20:25:54 +0000 (15:25 -0500)
* test/automated/regexp-tests.el: New file.

Fixes: debbugs:16046
lisp/ChangeLog
lisp/emacs-lisp/regexp-opt.el
test/ChangeLog
test/automated/regexp-tests.el [new file with mode: 0644]

index ff93f0489c21810c36af1dfac1a7b441629bafc4..a8c3f273a4bbeaf9a1156313e00654391b0fd78e 100644 (file)
@@ -1,3 +1,7 @@
+2013-12-05  Cameron Desautels  <camdez@gmail.com>  (tiny change)
+
+       * emacs-lisp/regexp-opt.el (regexp-opt-charset): Fix ^ (bug#16046).
+
 2013-12-05  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * net/eww.el (eww-current-source): New variable to store page
index de9966c0af076ff2e4de8b7b8e3e2a96e6a2013d..cb7828ddd95799eeedce81015c95684bb8c17492 100644 (file)
@@ -285,7 +285,9 @@ CHARS should be a list of characters."
     ;;
     ;; Make sure a caret is not first and a dash is first or last.
     (if (and (string-equal charset "") (string-equal bracket ""))
-       (concat "[" dash caret "]")
+       (if (string-equal dash "")
+            "\\^"                       ; [^] is not a valid regexp
+          (concat "[" dash caret "]"))
       (concat "[" bracket charset caret dash "]"))))
 
 (provide 'regexp-opt)
index e16e0b2128192f44ff306650217371da89708764..e7317f79ac825e71d69f55495ba2139ed6f54fd4 100644 (file)
@@ -1,13 +1,16 @@
+2013-12-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * automated/regexp-tests.el: New file.
+
 2013-11-29  Eli Zaretskii  <eliz@gnu.org>
 
-       * automated/reftex-tests.el (reftex-parse-from-file-test): Run
-       temp-dir through file-truename, to make sure the temporary file
+       * automated/reftex-tests.el (reftex-parse-from-file-test):
+       Run temp-dir through file-truename, to make sure the temporary file
        names are comparable as strings.
 
        * automated/decoder-tests.el (ert-test-decoder-prefer-utf-8):
        Force Unix EOLs by using 'utf-8-unix', since the default of
-       'utf-8' is system-dependent, while the test expects to see Unix
-       EOLs.
+       'utf-8' is system-dependent, while the test expects to see Unix EOLs.
 
 2013-11-28  Glenn Morris  <rgm@gnu.org>
 
@@ -15,8 +18,7 @@
 
 2013-11-28  Eli Zaretskii  <eliz@gnu.org>
 
-       * automated/Makefile.in (PATH_SEP): Set this instead of
-       PATH_SEPARATOR.
+       * automated/Makefile.in (PATH_SEP): Set this instead of PATH_SEPARATOR.
        (EMACSOPT): Use $(PATH_SEP).
 
 2013-11-28  Michael Albinus  <michael.albinus@gmx.de>
        (tramp-test22-file-times, tramp-test23-visited-file-modtime)
        (tramp-test24-file-name-completion, tramp-test25-load)
        (tramp-test26-process-file, tramp-test27-start-file-process):
-       (tramp-test28-shell-command): Protect unwindforms with
-       `ignore-errors'.
+       (tramp-test28-shell-command): Protect unwindforms with `ignore-errors'.
        (tramp-test29-utf8): New test.
 
 2013-11-13  Michael Albinus  <michael.albinus@gmx.de>
diff --git a/test/automated/regexp-tests.el b/test/automated/regexp-tests.el
new file mode 100644 (file)
index 0000000..5c4a3b4
--- /dev/null
@@ -0,0 +1,31 @@
+;;; regexp-tests.el --- Test suite for regular expression handling.
+
+;; Copyright (C) 2013 Free Software Foundation, Inc.
+
+;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
+;; Keywords:       internal
+;; Human-Keywords: internal
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(ert-deftest regexp-test-regexp-opt ()
+  "Test the `compilation-error-regexp-alist' regexps.
+The test data is in `compile-tests--test-regexps-data'."
+  (should (string-match (regexp-opt-charset '(?^)) "a^b")))
+
+;;; regexp-tests.el ends here.