Commit graph

62 commits

Author SHA1 Message Date
rfm
79383c613d 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
rfm
5b47a4bd32 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
rfm
5a597ddc01 clarify comment
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32012 72102866-910b-0410-8b05-ffd578937521
2011-02-07 22:53:35 +00:00
theraven
85549433db A huge blob of changes to make -base build with libobjc2, without using the old libobjc2 headers.
Most of these changes involve simply removing direct manipulation of any runtime structures and replacing them with runtime function calls.  For example class->name becomes class_getName(class) and so on.

libobjc2, like the Apple runtime, the NeXT runtime, and every version of the Objective-C spec, calls the class pointer in id isa.  A few files now have #define class_pointer isa at the top.  This line replaces class_pointer in the old GNU libobjc headers with isa so either class_pointer or isa can be used for accessing the class of an object.  Note: object_getClass() should be used in most cases because, in some future version of the runtime, this will skip things like lock classes and other hidden classes (e.g. KVO classes).

All of the old forwarding stuff has been removed.  Most of this stuff followed convoluted code paths that ended with an exception.  A few simply broke in exciting ways.  Hopefully no one has used them for the last ten years or so, but we can bring them back with some #ifndef stuff if they're really needed by anyone.

There is currently a bug in configure, which prevents dladdr() from being detected, so you need to manually tweak config.h to build - I have not fixed the fall-back code in objc-load.m to work with libobjc2, I just added a new version that uses the loader's functionality directly.  

Although -base now builds, it builds with a lot of warnings.  <string.h> is missing from a lot of files, so memcpy() and strlen() generate implicit function declaration warnings.  

Additionally, libobjc2 does still provide the sel_{get,register}_*() functions, but they're wrappers around the newer API ones.  These are deprecated and are not exposed in the headers.  Although they work, we should be replacing them with the libobjc2 versions as soon as possible.

This incorporates a patch by Eric.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31265 72102866-910b-0410-8b05-ffd578937521
2010-09-09 15:06:09 +00:00
rfm
34f55e74fe register new selector as needed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31179 72102866-910b-0410-8b05-ffd578937521
2010-08-17 18:38:00 +00:00
rfm
1904a2cbe5 Workaround for buggy runtime functions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30154 72102866-910b-0410-8b05-ffd578937521
2010-04-14 11:52:21 +00:00
rfm
df6384cc18 avoid objc_skip_offset()
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29814 72102866-910b-0410-8b05-ffd578937521
2010-03-01 10:34:35 +00:00
rfm
10c82d37ca update argument types for latest api
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29811 72102866-910b-0410-8b05-ffd578937521
2010-03-01 05:43:08 +00:00
rfm
53beb40301 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
rfm
d605c6f7b5 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
rfm
9edbe1a4fc 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
rfm
2fc494c446 a bit step towards removing obsolete mframe code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28774 72102866-910b-0410-8b05-ffd578937521
2009-10-04 15:26:07 +00:00
rfm
e0711a3b8d 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
rfm
f1d83b9f14 MacOS-X compatibility updates.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26598 72102866-910b-0410-8b05-ffd578937521
2008-06-06 13:57:06 +00:00
rfm
9b8cdcf311 Make sure type strings are nul terminated.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26119 72102866-910b-0410-8b05-ffd578937521
2008-02-22 12:59:30 +00:00
rfm
cd46236028 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
rfm
31342aef09 Updates to reduce global namespace pollution. Plenty more remaining.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23795 72102866-910b-0410-8b05-ffd578937521
2006-10-09 14:00:01 +00:00
rfm
7d3f438da0 Various bugfixes, portability fixes, and optimisations.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22576 72102866-910b-0410-8b05-ffd578937521
2006-02-27 09:35:19 +00:00
fedor
376e495dad * Update FSF Address.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21245 72102866-910b-0410-8b05-ffd578937521
2005-05-22 03:32:16 +00:00
CaS
0708409c1b Tidy up use of white space so we have it after if/for/while and not after (
or before ) or padding at end of line.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20773 72102866-910b-0410-8b05-ffd578937521
2005-02-22 11:22:44 +00:00
ayers
73dc4cb9f6 Header reorganizsateion - Please refer to ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17407 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:49:32 +00:00
fedor
0e59d4552d Change syntax of includes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16874 72102866-910b-0410-8b05-ffd578937521
2003-06-07 01:24:41 +00:00
CaS
ea2fc4b9dc Minor performance tweak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16460 72102866-910b-0410-8b05-ffd578937521
2003-04-14 07:19:28 +00:00
CaS
589315f77c Document
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15423 72102866-910b-0410-8b05-ffd578937521
2002-12-31 10:52:54 +00:00
CaS
bb74d6f839 Tidy more GNUstep extensions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15137 72102866-910b-0410-8b05-ffd578937521
2002-11-27 12:52:29 +00:00
CaS
e7abf9d81c Fix various minor documentation bugs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14777 72102866-910b-0410-8b05-ffd578937521
2002-10-14 11:05:49 +00:00
CaS
1462308459 Work on the train.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14654 72102866-910b-0410-8b05-ffd578937521
2002-10-05 17:47:54 +00:00
CaS
1ede313efa Fix typos etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14301 72102866-910b-0410-8b05-ffd578937521
2002-08-20 15:07:58 +00:00
CaS
944f197ecf Tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13100 72102866-910b-0410-8b05-ffd578937521
2002-03-13 09:58:43 +00:00
CaS
7f5f28102c Documented new functions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12741 72102866-910b-0410-8b05-ffd578937521
2002-02-25 06:25:49 +00:00
CaS
5b333c547b Key value fixes done ... needs testing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12740 72102866-910b-0410-8b05-ffd578937521
2002-02-25 06:14:31 +00:00
CaS
f40d164193 Various fixes towards standardising runtime API and to cope with
unarchiving better where a class referred to in the archive does
not exist in the executing program.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12625 72102866-910b-0410-8b05-ffd578937521
2002-02-21 13:31:13 +00:00
CaS
9172e99294 Fix some argument names for autogsdoc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12538 72102866-910b-0410-8b05-ffd578937521
2002-02-13 22:25:38 +00:00
CaS
d2ffeccd25 Fix by michael hanni
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12489 72102866-910b-0410-8b05-ffd578937521
2002-02-11 09:54:01 +00:00
mguesdon
a573895cad * Source/NSObjCRuntime.m:
o added NSAssert in GSGetInstanceVariable() and
                 GSSetInstanceVariable()


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12478 72102866-910b-0410-8b05-ffd578937521
2002-02-10 12:54:27 +00:00
CaS
d4b9683acf Added date version and title
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11814 72102866-910b-0410-8b05-ffd578937521
2001-12-18 16:54:15 +00:00
CaS
d7e28f6deb Many minor fixes for autogsdoc.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11787 72102866-910b-0410-8b05-ffd578937521
2001-12-17 14:31:42 +00:00
fedor
b786b93998 New strerror-like function
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@10043 72102866-910b-0410-8b05-ffd578937521
2001-05-31 22:39:16 +00:00
mirko
978d1a617b * Source/NSObjCRuntime.m (GSInstanceVariableInfo): fixes.
* Source/NSObject.m ([NSObject -handleQueryWithUnboundKey:]): raise an
exception.
([NSObject -handleTakeValue:forUnboundKey:]): changed exception.
([NSObject -unableToSetNilForKey:]): likewise.
([NSObject -storedValueForKey:]),
([NSObject -valueForKey:]): check for null selector before calling
respondsToSelector:
([NSObject -takeStoredValue:forKey:]),
([NSObject -takeValue:forKey:]): likewise. Call GSSetValue with correct
values.
(GSSetValue): fixed ivar implementation.
(GSGetValue): likewise.
([NSObject -methodSignatureForSelector:]): FreeBSD fix.
* Source/NSEnumerator.m|.h ([NSEnumerator -allObjects]): implemented.
* Source/Unicode.m (GetDefEncoding): do not emit the warning for
NSISOLatin1StringEncoding.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@8467 72102866-910b-0410-8b05-ffd578937521
2001-01-03 11:22:59 +00:00
richard
ae574b39a5 key-value coding fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@8246 72102866-910b-0410-8b05-ffd578937521
2000-12-02 21:36:56 +00:00
richard
744b14d815 Tidied
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@8220 72102866-910b-0410-8b05-ffd578937521
2000-11-28 09:29:21 +00:00
richard
3df5d8e527 Basic tidyup for start of support for apple runtime
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@7949 72102866-910b-0410-8b05-ffd578937521
2000-10-31 16:17:33 +00:00
richard
b1d5d768fb NSString rewrite/reorganisation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@7769 72102866-910b-0410-8b05-ffd578937521
2000-10-09 04:41:18 +00:00
fedor
302c691e79 Merge from dawn
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4853 72102866-910b-0410-8b05-ffd578937521
1999-09-09 02:56:20 +00:00
michael
a45234d75f Fixes bonaza.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4725 72102866-910b-0410-8b05-ffd578937521
1999-08-19 23:30:03 +00:00
richard
24f59ea2a0 Mostly tidying
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4465 72102866-910b-0410-8b05-ffd578937521
1999-06-24 19:30:29 +00:00
richard
e27f669f9d Minor param change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4287 72102866-910b-0410-8b05-ffd578937521
1999-05-25 06:41:48 +00:00
mguesdon
f55ff6a24d Thu Feb 11 19:25:00 1999 Manuel Guesdon <mguesdon@sbuilders.com>
* Source/NSObjCRuntime.m: Fixed error in GSGetInstanceVariable name:
        GSGetIinstanceVariable transformed to GSGetInstanceVariable


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3692 72102866-910b-0410-8b05-ffd578937521
1999-02-11 19:08:06 +00:00
richard
507bceeb41 Added functions to access instance variables.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3566 72102866-910b-0410-8b05-ffd578937521
1999-01-15 11:24:03 +00:00
fedor
3d949ca12d Makefile changes to compile thinkg in place.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3496 72102866-910b-0410-8b05-ffd578937521
1998-12-20 21:27:47 +00:00