summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/progmodes/grep.el23
1 files changed, 17 insertions, 6 deletions
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index cb8fcf6e042..279d7211cdd 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -318,7 +318,12 @@ Sets `grep-last-buffer' and runs `grep-setup-hook'."
'gnu)))
(unless grep-find-command
(setq grep-find-command
- (cond ((eq grep-find-use-xargs 'gnu)
+ (cond ((not (executable-command-find-unix-p "find"))
+ (message
+ (concat "compile.el: Unix type find(1) not found. "
+ "Please set `grep-find-command'."))
+ nil)
+ ((eq grep-find-use-xargs 'gnu)
(format "%s . -type f -print0 | xargs -0 -e %s"
find-program grep-command))
(grep-find-use-xargs
@@ -443,11 +448,17 @@ easily repeat a find command."
(progn
(unless grep-find-command
(grep-compute-defaults))
- (list (read-from-minibuffer "Run find (like this): "
- grep-find-command nil nil
- 'grep-find-history))))
- (let ((null-device nil)) ; see grep
- (grep command-args)))
+ (if grep-find-command
+ (list (read-from-minibuffer "Run find (like this): "
+ grep-find-command nil nil
+ 'grep-find-history))
+ ;; No default was set
+ (read-string
+ "compile.el: No `grep-find-command' command available. Press RET.")
+ (list nil))))
+ (when (and grep-find-command command-args)
+ (let ((null-device nil)) ; see grep
+ (grep command-args))))
(defun grep-expand-command-macros (command &optional regexp files dir excl case-fold)
"Patch grep COMMAND replacing <D>, etc."