]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix Ruby compilation error matching.
authorChong Yidong <cyd@stupidchicken.com>
Sat, 4 Sep 2010 20:42:03 +0000 (16:42 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 4 Sep 2010 20:42:03 +0000 (16:42 -0400)
* progmodes/compile.el (compilation-error-regexp-alist-alist):
Remove ruby regexp; handle Ruby errors with gcc-include and gnu.
Recognize leading tab in gcc-include regexp.  Ignore names with
leading "from" or "in" in gnu regexp (Bug#6937).

lisp/ChangeLog
lisp/progmodes/compile.el

index c463614a34b278114cfd0c7ec5a3de4b9c7f111a..dc024b9d3135bf02f57d9cc2da67566218055a59 100644 (file)
@@ -1,3 +1,10 @@
+2010-09-04  Chong Yidong  <cyd@stupidchicken.com>
+
+       * progmodes/compile.el (compilation-error-regexp-alist-alist):
+       Remove ruby regexp; handle Ruby errors with gcc-include and gnu.
+       Recognize leading tab in gcc-include regexp.  Ignore names with
+       leading "from" or "in" in gnu regexp (Bug#6937).
+
 2010-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        Avoid global recursive calls to kill-buffer-hooks, and fit into 80 cols.
index a909006e0c05fa4c2dc134014dbcdb6d5b4d8525..598733cb5d7f408cfc58f6563269edf46b5bb89a 100644 (file)
@@ -227,10 +227,6 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
      "^[-[:alnum:]_/ ]+: \\(?:\\(?:[sS]evere\\|[eE]rror\\|[wW]arnin\\(g\\)\\|[iI]nf\\(o\\)\\)[0-9 ]*: \\)?\
 \\([^,\" \n\t]+\\)\\(?:, line\\|:\\) \\([0-9]+\\):" 3 4 nil (1 . 2))
 
-    (ruby
-     "^[\t ]*\\(?:from \\)?\
-\\([^\(\n][^[:space:]\n]*\\):\\([1-9][0-9]*\\)\\(:in `.*'\\)?.*$" 1 2)
-
     (java
      "^\\(?:[ \t]+at \\|==[0-9]+== +\\(?:at\\|b\\(y\\)\\)\\).+(\\([^()\n]+\\):\\([0-9]+\\))$" 2 3 nil (1))
 
@@ -241,6 +237,10 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
      nil 1 nil 2 0
      (2 (compilation-face '(3))))
 
+    (gcc-include
+     "^\\(?:In file included \\|                 \\|\t\\)from \
+\\(.+\\):\\([0-9]+\\)\\(?:\\(:\\)\\|\\(,\\|$\\)\\)?" 1 2 nil (3 . 4))
+
     (gnu
      ;; The first line matches the program name for
 
@@ -264,7 +264,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
      ;; can be composed of any non-newline char, but it also rules out some
      ;; valid but unlikely cases, such as a trailing space or a space
      ;; followed by a -.
-     "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\
+     "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\|[ \t]+\\(?:in \\|from \\)\\)?\
 \\([0-9]*[^0-9\n]\\(?:[^\n ]\\| [^-/\n]\\)*?\\): ?\
 \\([0-9]+\\)\\(?:\\([.:]\\)\\([0-9]+\\)\\)?\
 \\(?:-\\([0-9]+\\)?\\(?:\\.\\([0-9]+\\)\\)?\\)?:\
@@ -273,12 +273,6 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
 \[0-9]?\\(?:[^0-9\n]\\|$\\)\\|[0-9][0-9][0-9]\\)"
      1 (2 . 5) (4 . 6) (7 . 8))
 
-    ;; The `gnu' style above can incorrectly match gcc's "In file
-    ;; included from" message, so we process that first. -- cyd
-    (gcc-include
-     "^\\(?:In file included\\|                \\) from \
-\\(.+\\):\\([0-9]+\\)\\(?:\\(:\\)\\|\\(,\\)\\)?" 1 2 nil (3 . 4))
-
     (lcc
      "^\\(?:E\\|\\(W\\)\\), \\([^(\n]+\\)(\\([0-9]+\\),[ \t]*\\([0-9]+\\)"
      2 3 4 (1))