summaryrefslogtreecommitdiff
path: root/lisp/progmodes/grep.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2004-09-07 03:56:35 +0000
committerJuri Linkov <juri@jurta.org>2004-09-07 03:56:35 +0000
commit00889cf95702232c0199b8e9af13c75d219c0e82 (patch)
tree514c164b033dbbae2c472d0c8cd556ee12ca5cc8 /lisp/progmodes/grep.el
parent3c3979f1592a634a9d9eed407e83d3f9b634c6c2 (diff)
downloademacs-00889cf95702232c0199b8e9af13c75d219c0e82.tar.gz
(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).
Diffstat (limited to 'lisp/progmodes/grep.el')
-rw-r--r--lisp/progmodes/grep.el22
1 files changed, 17 insertions, 5 deletions
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index e4cd0c59dac..8302b8e7987 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -64,8 +64,8 @@ will be parsed and highlighted as soon as you try to move to them."
: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 @@ This option sets the environment variable GREP_COLOR to specify
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 @@ necessary if the grep program used supports the `-H' option.
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 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'."
(format "%s <D> <X> -type f <F> -print | xargs %s <R>"
find-program gcmd))
(t (format "%s <D> <X> -type f <F> -exec %s <R> {} %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