Subject: 26.0.90; Let hl-line ignore text with non-default backgrond color

From: zhang cc <[email-masked]>
Date: Fri, 12 Jan 2018 02:39:52 +0000

hl-line mode adds an overlay face to text of the current line.
The hl-line usually only replace the background color of the text to
another color which is similar to default background color with small
diffrence.
It works well for text with default background color, but not for text
with non-default color. The latter usually is highlight faces like face
for TODO in org-mode, matched items in search results. They have
reversed fg/bg colors with default face. Their background colors
are similar with foreground color of default face. Their foreground
colors are similar with background color of default face and background
color of hl-line. Then if hl-line changes background color, then their
foreground and background colors are too similar and make the text hardly
be seen.
Text with these faces are important to user. But hl-lime dim them and
even makes them can't be seen. If hl-line ignores these text(with
non-default background), then it will be good.

Tried with 'distant color' for hl-line face, and it didn't work well for
many colors. Even if it works well, it is not perfect solution for this
problem.