diff lisp/progmodes/grep.el @ 108743:4b1caf0bded6

* progmodes/grep.el (grep-read-files): Fix multi-pattern aliases. Remove "all" from grep-files-aliases. Split grep-files-aliases by whitespace, call wildcard-to-regexp on substrings and concat them with "\\|". (Bug#6114)
author Juri Linkov <juri@jurta.org>
date Fri, 21 May 2010 23:43:04 +0300
parents f3e910318160
children 4433803ef920
line wrap: on
line diff
--- a/lisp/progmodes/grep.el	Fri May 21 19:51:48 2010 +0000
+++ b/lisp/progmodes/grep.el	Fri May 21 23:43:04 2010 +0300
@@ -781,12 +781,17 @@
 		  (file-name-nondirectory bn)))
 	 (default-alias
 	   (and fn
-		(let ((aliases grep-files-aliases)
+		(let ((aliases (remove (assoc "all" grep-files-aliases)
+				       grep-files-aliases))
 		      alias)
 		  (while aliases
 		    (setq alias (car aliases)
 			  aliases (cdr aliases))
-		    (if (string-match (wildcard-to-regexp (cdr alias)) fn)
+		    (if (string-match (mapconcat
+				       'wildcard-to-regexp
+				       (split-string (cdr alias) nil t)
+				       "\\|")
+				      fn)
 			(setq aliases nil)
 		      (setq alias nil)))
 		  (cdr alias))))