diff options
-rw-r--r-- | lisp/progmodes/flymake.el | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 35d56725445..ec933ad16ba 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -1068,14 +1068,17 @@ applied." ,@(unless (or all-disabled (null known)) (cl-loop + with get-severity = (lambda (type) + (flymake--lookup-type-property + type + 'severity + (warning-numeric-level :error))) for (type . severity) in (cl-sort (mapcar (lambda (type) - (cons type (flymake--lookup-type-property - type - 'severity - (warning-numeric-level :error)))) + (cons type (funcall get-severity type))) (cl-union (hash-table-keys diags-by-type) - '(:error :warning))) + '(:error :warning) + :key get-severity)) #'> :key #'cdr) for diags = (gethash type diags-by-type) |