From 238a5a50e51924b4e7a8c8df4072fe6e82f13787 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 6 Feb 2002 15:37:35 +0000 Subject: [PATCH] (grep-compute-defaults): Definition moved up. --- lisp/progmodes/compile.el | 112 +++++++++++++++++++------------------- 1 file changed, 57 insertions(+), 55 deletions(-) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index ed0616aabd6..1bf72c0b62e 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -66,6 +66,63 @@ will be parsed and highlighted as soon as you try to move to them." (integer :tag "First N lines")) :group 'compilation) +;;; This has to be here so it can be called +;;; by the following defcustoms. +(defun grep-compute-defaults () + (unless (or (not grep-use-null-device) (eq grep-use-null-device t)) + (setq grep-use-null-device + (with-temp-buffer + (let ((hello-file (expand-file-name "HELLO" data-directory))) + (not + (and (equal (condition-case nil + (if grep-command + ;; `grep-command' is already set, so + ;; use that for testing. + (call-process-shell-command + grep-command nil t nil + "^English" hello-file) + ;; otherwise use `grep-program' + (call-process grep-program nil t nil + "-nH" "^English" hello-file)) + (error nil)) + 0) + (progn + (goto-char (point-min)) + (looking-at + (concat (regexp-quote hello-file) + ":[0-9]+:English"))))))))) + (unless grep-command + (setq grep-command + (let ((required-options (if grep-use-null-device "-n" "-nH"))) + (if (equal (condition-case nil ; in case "grep" isn't in exec-path + (call-process grep-program nil nil nil + "-e" "foo" null-device) + (error nil)) + 1) + (format "%s %s -e " grep-program required-options) + (format "%s %s " grep-program required-options))))) + (unless grep-find-use-xargs + (setq grep-find-use-xargs + (if (and + (equal (call-process "find" nil nil nil + null-device "-print0") + 0) + (equal (call-process "xargs" nil nil nil + "-0" "-e" "echo") + 0)) + 'gnu))) + (unless grep-find-command + (setq grep-find-command + (cond ((eq grep-find-use-xargs 'gnu) + (format "%s . -type f -print0 | xargs -0 -e %s" + find-program grep-command)) + (grep-find-use-xargs + (format "%s . -type f -print | xargs %s" + find-program grep-command)) + (t (cons (format "%s . -type f -exec %s {} %s \\;" + find-program grep-command null-device) + (+ 22 (length grep-command)))))))) + (defcustom grep-command nil "The default grep command for \\[grep]. If the grep program used supports an option to always include file names @@ -611,61 +668,6 @@ original use. Otherwise, it recompiles using `compile-command'." (cons msg code))) (cons msg code))))) -(defun grep-compute-defaults () - (unless (or (not grep-use-null-device) (eq grep-use-null-device t)) - (setq grep-use-null-device - (with-temp-buffer - (let ((hello-file (expand-file-name "HELLO" data-directory))) - (not - (and (equal (condition-case nil - (if grep-command - ;; `grep-command' is already set, so - ;; use that for testing. - (call-process-shell-command - grep-command nil t nil - "^English" hello-file) - ;; otherwise use `grep-program' - (call-process grep-program nil t nil - "-nH" "^English" hello-file)) - (error nil)) - 0) - (progn - (goto-char (point-min)) - (looking-at - (concat (regexp-quote hello-file) - ":[0-9]+:English"))))))))) - (unless grep-command - (setq grep-command - (let ((required-options (if grep-use-null-device "-n" "-nH"))) - (if (equal (condition-case nil ; in case "grep" isn't in exec-path - (call-process grep-program nil nil nil - "-e" "foo" null-device) - (error nil)) - 1) - (format "%s %s -e " grep-program required-options) - (format "%s %s " grep-program required-options))))) - (unless grep-find-use-xargs - (setq grep-find-use-xargs - (if (and - (equal (call-process "find" nil nil nil - null-device "-print0") - 0) - (equal (call-process "xargs" nil nil nil - "-0" "-e" "echo") - 0)) - 'gnu))) - (unless grep-find-command - (setq grep-find-command - (cond ((eq grep-find-use-xargs 'gnu) - (format "%s . -type f -print0 | xargs -0 -e %s" - find-program grep-command)) - (grep-find-use-xargs - (format "%s . -type f -print | xargs %s" - find-program grep-command)) - (t (cons (format "%s . -type f -exec %s {} %s \\;" - find-program grep-command null-device) - (+ 22 (length grep-command)))))))) - ;;;###autoload (defun grep (command-args) "Run grep, with user-specified args, and collect output in a buffer. -- 2.39.2