Commit graph

6305 commits

Author SHA1 Message Date
David Chisnall
c1cca9a336 Added NSJSONSerialization (10.7) implementation. The code path reading from an NSInputStream is not well tested - please try and break it!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33631 72102866-910b-0410-8b05-ffd578937521
2011-07-25 15:50:51 +00:00
David Chisnall
d1ab6b2dba Don't delete the global lock - we may still need it!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33630 72102866-910b-0410-8b05-ffd578937521
2011-07-25 14:32:44 +00:00
David Chisnall
acd62d77ff Removed debugging NSLog() that was accidentally committed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33629 72102866-910b-0410-8b05-ffd578937521
2011-07-25 12:51:24 +00:00
David Chisnall
f65a7c5bda Add some explicit casting where required in NSConcretePointerFunctions.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33626 72102866-910b-0410-8b05-ffd578937521
2011-07-24 22:12:59 +00:00
Fred Kiefer
254aa22792 Try to clean up after last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33625 72102866-910b-0410-8b05-ffd578937521
2011-07-24 20:47:36 +00:00
David Chisnall
d2ea054c26 Lots of little fixes to make -base compile with -Werror (now builds without warnings).
Richard: I'm unsure about three of these, which were fixes in memset() calls in:
- NSConcreteMapTable.m
- NSConcreteHashTable.m
- Additions/NSData+GNUstepBase.m

Please can you check them?  I think they are intended to zero the entire object
(rather than the first word), but the lack of comments makes me unsure.

Most changes were just tweaks to variable types.  I've also removed some dead code from NSInvocation.  This was small group of things that were marked for internal use only, but not actually referenced in the code anywhere.

Other improvements:

- NSArray / NSDictionary fixed up to use the 10.7 (ARC-friendly) prototypes.
- getObjects:andKeys: implemented for NSDictionary (10.5 method)
- NSPointerArray and NSHashTable now properly support weak objects.
- Tests for weak objects in collections.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33621 72102866-910b-0410-8b05-ffd578937521
2011-07-24 13:09:22 +00:00
David Chisnall
bc37adfb0c Add support (and test) for weak keys and values in NSMapTable. This support should work in GC mode. It also works if the runtime supports ARC, even if the compiler does not use this support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33617 72102866-910b-0410-8b05-ffd578937521
2011-07-23 16:16:01 +00:00
David Chisnall
40456f7787 Remove the zone pointer from objects. Now we always query the zones to find the relevant pointer. Zones are still supported, but we now optimise for the case where they are not used.
To disable zone support completely, NSAllocateObject() should ignore the zone and NSDeallocateObject() should skip the zone lookup.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33610 72102866-910b-0410-8b05-ffd578937521
2011-07-23 12:19:19 +00:00
David Chisnall
018fab87bd Missing part of the NSArray update.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33609 72102866-910b-0410-8b05-ffd578937521
2011-07-23 12:02:04 +00:00
David Chisnall
d323a291d8 Change id* -> id[] for OS X 10.7 compatibility in NSArray. This change is required for ARC: now, id* means pointer to a single object, id[] means array.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33607 72102866-910b-0410-8b05-ffd578937521
2011-07-22 16:07:23 +00:00
David Chisnall
51446f39de I give up. No brain left.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33605 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:37:38 +00:00
David Chisnall
df82f8b96c Third try.
[NSException raise: GSNotEnoughCoffeeException];



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33604 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:34:08 +00:00
David Chisnall
eb32254242 Add missing #import.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33603 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:27:04 +00:00
David Chisnall
4b027a2106 Stub for NSRegularExpression when a compatible version of ICU is not present.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33602 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:23:11 +00:00
David Chisnall
d9fda65728 Added NSRegularExpressionSearch (10.7) support to NSString.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33600 72102866-910b-0410-8b05-ffd578937521
2011-07-21 13:17:27 +00:00
Eric Wasylishen
5c802d5d57 * Source/NSNumberFormatter.m
(-attributedStringForObjectValue:withDefaultAttributes:):
Guard against initializing an NSAttributedString with a nil string.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33596 72102866-910b-0410-8b05-ffd578937521
2011-07-21 01:43:07 +00:00
Eric Wasylishen
e626936660 * Source/GSAttributedString.m: Throw an exception if the string object
passed to -initWithString:attributes: doesn't respond to -length, or if
it is nil. This is the same behaviour as OS X.
* Source/NSAttributedString.m (-init): Call -initWithString:attributes:
with @"" instead of nil, since passing nil now causes an exception
to be thrown.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33595 72102866-910b-0410-8b05-ffd578937521
2011-07-21 01:23:08 +00:00
Richard Frith-MacDonald
12dee189f3 try to ensure that including objc/runtime.h always works to get the new API.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33583 72102866-910b-0410-8b05-ffd578937521
2011-07-19 09:38:51 +00:00
Richard Frith-MacDonald
4a5cb96bef For the avoidance of confusion, remove references to obsolete header.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33562 72102866-910b-0410-8b05-ffd578937521
2011-07-15 13:53:45 +00:00
Richard Frith-MacDonald
44979bb7f4 fix faulty assert
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33560 72102866-910b-0410-8b05-ffd578937521
2011-07-15 13:46:51 +00:00
Richard Frith-MacDonald
497cb2af93 ssh handshake improvements and consmetic tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33535 72102866-910b-0410-8b05-ffd578937521
2011-07-12 11:40:15 +00:00
David Chisnall
a64f21744d Do the things from the last commit in the correct order.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33523 72102866-910b-0410-8b05-ffd578937521
2011-07-11 15:12:47 +00:00
David Chisnall
6893ce1a95 Lazily initialize POSIX threads, matching OS X behaviour and stopping us from crashing when calling autorelease from a thread that was not previously registered explicitly (yuck!)
Also do some quite hacky (and not totally correct) things to try to make sure that we aren't confused into thinking that the first NSThread is the main thread, if it's created on a separate thread.  Currently only supported on FreeBSD and OpenBSD.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33521 72102866-910b-0410-8b05-ffd578937521
2011-07-11 14:31:36 +00:00
David Chisnall
26b91d9bcd [NSNumber -init] should not destroy itself when called as [super init]. This behaviour was breaking anything that subclassed NSNumber in user code (e.g. PyObjC).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33517 72102866-910b-0410-8b05-ffd578937521
2011-07-11 12:36:04 +00:00
Fred Kiefer
866c1dfcb4 * Source/GSLocale.m (GSLanguageFromLocale): Handle local "C.UTF-8"
correctly. Needed for Cygwin.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33516 72102866-910b-0410-8b05-ffd578937521
2011-07-11 11:55:35 +00:00
Fred Kiefer
9c39943894 Support the OpenSuse key TIMEZONE in /etc/sysconfig/clock.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33512 72102866-910b-0410-8b05-ffd578937521
2011-07-11 09:35:54 +00:00
Wolfgang Lux
f9f1f879f4 Override NSObject +zone to ensure that -zone returns a valid zone
pointer when it is called on a class object.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33498 72102866-910b-0410-8b05-ffd578937521
2011-07-10 14:48:26 +00:00
David Chisnall
6bf1350874 Silence type errors by declaring the correct superclass of GSPlaceholderString.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33481 72102866-910b-0410-8b05-ffd578937521
2011-07-07 12:32:59 +00:00
David Chisnall
540e690dc5 Don't DESTROY() the placeholder string - that doesn't destroy it (since it overrides -release to do nothing), it just makes it unreachable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33480 72102866-910b-0410-8b05-ffd578937521
2011-07-07 12:32:05 +00:00
David Chisnall
99141c2dc1 Fix a memory leak that valgrind spotted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33479 72102866-910b-0410-8b05-ffd578937521
2011-07-07 12:30:10 +00:00
David Chisnall
0618607b3a Use -retainCount instead of NSExtraRefCount() in gs_weak_load() so we can support objects that define a custom retain / release mechanism in weak variables.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33478 72102866-910b-0410-8b05-ffd578937521
2011-07-07 12:29:54 +00:00
David Chisnall
35f66911a8 Fix typo NS -> GS. We don't actually want NSAllocateObject to call NSAllocateObject...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33458 72102866-910b-0410-8b05-ffd578937521
2011-07-04 21:23:26 +00:00
David Chisnall
2a2d7339d1 Switch the order of the reference count and the zone so that the reference count (in reference counted mode) is always immediately in front of the object. Please test this!!
Opt NSObject into the fast path for ARC.  ARC will now not call the retain / release / autorelease methods on NSObject or any classes that inherit their implementation of these methods from NSObject.  In quick and dirty testing, this gives about a 10-20% speedup.  



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33446 72102866-910b-0410-8b05-ffd578937521
2011-07-04 11:31:28 +00:00
David Chisnall
38566d1888 Don't call c++ constructors when allocating a class with class_createInstance() - this function calls them itself, and calling them twice is a bad idea.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33436 72102866-910b-0410-8b05-ffd578937521
2011-07-03 11:04:04 +00:00
David Chisnall
56a002dae7 Rewrote NSProxy's -retain / -release to be the same as NSObject, not its own ad-hoc thing.
Added declaration of __bridge for use in non-ARC mode.

Tweaked arrayWithObjects:count: to take a const id* parameter, to avoid ARC
treating it as a write-back parameter.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33425 72102866-910b-0410-8b05-ffd578937521
2011-06-30 14:44:58 +00:00
David Chisnall
46b12a71e8 Add support to NSObject for automatically zeroing __weak references when using ARC.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33408 72102866-910b-0410-8b05-ffd578937521
2011-06-29 13:13:15 +00:00
David Chisnall
3f83dabfaa Small tweaks to NSGarbageCollector.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33402 72102866-910b-0410-8b05-ffd578937521
2011-06-29 11:46:45 +00:00
Richard Frith-MacDonald
4a29a86319 move comment to be before the method it applies to
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33380 72102866-910b-0410-8b05-ffd578937521
2011-06-26 10:27:52 +00:00
Wolfgang Lux
5f044ea3ee Fix implementation of NSString -getParagraphStart🔚contentsEnd:forRange:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33379 72102866-910b-0410-8b05-ffd578937521
2011-06-26 10:03:10 +00:00
Fred Kiefer
dbd9d19e8f Add a few 10.6 NSURL methods to NSBundle.
Based on patch by julian.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33367 72102866-910b-0410-8b05-ffd578937521
2011-06-22 23:01:01 +00:00
Richard Frith-MacDonald
2457b82569 locking fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33356 72102866-910b-0410-8b05-ffd578937521
2011-06-20 07:47:47 +00:00
Richard Frith-MacDonald
e84d049078 Add some flexibility
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33355 72102866-910b-0410-8b05-ffd578937521
2011-06-20 07:33:27 +00:00
Richard Frith-MacDonald
c5c5f18075 fix a couple of leak detection bugs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33353 72102866-910b-0410-8b05-ffd578937521
2011-06-20 04:37:20 +00:00
Richard Frith-MacDonald
523366101e more leak cleanup stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33349 72102866-910b-0410-8b05-ffd578937521
2011-06-19 13:34:17 +00:00
Richard Frith-MacDonald
9831216043 Start stuff for handling cleanup on process exit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33344 72102866-910b-0410-8b05-ffd578937521
2011-06-19 09:26:03 +00:00
Richard Frith-MacDonald
db2099074d fix uninitialised variable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33342 72102866-910b-0410-8b05-ffd578937521
2011-06-18 18:11:57 +00:00
Richard Frith-MacDonald
1a7e135434 fix possibly uninitialised variable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33341 72102866-910b-0410-8b05-ffd578937521
2011-06-18 17:47:37 +00:00
Richard Frith-MacDonald
6707dd35ad Patches by Sebastian Reitenbach
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33338 72102866-910b-0410-8b05-ffd578937521
2011-06-18 12:57:30 +00:00
Richard Frith-MacDonald
c1d5647bb6 10.6 sompatibility (some)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33337 72102866-910b-0410-8b05-ffd578937521
2011-06-18 07:09:28 +00:00
Richard Frith-MacDonald
9212d01480 Fix xml parse error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33327 72102866-910b-0410-8b05-ffd578937521
2011-06-17 13:47:24 +00:00
Richard Frith-MacDonald
3ea06f1379 Add some requests 10.6 methods ... untested.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33326 72102866-910b-0410-8b05-ffd578937521
2011-06-17 11:45:28 +00:00
Fred Kiefer
a70202a9b8 Make Avahi work with gcc 2.95.
Patch by Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33291 72102866-910b-0410-8b05-ffd578937521
2011-06-13 14:50:25 +00:00
Fred Kiefer
549d78e403 Add rest of Sebastian's patch.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33280 72102866-910b-0410-8b05-ffd578937521
2011-06-11 15:32:37 +00:00
Fred Kiefer
9a4d790ca8 * Source\NSCalendar.m: Protect the name id.
Patch by Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33276 72102866-910b-0410-8b05-ffd578937521
2011-06-11 10:44:38 +00:00
Richard Frith-MacDonald
c058c30391 Add configure option to control gdomap port
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33264 72102866-910b-0410-8b05-ffd578937521
2011-06-09 17:08:41 +00:00
Richard Frith-MacDonald
7e505e6a0f remove observer on dealloc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33257 72102866-910b-0410-8b05-ffd578937521
2011-06-07 18:34:39 +00:00
Fred Kiefer
586d1786f9 Add [NSURL -checkResourceIsReachableAndReturnError:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33245 72102866-910b-0410-8b05-ffd578937521
2011-06-04 15:08:37 +00:00
Richard Frith-MacDonald
8ccabb5ee6 apply Wolfgangs fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33238 72102866-910b-0410-8b05-ffd578937521
2011-06-03 06:02:18 +00:00
Riccardo Mottola
3c2c5dee35 Disable use of tzname on OpenBSD too
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33229 72102866-910b-0410-8b05-ffd578937521
2011-06-02 07:45:41 +00:00
Richard Frith-MacDonald
635bd46437 another system specific tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33228 72102866-910b-0410-8b05-ffd578937521
2011-06-02 06:54:23 +00:00
Richard Frith-MacDonald
1d8d141af9 fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33227 72102866-910b-0410-8b05-ffd578937521
2011-06-01 22:12:21 +00:00
Richard Frith-MacDonald
d522034e22 More attempts to work around system specific timezone inconsistencies
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33226 72102866-910b-0410-8b05-ffd578937521
2011-06-01 22:04:46 +00:00
Richard Frith-MacDonald
30faeb91f9 minor tweak to fallback
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33222 72102866-910b-0410-8b05-ffd578937521
2011-06-01 15:15:52 +00:00
Richard Frith-MacDonald
277fd71b21 fix boundary
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33219 72102866-910b-0410-8b05-ffd578937521
2011-06-01 11:44:48 +00:00
Niels Grewe
c480a0ce35 Adjust callback prototypes to use NSUInteger instead of unsigned int.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33214 72102866-910b-0410-8b05-ffd578937521
2011-05-31 14:19:26 +00:00
Richard Frith-MacDonald
a69b7c2466 always create autorelease pools for mixed GC mode support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33212 72102866-910b-0410-8b05-ffd578937521
2011-05-31 07:55:06 +00:00
Richard Frith-MacDonald
ba24ce0841 minor map/hash table compatibility tweaks and simplify notification center
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33210 72102866-910b-0410-8b05-ffd578937521
2011-05-31 06:46:17 +00:00
David Chisnall
75402211f2 Add a couple of __strong annotations to pointers. Any non-id pointer that can
store GC'd memory must be __strong.  Currently, this annotation is largely
ignored, because the runtime is a lot more lax about what may store pointers
than Apple's, but this will be tightened up in the future.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33205 72102866-910b-0410-8b05-ffd578937521
2011-05-30 11:40:26 +00:00
David Chisnall
7f4aaf781b (Hopefully) fix the build with GS_WITH_GC.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33185 72102866-910b-0410-8b05-ffd578937521
2011-05-28 22:35:57 +00:00
Fred Kiefer
a3cdc403cb Remove compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33184 72102866-910b-0410-8b05-ffd578937521
2011-05-28 20:27:20 +00:00
David Chisnall
f8ea008b1b Make NSPointerArray insert the correct read / write barriers in GC mode.
Add some helper functions to NSConcretePointerFunctions.h that make it easier
to do this in the other collections that need to support GC.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33180 72102866-910b-0410-8b05-ffd578937521
2011-05-28 18:05:29 +00:00
Eric Wasylishen
f2a470d893 tweak and re-enable atomic ops detection
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33179 72102866-910b-0410-8b05-ffd578937521
2011-05-28 18:05:14 +00:00
David Chisnall
6a4d9fd5ae Fix a few functions that I missed for hybrid mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33178 72102866-910b-0410-8b05-ffd578937521
2011-05-28 15:28:24 +00:00
David Chisnall
93218b86ba Make CFRetain() / CFRelease() behaviour dependent on GC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33177 72102866-910b-0410-8b05-ffd578937521
2011-05-28 15:15:05 +00:00
David Chisnall
4db587f9d6 First pass at hybrid GC mode. This will try use retain-release mode if the collector is not running. Code will run in retain/release mode unless something compiled with -fobjc-gc-only is loaded.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33174 72102866-910b-0410-8b05-ffd578937521
2011-05-28 14:51:40 +00:00
Fred Kiefer
86fa2414ec * Source/NSString.m (-initWithFormat:locale:): Make sure va_end()
gets called.
Patch by Stefan Bidigaray <stefanbidi@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33172 72102866-910b-0410-8b05-ffd578937521
2011-05-28 13:32:29 +00:00
David Chisnall
f7368f492b Make NSGarbageCollector return nil when compiled in GC mode but run in non-GC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33170 72102866-910b-0410-8b05-ffd578937521
2011-05-28 13:13:42 +00:00
David Chisnall
0a6a7216ac Accidentally left some non-GC code enabled in GC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33169 72102866-910b-0410-8b05-ffd578937521
2011-05-28 13:09:57 +00:00
David Chisnall
50e06b7cca __weak is only allowed on ivars and globals, so we need to turn the Observation structure into a class.
Richard:

I've run the test suite with GC disabled on Linux/x86-64 and nothing broke, but can you please review these changes carefully anyway?

We seem to be using a complex custom allocator for a structure that is not allocated or deallocated.  In typical programs, it looks like we're actually just wasting memory by using the memory pool here.  Looking at the commit log, this hasn't really been touched for about 10 years, so possibly the assumptions are no longer valid.  I can only see this being useful if someone is adding and removing hundreds of notification observers every run loop iteration.  Do you have code that does this?  If not, then can I remove the custom allocator?



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33165 72102866-910b-0410-8b05-ffd578937521
2011-05-28 12:49:52 +00:00
Niels Grewe
2c301fb937 Disable atomic ops detection for the time being.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33163 72102866-910b-0410-8b05-ffd578937521
2011-05-28 10:00:22 +00:00
David Chisnall
68f1581eb9 This one isn't really important, since this code path is only ever used in non-GC mode, but it keeps the static analyser happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33145 72102866-910b-0410-8b05-ffd578937521
2011-05-27 12:00:57 +00:00
David Chisnall
7764740bdc Make -drain and -release in NSAutoreleasePool do the same thing (rather than one calling the other) in non-GC mode.
Replace all -release messages sent to autorelease pools with -drain.  In non-GC mode, these are equivalent.  In GC mode, these trigger a collection.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33143 72102866-910b-0410-8b05-ffd578937521
2011-05-27 11:48:44 +00:00
Richard Frith-MacDonald
29063b6928 minor tweaks for atomic inc/dec support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33142 72102866-910b-0410-8b05-ffd578937521
2011-05-27 10:05:25 +00:00
David Chisnall
417418ef8e Revert accidentally committed changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33140 72102866-910b-0410-8b05-ffd578937521
2011-05-27 09:18:57 +00:00
Niels Grewe
410ab087fa Attempt to detect the flags needed to enable compiler intrinsics for atomic
operations.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33134 72102866-910b-0410-8b05-ffd578937521
2011-05-26 18:37:58 +00:00
David Chisnall
928551c80a Use RTLD_NOLOAD, if it's supported.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33131 72102866-910b-0410-8b05-ffd578937521
2011-05-26 18:29:43 +00:00
David Chisnall
de2fd8df6e More GC fixes. Most notably, mark the thread object as not collectable, since it's hidden away in TLS where the GC can't find it.
GC now works well enough for LanguageKit to run.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33123 72102866-910b-0410-8b05-ffd578937521
2011-05-26 13:24:13 +00:00
Richard Frith-MacDonald
8da9a5ecbb Another attempt to improve atomic inc/dec
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33119 72102866-910b-0410-8b05-ffd578937521
2011-05-25 22:18:39 +00:00
Richard Frith-MacDonald
ac2b43669d Tweak atomic inc/dec code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33116 72102866-910b-0410-8b05-ffd578937521
2011-05-25 16:47:11 +00:00
Richard Frith-MacDonald
eb39994378 partial revert
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33115 72102866-910b-0410-8b05-ffd578937521
2011-05-25 15:53:17 +00:00
David Chisnall
b08b2d0f34 More tweaks for garbage collection mode, including making NSNotificationCenter use weak pointers (things are never removed if it uses strong pointers because they remove themselves in the -dealloc method, which is never called, and can't remove themselves in the -finalize method because the -finalize method would not be called until after they have been removed - this is consistent with Apple behaviour).
Gorm now works correctly when built with GC enabled.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33109 72102866-910b-0410-8b05-ffd578937521
2011-05-25 11:15:08 +00:00
Richard Frith-MacDonald
a439972605 attempt multithreading bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33107 72102866-910b-0410-8b05-ffd578937521
2011-05-25 09:20:42 +00:00
David Chisnall
6068e9484c Initial pass at implementing fully Apple-compatible GC. This requires the code to be built with -fobjc-gc or -fobjc-gc-only, and requires a runtime that implements all of the support functions (GNUstep runtime trunk or 1.5 when it's release).
Currently, there are a few places where we should be calling NSAllocateCollectable() without NSScannedOption, but are actually calling NSZoneMalloc() unless we're in GC mode.  We should not need separate code paths for this anywhere outside NSZone, since NSAllocateCollectable() will work in non-GC mode as well.

A few of the changes should be tweaked slightly so that they do run-time tests.  For example, when compiling with -fobjc-gc, we may be linked against non-GC code, which will use -retain and -release but won't use the memory barriers.  Supporting this nicely is a lot of effort, and I'm not fully convinced it's a good idea.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33104 72102866-910b-0410-8b05-ffd578937521
2011-05-24 14:43:27 +00:00
Richard Frith-MacDonald
e32626abe7 try to cope better with apps which leak autorelease pools.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33099 72102866-910b-0410-8b05-ffd578937521
2011-05-24 10:52:25 +00:00
Richard Frith-MacDonald
afc2ef7de8 fix main bundle path
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33088 72102866-910b-0410-8b05-ffd578937521
2011-05-23 10:51:58 +00:00
Richard Frith-MacDonald
55cd4ef60b quoted-printable fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33082 72102866-910b-0410-8b05-ffd578937521
2011-05-22 06:22:05 +00:00
Richard Frith-MacDonald
8c89a47a8b fix includes for gcc-4.6
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33069 72102866-910b-0410-8b05-ffd578937521
2011-05-19 08:19:24 +00:00
Richard Frith-MacDonald
ae8059e5c1 use errno.h for thread safety
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33028 72102866-910b-0410-8b05-ffd578937521
2011-05-12 16:08:10 +00:00
Richard Frith-MacDonald
b2649e0526 old/new objc api updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33027 72102866-910b-0410-8b05-ffd578937521
2011-05-12 16:03:08 +00:00
Fred Kiefer
ac3f2c5095 Fix keyed decoding for GSMutableArray and GSPlaceholderArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33026 72102866-910b-0410-8b05-ffd578937521
2011-05-12 08:24:15 +00:00
Richard Frith-MacDonald
effa0292d8 tolerate missing/incorrect character encoding declarations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33012 72102866-910b-0410-8b05-ffd578937521
2011-05-09 11:35:00 +00:00
David Chisnall
16fc1c503c Remove spurious &s
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32985 72102866-910b-0410-8b05-ffd578937521
2011-05-05 11:25:12 +00:00
Eric Wasylishen
5bc5e9a64b * Source/Additions/GSObjCRuntime.m (GSSelectorFromNameAndTypes):
With gcc 4.6 libobjc, GSSelectorFromNameAndTypes was calling some
functions like sel_get_any_typed_uid that were not declared (they're
declared in objc/objc-api.h which cannot be imported). I had to copy
over these function declarations, otherwise incorrect function calls
are generated which corrupt selectors (at least on x86-64).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32968 72102866-910b-0410-8b05-ffd578937521
2011-05-02 20:10:54 +00:00
Richard Frith-MacDonald
7858806cfa Cleanup/simplify for readability and fix bug copying new ivars
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32966 72102866-910b-0410-8b05-ffd578937521
2011-05-02 09:02:02 +00:00
David Chisnall
a95b18e430 Added missing ivar access functions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32939 72102866-910b-0410-8b05-ffd578937521
2011-04-28 18:41:01 +00:00
Eric Wasylishen
ff0b5abd62 * Source/NSNumberFormatter.m: Move the body of -init to a method called
-_NSNumberFormatterInit, and call this in -initWithCoder: so that
instances created with -initWithCoder: are initialized correctly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32931 72102866-910b-0410-8b05-ffd578937521
2011-04-27 02:43:03 +00:00
David Chisnall
d190709e05 After going to all of the effort of recomputing the frame size, actually store the one that we compute instead of accidentally discarding it.
It would probably be a good idea if we skipped the entire disassemble / reassemble code path if we've got sensible method encoding strings.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32908 72102866-910b-0410-8b05-ffd578937521
2011-04-19 16:26:09 +00:00
David Chisnall
7c427b04d6 __objc_responds_to() -> class_respondsToSelector().
No functionality change, just a switch to using the portable public functions.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32863 72102866-910b-0410-8b05-ffd578937521
2011-04-14 18:04:50 +00:00
Richard Frith-MacDonald
88cd94d250 gc fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32860 72102866-910b-0410-8b05-ffd578937521
2011-04-14 12:31:51 +00:00
Richard Frith-MacDonald
7d8419ec42 tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32841 72102866-910b-0410-8b05-ffd578937521
2011-04-13 14:34:39 +00:00
Richard Frith-MacDonald
310d405479 improve documentation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32840 72102866-910b-0410-8b05-ffd578937521
2011-04-13 14:30:20 +00:00
Richard Frith-MacDonald
b1745e7d9d Minor fixups for release ... mostly avoid failed testcases.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32837 72102866-910b-0410-8b05-ffd578937521
2011-04-12 05:41:53 +00:00
Nicola Pero
1074edb811 Improved checks for native ObjC exceptions. We now check the runtime support here, and disable them from here regardless of what gnustep-make did (this makes it easier to change the runtime without reconfiguring gnustep-make). Small update to ObjC runtime code for GCC 4.6
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32820 72102866-910b-0410-8b05-ffd578937521
2011-04-09 13:47:37 +00:00
Richard Frith-MacDonald
9d31f2d08d fix bug opening connection to mail server
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32797 72102866-910b-0410-8b05-ffd578937521
2011-04-07 10:58:07 +00:00
Richard Frith-MacDonald
e2fbdcd0fd avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32796 72102866-910b-0410-8b05-ffd578937521
2011-04-07 07:56:56 +00:00
Richard Frith-MacDonald
9f32aeb525 remove unused directory and obsolete comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32795 72102866-910b-0410-8b05-ffd578937521
2011-04-07 07:32:00 +00:00
Richard Frith-MacDonald
d3c38af54b Apply patch for bug #32899
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32794 72102866-910b-0410-8b05-ffd578937521
2011-04-07 05:09:08 +00:00
Richard Frith-MacDonald
4d646deb2e try to get C++ constructur/destructor calling working for all.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32781 72102866-910b-0410-8b05-ffd578937521
2011-04-05 12:13:12 +00:00
Richard Frith-MacDonald
ed0d634335 indentation fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32780 72102866-910b-0410-8b05-ffd578937521
2011-04-05 12:12:34 +00:00
Richard Frith-MacDonald
b1b5714169 fix timezone bug on mingw spotted by Fred
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32778 72102866-910b-0410-8b05-ffd578937521
2011-04-04 20:54:26 +00:00
Richard Frith-MacDonald
ee798647d7 fixup for signedness ... charValue always returns a signed char
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32777 72102866-910b-0410-8b05-ffd578937521
2011-04-04 16:35:20 +00:00
Richard Frith-MacDonald
d9d0d1b6fd portability bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32769 72102866-910b-0410-8b05-ffd578937521
2011-04-04 10:57:49 +00:00
Richard Frith-MacDonald
c56633fb1b fix leak and weak docs a little
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32767 72102866-910b-0410-8b05-ffd578937521
2011-04-03 19:14:29 +00:00
Richard Frith-MacDonald
899590c40c tweaks for OpenBSD
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32766 72102866-910b-0410-8b05-ffd578937521
2011-04-03 09:54:57 +00:00
Richard Frith-MacDonald
267fc9c251 GC fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32765 72102866-910b-0410-8b05-ffd578937521
2011-04-03 08:20:57 +00:00
Richard Frith-MacDonald
7eaee133a3 GC fix for proxy finalisation error.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32764 72102866-910b-0410-8b05-ffd578937521
2011-04-03 04:25:52 +00:00
Riccardo Mottola
06de8db62b add directory of the local headers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32761 72102866-910b-0410-8b05-ffd578937521
2011-04-01 12:40:52 +00:00
Richard Frith-MacDonald
f39930a712 fix character mapping error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32748 72102866-910b-0410-8b05-ffd578937521
2011-03-31 20:16:53 +00:00
Richard Frith-MacDonald
7aee0158bc Cleanup and fix to build additipns library on apple systems.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32737 72102866-910b-0410-8b05-ffd578937521
2011-03-29 11:18:10 +00:00
Richard Frith-MacDonald
afb3405c5d fixup for apple
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32736 72102866-910b-0410-8b05-ffd578937521
2011-03-29 11:07:14 +00:00
Richard Frith-MacDonald
4918e76599 casts to keep compiler happy
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32733 72102866-910b-0410-8b05-ffd578937521
2011-03-29 09:40:14 +00:00
Richard Frith-MacDonald
c0979f8d17 64bit safety fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32731 72102866-910b-0410-8b05-ffd578937521
2011-03-29 08:16:02 +00:00
David Chisnall
2e1b6bafcb Added a really ugly hack that makes NSConnection work on 64-bit platforms, without depending on undefined behaviour. This is not the correct fix - that needs to be done by someone who understands the code a bit better than me. See mailing list post for details.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32727 72102866-910b-0410-8b05-ffd578937521
2011-03-28 23:56:31 +00:00
Riccardo Mottola
9c59b7aeb8 safer and more portable pointer access
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32717 72102866-910b-0410-8b05-ffd578937521
2011-03-28 08:50:45 +00:00
Richard Frith-MacDonald
683386b6c6 add comments for clarification
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32697 72102866-910b-0410-8b05-ffd578937521
2011-03-24 06:24:05 +00:00
Fred Kiefer
37d3a7c31a * Source/NSNumberFormatter.m (-stringForObjectValue:): Swapped a
few lines of fraction handling code to get the test suite to pass.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32693 72102866-910b-0410-8b05-ffd578937521
2011-03-23 19:33:03 +00:00
Wolfgang Lux
2a50497248 Get -methodSignatureForSelector: right again in case the method is
called on a class object and the old runtime is used.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32689 72102866-910b-0410-8b05-ffd578937521
2011-03-22 20:59:06 +00:00
Riccardo Mottola
053138cbce use cocoa values for the coding keys
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32644 72102866-910b-0410-8b05-ffd578937521
2011-03-18 10:34:40 +00:00
Richard Frith-MacDonald
1baa775684 improve typed selector handling
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32642 72102866-910b-0410-8b05-ffd578937521
2011-03-18 06:32:47 +00:00
Richard Frith-MacDonald
ac23609a4c fix bug registering typed selectors
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32641 72102866-910b-0410-8b05-ffd578937521
2011-03-18 06:18:24 +00:00
Wolfgang Lux
a4bda067a6 Disable use of a fake main function by default on Darwin/Mac OS X.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32638 72102866-910b-0410-8b05-ffd578937521
2011-03-17 22:33:31 +00:00
David Chisnall
4ca1911f13 Correctly call C++ constructors / destructors for C++ 'objects' in ObjC++ ivars.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32632 72102866-910b-0410-8b05-ffd578937521
2011-03-17 15:02:52 +00:00
Richard Frith-MacDonald
4d92576edd trivial tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32630 72102866-910b-0410-8b05-ffd578937521
2011-03-17 12:53:48 +00:00
David Chisnall
397d15d8a1 Register C++ exception handler correctly for little endian platforms as well as big endian ones.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32608 72102866-910b-0410-8b05-ffd578937521
2011-03-16 14:38:42 +00:00
Richard Frith-MacDonald
8bea71efa9 fix am/pm issues and incorrect test
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32605 72102866-910b-0410-8b05-ffd578937521
2011-03-16 13:17:48 +00:00
Richard Frith-MacDonald
21371b2c5e improve thread safety warning
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32604 72102866-910b-0410-8b05-ffd578937521
2011-03-16 12:17:02 +00:00
Richard Frith-MacDonald
315e1bd793 fix error with zero padding of fractional part
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32594 72102866-910b-0410-8b05-ffd578937521
2011-03-15 10:01:44 +00:00
Stefan Bidigaray
fd82f4f6a9 Don't use unum_parseDecimal since it was only introduced on libicu-4.4. Implement -getObjectValue:forString:errorDescription:. Riccardo's example (bug 32434) compiles and runs perfectly... I get 0 and -1.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32587 72102866-910b-0410-8b05-ffd578937521
2011-03-14 22:58:50 +00:00
Stefan Bidigaray
c84d67c662 Added untest implementation of -getObjectValue:forString:range:error:. This method should will be used to implement -getObjectValue:forString:errorDescription:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32586 72102866-910b-0410-8b05-ffd578937521
2011-03-14 22:41:53 +00:00
Richard Frith-MacDonald
8b20a6b4fd make header dir
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32549 72102866-910b-0410-8b05-ffd578937521
2011-03-13 14:33:42 +00:00
Richard Frith-MacDonald
09bd40334c simplify header layout
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32545 72102866-910b-0410-8b05-ffd578937521
2011-03-13 12:52:37 +00:00
Richard Frith-MacDonald
fae2b696cd improve testing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32544 72102866-910b-0410-8b05-ffd578937521
2011-03-13 12:14:40 +00:00
Richard Frith-MacDonald
53882ca6d3 fix dereferencing null pointer
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32543 72102866-910b-0410-8b05-ffd578937521
2011-03-13 10:14:11 +00:00
Richard Frith-MacDonald
9ea5861683 separate building of blocks support from rest of compat code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32542 72102866-910b-0410-8b05-ffd578937521
2011-03-13 09:57:00 +00:00
Richard Frith-MacDonald
84b2f8d5bf mingw fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32541 72102866-910b-0410-8b05-ffd578937521
2011-03-13 09:41:20 +00:00
Richard Frith-MacDonald
ee7872e6fd mingw block fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32540 72102866-910b-0410-8b05-ffd578937521
2011-03-13 09:38:37 +00:00
Richard Frith-MacDonald
46cf25ebed add config check for blocks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32539 72102866-910b-0410-8b05-ffd578937521
2011-03-13 08:20:17 +00:00
Stefan Bidigaray
ff94cec600 Fix another small memory allocation issue.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32537 72102866-910b-0410-8b05-ffd578937521
2011-03-12 14:42:21 +00:00
Stefan Bidigaray
ba8d2a150d Fix small mistake when allocating memory for attributes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32536 72102866-910b-0410-8b05-ffd578937521
2011-03-12 14:39:29 +00:00
Stefan Bidigaray
0b402994bb Add a hack to reset formatter properties along with the formatter itself. This can't be the best way to go about this so feel free to provide input for a better solution. Also added 2 missing unlocks in NSLocale.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32535 72102866-910b-0410-8b05-ffd578937521
2011-03-12 14:22:21 +00:00
Richard Frith-MacDonald
98c6309213 Update ChangeLog. reverse accidental addition of GSBlocks.m to makefile ...
we mustn't thave it there until it can be added without causing link error.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32533 72102866-910b-0410-8b05-ffd578937521
2011-03-11 09:17:34 +00:00
Richard Frith-MacDonald
4f9574fc5d add missing headers etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32531 72102866-910b-0410-8b05-ffd578937521
2011-03-11 08:14:04 +00:00
Richard Frith-MacDonald
2539d75717 add warning
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32526 72102866-910b-0410-8b05-ffd578937521
2011-03-10 08:18:52 +00:00
Richard Frith-MacDonald
9810a1ec9c a few more static analyser tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32517 72102866-910b-0410-8b05-ffd578937521
2011-03-09 12:40:50 +00:00
Richard Frith-MacDonald
4b367a26d2 tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32516 72102866-910b-0410-8b05-ffd578937521
2011-03-09 12:01:04 +00:00
Richard Frith-MacDonald
99d5283104 fix bug resetting defaults
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32515 72102866-910b-0410-8b05-ffd578937521
2011-03-09 11:12:30 +00:00
Richard Frith-MacDonald
b918c226f7 minor cleanup for static analyser
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32514 72102866-910b-0410-8b05-ffd578937521
2011-03-09 10:53:25 +00:00
Richard Frith-MacDonald
0d5c7cb77c simplify
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32512 72102866-910b-0410-8b05-ffd578937521
2011-03-09 10:42:16 +00:00
Richard Frith-MacDonald
41a929293c remove redundant code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32510 72102866-910b-0410-8b05-ffd578937521
2011-03-09 10:32:48 +00:00
Richard Frith-MacDonald
01e220f067 fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32508 72102866-910b-0410-8b05-ffd578937521
2011-03-09 10:25:55 +00:00
Richard Frith-MacDonald
74eac99280 add last night's changes based on static analyser results.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32507 72102866-910b-0410-8b05-ffd578937521
2011-03-09 10:24:18 +00:00
Richard Frith-MacDonald
385f9b83fc fix for non-fragile abi
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32501 72102866-910b-0410-8b05-ffd578937521
2011-03-08 12:49:34 +00:00
Richard Frith-MacDonald
278bed4da1 avoid signedness warning
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32494 72102866-910b-0410-8b05-ffd578937521
2011-03-08 09:52:34 +00:00
Richard Frith-MacDonald
6bdce1cf05 mingw tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32488 72102866-910b-0410-8b05-ffd578937521
2011-03-07 15:47:07 +00:00
Richard Frith-MacDonald
218582e63c more bsd tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32485 72102866-910b-0410-8b05-ffd578937521
2011-03-07 15:34:06 +00:00
Richard Frith-MacDonald
96e48988fc avoid compiler/linker warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32483 72102866-910b-0410-8b05-ffd578937521
2011-03-07 11:34:17 +00:00
Richard Frith-MacDonald
542df716ec get return address better on sparc etc.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32476 72102866-910b-0410-8b05-ffd578937521
2011-03-06 14:23:57 +00:00
Richard Frith-MacDonald
98c91159d9 return address tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32471 72102866-910b-0410-8b05-ffd578937521
2011-03-06 10:09:37 +00:00
Richard Frith-MacDonald
f3fca57168 tweaks for osx compatiblity
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32470 72102866-910b-0410-8b05-ffd578937521
2011-03-06 05:58:50 +00:00
Richard Frith-MacDonald
632f053008 remove obsolete code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32467 72102866-910b-0410-8b05-ffd578937521
2011-03-06 05:18:01 +00:00
Richard Frith-MacDonald
9be686a44a remove unused variables
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32466 72102866-910b-0410-8b05-ffd578937521
2011-03-05 18:20:37 +00:00
Richard Frith-MacDonald
d084034e84 tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32465 72102866-910b-0410-8b05-ffd578937521
2011-03-05 18:12:55 +00:00
Richard Frith-MacDonald
76e7141e1b rudimentary implementation fo two new methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32463 72102866-910b-0410-8b05-ffd578937521
2011-03-05 17:17:57 +00:00
Richard Frith-MacDonald
62a00dd0a8 fix for bug #32564 ?
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32462 72102866-910b-0410-8b05-ffd578937521
2011-03-05 16:33:24 +00:00
Richard Frith-MacDonald
f8989f9ba3 add block enumeration
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32459 72102866-910b-0410-8b05-ffd578937521
2011-03-05 15:01:35 +00:00
Richard Frith-MacDonald
03233198f7 Warn about using an unsafe +initialize
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32455 72102866-910b-0410-8b05-ffd578937521
2011-03-05 13:11:47 +00:00
Richard Frith-MacDonald
360e28f269 User defaults language/setup restructuring
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32454 72102866-910b-0410-8b05-ffd578937521
2011-03-05 07:54:05 +00:00
Richard Frith-MacDonald
05beb8f194 fix premature release
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32453 72102866-910b-0410-8b05-ffd578937521
2011-03-05 06:11:50 +00:00
Richard Frith-MacDonald
946dc8d864 Fix allowing floats on input
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32450 72102866-910b-0410-8b05-ffd578937521
2011-03-04 09:25:59 +00:00
Richard Frith-MacDonald
6afda2b67a KVO tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32443 72102866-910b-0410-8b05-ffd578937521
2011-03-03 17:33:57 +00:00
Richard Frith-MacDonald
e0a2640d15 re-introduce thread pool
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32442 72102866-910b-0410-8b05-ffd578937521
2011-03-03 15:14:29 +00:00
Richard Frith-MacDonald
db78d4cd8e Add support for 'concurrent' NSOperations, but remove the pools of theads and
and run normal operations each in their own until we re-instate pools.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32440 72102866-910b-0410-8b05-ffd578937521
2011-03-03 10:56:47 +00:00
Richard Frith-MacDonald
6e6720d36f typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32438 72102866-910b-0410-8b05-ffd578937521
2011-03-03 09:43:04 +00:00
Richard Frith-MacDonald
2d95b79785 fix line missed in last change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32437 72102866-910b-0410-8b05-ffd578937521
2011-03-03 09:42:29 +00:00
Richard Frith-MacDonald
0448c6e620 fix possible free of non heasp memory
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32435 72102866-910b-0410-8b05-ffd578937521
2011-03-03 08:14:02 +00:00
Richard Frith-MacDonald
542fb72c06 minor KVO fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32432 72102866-910b-0410-8b05-ffd578937521
2011-03-02 10:52:27 +00:00
Richard Frith-MacDonald
f6293dd808 make notification more robust
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32430 72102866-910b-0410-8b05-ffd578937521
2011-03-01 20:39:14 +00:00
Richard Frith-MacDonald
bf05e6fe8b fix to compile on systems withut avahi
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32429 72102866-910b-0410-8b05-ffd578937521
2011-03-01 18:14:21 +00:00
Niels Grewe
821962705e Declare a protocol for GNUstep specific delegate methods in NSNetServices.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32426 72102866-910b-0410-8b05-ffd578937521
2011-03-01 10:52:21 +00:00
Richard Frith-MacDonald
7cf4d2bb21 garbage collection tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32425 72102866-910b-0410-8b05-ffd578937521
2011-03-01 10:51:42 +00:00
Richard Frith-MacDonald
b80266e49b simple implementation for gc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32419 72102866-910b-0410-8b05-ffd578937521
2011-02-28 21:59:42 +00:00
Richard Frith-MacDonald
d18e29dde8 avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32417 72102866-910b-0410-8b05-ffd578937521
2011-02-28 19:49:57 +00:00
Richard Frith-MacDonald
5a0f5c16ff fixup error in runtime specific calls
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32415 72102866-910b-0410-8b05-ffd578937521
2011-02-28 18:16:49 +00:00
Richard Frith-MacDonald
074bf7a853 add code for other runtimes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32413 72102866-910b-0410-8b05-ffd578937521
2011-02-28 16:00:21 +00:00
Richard Frith-MacDonald
1cfe74bbc6 fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32398 72102866-910b-0410-8b05-ffd578937521
2011-02-27 23:34:57 +00:00
Richard Frith-MacDonald
0b7c8ba8cf fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32397 72102866-910b-0410-8b05-ffd578937521
2011-02-27 23:33:53 +00:00
Richard Frith-MacDonald
5168bd5e2e simplify typed selector usage.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32396 72102866-910b-0410-8b05-ffd578937521
2011-02-27 23:29:25 +00:00
Richard Frith-MacDonald
93f1f36168 fix typo in comment
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32393 72102866-910b-0410-8b05-ffd578937521
2011-02-27 22:44:16 +00:00
Richard Frith-MacDonald
f03e839d7c tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32392 72102866-910b-0410-8b05-ffd578937521
2011-02-27 22:37:52 +00:00
Richard Frith-MacDonald
2222fdeb16 Banlu Kemiyatorn <object@gmail.com> ... fix error checking condition for dependencies
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32391 72102866-910b-0410-8b05-ffd578937521
2011-02-27 22:36:22 +00:00
Richard Frith-MacDonald
05e186ac65 fix gc heade rlocation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32388 72102866-910b-0410-8b05-ffd578937521
2011-02-27 17:53:14 +00:00
Richard Frith-MacDonald
5fbd5d08a7 fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32387 72102866-910b-0410-8b05-ffd578937521
2011-02-27 16:14:26 +00:00
Richard Frith-MacDonald
7a55300d6b cleanup for next reelease
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32385 72102866-910b-0410-8b05-ffd578937521
2011-02-27 09:08:59 +00:00
Richard Frith-MacDonald
ed9082d7b0 fixup ugly coding stype to improve maintainability
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32384 72102866-910b-0410-8b05-ffd578937521
2011-02-26 21:42:20 +00:00
David Chisnall
3193a75cb9 Actually fix C99isms.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32382 72102866-910b-0410-8b05-ffd578937521
2011-02-26 19:25:15 +00:00
David Chisnall
1b5248b98a Fixed C99ism.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32381 72102866-910b-0410-8b05-ffd578937521
2011-02-26 19:23:26 +00:00
David Chisnall
767211d106 Make blocks conform to NSCopying.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32377 72102866-910b-0410-8b05-ffd578937521
2011-02-26 13:40:06 +00:00
David Chisnall
a139de7bcb Move method declarations on blocks from EtoileFoundation into GNUstep.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32376 72102866-910b-0410-8b05-ffd578937521
2011-02-26 13:10:49 +00:00
Richard Frith-MacDonald
0241a4347b double comparison fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32375 72102866-910b-0410-8b05-ffd578937521
2011-02-26 06:29:57 +00:00
Richard Frith-MacDonald
b463bba090 fix error in float comparison
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32361 72102866-910b-0410-8b05-ffd578937521
2011-02-25 00:25:43 +00:00
David Chisnall
7027375a67 Add inline specifier to __objc_dynamic_get_symbol_path() to silence unused function warning.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32345 72102866-910b-0410-8b05-ffd578937521
2011-02-24 13:11:47 +00:00
Niels Grewe
6737a2904d Fix typos.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32344 72102866-910b-0410-8b05-ffd578937521
2011-02-24 12:34:21 +00:00
Richard Frith-MacDonald
9550a5415b Path standardisation tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32328 72102866-910b-0410-8b05-ffd578937521
2011-02-23 14:59:06 +00:00
Richard Frith-MacDonald
59d4be1265 OSX compat tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32323 72102866-910b-0410-8b05-ffd578937521
2011-02-23 11:52:17 +00:00
Richard Frith-MacDonald
4388c7a05b osx compat tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32321 72102866-910b-0410-8b05-ffd578937521
2011-02-23 09:40:57 +00:00
Richard Frith-MacDonald
2aed57d95a Improve reliability
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32316 72102866-910b-0410-8b05-ffd578937521
2011-02-23 08:56:25 +00:00
Richard Frith-MacDonald
6f9ef887aa fix for constant string case changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32309 72102866-910b-0410-8b05-ffd578937521
2011-02-23 07:25:12 +00:00
Nicola Pero
e4cad664d8 Implemented lookup of selector with a type for __GNU_LIBOBJC__. We can simply use sel_copyTypedSelectorList() to access the full list of selectors with a certain name.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32296 72102866-910b-0410-8b05-ffd578937521
2011-02-22 13:34:49 +00:00
Richard Frith-MacDonald
c7c3b61563 Try to make sure we have an absolute path for executables
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32291 72102866-910b-0410-8b05-ffd578937521
2011-02-22 12:22:49 +00:00
Richard Frith-MacDonald
e6fca186b1 portability tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32290 72102866-910b-0410-8b05-ffd578937521
2011-02-22 11:55:37 +00:00
Richard Frith-MacDonald
38670c0a08 OSX compatibility changes and other minor tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32279 72102866-910b-0410-8b05-ffd578937521
2011-02-22 07:05:36 +00:00
Richard Frith-MacDonald
f756c612ca use 10.0 behavior if we have no ICU
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32260 72102866-910b-0410-8b05-ffd578937521
2011-02-21 12:36:18 +00:00
David Chisnall
18ccb48ece Some changes to method type lookup when forwarding. Alway use the compiler-supplied type information if it exists - this is guaranteed to by the correct type encoding for the call frame and lets us deconstruct it correctly. We can then fail gracefully later on when trying to invoke the selector if the types in the callee don't match, rather than by reading nonsense from the stack now.
When using the GNUstep runtime, use the safe mechanism for checking whether there is more than one typed selector, and only use that as a guess if it is safe to do so.  With the GCC runtime, we are still stuck using the API that it is impossible to use safely (we might be better off just giving up at this point), but now we call this after -methodSignatureForSelector:, so the app developer gets a chance to do the right thing before we do the wrong thing.

Also changed the assert to throw an exception if no type signature can be found.  This behaviour is consistent with Mac OS X.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32257 72102866-910b-0410-8b05-ffd578937521
2011-02-21 11:05:33 +00:00
Richard Frith-MacDonald
61bc059d4a Cleanup ... avoid accessing the 'isa' variable directly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32247 72102866-910b-0410-8b05-ffd578937521
2011-02-20 16:21:43 +00:00
Fred Kiefer
ccdc185f97 * Source/NSNumberFormatter.m (-init): Only check the formatter in
the ICU case.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32244 72102866-910b-0410-8b05-ffd578937521
2011-02-20 14:58:23 +00:00
Richard Frith-MacDonald
4ed081d410 Replace old code directly referencing class_pointer ivar with calls to the new runtime API treating objects as opaque pointers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32243 72102866-910b-0410-8b05-ffd578937521
2011-02-20 12:28:12 +00:00
Richard Frith-MacDonald
0cb48d516b Update for new runtime api
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32241 72102866-910b-0410-8b05-ffd578937521
2011-02-20 08:32:54 +00:00
Richard Frith-MacDonald
c7eeb1bb08 Use GSObjCRuntime functions for selector types until/unless we can get
a standard runtime API that handles them.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32240 72102866-910b-0410-8b05-ffd578937521
2011-02-20 07:58:11 +00:00
Richard Frith-MacDonald
474a12b708 minor cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32234 72102866-910b-0410-8b05-ffd578937521
2011-02-19 19:42:42 +00:00
Richard Frith-MacDonald
b9b50a9fef simplify a little
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32229 72102866-910b-0410-8b05-ffd578937521
2011-02-19 17:46:45 +00:00
David Chisnall
71905252e5 Simplify the macros from the last commit. We don't actually need them with the old GCC runtime, because we already implement wrappers in the ObjectiveC2 framework, which let us easily migrate from GCC 4.5 libobjc + Objective2 to libobjc2 without a recompile (although not to GCC 4.6 libobjc, due to the function renaming).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32222 72102866-910b-0410-8b05-ffd578937521
2011-02-19 16:07:07 +00:00
David Chisnall
495f92e10a Add some macros that map some libobjc functions to their runtime-specific variants.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32220 72102866-910b-0410-8b05-ffd578937521
2011-02-19 16:02:55 +00:00
David Chisnall
ddad542fb1 Add some explicit casts-through-void* to silence warnings about casts that increase the alignment requirements of the pointee (mostly caused by using char* for arithmetic).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32219 72102866-910b-0410-8b05-ffd578937521
2011-02-19 15:34:21 +00:00
Richard Frith-MacDonald
2f6264e1cb quick hack for NaN comparison
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32200 72102866-910b-0410-8b05-ffd578937521
2011-02-17 18:04:17 +00:00
Richard Frith-MacDonald
3142f8f42c fixup memory allocation problem
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32197 72102866-910b-0410-8b05-ffd578937521
2011-02-17 06:55:50 +00:00
Richard Frith-MacDonald
e262860ab4 documentation tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32196 72102866-910b-0410-8b05-ffd578937521
2011-02-16 16:51:42 +00:00
Richard Frith-MacDonald
e06991ba39 Added patch by Jens Ayton to support parsing 64bit integers in XML plists.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32191 72102866-910b-0410-8b05-ffd578937521
2011-02-16 08:44:04 +00:00
Wolfgang Lux
ce4afe2874 Add missing calls to super/self initialization in NSDateFormatter.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32185 72102866-910b-0410-8b05-ffd578937521
2011-02-16 07:39:06 +00:00
Richard Frith-MacDonald
b96b154e5e Add David's generalisation of _()
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32184 72102866-910b-0410-8b05-ffd578937521
2011-02-16 06:26:14 +00:00
Richard Frith-MacDonald
d07f49a9b6 more work on reserved/private pointer use
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32182 72102866-910b-0410-8b05-ffd578937521
2011-02-16 05:49:45 +00:00
Richard Frith-MacDonald
27550994ee use the _() macro for localisation within base
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32173 72102866-910b-0410-8b05-ffd578937521
2011-02-15 06:25:54 +00:00
Stefan Bidigaray
8acf2cf573 Moved new NSDateFormatter ivars to a struct in _reserved. Use unum_clone() to copy formatter in NSDateFormatter.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32172 72102866-910b-0410-8b05-ffd578937521
2011-02-15 00:49:48 +00:00
Germán Arias
c5720109a0 Added GSBaseLocalizedString() in NSUndoManager
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32160 72102866-910b-0410-8b05-ffd578937521
2011-02-14 18:55:57 +00:00
Richard Frith-MacDonald
7fa110e2c5 documentation fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32157 72102866-910b-0410-8b05-ffd578937521
2011-02-14 10:57:57 +00:00
Richard Frith-MacDonald
08dc11a192 Decrease chance of ABI breakage.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32156 72102866-910b-0410-8b05-ffd578937521
2011-02-14 06:37:45 +00:00
Stefan Bidigaray
51b232577e Moved 10.4+ implementation to a subclass of NSNumberFormatter.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32155 72102866-910b-0410-8b05-ffd578937521
2011-02-13 22:13:04 +00:00
Richard Frith-MacDonald
140902a00b add comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32154 72102866-910b-0410-8b05-ffd578937521
2011-02-13 20:01:46 +00:00
Richard Frith-MacDonald
a9a3fa7d3f tweak full user name
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32151 72102866-910b-0410-8b05-ffd578937521
2011-02-13 18:54:53 +00:00
Richard Frith-MacDonald
8d89880ace Use memmove rather than memcpy
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32145 72102866-910b-0410-8b05-ffd578937521
2011-02-13 12:56:46 +00:00
Richard Frith-MacDonald
314980c995 fix exception names used in last change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32131 72102866-910b-0410-8b05-ffd578937521
2011-02-13 08:02:02 +00:00
Richard Frith-MacDonald
4a099cd60a Partially revert poorly thoght out code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32127 72102866-910b-0410-8b05-ffd578937521
2011-02-13 06:43:22 +00:00
Richard Frith-MacDonald
60c38bae4e Partial revert
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32126 72102866-910b-0410-8b05-ffd578937521
2011-02-13 06:40:20 +00:00
Richard Frith-MacDonald
0592b48e55 Raise when attempting to use unimplemented classes. Check for null pointers
in more runtime functions (probably still many cases where we crash if null
pointers are passed to the API and Apple behave more tolrantly).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32124 72102866-910b-0410-8b05-ffd578937521
2011-02-13 06:31:05 +00:00
David Chisnall
730ecc942f Don't expand symlinks when standardizing paths (OS X doesn't).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32109 72102866-910b-0410-8b05-ffd578937521
2011-02-12 18:02:04 +00:00
Richard Frith-MacDonald
d11a6d8c27 remove redundant code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32108 72102866-910b-0410-8b05-ffd578937521
2011-02-12 17:26:10 +00:00
Richard Frith-MacDonald
56fe3ad777 Try to make code more robust and comment copiously.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32107 72102866-910b-0410-8b05-ffd578937521
2011-02-12 16:33:40 +00:00
Richard Frith-MacDonald
f7e7ef50c3 Don't call [NSZombie+class] as the method doesn't exist.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32105 72102866-910b-0410-8b05-ffd578937521
2011-02-12 15:44:00 +00:00
Richard Frith-MacDonald
7047f9e6d4 more changes to avoid leak warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32093 72102866-910b-0410-8b05-ffd578937521
2011-02-12 09:00:18 +00:00
Richard Frith-MacDonald
8d5395f884 tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32091 72102866-910b-0410-8b05-ffd578937521
2011-02-12 06:57:06 +00:00
Richard Frith-MacDonald
705e1a32ca Attempts to prevent leak warnings from static analyser
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32090 72102866-910b-0410-8b05-ffd578937521
2011-02-12 06:51:42 +00:00
Richard Frith-MacDonald
11e6f51bf4 remove unused code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32089 72102866-910b-0410-8b05-ffd578937521
2011-02-12 06:12:39 +00:00
Richard Frith-MacDonald
b36fbab52f Avoid some locking
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32086 72102866-910b-0410-8b05-ffd578937521
2011-02-11 19:08:32 +00:00
Richard Frith-MacDonald
992b57e83b Fix major mamory corruption problem.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32085 72102866-910b-0410-8b05-ffd578937521
2011-02-11 18:53:24 +00:00
Richard Frith-MacDonald
6f4f708a6f Reduce internal class interdependency for improved maintainability.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32083 72102866-910b-0410-8b05-ffd578937521
2011-02-11 16:04:05 +00:00
Richard Frith-MacDonald
7dcf69abbb Recommit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32082 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:49:41 +00:00
Richard Frith-MacDonald
d3f23b5057 Recommit NSUnarchiver.m (now tested), revert recently broken NSPropertyList.m to working version again.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32081 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:43:43 +00:00
David Chisnall
cd09e6bf87 Remove redundant copy + leak in NSArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32080 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:13:48 +00:00
David Chisnall
511ac3219d Ensure that an IMP in NSPropertyList is always initialised before it's called.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32079 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:12:13 +00:00
David Chisnall
4d47a08f1d Another case of the bug fixed in r32066.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32078 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:09:14 +00:00
David Chisnall
104c14bbf1 Silence some warnings caused by returning the result of a method that doesn't return.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32077 72102866-910b-0410-8b05-ffd578937521
2011-02-11 14:51:47 +00:00
Richard Frith-MacDonald
60885954c6 Recommit tested changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32075 72102866-910b-0410-8b05-ffd578937521
2011-02-11 14:31:25 +00:00
Richard Frith-MacDonald
51cf9b9cf9 Reapply some changes with modifications
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32074 72102866-910b-0410-8b05-ffd578937521
2011-02-11 14:07:49 +00:00
Richard Frith-MacDonald
336c7bf021 Revert back to working code!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32072 72102866-910b-0410-8b05-ffd578937521
2011-02-11 13:53:54 +00:00
Richard Frith-MacDonald
f3f69cccc2 get things to compile again
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32071 72102866-910b-0410-8b05-ffd578937521
2011-02-11 13:05:48 +00:00
David Chisnall
a67ed22c01 Remove a lock that is protecting thread-local storage. Stop leaking NSThread objects that are stored in thread-local storage.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32070 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:54:59 +00:00
Richard Frith-MacDonald
2a1389023f revert last
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32069 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:43:47 +00:00
David Chisnall
20d95085f5 Fix release of the wrong object in NSCache.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32068 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:42:59 +00:00
David Chisnall
8b241428d7 Fix memory leak in NSCache.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32067 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:40:46 +00:00
David Chisnall
dd88a65f4a Fix nonsense use of libicu, spotted by the analyser, with a not-so-helpful warning (he status pointer passed in to icu functions MUST be initialised to 0, because the ICU functions test it as well as setting it so you can call a load of ICU functions with the same status flag and not wrap them all in tests).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32066 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:39:01 +00:00
David Chisnall
940adacf2d Add some asserts to NSMethodSignature to make the analyser happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32065 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:36:40 +00:00
Richard Frith-MacDonald
7a7efb3484 temporarily revert to get code to compile again.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32064 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:29:50 +00:00
Richard Frith-MacDonald
0870dec426 leak fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32063 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:25:20 +00:00
David Chisnall
ef600d4917 Make NSPropertyList.m use the temporary buffer macros, instead of reimplementing them.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32062 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:21:09 +00:00
David Chisnall
45c20425df Added assert in NSKeyValueObserving to suppress analyser warning.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32061 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:16:39 +00:00
David Chisnall
fa8afdc28a Added exception-safe version of the GS_BEGINITEMBUF() macro. As a side effect, this should silence the zero-sized VLA warnings in the static analyser.
Note: This macro is currently only used on GCC 4+ and clang.  It depends on __attribute__((cleanup)), which was introduced some time in the 3.x series, but I'm not sure exactly when (3.2 / 3.3 I think), so someone who cares about gcc 3.x can tweak this if they want (not sure if anyone does - I think most people use 2.95, 4.x, or clang).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32059 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:06:25 +00:00
Richard Frith-MacDonald
d81ac8a945 further tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32058 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:45:07 +00:00
David Chisnall
acf11e142d Fix NSEnumerationReverse in the other place where this bug was pasted. I must have been asleep or drunk when I wrote this method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32055 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:31:41 +00:00
David Chisnall
8c06de29c6 Fix [NSArray -indexesOfObjectsWithOptions:passingTest:] with NSEnumerationReverse option. Was doing forward iteration in all cases.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32054 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:29:34 +00:00
David Chisnall
887f25cb5b Remove some redundant arithmetic (l - 0).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32053 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:09:55 +00:00
David Chisnall
1e886a2b5a Removed redundant code line spotted by analyser - looks like copy-and-paste bug from line 1192 (line 1200 was always replacing the value stored by 1199).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32052 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:06:25 +00:00