emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r116436: Fix flymake in narrowed buffers


From: Daniel Colascione
Subject: [Emacs-diffs] trunk r116436: Fix flymake in narrowed buffers
Date: Thu, 13 Feb 2014 22:38:05 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116436
revision-id: address@hidden
parent: address@hidden
committer: Daniel Colascione <address@hidden>
branch nick: trunk
timestamp: Thu 2014-02-13 14:37:29 -0800
message:
  Fix flymake in narrowed buffers
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/progmodes/flymake.el      flymake.el-20091113204419-o5vbwnq5f7feedwu-3065
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-02-13 18:23:36 +0000
+++ b/lisp/ChangeLog    2014-02-13 22:37:29 +0000
@@ -1,3 +1,9 @@
+2014-02-13  Daniel Colascione  <address@hidden>
+
+       * progmodes/flymake.el (flymake-post-syntax-check): Widen buffer
+       when adding overlays so that line numbers from compiler match line
+       numbers we use.
+
 2014-02-13  Glenn Morris  <address@hidden>
 
        * mail/rmail.el (rmail-probe): Be less strict.  (Bug#16743)

=== modified file 'lisp/progmodes/flymake.el'
--- a/lisp/progmodes/flymake.el 2014-01-25 19:15:42 +0000
+++ b/lisp/progmodes/flymake.el 2014-02-13 22:37:29 +0000
@@ -555,29 +555,31 @@
              (setq flymake-is-running nil))))))))
 
 (defun flymake-post-syntax-check (exit-status command)
-  (setq flymake-err-info flymake-new-err-info)
-  (setq flymake-new-err-info nil)
-  (setq flymake-err-info
-        (flymake-fix-line-numbers
-         flymake-err-info 1 (count-lines (point-min) (point-max))))
-  (flymake-delete-own-overlays)
-  (flymake-highlight-err-lines flymake-err-info)
-  (let (err-count warn-count)
-    (setq err-count (flymake-get-err-count flymake-err-info "e"))
-    (setq warn-count  (flymake-get-err-count flymake-err-info "w"))
-    (flymake-log 2 "%s: %d error(s), %d warning(s) in %.2f second(s)"
-                (buffer-name) err-count warn-count
-                (- (float-time) flymake-check-start-time))
-    (setq flymake-check-start-time nil)
+  (save-restriction
+    (widen)
+    (setq flymake-err-info flymake-new-err-info)
+    (setq flymake-new-err-info nil)
+    (setq flymake-err-info
+          (flymake-fix-line-numbers
+           flymake-err-info 1 (count-lines (point-min) (point-max))))
+    (flymake-delete-own-overlays)
+    (flymake-highlight-err-lines flymake-err-info)
+    (let (err-count warn-count)
+      (setq err-count (flymake-get-err-count flymake-err-info "e"))
+      (setq warn-count  (flymake-get-err-count flymake-err-info "w"))
+      (flymake-log 2 "%s: %d error(s), %d warning(s) in %.2f second(s)"
+                   (buffer-name) err-count warn-count
+                   (- (float-time) flymake-check-start-time))
+      (setq flymake-check-start-time nil)
 
-    (if (and (equal 0 err-count) (equal 0 warn-count))
-       (if (equal 0 exit-status)
-           (flymake-report-status "" "")       ; PASSED
-         (if (not flymake-check-was-interrupted)
-             (flymake-report-fatal-status "CFGERR"
-                                          (format "Configuration error has 
occurred while running %s" command))
-           (flymake-report-status nil ""))) ; "STOPPED"
-      (flymake-report-status (format "%d/%d" err-count warn-count) ""))))
+      (if (and (equal 0 err-count) (equal 0 warn-count))
+          (if (equal 0 exit-status)
+              (flymake-report-status "" "") ; PASSED
+            (if (not flymake-check-was-interrupted)
+                (flymake-report-fatal-status "CFGERR"
+                                             (format "Configuration error has 
occurred while running %s" command))
+              (flymake-report-status nil ""))) ; "STOPPED"
+        (flymake-report-status (format "%d/%d" err-count warn-count) "")))))
 
 (defun flymake-parse-output-and-residual (output)
   "Split OUTPUT into lines, merge in residual if necessary."


reply via email to

[Prev in Thread] Current Thread [Next in Thread]