GNU bug report logs -
#6114
23.1; grep-read-files does incorrect wildcard match
Previous Next
Reported by: S Boucher <stbya <at> yahoo.com>
Date: Wed, 5 May 2010 19:42:01 UTC
Severity: normal
Found in version 23.1
Fixed in version 24.1
Done: Juri Linkov <juri <at> jurta.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Tried it. Seems to work.
Thanks,
--- On Thu, 5/20/10, Juri Linkov <juri <at> jurta.org> wrote:
> From: Juri Linkov <juri <at> jurta.org>
> Subject: Re: 23.1; grep-read-files does incorrect wildcard match
> To: "S Boucher" <stbya <at> yahoo.com>
> Cc: 6114 <at> debbugs.gnu.org
> Received: Thursday, May 20, 2010, 8:28 PM
> > This bug is for (defun
> grep-read-files (regexp) in file grep.el.
> >
> > In grep-read-files, there's a call to
> (wildcard-to-regexp (cdr alias))
> > with the assumption that (cdr alias) is a single
> pattern. However,
> > the variable grep-files-aliases actually can have
> multiple patterns
> > for each alias. So, the multi-pattern aliases,
> such as for "cc",
> > cannot correctly match:
> >
> > (defcustom grep-files-aliases
> > '(("asm" . "*.[sS]")
> > ("c" .
> "*.c")
> > ("cc" . "*.cc
> *.cxx *.cpp *.C *.CC *.c++")
> > ... etc...
>
> Does this patch do what you want? (Please note that
> we have to remove
> "*" ("all") because it matches everything.)
>
> === modified file 'lisp/progmodes/grep.el'
> --- lisp/progmodes/grep.el 2010-04-20
> 00:49:46 +0000
> +++ lisp/progmodes/grep.el 2010-05-21
> 00:27:18 +0000
> @@ -781,12 +781,17 @@ (defun grep-read-files (regexp)
>
> (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))))
>
> --
> Juri Linkov
> http://www.jurta.org/emacs/
>
This bug report was last modified 13 years and 227 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.