# HG changeset patch # User Juri Linkov # Date 1094529328 0 # Node ID f6f74981c4b0ee18f920cb56bbd01bb6b2f2454a # Parent a1a3a7ab3badd344ac0a39d633c7faddc9fb1bd4 (grep-highlight-matches): Change default from `t' to `auto-detect', and type from `boolean' to `choice'. (grep-compute-defaults): Set `grep-highlight-matches' to `t' if grep option `--color' is available, or to `nil' otherwise. (grep-use-null-device): Remove redundant type `boolean' (`choice' is already defined). diff -r a1a3a7ab3bad -r f6f74981c4b0 lisp/progmodes/grep.el --- a/lisp/progmodes/grep.el Tue Sep 07 03:47:46 2004 +0000 +++ b/lisp/progmodes/grep.el Tue Sep 07 03:55:28 2004 +0000 @@ -64,8 +64,8 @@ :version "21.4" :group 'grep) -(defcustom grep-highlight-matches t - "*Non-nil to use special markers to highlight grep matches. +(defcustom grep-highlight-matches 'auto-detect + "*If t, use special markers to highlight grep matches. Some grep programs are able to surround matches with special markers in grep output. Such markers can be used to highlight @@ -75,7 +75,9 @@ markers for highlighting and GREP_OPTIONS to add the --color option in front of any explicit grep options before starting the grep." - :type 'boolean + :type '(choice (const :tag "Do not highlight matches with grep markers" nil) + (const :tag "Highlight matches with grep markers" t) + (other :tag "Not Set" auto-detect)) :version "21.4" :group 'grep) @@ -110,7 +112,6 @@ The default value of this variable is set up by `grep-compute-defaults'; call that function before using this variable in your program." - :type 'boolean :type '(choice (const :tag "Do Not Append Null Device" nil) (const :tag "Append Null Device" t) (other :tag "Not Set" auto-detect)) @@ -415,7 +416,18 @@ (format "%s -type f -print | xargs %s " find-program gcmd)) (t (format "%s -type f -exec %s {} %s \\;" - find-program gcmd null-device))))))) + find-program gcmd null-device)))))) + (unless (or (not grep-highlight-matches) (eq grep-highlight-matches t)) + (setq grep-highlight-matches + (with-temp-buffer + (and (equal (condition-case nil + (call-process grep-program nil t nil "--help") + (error nil)) + 0) + (progn + (goto-char (point-min)) + (search-forward "--color" nil t)) + t))))) (defun grep-default-command () (let ((tag-default