]> git.eshelyaron.com Git - emacs.git/commitdiff
* progmodes/grep.el (zrgrep): Call `grep-compute-defaults' at the
authorJuri Linkov <juri@jurta.org>
Sun, 31 Jan 2010 21:47:47 +0000 (23:47 +0200)
committerJuri Linkov <juri@jurta.org>
Sun, 31 Jan 2010 21:47:47 +0000 (23:47 +0200)
beginning of interactive spec like all other grep commands do.
Put "all" in front of "gz".  (Bug#5260)

lisp/ChangeLog
lisp/progmodes/grep.el

index 4d38251f37e5040e465fa2b1c94791dd83388b50..96f210a2ba85d46de1436462db64141bc602ff25 100644 (file)
@@ -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.
index 20d53502d3a051d291a3dcf58c212fa438d983ad..b13a75e3844cb8d8bc3bbb0edfba4e845d363284 100644 (file)
@@ -996,26 +996,34 @@ This command shares argument histories with \\[lgrep] and \\[grep-find]."
 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))