+2014-09-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * progmodes/grep.el (grep-regexp-alist): Use more-accurate regexp.
+ Do not match file names that end in '/', as they cannot be 'grep'
+ hits nowadays. This prevents confusion when 'grep -r' reports a
+ match in a file whose basename is ':12345:'. Conversely, do not
+ require exactly the same sequence of spaces and tabs after both
+ colons, and allow spaces or tabs before the second colon, as per
+ the POSIX spec for 'grep' output.
+
2014-09-26 Leo Liu <sdl.web@gmail.com>
Add cl-parse-integer based on parse-integer (Bug#18557)
;;;###autoload
(defconst grep-regexp-alist
'(
- ;; Rule to match column numbers is commented out since no known grep
- ;; produces them
- ;; ("^\\(.+?\\)\\(:[ \t]*\\)\\([1-9][0-9]*\\)\\2\\(?:\\([1-9][0-9]*\\)\\(?:-\\([1-9][0-9]*\\)\\)?\\2\\)?"
- ;; 1 3 (4 . 5))
- ;; 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.
- ("^\\(.+?\\)\\(:[ \t]*\\)\\([1-9][0-9]*\\)\\2"
- 1 3
+ ;; Use a tight regexp to handle weird file names (with colons
+ ;; in them) as well as possible. E.g., use [1-9][0-9]* rather
+ ;; than [0-9]+ so as to accept ":034:" in file names.
+ ("^\\(.*?[^/\n]\\):[ \t]*\\([1-9][0-9]*\\)[ \t]*:"
+ 1 2
;; Calculate column positions (col . end-col) of first grep match on a line
((lambda ()
(when grep-highlight-matches