Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Mark Vender
Hello, Is there any reason why preprocessor macros are used to define the GDK keysym constants in gdk/gdkkeysyms.h instead of an enum? For what it's worth, there's no advantage in using macros. They are inconsistent with other enumerations within GTK+ library, which universally use enums. An

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Bastien Nocera
On Tue, 2012-06-26 at 16:02 +0300, Mark Vender wrote: > Hello, > > Is there any reason why preprocessor macros are used to define the GDK > keysym constants in gdk/gdkkeysyms.h instead of an enum? For what it's > worth, there's no advantage in using macros. They are inconsistent with > other en

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Mark Vender
On 06/26/2012 05:31 PM, Bastien Nocera wrote: If we used enums, we would restrict the keysyms to the declared values. Well, C doesn't actually have such restriction. From the user's point of view, enums and macros are equivalent. Both of them work as aliases to an int value, the only differen

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Matthias Clasen
On Tue, Jun 26, 2012 at 11:10 AM, Mark Vender wrote: > It's impossible for an application to break when enum values are added. They > end up as integers within the code anyway and unless their values change, > API/ABI stays the same. I could think of some ways. But anyway, the keysyms are defin

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Christophe Fergeau
Hey, 2012/6/26 Mark Vender : > On 06/26/2012 05:31 PM, Bastien Nocera wrote: >> >> If we used enums, we would restrict the keysyms to the declared values. > > > Well, C doesn't actually have such restriction. Yes and no, if you assign an integer to a variable of an enum type, and if this integer

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread André Gillibert
2012/6/26, Christophe Fergeau : > Hey, > > 2012/6/26 Mark Vender : >> On 06/26/2012 05:31 PM, Bastien Nocera wrote: >>> >>> If we used enums, we would restrict the keysyms to the declared values. >> >> >> Well, C doesn't actually have such restriction. > > Yes and no, if you assign an integer to a

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Mark Vender
On 06/26/2012 09:22 PM, Christophe Fergeau wrote: 2012/6/26 Mark Vender : Well, C doesn't actually have such restriction. Yes and no, if you assign an integer to a variable of an enum type, and if this integer is not one of the value defined for this enum type, then this is undefined behaviour

Xcode and gdkconfig.h

2012-06-26 Thread S G
Hi, Despite all the activity on the web about this subject, I have not found how to get rid of this problem on my system. I downloaded and installed GTK+ a few days ago and it seems I got version 2.24. I am trying to compile with Xcode version 4.2.1 and am using the following config: HEADER_SEAR

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Mark Vender
On 06/26/2012 07:57 PM, Matthias Clasen wrote: On Tue, Jun 26, 2012 at 11:10 AM, Mark Vender wrote: It's impossible for an application to break when enum values are added. They end up as integers within the code anyway and unless their values change, API/ABI stays the same. I could think of

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Bastien Nocera
On 26 Jun 2012, at 22:56, Mark Vender wrote: > which has no chance of negative effects. Even if we add values, they are > still stored in an int, that is, GdkKeySym is never used. If its definition is public, it will be used. > Thus, in my opinion, even a small improvement is worthwhile. I don

Re: Xcode and gdkconfig.h

2012-06-26 Thread Paul Davis
On Tue, Jun 26, 2012 at 4:55 PM, S G wrote: > Hi, > > Despite all the activity on the web about this subject, I have not found > how to get rid of this problem on my system. > > I downloaded and installed GTK+ a few days ago and it seems I got version > 2.24. I am trying to compile with Xcode ver

Re: Why keysym constants in gdk/gdkkeysyms.h are defined as macros, not as an enum?

2012-06-26 Thread Tomeu Vizoso
On Tue, Jun 26, 2012 at 11:56 PM, Mark Vender wrote: > On 06/26/2012 07:57 PM, Matthias Clasen wrote: >> >> On Tue, Jun 26, 2012 at 11:10 AM, Mark Vender >> wrote: >> >> >>> It's impossible for an application to break when enum values are added. >>> They >>> end up as integers within the code any