On Thu, 2008-05-29 at 13:33 -0700, James Lin (MTS) wrote: > Paul Davis wrote: > > > > looks like one or more of Objective C/Cocoa/Carbon has taken the > > hairbrained step of #define-ing "nil". this makes this construction: > > > > struct nil .... > > > > in functors/functor_trait.h a little dubious. > > You might want to check out this earlier thread: > > http://mail.gnome.org/archives/libsigc-list/2006-June/msg00003.html >
so, the problem wasn't solved. i took the gordian knot approach: #ifdef nil #undef nil #endif in functor_trait.h, and that fixed all the problems that I encountered. its a bit heavy handed, and not really appropriate. the problem that murray discovered was that somewhat inadvertently, sigc::nil is used by almost every slot<> template. this means that it is impossible to rename sigc::nil without breaking the gtkmm ABI. therefore, fixing this means either: * break the gtkmm ABI (not nice, since this is supposed to be a sigc fix) * use dastardly macro stuff * use heavy handed macro stuff and tell people that they can't mix-n-match Cocoa/Carbon/ObjC with sigc++ without very, very careful use of header inclusion order i don't see any other solutions. anyone else? --p _______________________________________________ libsigc-list mailing list libsigc-list@gnome.org http://mail.gnome.org/mailman/listinfo/libsigc-list