From: Eli Zaretskii Date: Fri, 8 Apr 2016 13:54:18 +0000 (+0300) Subject: Allow to customize names of executables used by grep.el X-Git-Tag: emacs-25.0.93~57 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/c93ae7a1e5a94541189a8f36984014344d561ffc?ds=sidebyside Allow to customize names of executables used by grep.el * lisp/progmodes/grep.el (grep-find-program): Renamed from 'find-program', which was a variable. All uses changed. (grep-xargs-program): Renamed from 'xargs-program', which was a variable. All uses changed. (grep-program): Now a defcustom rather than a simple variable. (Bug#23219) --- diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index f04a7226d1..5d1b68a192 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -411,21 +411,34 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies This gets tacked on the end of the generated expressions.") ;;;###autoload -(defvar grep-program (purecopy "grep") +(defcustom grep-program (purecopy "grep") "The default grep program for `grep-command' and `grep-find-command'. -This variable's value takes effect when `grep-compute-defaults' is called.") +This variable's value takes effect when `grep-compute-defaults' is called." + :type 'string + :version "25.1" + :group 'grep) ;;;###autoload -(defvar find-program (purecopy "find") +(defcustom grep-find-program (purecopy "find") "The default find program. This is used by commands like `grep-find-command', `find-dired' -and others.") +and others." + :type 'string + :version "25.1" + :group 'grep) + +(define-obsolete-variable-alias 'find-program 'grep-find-program "25.1") ;;;###autoload -(defvar xargs-program (purecopy "xargs") +(defcustom grep-xargs-program (purecopy "xargs") "The default xargs program for `grep-find-command'. See `grep-find-use-xargs'. -This variable's value takes effect when `grep-compute-defaults' is called.") +This variable's value takes effect when `grep-compute-defaults' is called." + :type 'string + :version "25.1" + :group 'grep) + +(define-obsolete-variable-alias 'xargs-program 'grep-xargs-program "25.1") ;;;###autoload (defvar grep-find-use-xargs nil @@ -595,13 +608,14 @@ This function is called from `compilation-filter-hook'." (unless grep-find-use-xargs (setq grep-find-use-xargs (cond - ((grep-probe find-program + ((grep-probe grep-find-program `(nil nil nil ,null-device "-exec" "echo" "{}" "+")) 'exec-plus) ((and - (grep-probe find-program `(nil nil nil ,null-device "-print0")) - (grep-probe xargs-program `(nil nil nil "-0" "echo"))) + (grep-probe grep-find-program + `(nil nil nil ,null-device "-print0")) + (grep-probe grep-xargs-program `(nil nil nil "-0" "echo"))) 'gnu) (t 'exec)))) @@ -612,10 +626,11 @@ This function is called from `compilation-filter-hook'." ;; after the pipe symbol be quoted if they use ;; forward slashes as directory separators. (format "%s . -type f -print0 | \"%s\" -0 %s" - find-program xargs-program grep-command)) + grep-find-program grep-xargs-program + grep-command)) ((memq grep-find-use-xargs '(exec exec-plus)) (let ((cmd0 (format "%s . -type f -exec %s" - find-program grep-command)) + grep-find-program grep-command)) (null (if grep-use-null-device (format "%s " null-device) ""))) @@ -627,7 +642,8 @@ This function is called from `compilation-filter-hook'." (1+ (length cmd0))))) (t (format "%s . -type f -print | \"%s\" %s" - find-program xargs-program grep-command))))) + grep-find-program grep-xargs-program + grep-command))))) (unless grep-find-template (setq grep-find-template (let ((gcmd (format "%s %s " @@ -637,17 +653,17 @@ This function is called from `compilation-filter-hook'." ""))) (cond ((eq grep-find-use-xargs 'gnu) (format "%s -type f -print0 | \"%s\" -0 %s" - find-program xargs-program gcmd)) + grep-find-program grep-xargs-program gcmd)) ((eq grep-find-use-xargs 'exec) (format "%s -type f -exec %s {} %s%s" - find-program gcmd null + grep-find-program gcmd null (shell-quote-argument ";"))) ((eq grep-find-use-xargs 'exec-plus) (format "%s -type f -exec %s %s{} +" - find-program gcmd null)) + grep-find-program gcmd null)) (t (format "%s -type f -print | \"%s\" %s" - find-program xargs-program gcmd)))))))) + grep-find-program grep-xargs-program gcmd)))))))) ;; Save defaults for this host. (setq grep-host-defaults-alist