From: Stefan Monnier Date: Mon, 7 Oct 2013 05:15:48 +0000 (-0400) Subject: * lisp/progmodes/compile.el (compilation-parse-errors): X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1360 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=55ca2c0df0b7bdc2c425c17cc74dfc08a9ad236c;p=emacs.git * lisp/progmodes/compile.el (compilation-parse-errors): Use compilation--put-prop. (compilation--ensure-parse): Check compilation-multiline. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bceb4959171..0d9b4b10d6c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2013-10-07 Stefan Monnier + * progmodes/compile.el (compilation-parse-errors): + Use compilation--put-prop. + (compilation--ensure-parse): Check compilation-multiline. + * emacs-lisp/easymenu.el (easy-menu-create-menu): Use closures. * emacs-lisp/lisp-mode.el (eval-defun-2): Simplify, using lexical-binding. diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index e25be05fb09..3b86ddc1567 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1354,9 +1354,7 @@ to `compilation-error-regexp-alist' if RULES is nil." (eq (car face) 'face) (or (symbolp (cadr face)) (stringp (cadr face)))) - (put-text-property - (match-beginning mn) (match-end mn) - 'font-lock-face (cadr face)) + (compilation--put-prop mn 'font-lock-face (cadr face)) (add-text-properties (match-beginning mn) (match-end mn) (nthcdr 2 face))) @@ -1394,6 +1392,9 @@ to `compilation-error-regexp-alist' if RULES is nil." (move-marker compilation--parsed limit) (goto-char start) (forward-line 0) ;Not line-beginning-position: ignore (comint) fields. + (while (and (not (bobp)) + (get-text-property (1- (point)) 'compilation-multiline)) + (forward-line -1)) (with-silent-modifications (compilation--parse-region (point) compilation--parsed))))) nil)