]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/grep.el (grep-regexp-alist): Tighten the regexp.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 17 Nov 2010 14:54:15 +0000 (09:54 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 17 Nov 2010 14:54:15 +0000 (09:54 -0500)
Fixes: debbugs:7378
lisp/ChangeLog
lisp/progmodes/grep.el

index 05b5c1cebd1318ee11253b27ec30ff72df2a8a43..2b137af08d9ffba7c382078797900073b793b509 100644 (file)
@@ -1,3 +1,7 @@
+2010-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * progmodes/grep.el (grep-regexp-alist): Tighten the regexp (bug#7378).
+
 2010-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * progmodes/octave-mod.el: Rely on elecric-*-modes.
index 3f5fa543813926addb61a4cf38ca968ab31013f1..06ab8c389d4a995b7cb9dee9e7dee1d477c81bc5 100644 (file)
@@ -348,7 +348,11 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
     ;; produces them
     ;; ("^\\(.+?\\)\\(:[ \t]*\\)\\([0-9]+\\)\\2\\(?:\\([0-9]+\\)\\(?:-\\([0-9]+\\)\\)?\\2\\)?"
     ;;  1 3 (4 . 5))
-    ("^\\(\\(.+?\\):\\([0-9]+\\):\\).*?\
+    ;; Note that we want to use as tight a regexp as we can to try and
+    ;; handle weird file names (with colons in them) as well as possible.
+    ;; E.g. we use [1-9][0-9]* rather than [0-9]+ so as to accept ":034:" in
+    ;; file names.
+    ("^\\(\\(.+?\\):\\([1-9][0-9]*\\):\\).*?\
 \\(\033\\[01;31m\\(?:\033\\[K\\)?\\)\\(.*?\\)\\(\033\\[[0-9]*m\\)"
      2 3
      ;; Calculate column positions (beg . end) of first grep match on a line
@@ -357,7 +361,7 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
         (- (match-beginning 4) (match-end 1)))
       .
       (lambda () (- (match-end 5) (match-end 1)
-                   (- (match-end 4) (match-beginning 4)))))
+               (- (match-end 4) (match-beginning 4)))))
      nil 1)
     ("^Binary file \\(.+\\) matches$" 1 nil nil 0 1))
   "Regexp used to match grep hits.  See `compilation-error-regexp-alist'.")