aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorJoão Távora2017-09-21 14:44:13 +0100
committerJoão Távora2017-10-03 13:52:24 +0100
commit54beebb4e0d919c7ee6dcdd7d774d851c35f85b7 (patch)
tree183a1dc5f749e96ceb4d5d3833b6208dc6cff63e /test
parent491cc4a1bd68c2f651027982e3dfb7545d3e57ab (diff)
downloademacs-54beebb4e0d919c7ee6dcdd7d774d851c35f85b7.tar.gz
emacs-54beebb4e0d919c7ee6dcdd7d774d851c35f85b7.zip
Flymake highlights GCC info/notes as detected by flymake-proc.el
* lisp/progmodes/flymake-proc.el (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to honour more sophisticated flymake-proc-diagnostic-type-pred. (flymake-warning-re): Is now an obsolete alias for flymake-proc-diagnostic-type-pred. (flymake-proc-diagnostic-type-pred): Rename and augment from flymake-proc-warning-predicate. (flymake-proc-warning-predicate): Delete. * lisp/progmodes/flymake.el (flymake-note): New face. (flymake-diagnostic-types-alist): Simplify. (flymake-note): New overlay category. (flymake--lookup-type-property): Only lookup single keys, not lists. (flymake--diag-errorp): Rewrite. (flymake--highlight-line): Use flymake--lookup-type-property. * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types): Rename from errors-and-warnings. Check notes. (flymake-tests--call-with-fixture): Use flymake-proc-diagnostic-type-pred.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/progmodes/flymake-tests.el8
1 files changed, 4 insertions, 4 deletions
diff --git a/test/lisp/progmodes/flymake-tests.el b/test/lisp/progmodes/flymake-tests.el
index 5e76f3136ea..5ecc87fc7e6 100644
--- a/test/lisp/progmodes/flymake-tests.el
+++ b/test/lisp/progmodes/flymake-tests.el
@@ -41,7 +41,7 @@
41 nil sev-pred-supplied-p)) 41 nil sev-pred-supplied-p))
42 "Call FN after flymake setup in FILE, using `flymake-proc`. 42 "Call FN after flymake setup in FILE, using `flymake-proc`.
43SEVERITY-PREDICATE is used to setup 43SEVERITY-PREDICATE is used to setup
44`flymake-proc-warning-predicate'." 44`flymake-proc-diagnostic-type-pred'"
45 (let* ((file (expand-file-name file flymake-tests-data-directory)) 45 (let* ((file (expand-file-name file flymake-tests-data-directory))
46 (visiting (find-buffer-visiting file)) 46 (visiting (find-buffer-visiting file))
47 (buffer (or visiting (find-file-noselect file))) 47 (buffer (or visiting (find-file-noselect file)))
@@ -51,7 +51,7 @@ SEVERITY-PREDICATE is used to setup
51 (with-current-buffer buffer 51 (with-current-buffer buffer
52 (save-excursion 52 (save-excursion
53 (when sev-pred-supplied-p 53 (when sev-pred-supplied-p
54 (setq-local flymake-proc-warning-predicate severity-predicate)) 54 (setq-local flymake-proc-diagnostic-type-pred severity-predicate))
55 (goto-char (point-min)) 55 (goto-char (point-min))
56 (flymake-mode 1) 56 (flymake-mode 1)
57 ;; Weirdness here... http://debbugs.gnu.org/17647#25 57 ;; Weirdness here... http://debbugs.gnu.org/17647#25
@@ -115,13 +115,13 @@ SEVERITY-PREDICATE is used to setup
115 (should (eq 'flymake-warning 115 (should (eq 'flymake-warning
116 (face-at-point))))) 116 (face-at-point)))))
117 117
118(ert-deftest errors-and-warnings () 118(ert-deftest different-diagnostic-types ()
119 "Test GCC warning via function predicate." 119 "Test GCC warning via function predicate."
120 (skip-unless (and (executable-find "gcc") (executable-find "make"))) 120 (skip-unless (and (executable-find "gcc") (executable-find "make")))
121 (flymake-tests--with-flymake 121 (flymake-tests--with-flymake
122 ("errors-and-warnings.c") 122 ("errors-and-warnings.c")
123 (flymake-goto-next-error) 123 (flymake-goto-next-error)
124 (should (eq 'flymake-error (face-at-point))) 124 (should (eq 'flymake-note (face-at-point)))
125 (flymake-goto-next-error) 125 (flymake-goto-next-error)
126 (should (eq 'flymake-warning (face-at-point))) 126 (should (eq 'flymake-warning (face-at-point)))
127 (flymake-goto-next-error) 127 (flymake-goto-next-error)