Colors there are defined for dark and light backgrounds, which
is not supported by the NS implementation.
Why isn't it supported?
The only system-defined selection color on NS platforms is for the
unconfigurable standard background color of white.
I'm not sure we're talking about the same thing. The lisp/faces.el
notion of dark/light background doesn't have anything to do with the
desktop's background, but with the Emacs buffers's default background
(i.e. whether the background color of the `default' face is rather
light or rather dark).
--- faces.el.~1.446.~ 2009-09-05 15:33:48.000000000 -0400
+++ faces.el 2009-09-23 23:06:19.000000000 -0400
@@ -2281,6 +2281,8 @@ terminal type to a different value."
(defface region
'((((class color) (min-colors 88) (background dark))
:background "blue3")
+ (((class color) (min-colors 88) (background light) (type ns))
+ :background "ns_selection_color")
(((class color) (min-colors 88) (background light))
:background "lightgoldenrod2")
(((class color) (min-colors 16) (background dark))
Could you add a comment explaining why you put (background light) in
the specs? I guess it's because the ns_selection_color is (almost)
always defined with the assumption that it will be used on text
displayed on a light background., right?