# HG changeset patch # User Juri Linkov # Date 1264974467 -7200 # Node ID 5f67deabc08bc09dcca1910e7b365b52191c14a3 # Parent 3b5ef09ea743f06c306af2d0a75432067ff5c7d2 * 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) diff -r 3b5ef09ea743 -r 5f67deabc08b lisp/ChangeLog --- 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 + + * 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 * vc-bzr.el (vc-bzr-after-dir-status): Match another renaming indicator. diff -r 3b5ef09ea743 -r 5f67deabc08b lisp/progmodes/grep.el --- 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))