Subject: bug#10181: split `diff-refine-change' in several faces

From: Juri Linkov <[email-masked]>
Date: Sat, 14 Jun 2014 16:12:12 +0300

> Since they were introduced long ago, I guess this change is for the trunk:

BTW, I don't remember what was the reason of defining a special
terminal version of the face `diff-changed' inconsistently with the
default min-colors 88 version, but it seems this is not necessary
anymore because in both tty and graphical versions the differences
are highlighted with distinct faces anyway.  Then its definition
will be the same '((t nil)) as already used by `smerge-refined-changed'.

Also this means that we don't need to use `shadow' on context lines anymore,
because the differing lines are always highlighted by default.

=== modified file 'lisp/vc/diff-mode.el'
--- lisp/vc/diff-mode.el	2014-01-01 07:43:34 +0000
+++ lisp/vc/diff-mode.el	2014-06-14 13:05:29 +0000
@@ -302,13 +302,7 @@ (define-obsolete-face-alias 'diff-added-
 (defvar diff-added-face 'diff-added)
 
 (defface diff-changed
-  ;; We normally apply a `shadow'-based face on the `diff-context'
-  ;; face, and keep `diff-changed' the default.
-  '((((class color grayscale) (min-colors 88)))
-    ;; If the terminal lacks sufficient colors for shadowing,
-    ;; highlight changed lines explicitly.
-    (((class color))
-     :foreground "yellow"))
+  '((t nil))
   "`diff-mode' face used to highlight changed lines."
   :group 'diff-mode)
 (define-obsolete-face-alias 'diff-changed-face 'diff-changed "22.1")
@@ -343,7 +337,7 @@ (define-obsolete-face-alias 'diff-functi
 (defvar diff-function-face 'diff-function)
 
 (defface diff-context
-  '((((class color grayscale) (min-colors 88)) :inherit shadow))
+  '((t nil))
   "`diff-mode' face used to highlight context and other side-information."
   :group 'diff-mode)
 (define-obsolete-face-alias 'diff-context-face 'diff-context "22.1")