emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/grep.el


From: Juri Linkov
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/grep.el
Date: Thu, 02 Sep 2004 12:40:49 -0400

Index: emacs/lisp/progmodes/grep.el
diff -c emacs/lisp/progmodes/grep.el:1.19 emacs/lisp/progmodes/grep.el:1.20
*** emacs/lisp/progmodes/grep.el:1.19   Sat Aug 28 15:31:20 2004
--- emacs/lisp/progmodes/grep.el        Thu Sep  2 16:35:42 2004
***************
*** 64,69 ****
--- 64,84 ----
    :version "21.4"
    :group 'grep)
  
+ (defcustom grep-highlight-matches t
+   "*Non-nil to 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
+ matches in grep mode.
+ 
+ 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
+   :version "21.4"
+   :group 'grep)
+ 
  (defcustom grep-scroll-output nil
    "*Non-nil to scroll the *grep* buffer window as output appears.
  
***************
*** 230,235 ****
--- 245,267 ----
    '(("^\\(.+?\\)[:( \t]+\
  \\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\
  \\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?[:) \t]" 1 (2 . 5) (4 . 6))
+     
("^\\(.+?\\)[:(]+\\([0-9]+\\)\\([:)]\\).*?\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\)"
+      1 2
+      ((lambda ()
+         (setq compilation-error-screen-columns nil)
+         (- (match-beginning 5) (match-end 3) 8))
+       .
+       (lambda () (- (match-end 5) (match-end 3) 8)))
+      nil nil
+      (4 (list 'face nil 'invisible t 'intangible t))
+      (5 (list 'face compilation-column-face))
+      (6 (list 'face nil 'invisible t 'intangible t))
+      ;; highlight other matches on the same line
+      ("\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\)"
+       nil nil
+       (1 (list 'face nil 'invisible t 'intangible t))
+       (2 (list 'face compilation-column-face) t)
+       (3 (list 'face nil 'invisible t 'intangible t))))
      ("^Binary file \\(.+\\) matches$" 1 nil nil 1))
    "Regexp used to match grep hits.  See `compilation-error-regexp-alist'.")
  
***************
*** 300,305 ****
--- 332,341 ----
  (defun grep-process-setup ()
    "Setup compilation variables and buffer for `grep'.
  Set up `compilation-exit-message-function' and run `grep-setup-hook'."
+   (when grep-highlight-matches
+     ;; Modify `process-environment' locally bound in `compilation-start'
+     (setenv "GREP_OPTIONS" (concat (getenv "GREP_OPTIONS") " --color=always"))
+     (setenv "GREP_COLOR" "01;41"))
    (set (make-local-variable 'compilation-exit-message-function)
         (lambda (status code msg)
         (if (eq status 'exit)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]