diff lisp/progmodes/compile.el @ 56864:c77183f170cf

(compilation-goto-locus): Use `next-error' face instead of `region'. Set 4-th argument of `move-overlay' to `current-buffer' to move overlay to different source buffers. Use new variable `next-error-highlight'.
author Juri Linkov <juri@jurta.org>
date Wed, 01 Sep 2004 18:44:35 +0000
parents fb266772e0e7
children e2576d47dd53
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Wed Sep 01 18:41:06 2004 +0000
+++ b/lisp/progmodes/compile.el	Wed Sep 01 18:44:35 2004 +0000
@@ -1564,7 +1564,7 @@
       (unless compilation-highlight-overlay
 	(setq compilation-highlight-overlay
 	      (make-overlay (point-min) (point-min)))
-	(overlay-put compilation-highlight-overlay 'face 'region))
+	(overlay-put compilation-highlight-overlay 'face 'next-error))
       (with-current-buffer (marker-buffer mk)
 	(save-excursion
 	  (end-of-line)
@@ -1574,11 +1574,18 @@
 		     (re-search-forward highlight-regexp end t))
 		(progn
 		  (goto-char (match-beginning 0))
-		  (move-overlay compilation-highlight-overlay (match-beginning 0) (match-end 0)))
-	      (move-overlay compilation-highlight-overlay (point) end))
-	    (sit-for 0.5)
-	    (delete-overlay compilation-highlight-overlay)))))))
-
+		  (move-overlay compilation-highlight-overlay
+				(match-beginning 0) (match-end 0)
+				(current-buffer)))
+	      (move-overlay compilation-highlight-overlay
+			    (point) end (current-buffer)))
+	    (if (numberp next-error-highlight)
+		(sit-for next-error-highlight))
+	    (if (not (eq next-error-highlight t))
+		(delete-overlay compilation-highlight-overlay))))))
+    (when (and (eq next-error-highlight 'fringe-arrow))
+      (set (make-local-variable 'overlay-arrow-position)
+	   (copy-marker (line-beginning-position))))))
 
 (defun compilation-find-file (marker filename dir &rest formats)
   "Find a buffer for file FILENAME.