Yuta Yamada <sleepboy.zzz@gmail.com> writes:
> In terminal Emacs, I found not highlight state of flymake even there is a warning.
> It can be visible if you set underline to the flymake's face.
Since Flymake can now highlight arbitrary regions, some of those regions
can be mere whitespace, which is the case with the
elisp-flymake-checkdoc backend.
The offending code is this (repeated in flymake-warning and flymake-note)
(defface flymake-error
'((((supports :underline (:style wave)))
:underline (:style wave :color "Red1"))
(t
:inherit error))
"Face used for marking error regions."
:version "24.4")
Clearly your terminal doesn't support the first clause, and the second
one is unsuitable for whitespace.
The simplest thing I can think of that keeps some of the "genericness"
of the last clause is adding ":inverse-video t" to it. If noone can
think of anything better, I will push this patch in some days' time. I
tried it and it looks reasonably OK.
João
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 9c546fd966..7738d608e9 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -281,6 +281,7 @@ flymake-error
'((((supports :underline (:style wave)))
:underline (:style wave :color "Red1"))
(t
+ :inverse-video t
:inherit error))
"Face used for marking error regions."
:version "24.4")
@@ -289,6 +290,7 @@ flymake-warning
'((((supports :underline (:style wave)))
:underline (:style wave :color "deep sky blue"))
(t
+ :inverse-video t
:inherit warning))
"Face used for marking warning regions."
:version "24.4")
@@ -297,6 +299,7 @@ flymake-note
'((((supports :underline (:style wave)))
:underline (:style wave :color "yellow green"))
(t
+ :inverse-video t
:inherit warning))
"Face used for marking note regions."
:version "26.1")