Commit graph

5824 commits

Author SHA1 Message Date
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