[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Diff faces

From: Juri Linkov
Subject: Diff faces
Date: Fri, 12 Oct 2007 02:59:17 +0300
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/23.0.50 (gnu/linux)

Wouldn't it be better to use the same colors for equivalent faces of
ediff, smerge and diff-mode?  So that ediff-fine-diff-B, diff-fine-change
and smerge-refined-change will be the same and so on.

PS: While looking at ediff faces I discovered a bug: trying to get the
description of ediff faces from the Help buffer created by `C-u C-x ='
fails with (wrong-type-argument symbolp "ediff-fine-diff-B").

Ediff puts face names as strings on overlays, but describe-face accepts
only symbols.  The patch below fixes describe-face to not fail on face
name strings.  As for fixing ediff, I don't know whether this is necessary,
since face names as strings are mostly interchangeable with face symbols.
There are only two places in ediff*.el files that call `face-name' to
convert face symbols to strings, so these calls could be removed.

Index: lisp/faces.el
RCS file: /sources/emacs/emacs/lisp/faces.el,v
retrieving revision 1.377
diff -c -r1.377 faces.el
*** lisp/faces.el       21 Sep 2007 07:23:03 -0000      1.377
--- lisp/faces.el       11 Oct 2007 23:59:05 -0000
*** 1285,1290 ****
--- 1285,1291 ----
        (set-buffer standard-output)
        (dolist (f face)
+         (if (stringp f) (setq f (intern f)))
          (insert "Face: " (symbol-name f))
          (if (not (facep f))
              (insert "   undefined face.\n")

Juri Linkov

reply via email to

[Prev in Thread] Current Thread [Next in Thread]