diff-modeで、変更箇所に着色しようとしています。

(add-hook 'diff-mode-hook
'(lambda ()
(set-face-foreground 'diff-changed-face "DeepSkyBlue1")))
;; この部分 = diffファイルの修正箇所と

(defface font-lock-futility-face '((t (:foreground "SteelBlue" :underline t))) nil)
(defvar font-lock-futility-face 'font-lock-futility-face)

(defadvice font-lock-mode
(before font-lock-mode-visiblize activate)
(font-lock-add-keywords
major-mode
'(("[ \t]+$" 0 font-lock-futility-face append))))
;; この部分 = 行末空白が同じ行にあると
;; 下の方が優先されてしまい、diff-changed-faceの設定が有効にならない

今はappendにしていますが、
t, nil, prepend, keepのどれでもダメなので困ってしまいました。
両方の着色が有効になる方法はありませんでしょうか。