With:
(when window-system
(set-face-background 'hl-line "light yellow")
(global-hl-line-mode 1))
current line highlighted by yellow background, but if text has background properties it also overwritten (like diff-mode, rainbow-mode).
Is it possible to set background only for parts that have no appropriate properties?
UPDATE I start experimenting, seems that stipple isn't conflicting with background:
(set-face-stipple 'hl-line '(4 4 "\x01\x00\x00\x00"))
(set-face-attribute 'hl-line nil :inherit nil)
But stipple unfortunately damage text appearance...
(when (memq NAME-OF-FACE (mapcar (function (lambda (ovr) (overlay-get ovr 'face))) (overlays-at (point)))) (remove-overlays BEGINNING-POINT ENDING-POINT 'face hl-line))