# HG changeset patch # User Kim F. Storm # Date 1147178832 0 # Node ID afe3317800c2ad15362f73a626c607ccf29dc7c4 # Parent f7861ffc739acf9190568bc389615d725837167b (rgrep): Set default directory of *grep* buffer if we start M-x rgrep in the *grep* buffer and choose a different base directory. diff -r f7861ffc739a -r afe3317800c2 lisp/progmodes/grep.el --- a/lisp/progmodes/grep.el Tue May 09 12:46:42 2006 +0000 +++ b/lisp/progmodes/grep.el Tue May 09 12:47:12 2006 +0000 @@ -721,16 +721,16 @@ (if (null files) (if (not (string= regexp grep-find-command)) (compilation-start regexp 'grep-mode)) - (let* ((default-directory (file-name-as-directory (expand-file-name dir))) - (command (grep-expand-template - grep-find-template - regexp - (concat "\\( -name " - (mapconcat #'shell-quote-argument - (split-string files) - " -o -name ") - " \\)") - default-directory + (setq dir (file-name-as-directory (expand-file-name dir))) + (let ((command (grep-expand-template + grep-find-template + regexp + (concat "\\( -name " + (mapconcat #'shell-quote-argument + (split-string files) + " -o -name ") + " \\)") + dir (and grep-find-ignored-directories (concat "\\( -path '*/" (mapconcat #'identity @@ -743,7 +743,11 @@ (read-from-minibuffer "Confirm: " command nil nil 'grep-find-history)) (add-to-history 'grep-find-history command)) - (compilation-start command 'grep-mode)))))) + (let ((default-directory dir)) + (compilation-start command 'grep-mode)) + ;; Set default-directory if we started rgrep in the *grep* buffer. + (if (eq next-error-last-buffer (current-buffer)) + (setq default-directory dir))))))) (provide 'grep)