David Caldwell schrieb am Mi., 24. Mai 2017 um 18:24 Uhr: > On Mac OS X 10.9 (Mavericks) and Mac OS X 10.8 (Mountain Lion): > > CC nsterm.o > nsterm.m:5496:33: warning: format string is not a string literal > (potentially insecure) [-Wformat-security] > return NSRunAlertPanel(title, msgFormat, defaultButton, > alternateButton, nil) > ^~~~~~~~~ > 1 warning generated. > CC nsfns.o > CC nsmenu.o > nsmenu.m:1496:70: error: expected a type > - (instancetype)initWithContentRect: (NSRect)contentRect styleMask: > (NSWindowStyleMask)aStyle > ^ > nsmenu.m:1520:10: warning: incompatible integer to pointer conversion > assigning to 'id' from 'int' [-Wint-conversion] > aStyle = > > NSWindowStyleMaskTitled|NSWindowStyleMaskClosable|NSWindowStyleMaskUtilityWindow; > ^ > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > nsmenu.m:1524:54: warning: incompatible pointer to integer conversion > sending 'id' to parameter of type 'NSUInteger' (aka 'unsigned long') > [-Wint-conversion] > [super initWithContentRect: contentRect styleMask: aStyle > ^~~~~~ > /System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:289:69: > note: passing argument to parameter 'aStyle' here > - (id)initWithContentRect:(NSRect)contentRect > styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType > defer:(BOOL)flag; > ^ > nsmenu.m:1496:88: warning: conflicting parameter types in implementation > of 'initWithContentRect:styleMask:backing:defer:': 'NSUInteger' (aka > 'unsigned long') vs 'id' [-Wmismatched-parameter-types] > - (instancetype)initWithContentRect: (NSRect)contentRect styleMask: > (NSWindowStyleMask)aStyle > > ^ > /System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:289:69: > note: previous definition is here > - (id)initWithContentRect:(NSRect)contentRect > styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType > defer:(BOOL)flag; > ~~~~~~~~~~ ^ > 3 warnings and 1 error generated. > make[1]: *** [nsmenu.o] Error 1 > make: *** [src] Error 2 > make failed > > > > On Mac OS X 10.6 (Snow Leopard): > CC nsterm.o > In file included from nsterm.m:48: > nsterm.h:454: error: expected ')' before 'instancetype' > nsterm.h:455: error: expected ')' before 'instancetype' > nsterm.h:456: error: expected ')' before 'instancetype' > nsterm.h:460: error: expected ')' before 'instancetype' > nsterm.h:463: error: expected ')' before 'instancetype' > nsterm.h:523: error: expected ')' before 'instancetype' > nsterm.h:557: error: expected ')' before 'instancetype' > nsterm.h:592: error: expected ')' before 'instancetype' > nsterm.h:611: error: expected ')' before 'instancetype' > nsterm.h:659: error: expected ')' before 'instancetype' > nsterm.h:661: error: expected ')' before 'instancetype' > nsterm.h:663: error: expected ')' before 'instancetype' > nsterm.h:664: error: expected ')' before 'instancetype' > nsterm.h:703: error: expected ')' before 'instancetype' > nsterm.h:706: error: expected ')' before 'instancetype' > nsterm.h:710: error: expected ')' before 'instancetype' > nsterm.h:711: error: expected ')' before 'instancetype' > nsterm.h:712: error: expected ')' before 'instancetype' > nsterm.h:735: error: expected ')' before 'instancetype' > nsterm.m:6900: error: expected ')' before 'instancetype' > nsterm.m:7630: error: expected ')' before 'instancetype' > nsterm.m:7655: error: expected ')' before 'instancetype' > nsterm.m:7681: error: expected ')' before 'instancetype' > nsterm.m:7909: error: expected ')' before 'instancetype' > nsterm.m:8261: error: expected ')' before 'instancetype' > nsterm.m:8345: error: expected ')' before 'instancetype' > nsterm.m:8353: error: expected ')' before 'instancetype' > nsterm.m:8408: error: expected ')' before 'instancetype' > nsterm.m:8487: error: expected ')' before 'instancetype' > make[1]: *** [nsterm.o] Error 1 > make: *** [src] Error 2 > make failed > > > I think these may have been caused by the recent GNUStep changes. > Can you try applying the following patch: diff --git a/src/nsterm.h b/src/nsterm.h index 8f3d92b353..288b91269d 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -65,7 +65,7 @@ typedef float EmacsCGFloat; /* FIXME: instancetype is a language built-in, but older versions of Clang don't support it, and I don't know if GCC supports it at all. Should this be tested for in ./configure? */ -#if defined (NS_IMPL_GNUSTEP) +#if defined (NS_IMPL_GNUSTEP) \ || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10 typedef id instancetype; typedef NSUInteger NSWindowStyleMask;