diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 7731be5965..331abf0f38 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -1078,8 +1078,12 @@ lgrep (error "grep.el: No `grep-template' available")) (t (let* ((regexp (grep-read-regexp)) (files (grep-read-files regexp)) - (dir (read-directory-name "In directory: " - nil default-directory t)) + (dir (read-directory-name + "In directory: " nil + (if (featurep 'project) + (project-known-project-roots) + default-directory) + t)) (confirm (equal current-prefix-arg '(4)))) (list regexp files dir confirm)))))) (when (and (stringp regexp) (> (length regexp) 0)) @@ -1166,8 +1170,12 @@ rgrep (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)) + (dir (read-directory-name + "Base directory: " nil + (if (featurep 'project) + (project-known-project-roots) + default-directory) + t)) (confirm (equal current-prefix-arg '(4)))) (list regexp files dir confirm)))))) (when (and (stringp regexp) (> (length regexp) 0)) @@ -1297,8 +1305,12 @@ zrgrep (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)) + (dir (read-directory-name + "Base directory: " nil + (if (featurep 'project) + (project-known-project-roots) + default-directory) + t)) (confirm (equal current-prefix-arg '(4)))) (list regexp files dir confirm grep-find-template))))))) (let ((grep-find-template template)