Re: sync.m

2010-03-01 Thread David Chisnall
On 1 Mar 2010, at 00:12, Riccardo Mottola wrote:

 As long of course as core itself doesn't require libobjc-2 feature (which I 
 hope will be never, but that's tough to say).

I don't have any plans for core to require anything in libobjc2, per se.  

There is currently one feature in -base that requires the new ABI; 
-forwardingTargetForSelector: on NSObject.  I wrote a hacky implementation that 
will try to make this work with the old ABI (using -forwardInvocation:) but 
it's unreliable.  This is quite a new feature on the Apple side, however.  It 
doesn't give any more expressiveness, just a bit more speed.  I think the other 
runtime hooks in NSObject that allow classes and objects to lazily install 
methods will also only work with libobjc2.

Nothing in -base or -gui uses these (well, NSContentAccessingProxy does, but it 
has fall-back code for when they are not present, so it doesn't /require/ 
them).  If third-party apps do, then that's beyond our control.  Depending on 
them limits you to very recent versions of OS X, but given that people seem to 
be dropping support for 10.4 already that's possibly not a problem for Mac 
developers.

On 1 Mar 2010, at 06:07, Richard Frith-Macdonald wrote:

 Nobody is breaking things gratuitously.  The c99isms slip in to code simply 
 because all modern compilers support them, and don't warn you that older 
 compilers won't.  Most people use them habitually (locality of declaration of 
 variables is particularly good for code readability for instance) and simply 
 won't notice that they have used them.

Additionally, a load of C99 features (e.g. VLAs, which GNUstep has used for 
ages) are implemented as extensions by GCC 2.95.  Without access to it, it's 
difficult to keep track of exactly which subset of C99 will work with any given 
compiler version.  GCC is terrible at documenting when features appeared; they 
expect everyone to use the latest version.

David

-- Sent from my Cray X1



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: sync.m

2010-03-01 Thread Gregory Casamento
Just for the record, I have nothing really to add to either David or
Richard's comments since both of them sum up my feelings on the
subject very succinctly.

We should not sacrifice new features or readability for the sake of
holding on to older architectures and compilers.

Also, the use of non-c99 standards does hinder contributions since we
constantly expect people who don't have access to c99 based compilers
to change their code to conform to c89.

GC

On Mon, Mar 1, 2010 at 7:44 AM, David Chisnall thera...@sucs.org wrote:
 On 1 Mar 2010, at 00:12, Riccardo Mottola wrote:

 As long of course as core itself doesn't require libobjc-2 feature (which I 
 hope will be never, but that's tough to say).

 I don't have any plans for core to require anything in libobjc2, per se.

 There is currently one feature in -base that requires the new ABI; 
 -forwardingTargetForSelector: on NSObject.  I wrote a hacky implementation 
 that will try to make this work with the old ABI (using -forwardInvocation:) 
 but it's unreliable.  This is quite a new feature on the Apple side, however. 
  It doesn't give any more expressiveness, just a bit more speed.  I think the 
 other runtime hooks in NSObject that allow classes and objects to lazily 
 install methods will also only work with libobjc2.

 Nothing in -base or -gui uses these (well, NSContentAccessingProxy does, but 
 it has fall-back code for when they are not present, so it doesn't /require/ 
 them).  If third-party apps do, then that's beyond our control.  Depending on 
 them limits you to very recent versions of OS X, but given that people seem 
 to be dropping support for 10.4 already that's possibly not a problem for Mac 
 developers.

 On 1 Mar 2010, at 06:07, Richard Frith-Macdonald wrote:

 Nobody is breaking things gratuitously.  The c99isms slip in to code simply 
 because all modern compilers support them, and don't warn you that older 
 compilers won't.  Most people use them habitually (locality of declaration 
 of variables is particularly good for code readability for instance) and 
 simply won't notice that they have used them.

 Additionally, a load of C99 features (e.g. VLAs, which GNUstep has used for 
 ages) are implemented as extensions by GCC 2.95.  Without access to it, it's 
 difficult to keep track of exactly which subset of C99 will work with any 
 given compiler version.  GCC is terrible at documenting when features 
 appeared; they expect everyone to use the latest version.

 David

 -- Sent from my Cray X1



 ___
 Gnustep-dev mailing list
 Gnustep-dev@gnu.org
 http://lists.gnu.org/mailman/listinfo/gnustep-dev




-- 
Gregory Casamento - GNUstep Lead/Principal Consultant, OLC, Inc.
yahoo/skype: greg_casamento, aol: gjcasa
(240)274-9630 (Cell)


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: sync.m

2010-03-01 Thread Nicola Pero



We should not sacrifice new features or readability for the sake of
holding on to older architectures and compilers.

Also, the use of non-c99 standards does hinder contributions since we
constantly expect people who don't have access to c99 based compilers
to change their code to conform to c89.


I  think we should have a clear, explicit and unemotional support/ 
compatibility strategy.  :-)


As GCC 2.95.3 was released in March 16, 2001, it may make sense to no  
longer support it.

Or maybe it does.  I vote for supporting it.

Anyway the question really is - what is the oldest GCC that we support  
if it's not 2.95.3 ?


3.0.4 (released February 20, 2002) ?

Just mentioning c99 doesn't seem to help that much since IIRC no  
version of GCC
actually implements all of c99 anyway.  I actually am not really sure  
what C99 features,

added after 2.95, we really need.


Nobody is breaking things gratuitously.  The c99isms slip in to  
code simply because all modern compilers support them, and don't  
warn you that older compilers won't.  Most people use them  
habitually (locality of declaration of variables is particularly  
good for code readability for instance) and simply won't notice  
that they have used them.


We can use -Wdeclaration-after-statement to get a post-2.95 GCC warn  
you when you locally declare variables without starting a { } block.
Really not a problem - it's easy enough to add it to gnustep-base and  
gnustep-gui.


Thanks


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSTabView

2010-03-01 Thread Fred Kiefer
I just recompiled Gorm and it looks different here :-)
As this is also on a 64bit system the main difference I see is the cairo
version. Could you please try a different backend to confirm that it is
the cairo backend that causes this behaviour.

There are a few places in CarioGState where we differentiate based on
the cairo version number. Perhaps a few of these checks are off?
I know that GNUstep worked with all the cairo releases that were
available for OpenSuse (I had to get it working as I use this backend
for years now), but there may be cairo releases where extra bugs need to
be worked around.

If it turns out, the problem isn't backend relate, it will be much hard
to pin it down

Am 01.03.2010 00:03, schrieb ici...@mail.cg.tuwien.ac.at:
 It's my own application which shows this behaviour. I do not have a
 theme enabled, I am using the cairo backend. Everything is built from
 current svn trunk. Gorm shows the same broken behaviour on my machine,
 screenshot is attached. I am on Ubuntu 8.04 AMD64, cairo version is 1.6.0.
 
 Thanks
 TOM
 
 Zitat von Fred Kiefer fredkie...@gmx.de:
 
 I just tried to reproduce this behaviour and failed to.
 On which application are you seeing this and probably more important,
 which GNUstep backend are you using? Do you have a theme enable?

 Am 27.02.2010 18:54, schrieb ici...@mail.cg.tuwien.ac.at:
 Looks like NSTabView in trunk is currently buggy. I attached a
 screenshot to this message. Gorm from svn trunk displays it the same
 way. Tell me if you need further information.


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSTabView

2010-03-01 Thread icicle

Hi!

I did a test with the art backend, same result. I set a breakpoint in 
[ARTContext initializeBackend] to be sure it is actually used. Where is 
the code located that is responsible for drawing the NSTabView's 
header?


Thanks
TOM


Zitat von Fred Kiefer fredkie...@gmx.de:


I just recompiled Gorm and it looks different here :-)
As this is also on a 64bit system the main difference I see is the cairo
version. Could you please try a different backend to confirm that it is
the cairo backend that causes this behaviour.

There are a few places in CarioGState where we differentiate based on
the cairo version number. Perhaps a few of these checks are off?
I know that GNUstep worked with all the cairo releases that were
available for OpenSuse (I had to get it working as I use this backend
for years now), but there may be cairo releases where extra bugs need to
be worked around.

If it turns out, the problem isn't backend relate, it will be much hard
to pin it down

Am 01.03.2010 00:03, schrieb ici...@mail.cg.tuwien.ac.at:

It's my own application which shows this behaviour. I do not have a
theme enabled, I am using the cairo backend. Everything is built from
current svn trunk. Gorm shows the same broken behaviour on my machine,
screenshot is attached. I am on Ubuntu 8.04 AMD64, cairo version is 1.6.0.

Thanks
TOM

Zitat von Fred Kiefer fredkie...@gmx.de:


I just tried to reproduce this behaviour and failed to.
On which application are you seeing this and probably more important,
which GNUstep backend are you using? Do you have a theme enable?

Am 27.02.2010 18:54, schrieb ici...@mail.cg.tuwien.ac.at:

Looks like NSTabView in trunk is currently buggy. I attached a
screenshot to this message. Gorm from svn trunk displays it the same
way. Tell me if you need further information.



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev







___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSTabView

2010-03-01 Thread Fred Kiefer
[NSTabView drawRect:]


Am 01.03.2010 22:39, schrieb ici...@mail.cg.tuwien.ac.at:
 Hi!
 
 I did a test with the art backend, same result. I set a breakpoint in
 [ARTContext initializeBackend] to be sure it is actually used. Where is
 the code located that is responsible for drawing the NSTabView's header?
 
 Thanks
 TOM
 
 
 Zitat von Fred Kiefer fredkie...@gmx.de:
 
 I just recompiled Gorm and it looks different here :-)
 As this is also on a 64bit system the main difference I see is the cairo
 version. Could you please try a different backend to confirm that it is
 the cairo backend that causes this behaviour.

 There are a few places in CarioGState where we differentiate based on
 the cairo version number. Perhaps a few of these checks are off?
 I know that GNUstep worked with all the cairo releases that were
 available for OpenSuse (I had to get it working as I use this backend
 for years now), but there may be cairo releases where extra bugs need to
 be worked around.

 If it turns out, the problem isn't backend relate, it will be much hard
 to pin it down

 Am 01.03.2010 00:03, schrieb ici...@mail.cg.tuwien.ac.at:
 It's my own application which shows this behaviour. I do not have a
 theme enabled, I am using the cairo backend. Everything is built from
 current svn trunk. Gorm shows the same broken behaviour on my machine,
 screenshot is attached. I am on Ubuntu 8.04 AMD64, cairo version is
 1.6.0.

 Thanks
 TOM

 Zitat von Fred Kiefer fredkie...@gmx.de:

 I just tried to reproduce this behaviour and failed to.
 On which application are you seeing this and probably more important,
 which GNUstep backend are you using? Do you have a theme enable?

 Am 27.02.2010 18:54, schrieb ici...@mail.cg.tuwien.ac.at:
 Looks like NSTabView in trunk is currently buggy. I attached a
 screenshot to this message. Gorm from svn trunk displays it the same
 way. Tell me if you need further information.



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSTabView

2010-03-01 Thread Riccardo Mottola

Hi,

just for the record, I'm on Freebsd, x86-ia32, cairo 1.8.8.1 and I 
cannot reproduce your problem, cairo works for me.


Riccardo

ici...@mail.cg.tuwien.ac.at wrote:
It's my own application which shows this behaviour. I do not have a 
theme enabled, I am using the cairo backend. Everything is built from 
current svn trunk. Gorm shows the same broken behaviour on my machine, 
screenshot is attached. I am on Ubuntu 8.04 AMD64, cairo version is 
1.6.0.


Thanks
TOM




___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev