Mercurial > emacs
changeset 107067:5f67deabc08b
* progmodes/grep.el (zrgrep): Call `grep-compute-defaults' at the
beginning of interactive spec like all other grep commands do.
Put "all" in front of "gz". (Bug#5260)
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Sun, 31 Jan 2010 23:47:47 +0200 |
parents | 3b5ef09ea743 |
children | 8d8e02bbef81 d4daa9776b2a |
files | lisp/ChangeLog lisp/progmodes/grep.el |
diffstat | 2 files changed, 33 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sun Jan 31 23:28:22 2010 +0200 +++ b/lisp/ChangeLog Sun Jan 31 23:47:47 2010 +0200 @@ -1,3 +1,9 @@ +2010-01-31 Juri Linkov <juri@jurta.org> + + * progmodes/grep.el (zrgrep): Call `grep-compute-defaults' at the + beginning of interactive spec like all other grep commands do. + Put "all" in front of "gz". (Bug#5260) + 2010-01-29 Dan Nicolaescu <dann@ics.uci.edu> * vc-bzr.el (vc-bzr-after-dir-status): Match another renaming indicator.
--- a/lisp/progmodes/grep.el Sun Jan 31 23:28:22 2010 +0200 +++ b/lisp/progmodes/grep.el Sun Jan 31 23:47:47 2010 +0200 @@ -996,26 +996,34 @@ Like `rgrep' but uses `zgrep' for `grep-program', sets the default file name to `*.gz', and sets `grep-highlight-matches' to `always'." (interactive - (let ((grep-program "zgrep") - (grep-find-template nil) ; output of `grep-compute-defaults' - (grep-find-command nil) - (grep-host-defaults-alist nil) - (grep-files-aliases '(("*.gz" . "*.gz") ; for `grep-read-files' - ("all" . "* .*")))) - ;; Recompute defaults using let-bound values above. + (progn + ;; Compute standard default values. (grep-compute-defaults) - (cond - ((and grep-find-command (equal current-prefix-arg '(16))) - (list (read-from-minibuffer "Run: " grep-find-command - nil nil 'grep-find-history))) - ((not grep-find-template) - (error "grep.el: No `grep-find-template' available")) - (t (let* ((regexp (grep-read-regexp)) - (files (grep-read-files regexp)) - (dir (read-directory-name "Base directory: " - nil default-directory t)) - (confirm (equal current-prefix-arg '(4)))) - (list regexp files dir confirm grep-find-template)))))) + ;; Compute the default zrgrep command by running `grep-compute-defaults' + ;; for grep program "zgrep", but not changing global values. + (let ((grep-program "zgrep") + ;; Don't change global values for variables computed + ;; by `grep-compute-defaults'. + (grep-find-template nil) + (grep-find-command nil) + (grep-host-defaults-alist nil) + ;; Use for `grep-read-files' + (grep-files-aliases '(("all" . "* .*") + ("gz" . "*.gz")))) + ;; Recompute defaults using let-bound values above. + (grep-compute-defaults) + (cond + ((and grep-find-command (equal current-prefix-arg '(16))) + (list (read-from-minibuffer "Run: " grep-find-command + nil nil 'grep-find-history))) + ((not grep-find-template) + (error "grep.el: No `grep-find-template' available")) + (t (let* ((regexp (grep-read-regexp)) + (files (grep-read-files regexp)) + (dir (read-directory-name "Base directory: " + nil default-directory t)) + (confirm (equal current-prefix-arg '(4)))) + (list regexp files dir confirm grep-find-template))))))) ;; Set `grep-highlight-matches' to `always' ;; since `zgrep' puts filters in the grep output. (let ((grep-highlight-matches 'always))