The patch looks good to me. Users of OS X 10.7+ will get proper colours and the rest (using older OS X or GNUStep) won't be affected by the change. On 21 December 2013 16:10, Steve Purcell wrote: > commit 3b63b2c6e9e93adab09eace60750ed981a8e528f > Author: Steve Purcell > Date: Sat Dec 21 11:44:12 2013 +0000 > > Treat hex colors as sRGB under OS X >= 10.7 > > diff --git a/src/nsterm.m b/src/nsterm.m > index 733c05a..0c79186 100644 > --- a/src/nsterm.m > +++ b/src/nsterm.m > @@ -1373,6 +1373,13 @@ ns_fullscreen_hook (struct frame *f) > Color management > > > ========================================================================== > */ > +#if defined(NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= > MAC_OS_X_VERSION_10_7 > +#define NS_COLOR_FROM_RGB(r, g, b) [NSColor colorWithSRGBRed: r green: g > blue: b alpha: 1.0] > +#define NS_COLOR_AS_RGB(c) [c colorUsingColorSpace: [NSColorSpace > sRGBColorSpace]] > +#else > +#define NS_COLOR_FROM_RGB(r, g, b) [NSColor colorWithCalibratedRed: r > green: g blue: b alpha: 1.0] > +#define NS_COLOR_AS_RGB(c) [c colorUsingColorSpaceName: > NSCalibratedRGBColorSpace] > +#endif > > > NSColor * > @@ -1551,7 +1558,7 @@ ns_get_color (const char *name, NSColor **col) > > if (r >= 0.0F) > { > - *col = [NSColor colorWithCalibratedRed: r green: g blue: b alpha: > 1.0]; > + *col = NS_COLOR_FROM_RGB(r, g, b); > unblock_input (); > return 0; > } > @@ -1583,7 +1590,7 @@ ns_get_color (const char *name, NSColor **col) > } > > if (new) > - *col = [new colorUsingColorSpaceName: NSCalibratedRGBColorSpace]; > + *col = NS_COLOR_AS_RGB(new); > unblock_input (); > return new ? 0 : 1; > } > @@ -1624,7 +1631,7 @@ ns_color_to_lisp (NSColor *col) > return build_string ((char *)str); > } > > - [[col colorUsingColorSpaceName: NSCalibratedRGBColorSpace] > + [NS_COLOR_AS_RGB(col) > getRed: &red green: &green blue: &blue alpha: &alpha]; > if (red ==green && red ==blue) > { > @@ -4252,10 +4259,9 @@ ns_term_init (Lisp_Object display_name) > name = SSDATA (XCAR (color)); > c = XINT (XCDR (color)); > [cl setColor: > - [NSColor colorWithCalibratedRed: RED_FROM_ULONG (c) / > 255.0 > - green: GREEN_FROM_ULONG (c) / > 255.0 > - blue: BLUE_FROM_ULONG (c) / > 255.0 > - alpha: 1.0] > + NS_COLOR_FROM_RGB(RED_FROM_ULONG (c) / 255.0, > + GREEN_FROM_ULONG (c) / 255.0, > + BLUE_FROM_ULONG (c) / 255.0) > forKey: [NSString stringWithUTF8String: name]]; > } > [cl writeToFile: nil]; > >