changeset 64509:9a66028f1658

(grep-regexp-alist) (grep-mode-font-lock-keywords, grep-process-setup): Use default GNU grep match color "01;31m" instead of "01;41m". (grep-regexp-alist, grep-mode-font-lock-keywords): Use `\\[[0-9]*m' instead of `\\[00m'. (grep-regexp-alist): Move `\\(?:\033\\[K\\)?' from sgr_end to sgr_start where its handling is more important. Use the real length of sgr_start instead of constant 8. (grep-mode-font-lock-keywords): Don't delete `\\(?:\033\\[K\\)?' specially. Delete all remaining escape sequences. (grep-process-setup): Set "GREP_COLORS" for GNU grep 2.5.1-cvs. (grep-regexp-alist): Make hyperlink only for binary file name instead of the whole line. (grep-mode-map): Bind `backtab' to `compilation-previous-file'. (grep-mode): Add autoload.
author Juri Linkov <juri@jurta.org>
date Tue, 19 Jul 2005 14:21:23 +0000
parents fab6aeab9e8d
children 6c458b0fe83f
files lisp/progmodes/grep.el
diffstat 1 files changed, 19 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/grep.el	Tue Jul 19 14:09:52 2005 +0000
+++ b/lisp/progmodes/grep.el	Tue Jul 19 14:21:23 2005 +0000
@@ -196,6 +196,7 @@
     (define-key map "p" 'previous-error-no-select)
     (define-key map "{" 'compilation-previous-file)
     (define-key map "}" 'compilation-next-file)
+    (define-key map [backtab] 'compilation-previous-file)
     (define-key map "\t" 'compilation-next-file)
 
     ;; Set up the menu-bar
@@ -255,16 +256,17 @@
 \\(?:-\\(?:\\([0-9]+\\)\\4\\)?\\.?\\([0-9]+\\)?\\)?\\2"
      1 (3 . 6) (5 . 7))
     ("^\\(\\(.+?\\):\\([0-9]+\\):\\).*?\
-\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\(?:\033\\[K\\)?\\)"
+\\(\033\\[01;31m\\(?:\033\\[K\\)?\\)\\(.*?\\)\\(\033\\[[0-9]*m\\)"
      2 3
      ;; Calculate column positions (beg . end) of first grep match on a line
      ((lambda ()
-        (setq compilation-error-screen-columns nil)
-        (- (match-beginning 5) (match-end 1) 8))
+	(setq compilation-error-screen-columns nil)
+        (- (match-beginning 4) (match-end 1)))
       .
-      (lambda () (- (match-end 5) (match-end 1) 8)))
+      (lambda () (- (match-end 5) (match-end 1)
+		    (- (match-end 4) (match-beginning 4)))))
      nil 1)
-    ("^Binary file \\(.+\\) matches$" 1 nil nil 1))
+    ("^Binary file \\(.+\\) matches$" 1 nil nil 1 1))
   "Regexp used to match grep hits.  See `compilation-error-regexp-alist'.")
 
 (defvar grep-error "grep hit"
@@ -296,17 +298,21 @@
       (1 compilation-warning-face)
       (2 compilation-line-face))
      ;; Highlight grep matches and delete markers
-     ("\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\(?:\033\\[K\\)?\\)"
+     ("\\(\033\\[01;31m\\)\\(.*?\\)\\(\033\\[[0-9]*m\\)"
       ;; Refontification does not work after the markers have been
       ;; deleted.  So we use the font-lock-face property here as Font
       ;; Lock does not clear that.
       (2 (list 'face nil 'font-lock-face grep-match-face))
-      ((lambda (p))
+      ((lambda (bound))
        (progn
 	 ;; Delete markers with `replace-match' because it updates
 	 ;; the match-data, whereas `delete-region' would render it obsolete.
 	 (replace-match "" t t nil 3)
-	 (replace-match "" t t nil 1)))))
+	 (replace-match "" t t nil 1))))
+     ("\\(\033\\[[0-9;]*[mK]\\)"
+      ;; Delete all remaining escape sequences
+      ((lambda (bound))
+       (replace-match "" t t nil 1))))
    "Additional things to highlight in grep output.
 This gets tacked on the end of the generated expressions.")
 
@@ -354,7 +360,10 @@
   (when (eq grep-highlight-matches t)
     ;; Modify `process-environment' locally bound in `compilation-start'
     (setenv "GREP_OPTIONS" (concat (getenv "GREP_OPTIONS") " --color=always"))
-    (setenv "GREP_COLOR" "01;41"))
+    ;; for GNU grep 2.5.1
+    (setenv "GREP_COLOR" "01;31")
+    ;; for GNU grep 2.5.1-cvs
+    (setenv "GREP_COLORS" "mt=01;31:fn=:ln=:bn=:se=:ml=:cx=:ne"))
   (set (make-local-variable 'compilation-exit-message-function)
        (lambda (status code msg)
 	 (if (eq status 'exit)
@@ -514,6 +523,7 @@
 			 command-args)
 		       'grep-mode nil highlight-regexp)))
 
+;;;###autoload
 (define-compilation-mode grep-mode "Grep"
   "Sets `grep-last-buffer' and `compilation-window-height'."
   (setq grep-last-buffer (current-buffer))