Subject: Re: bug#4381: 23.1.50; Cocoa Emacs: face background for 'region set in ns-win.el after .emacs

From: Glenn Morris <[email-masked]>
Date: Sun, 13 Sep 2009 21:09:32 -0400

Erik Charlebois wrote:

> The minimal .emacs that shows the problem (extracted by digging into  
> the color-themes package):
>
> (setq default-frame-alist '((background-color . "white")))
> (custom-set-faces '(region ((t (:background "red")))))
>
> The face setting is not honoured (reverts to ns_selection_color).
>
> If I do...
> (set-face-attribute 'region nil :background "red")
> instead of custom-set-faces, it works fine (but color-theme uses  
> custom-set-faces).

Your problem sounds like this one:

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2868

(which unfortunately split into many different bugs rather than being
all in the same one)

I think the underlying problem is that ns-win is doing a slightly odd
thing by calling set-face-background, and it does not play well with
customize. See also bug #3408.

The solution may be to change ns-win to use a more customize-friendly
method of changing the face, if it really needs to do that.