Commit graph

46 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
Richard Frith-MacDonald
be3a8ecc45 leak fixing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32035 72102866-910b-0410-8b05-ffd578937521
2011-02-10 12:11:03 +00:00
Richard Frith-MacDonald
e08da453bc use new runtime api for setter methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29838 72102866-910b-0410-8b05-ffd578937521
2010-03-04 17:33:01 +00:00
Richard Frith-MacDonald
14b91c9052 fixups for libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29753 72102866-910b-0410-8b05-ffd578937521
2010-02-25 18:49:31 +00:00
Richard Frith-MacDonald
8769dd8b6f deprecates some gnustep runtime wrappers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29697 72102866-910b-0410-8b05-ffd578937521
2010-02-22 10:13:20 +00:00
Richard Frith-MacDonald
7cc69dfaae Simplify header inclusion
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29669 72102866-910b-0410-8b05-ffd578937521
2010-02-19 08:12:46 +00:00
Richard Frith-MacDonald
c8a6832349 cosmetic tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29657 72102866-910b-0410-8b05-ffd578937521
2010-02-17 11:47:06 +00:00
Richard Frith-MacDonald
21d597e740 merge back reorganisation branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29615 72102866-910b-0410-8b05-ffd578937521
2010-02-14 10:48:10 +00:00
Richard Frith-MacDonald
70af2643ac patch for kvo struct setters by Eric Wasylishen
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28793 72102866-910b-0410-8b05-ffd578937521
2009-10-11 04:57:34 +00:00
Richard Frith-MacDonald
a6c9c8749a lrge changes to remove mframe
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28778 72102866-910b-0410-8b05-ffd578937521
2009-10-05 16:00:28 +00:00
Richard Frith-MacDonald
1d8d31ddcd Permit setters to return values.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28295 72102866-910b-0410-8b05-ffd578937521
2009-05-23 06:00:45 +00:00
Richard Frith-MacDonald
92c3166df3 more GC updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28223 72102866-910b-0410-8b05-ffd578937521
2009-04-16 09:07:13 +00:00
Richard Frith-MacDonald
971de91d62 Implement OSX10.5 NSMapTable API
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28086 72102866-910b-0410-8b05-ffd578937521
2009-03-16 10:54:59 +00:00
Richard Frith-MacDonald
399e2f9b38 finalize KV observations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27639 72102866-910b-0410-8b05-ffd578937521
2009-01-20 11:41:41 +00:00
Richard Frith-MacDonald
e82bd33ab1 garbage collecting fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27638 72102866-910b-0410-8b05-ffd578937521
2009-01-20 10:15:52 +00:00
Richard Frith-MacDonald
952af9c197 garbage collection fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27578 72102866-910b-0410-8b05-ffd578937521
2009-01-12 12:48:46 +00:00
Fred Kiefer
9aadf1d411 Only output a NSDebugLLog() not an NSLog() when the class has no
setter for the key.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27525 72102866-910b-0410-8b05-ffd578937521
2009-01-05 19:21:34 +00:00
Richard Frith-MacDonald
b2b14398d2 allow developers more time to adapt to LGPLv3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26606 72102866-910b-0410-8b05-ffd578937521
2008-06-08 10:38:33 +00:00
Richard Frith-MacDonald
f5f2219ee7 Rewrite for MacOS-X compatibility fixes and enhancements plus some bugfixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26181 72102866-910b-0410-8b05-ffd578937521
2008-03-03 12:04:37 +00:00
Richard Frith-MacDonald
ec66533017 Fix error in warning logs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26171 72102866-910b-0410-8b05-ffd578937521
2008-03-02 09:22:25 +00:00
Richard Frith-MacDonald
166b8e5082 Avoid calling depreceted methods just because KVO has overridden them.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26170 72102866-910b-0410-8b05-ffd578937521
2008-03-02 08:23:51 +00:00
Richard Frith-MacDonald
d9754d5b25 Fix bad declaration
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26148 72102866-910b-0410-8b05-ffd578937521
2008-02-26 17:13:52 +00:00
Richard Frith-MacDonald
425290fda5 Avoid some unnecessary work.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26122 72102866-910b-0410-8b05-ffd578937521
2008-02-23 17:46:29 +00:00
Riccardo Mottola
6ec2d5020f fixed c99ism
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25859 72102866-910b-0410-8b05-ffd578937521
2008-01-04 15:27:10 +00:00
Fred Kiefer
16e6526498 Correct the key strategy of the map.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25756 72102866-910b-0410-8b05-ffd578937521
2007-12-17 21:52:21 +00:00
Fred Kiefer
b42dbad341 Correct forwarding of changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25749 72102866-910b-0410-8b05-ffd578937521
2007-12-15 17:40:54 +00:00
Fred Kiefer
6592f706cf Fixed mistype in last change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25745 72102866-910b-0410-8b05-ffd578937521
2007-12-15 12:06:50 +00:00
Fred Kiefer
fbc7e98146 Don't raise exception when there is no setter for key.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25744 72102866-910b-0410-8b05-ffd578937521
2007-12-15 11:36:05 +00:00
Fred Kiefer
db0050466d replace NSString capitalizedString with manual handling.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25743 72102866-910b-0410-8b05-ffd578937521
2007-12-15 10:48:03 +00:00
Fred Kiefer
74757182a4 Made overrideSetterFor: aware of dependent key mapping.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25739 72102866-910b-0410-8b05-ffd578937521
2007-12-14 19:55:51 +00:00
Richard Frith-MacDonald
babf83a2a1 rewrite code for overriding setters
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25735 72102866-910b-0410-8b05-ffd578937521
2007-12-14 14:32:15 +00:00
Richard Frith-MacDonald
277bb71db3 Add Chris Farber's key value observing changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25715 72102866-910b-0410-8b05-ffd578937521
2007-12-10 17:22:33 +00:00
Richard Frith-MacDonald
62559023b9 Update to GPL3 and LGPL3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25482 72102866-910b-0410-8b05-ffd578937521
2007-09-14 11:36:11 +00:00
Richard Frith-MacDonald
087e9db5e6 avoid spurious compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23027 72102866-910b-0410-8b05-ffd578937521
2006-06-04 06:42:10 +00:00
Richard Frith-Macdonald
fa19407f5a Documentation tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22112 72102866-910b-0410-8b05-ffd578937521
2005-11-28 15:41:35 +00:00
Richard Frith-Macdonald
9754469069 Added partial implementation os KVO to match the accidentally comitted makefile changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21395 72102866-910b-0410-8b05-ffd578937521
2005-07-01 21:26:46 +00:00