summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/progmodes/compile.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 129a01f5498..0cc70386be8 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -710,7 +710,7 @@ FILE should be (ABSOLUTE-FILENAME) or (RELATIVE-FILENAME . DIRNAME) or nil."
`(,(car elt)
(compilation-directory-properties
,(car elt) ,(cdr elt))
- t))
+ t t))
(cdr compilation-directory-matcher)))))
;; Compiler warning/error lines.
@@ -733,11 +733,12 @@ FILE should be (ABSOLUTE-FILENAME) or (RELATIVE-FILENAME . DIRNAME) or nil."
;; allowed `line' to be a function that computed the actual
;; error location. Let's do our best.
`(,(car item)
- (0 (compilation-compat-error-properties
- (funcall ',line (cons (match-string ,file)
- (cons default-directory
- ',(nthcdr 4 item)))
- ,(if col `(match-string ,col)))))
+ (0 (save-match-data
+ (compilation-compat-error-properties
+ (funcall ',line (cons (match-string ,file)
+ (cons default-directory
+ ',(nthcdr 4 item)))
+ ,(if col `(match-string ,col))))))
(,file compilation-error-face t))
(unless (or (null (nth 5 item)) (integerp (nth 5 item)))
@@ -1589,6 +1590,8 @@ If nil, don't scroll the compilation output window."
(point))))
(set-window-point w mk))
+(defvar next-error-highlight-timer)
+
(defun compilation-goto-locus (msg mk end-mk)
"Jump to an error corresponding to MSG at MK.
All arguments are markers. If END-MK is non-nil, mark is set there