Richard Frith-MacDonald
b6f476a7eb
Cleanups plus minor OSX compatibility tweak
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31781 72102866-910b-0410-8b05-ffd578937521
2010-12-27 07:03:50 +00:00
David Chisnall
7a80adeb9b
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
Richard Frith-MacDonald
f784646663
generalize define from __MINGW32__ to __MINGW__
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30001 72102866-910b-0410-8b05-ffd578937521
2010-03-19 12:10:11 +00:00
Richard Frith-MacDonald
d763014aa5
cleanup fast enumeration issues
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29647 72102866-910b-0410-8b05-ffd578937521
2010-02-15 16:56:31 +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
e0c9ae4e2d
pass more info to notification functions
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29068 72102866-910b-0410-8b05-ffd578937521
2009-11-27 07:53:38 +00:00
Richard Frith-MacDonald
79b93a4901
more GC improvements
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28220 72102866-910b-0410-8b05-ffd578937521
2009-04-15 08:03:19 +00:00
Richard Frith-MacDonald
5921606e39
gc improvements
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28192 72102866-910b-0410-8b05-ffd578937521
2009-04-10 08:25:03 +00:00
Richard Frith-MacDonald
bc9468c45f
More moves towards OSX 10.5 GC compatibility.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28054 72102866-910b-0410-8b05-ffd578937521
2009-03-09 15:11:51 +00:00
Richard Frith-MacDonald
24d43481a8
Updates for 10.5 API changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27962 72102866-910b-0410-8b05-ffd578937521
2009-02-23 20:42:32 +00:00
Richard Frith-MacDonald
f2a92b88ec
Add more fast enumeration code
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27712 72102866-910b-0410-8b05-ffd578937521
2009-01-28 13:31:00 +00:00
Richard Frith-MacDonald
940de12cab
More garbage collection updates/fixes.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27590 72102866-910b-0410-8b05-ffd578937521
2009-01-13 15:57:38 +00:00
Richard Frith-MacDonald
c2b6a65594
Some optimisation.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26783 72102866-910b-0410-8b05-ffd578937521
2008-07-15 06:57:01 +00:00
Richard Frith-MacDonald
bf8c928b7e
Tidy executable memory support
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26731 72102866-910b-0410-8b05-ffd578937521
2008-06-29 18:44:41 +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
d8a3ed9cba
Fix deadlock and revert previous change
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26603 72102866-910b-0410-8b05-ffd578937521
2008-06-07 05:44:58 +00:00
Richard Frith-MacDonald
cceb2a06c3
Simplification ... remove internal private functiuon and use public method.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26602 72102866-910b-0410-8b05-ffd578937521
2008-06-07 05:32:15 +00:00
Richard Frith-MacDonald
f7fd0a7bec
More thread changes for MacOS-X compatibility
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26340 72102866-910b-0410-8b05-ffd578937521
2008-03-18 05:45:05 +00:00
Richard Frith-MacDonald
5d8174ac84
Complete update of NSThread for MacOS-X 10.5 compatibility. Needs testing.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26332 72102866-910b-0410-8b05-ffd578937521
2008-03-17 15:23:11 +00:00
Richard Frith-MacDonald
9c36ec10dd
Improved stacktrace/debug handling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25667 72102866-910b-0410-8b05-ffd578937521
2007-12-03 14:13:57 +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
9a44af0e80
Various URL handling improvments.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25154 72102866-910b-0410-8b05-ffd578937521
2007-05-14 16:55:16 +00:00
Richard Frith-MacDonald
9feda6fdf4
Improve native locale integration and mswindows usability.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24871 72102866-910b-0410-8b05-ffd578937521
2007-03-14 16:04:13 +00:00
Richard Frith-MacDonald
272d712be3
improve error checking and reporting when making a tcp/ip connection.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24168 72102866-910b-0410-8b05-ffd578937521
2006-11-29 19:57:38 +00:00
Richard Frith-MacDonald
c22b722f1f
add some more cset encoding support
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23989 72102866-910b-0410-8b05-ffd578937521
2006-10-29 09:17:05 +00:00
Richard Frith-MacDonald
e26157d901
hash tidyups and rewrite of array sorting for better performance.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23967 72102866-910b-0410-8b05-ffd578937521
2006-10-26 08:33:40 +00:00
Richard Frith-MacDonald
d99f06f398
Fix check of visibility
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23964 72102866-910b-0410-8b05-ffd578937521
2006-10-25 14:55:57 +00:00
Richard Frith-MacDonald
f5ed515ec0
Avoild some linker errors and warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23963 72102866-910b-0410-8b05-ffd578937521
2006-10-25 14:46:36 +00:00
Richard Frith-MacDonald
981bd40faf
Minor symbol visibility cleanups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23952 72102866-910b-0410-8b05-ffd578937521
2006-10-23 14:47:37 +00:00
Richard Frith-MacDonald
2e258c4d7c
Make another couple of functions truly private
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23922 72102866-910b-0410-8b05-ffd578937521
2006-10-20 12:57:59 +00:00
Richard Frith-MacDonald
0ebe68ae48
More code tidyups and NSError updates.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23921 72102866-910b-0410-8b05-ffd578937521
2006-10-20 10:56:27 +00:00
Richard Frith-MacDonald
0d0ae9d9a8
More tidyups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23914 72102866-910b-0410-8b05-ffd578937521
2006-10-19 13:51:19 +00:00
Richard Frith-MacDonald
fd98041ec7
Experiment with function visibility ... try caching locale dictionary to be
...
accessed from a function yet invisible outside the base library even when
caching is done in the Additions subproject.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23903 72102866-910b-0410-8b05-ffd578937521
2006-10-18 15:36:52 +00:00
Richard Frith-MacDonald
6f2073da6e
more work on hding external symbols and simplifying.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23890 72102866-910b-0410-8b05-ffd578937521
2006-10-16 09:30:18 +00:00
Richard Frith-MacDonald
eae859d1c7
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
David Ayers
912b71ee57
* Source/GSPrivate.h (GSCharPtr): New union type to handle
...
alignment issues.
(GSString): Use it.
* Source/GSString.m
([-initWithBytesNoCopy:length:encoding:freeWhenDone:]): Use GSCharPtr
instead of casts to avoid alignment issues. Fix typo's.
* Source/NSString.m
([-initWithBytesNoCopy:length:encoding:freeWhenDone:]): Correct grammar
in comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23009 72102866-910b-0410-8b05-ffd578937521
2006-05-30 11:19:44 +00:00
Richard Frith-MacDonald
32bd52f23c
Tidy to avoid some external symbols
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22631 72102866-910b-0410-8b05-ffd578937521
2006-03-10 10:46:37 +00:00
Richard Frith-MacDonald
c2e8c881e7
Some cleanup in preparation for next release.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22618 72102866-910b-0410-8b05-ffd578937521
2006-03-08 11:28:59 +00:00
Richard Frith-MacDonald
5d671ce847
fixup some private declarations accidentally left in public header
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22568 72102866-910b-0410-8b05-ffd578937521
2006-02-23 15:45:43 +00:00
Richard Frith-Macdonald
7c0bb1668c
Try reversion again.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22017 72102866-910b-0410-8b05-ffd578937521
2005-11-15 13:07:09 +00:00
Richard Frith-Macdonald
07e83d38c1
Consistency improvements.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22012 72102866-910b-0410-8b05-ffd578937521
2005-11-15 11:25:31 +00:00
Adam Fedor
fcc13ccd0f
* 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
Richard Frith-Macdonald
2defc1af93
Minor enhancement to improve debugging
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20775 72102866-910b-0410-8b05-ffd578937521
2005-02-22 14:06:28 +00:00
Richard Frith-Macdonald
5f8b76348f
Fix variuus minor bugs reported by Andre Levy
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20020 72102866-910b-0410-8b05-ffd578937521
2004-09-07 14:27:14 +00:00
Richard Frith-Macdonald
c6df2e3852
Restructuring and various optimisations to drastically improve appendFormat:
...
performance.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19307 72102866-910b-0410-8b05-ffd578937521
2004-05-14 10:52:30 +00:00
Richard Frith-Macdonald
c8b5bed53f
Updated keyed coding to a (hopefully) useable state
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18480 72102866-910b-0410-8b05-ffd578937521
2004-01-25 18:39:20 +00:00
Alexander Malmberg
74254e40b2
Fix spelling errors in comments.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18261 72102866-910b-0410-8b05-ffd578937521
2003-12-23 17:22:06 +00:00
David Ayers
fe44315405
* Source/GSPrivate.h (GS_REPLACE_CONSTANT_STRING): New macro.
...
* Source/externs.m: Initialize constant strings statically.
(GSBuildStrings): Replace static strings with dynamic
versions.
* Testing/benchmark.m: Added tests for NSString -hash and
-copy. Aligned ouput.
* Testing/externs.m: New test.
* Testing/GNUmakefile: Added externs.m test. Activated
ADDITIONAL_TOOLS tests excluding gstcpport tests.
* Source/Additions/GSCategories.m: Adjust declared lock type.
Added comment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18058 72102866-910b-0410-8b05-ffd578937521
2003-11-06 21:11:39 +00:00
Alexander Malmberg
6d7a021d6c
Reorganize GSString class hierarchy. Update users.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18050 72102866-910b-0410-8b05-ffd578937521
2003-11-05 02:11:49 +00:00
Richard Frith-Macdonald
9e2e3b1b45
Minor tidyp ... change a couple of macro names
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17904 72102866-910b-0410-8b05-ffd578937521
2003-10-16 20:41:50 +00:00
Richard Frith-Macdonald
ed86931bea
Simplify last change a little for readability.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17861 72102866-910b-0410-8b05-ffd578937521
2003-10-14 09:09:06 +00:00
Richard Frith-Macdonald
2ed87acf65
Tweak to prevent stack overflow on windows, without significant loss of
...
performance ... use stack for smallish temporary storage, but heap for
larger storage requirements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17860 72102866-910b-0410-8b05-ffd578937521
2003-10-14 09:00:42 +00:00
Richard Frith-Macdonald
8355371659
Trivial tidyups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14959 72102866-910b-0410-8b05-ffd578937521
2002-11-09 06:45:31 +00:00
Richard Frith-Macdonald
c0b0abdbd1
Implemented NSZombie stuff
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13247 72102866-910b-0410-8b05-ffd578937521
2002-03-27 09:55:57 +00:00
Richard Frith-Macdonald
3ee7db1018
Low level character encoding rewrite.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13133 72102866-910b-0410-8b05-ffd578937521
2002-03-16 09:54:50 +00:00
Richard Frith-Macdonald
85a0e0e943
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