Commit graph

5587 commits

Author SHA1 Message Date
rfm
c84aa38f48 remove obsolete typed stream inclusion
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31248 72102866-910b-0410-8b05-ffd578937521
2010-09-08 09:00:15 +00:00
theraven
b62db0e294 Improve the efficiency of NSObject's methodSignatureForSelector by:
- Moving the linear search over all of the method lists in the class hierarchy to the end.  If we found the type info in the protocol list, we were throwing this info away.  Doing something expensive and then discarding the result is generally not a good idea.

- Replacing the linear search of the method lists with a dtable lookup on libobjc2.  The type info for methods is part of the slot, so we only need to do the expensive search at all on the old runtime.  With libobjc2, type info lookup costs as little as IMP lookup, so doing things the slow way is not required.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31231 72102866-910b-0410-8b05-ffd578937521
2010-09-02 15:17:46 +00:00
theraven
952ea61cc7 Don't call __objc_resolve_class_links() if using the GNUstep runtime.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31229 72102866-910b-0410-8b05-ffd578937521
2010-09-01 16:13:44 +00:00
theraven
605a42ed53 Fix the return type of NSDistantObject +autorelease to return id, not void. Type-dependent dispatch in libobjc2 discovered that some things are picking up this method signature by accident and calling NSObject's -autorelease with the wrong types.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31224 72102866-910b-0410-8b05-ffd578937521
2010-08-31 22:02:38 +00:00
rfm
3f2de3c45f fix to allow reading from stdin
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31221 72102866-910b-0410-8b05-ffd578937521
2010-08-31 14:32:40 +00:00
rfm
e3073e043f fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31216 72102866-910b-0410-8b05-ffd578937521
2010-08-31 10:34:23 +00:00
rfm
58e55d4215 avid using windows threading api directly
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31215 72102866-910b-0410-8b05-ffd578937521
2010-08-31 10:32:14 +00:00
rfm
8b70f7ec9d fixup missing include
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31211 72102866-910b-0410-8b05-ffd578937521
2010-08-30 19:25:38 +00:00
rfm
9d29a2cc48 locking tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31210 72102866-910b-0410-8b05-ffd578937521
2010-08-30 19:16:30 +00:00
rfm
df44085cad thread fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31209 72102866-910b-0410-8b05-ffd578937521
2010-08-30 17:27:11 +00:00
jonathanosx
f5a7ed4073 * ObjectiveC2/sync.m -- Removed WEAK declaration
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31201 72102866-910b-0410-8b05-ffd578937521
2010-08-25 17:38:13 +00:00
wlux
50ba5b9db3 Restore lost assignments which ensure that only one NSFileHandle
exists for each of the standard channels. This fixes a bug where a run
loop might unexpectedly stop watching the standard channels.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31196 72102866-910b-0410-8b05-ffd578937521
2010-08-24 11:59:30 +00:00
rfm
37e8986b2c fixes for bug #29338
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31188 72102866-910b-0410-8b05-ffd578937521
2010-08-20 11:07:33 +00:00
rfm
f7193b19c0 Fix for NOB generation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31183 72102866-910b-0410-8b05-ffd578937521
2010-08-18 12:34:56 +00:00
rfm
871a3bfcfe use new runtime api directly to lookup selectors
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31182 72102866-910b-0410-8b05-ffd578937521
2010-08-18 10:45:27 +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
fbbfb632c8 better cope with null selectors.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31178 72102866-910b-0410-8b05-ffd578937521
2010-08-17 18:36:46 +00:00
rfm
658003a847 improve comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31173 72102866-910b-0410-8b05-ffd578937521
2010-08-17 07:35:20 +00:00
rfm
25ccbf3885 Simplify buffering and re-use single buffer for registrations and notifications
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31172 72102866-910b-0410-8b05-ffd578937521
2010-08-17 07:28:44 +00:00
rfm
4b837ea36a Fixes for bug #28104 by Wolfgang Lux and Richard Frith-Macdonald
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31171 72102866-910b-0410-8b05-ffd578937521
2010-08-17 07:13:05 +00:00
rfm
854bd4441e improve comment
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31118 72102866-910b-0410-8b05-ffd578937521
2010-08-11 11:20:52 +00:00
rfm
ad8c5801c5 obscure thread-safety fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31108 72102866-910b-0410-8b05-ffd578937521
2010-08-10 18:51:53 +00:00
rfm
e1a528b485 avoid some compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31107 72102866-910b-0410-8b05-ffd578937521
2010-08-10 10:38:50 +00:00
rfm
bffeaa25d7 tweak twelve hour clock support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31087 72102866-910b-0410-8b05-ffd578937521
2010-08-07 05:02:28 +00:00
dpsimons
52f4a372e7 Fix AM/PM parsing to recognize 12 AM as midnight not noon; require time zone if specified in format
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31084 72102866-910b-0410-8b05-ffd578937521
2010-08-06 16:20:19 +00:00
nicola
6aa37194f4 Added hack that should allow to load class lists of frameworks with a relative path (eg, if you have ../../MyFrameworks/ in your LD_LIBRARY_PATH you may be to load a framework with a relative path)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31037 72102866-910b-0410-8b05-ffd578937521
2010-07-26 14:08:22 +00:00
rfm
ff3aa75775 Revert/fix handling of -isEqualToString: for proxies and subclasses.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31018 72102866-910b-0410-8b05-ffd578937521
2010-07-22 06:06:39 +00:00
rfm
c3370a7023 fixups for windows api bugs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31010 72102866-910b-0410-8b05-ffd578937521
2010-07-21 08:24:32 +00:00
theraven
e3e8fb8dea Added a hack to allow the stuff GSString caches to be re-cached. Ideally we wouldn't be caching any of this stuff (or, with libobjc2, we'd be using the slot mechanism to invalidate the cache when required).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31005 72102866-910b-0410-8b05-ffd578937521
2010-07-19 17:10:46 +00:00
theraven
7003158ddd Do the same stupid thing Apple does (return NO), rather than the stupid thing we were doing (segfault), when passing a proxy as the argument to [NSString isEqualToString:] (which is called by [NSConstantString isEqualToString:] when the argument is a proxy).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31003 72102866-910b-0410-8b05-ffd578937521
2010-07-19 14:59:15 +00:00
thebeing
381f43eb72 Add sel_getType_np() function to the ObjectiveC2 compatibility framework.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31001 72102866-910b-0410-8b05-ffd578937521
2010-07-19 09:11:07 +00:00
rfm
0b2cac89a5 mingw fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30999 72102866-910b-0410-8b05-ffd578937521
2010-07-19 08:54:38 +00:00
rfm
8b1d3e61ba improve handling of user domain paths
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30998 72102866-910b-0410-8b05-ffd578937521
2010-07-19 08:34:29 +00:00
thebeing
3b00aacbfe Make NSLocale use information about libicu availablity (perviously, it would
never build the ICU stuff because the corresponding macro wasn't defined).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30995 72102866-910b-0410-8b05-ffd578937521
2010-07-19 07:54:52 +00:00
ericwa
82b2424b9a Fix base build with libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30988 72102866-910b-0410-8b05-ffd578937521
2010-07-16 18:00:45 +00:00
rfm
edcb35b59e remove excess error log
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30980 72102866-910b-0410-8b05-ffd578937521
2010-07-16 13:19:33 +00:00
theraven
0d8f26e852 Fix build with libobjc2.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30967 72102866-910b-0410-8b05-ffd578937521
2010-07-15 09:59:01 +00:00
rfm
71be31f01f attempt to get avahi code working without breaking abi.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30957 72102866-910b-0410-8b05-ffd578937521
2010-07-13 12:13:31 +00:00
thebeing
71b2a1ff73 Finnaly working NSNetServices via avahi-client.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30956 72102866-910b-0410-8b05-ffd578937521
2010-07-13 11:41:54 +00:00
rfm
15f33318ea fix ivar errors and missing import
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30955 72102866-910b-0410-8b05-ffd578937521
2010-07-13 11:21:46 +00:00
rfm
24fe21cde3 fixup for abi consistency
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30954 72102866-910b-0410-8b05-ffd578937521
2010-07-13 11:08:11 +00:00
thebeing
ed6b6fa1e7 Make base build again after the previous avahi-patch.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30953 72102866-910b-0410-8b05-ffd578937521
2010-07-13 10:59:41 +00:00
rfm
43339cc05e Attempt to integrate Niels Grewe's avahi code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30952 72102866-910b-0410-8b05-ffd578937521
2010-07-13 10:35:13 +00:00
rfm
f9c2cbbd92 fixup for error logging
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30913 72102866-910b-0410-8b05-ffd578937521
2010-07-03 05:54:56 +00:00
thebeing
632f343dc3 Fix makefile to copy common.h into $GNUSTEP_TARGET_DIR so that it is found when
building with a non-flattened namespace.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30908 72102866-910b-0410-8b05-ffd578937521
2010-07-01 10:15:37 +00:00
rfm
6f1e7e3af3 emergency fixup for broken build
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30907 72102866-910b-0410-8b05-ffd578937521
2010-07-01 07:17:53 +00:00
theraven
152e3bf818 Added class for catching C++ exceptions. When using libobjc2, you can catch C++ exceptions by writing @catch(CXXException *e). This will wrap the C++ exception in an Objective-C object and allow you to access it by sending a -thrownValue message to the object. This returns a pointer to the exception. For example, if the exception is an integer, you would retrieve it like this from Objective-C:
@catch(CXXException *e)
{
	int i = *(int*)[e thrownValue];
}

In ObjC++, you can also make sure that it really is an int, by doing:

assert(typeid(int) == *(std::type_info*)[e cxx_type_info]);

These interfaces are experimental and subject to change without notice.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30904 72102866-910b-0410-8b05-ffd578937521
2010-06-30 13:08:22 +00:00
thebeing
56a362254b Protect runtime.h from multiple inclusion.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30898 72102866-910b-0410-8b05-ffd578937521
2010-06-30 04:44:03 +00:00
rfm
ea9e668cb0 Use inttypes.h rather than stdint.h ... supported on more platforms
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30888 72102866-910b-0410-8b05-ffd578937521
2010-06-29 08:23:52 +00:00
rfm
9a8cb3c0bb add workaround for buggy solaris systems
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30887 72102866-910b-0410-8b05-ffd578937521
2010-06-29 07:02:27 +00:00