emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/relint 2de1106 04/11: Sort diagnostics by buffer positi


From: Mattias Engdegård
Subject: [elpa] externals/relint 2de1106 04/11: Sort diagnostics by buffer position
Date: Sat, 20 Jun 2020 05:57:40 -0400 (EDT)

branch: externals/relint
commit 2de1106c366fb25ec1b0d2036babd563a404eeba
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>

    Sort diagnostics by buffer position
    
    This is useful in order to intermingle the useless-backslash warnings
    with those from the other checks.
---
 relint.el | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/relint.el b/relint.el
index 73f32a5..ae94890 100644
--- a/relint.el
+++ b/relint.el
@@ -2233,7 +2233,19 @@ STRING-START is the start of the string literal (first 
double quote)."
     (dolist (form forms)
       (relint--check-form-recursively-2 (car form) nil (cdr form) nil))
     (relint--miscape-current-buffer)
-    (cons (nreverse relint--complaints) relint--suppression-count)))
+    (let ((complaints (nreverse relint--complaints)))
+      (cons
+       (sort complaints
+             ;; Sort by error position if available, expression position
+             ;; otherwise.
+             (lambda (a b)
+               (let ((expr-pos-a (nth 1 a))
+                     (expr-pos-b (nth 1 b))
+                     (error-pos-a (nth 2 a))
+                     (error-pos-b (nth 2 b)))
+                 (< (or error-pos-a expr-pos-a)
+                    (or error-pos-b expr-pos-b)))))
+       relint--suppression-count))))
 
 (defvar relint-last-target nil
   "The last file, directory or buffer on which relint was run.")



reply via email to

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