]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/compile.el (compilation-parse-errors):
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 7 Oct 2013 05:15:48 +0000 (01:15 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 7 Oct 2013 05:15:48 +0000 (01:15 -0400)
Use compilation--put-prop.
(compilation--ensure-parse): Check compilation-multiline.

lisp/ChangeLog
lisp/progmodes/compile.el

index bceb49591715b97098a6728f8a0160d4dcfadaf4..0d9b4b10d6cbc13cf2bb0039ffc0cc941068e521 100644 (file)
@@ -1,5 +1,9 @@
 2013-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * 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.
index e25be05fb09710553ea536fcf2c2601ade2f0fc8..3b86ddc1567553f2010f9ab517980466c1717455 100644 (file)
@@ -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)