Commit graph

5287 commits

Author SHA1 Message Date
Richard Frith-MacDonald
76debb89f3 fix bug #28939
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29694 72102866-910b-0410-8b05-ffd578937521
2010-02-21 06:33:24 +00:00
Richard Frith-MacDonald
dd42cc24ba Move includes to NSObjCRuntime.h to match OSX
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29692 72102866-910b-0410-8b05-ffd578937521
2010-02-20 18:32:07 +00:00
Richard Frith-MacDonald
ec2ebc1c47 tweaks to avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29691 72102866-910b-0410-8b05-ffd578937521
2010-02-20 18:05:00 +00:00
Richard Frith-MacDonald
c7fc73ec19 make runtime.h available to other code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29684 72102866-910b-0410-8b05-ffd578937521
2010-02-20 06:49:32 +00:00
Richard Frith-MacDonald
d819b3a645 remove useless calls to zone of class
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29677 72102866-910b-0410-8b05-ffd578937521
2010-02-19 19:37:04 +00:00
Richard Frith-MacDonald
012fa8e513 Make NSNumber more like OSX ... retain for copy, and return YES/NO as BOOL
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29676 72102866-910b-0410-8b05-ffd578937521
2010-02-19 19:23:03 +00:00
Richard Frith-MacDonald
42143bb921 make objc2 compatibility code compile on mingw
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29674 72102866-910b-0410-8b05-ffd578937521
2010-02-19 16:33:44 +00:00
Richard Frith-MacDonald
8d72e6f951 Don't build synchronisation.m ... I don't think we need it any more.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29673 72102866-910b-0410-8b05-ffd578937521
2010-02-19 15:30:27 +00:00
Richard Frith-MacDonald
08e1c8703c Avoid failure with older complilers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29672 72102866-910b-0410-8b05-ffd578937521
2010-02-19 15:15:24 +00:00
Richard Frith-MacDonald
073595b9e9 Attempt to link in ObjC2 compatibility code if we have an older runtime.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29670 72102866-910b-0410-8b05-ffd578937521
2010-02-19 12:51:02 +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
14a557fcd7 avoid obsolete include
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29667 72102866-910b-0410-8b05-ffd578937521
2010-02-18 16:27:32 +00:00
Richard Frith-MacDonald
85760d2563 move a bit more stuff into additions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29666 72102866-910b-0410-8b05-ffd578937521
2010-02-18 16:18:54 +00:00
Richard Frith-MacDonald
6a1ff80510 Backward compatibility fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29663 72102866-910b-0410-8b05-ffd578937521
2010-02-18 11:40:58 +00:00
Richard Frith-MacDonald
cccddb4573 Fix errors spotted by Fred
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29662 72102866-910b-0410-8b05-ffd578937521
2010-02-18 08:45:00 +00:00
Richard Frith-MacDonald
746afbcb53 Update integer limits code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29661 72102866-910b-0410-8b05-ffd578937521
2010-02-18 07:06:42 +00:00
Richard Frith-MacDonald
7cd2a7551b fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29660 72102866-910b-0410-8b05-ffd578937521
2010-02-17 22:27:53 +00:00
Richard Frith-MacDonald
b0e48ab456 fix uninitialised variable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29659 72102866-910b-0410-8b05-ffd578937521
2010-02-17 14:23:25 +00:00
Richard Frith-MacDonald
92bceae15f standardise on using c99 limits (define old values to the new ones)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29658 72102866-910b-0410-8b05-ffd578937521
2010-02-17 12:07:48 +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
43bcaac3ad Attempt to allow documentation to be generated for uninstalled base package.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29655 72102866-910b-0410-8b05-ffd578937521
2010-02-16 19:51:52 +00:00
Richard Frith-MacDonald
563261266c Patch by Niels Grewe
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29654 72102866-910b-0410-8b05-ffd578937521
2010-02-16 17:34:05 +00:00
Richard Frith-MacDonald
7c835b66a7 tidy
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29653 72102866-910b-0410-8b05-ffd578937521
2010-02-16 17:17:54 +00:00
Richard Frith-MacDonald
7e8e79ae94 avoid unnecessary requests for signatures to remote process
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29652 72102866-910b-0410-8b05-ffd578937521
2010-02-16 17:08:47 +00:00
Wolfgang Lux
c815ae549b Fix bug where GSToUnicode attempted to read from a null pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29651 72102866-910b-0410-8b05-ffd578937521
2010-02-16 12:46:50 +00:00
Richard Frith-MacDonald
2d237c91ae remove obsolete invocation stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29649 72102866-910b-0410-8b05-ffd578937521
2010-02-15 17:14:12 +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
Fred Kiefer
942806e3ee * Source/NSAttributedString.m: Implement keyed decoding for
multiple attributes correctly.
  Based on code by Nikolaus Schaller <hns@computer.org>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29645 72102866-910b-0410-8b05-ffd578937521
2010-02-15 13:58:03 +00:00
Richard Frith-MacDonald
5297a2e32b Rewrite NSNumber code to compile on most systems and to mostly conform to
style/coding standards.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29639 72102866-910b-0410-8b05-ffd578937521
2010-02-15 10:58:34 +00:00
Richard Frith-MacDonald
e13fce3def fix broken includes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29630 72102866-910b-0410-8b05-ffd578937521
2010-02-14 17:14:34 +00:00
Richard Frith-MacDonald
d2f84d8995 Restore working NSNumber pending fixes to new version to get it to compile
and conform to coding standards/style.  Should get svn trunk working again.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29629 72102866-910b-0410-8b05-ffd578937521
2010-02-14 16:32:02 +00:00
Richard Frith-MacDonald
90d79190f3 fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29628 72102866-910b-0410-8b05-ffd578937521
2010-02-14 16:28:51 +00:00
David Chisnall
15aa0e6fbb Imported ObjectiveC2 framework.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29625 72102866-910b-0410-8b05-ffd578937521
2010-02-14 15:29:20 +00:00
Richard Frith-MacDonald
eda0f191e7 Avoid accidental include of Foundation.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29620 72102866-910b-0410-8b05-ffd578937521
2010-02-14 13:52:29 +00:00
David Chisnall
99cb20ae16 Rewritten NSNumber implementation. This fixes several OS X-compatibility issues:
The -pointerValue method now returns the value cast to a pointer, not some random value, as the documentation says it should.  This is a change from OpenStep, which said:

> It's an error to send this message to an NSValue that doesn't store a pointer.

The OS X docs now say:

> The receiver's value as a pointer to void. If the receiver was not created to hold a pointer-sized data item, the result is undefined.

This means that any NSNumber created with a word-sized integer should return the same value.

Fixed a number of corner-cases in the compare: implementation caused by incorrect type promotion.  The OS X docs say:

> The compare: method follows the standard C rules for type conversion.

The OS X implementation does not do this.  We now match Apple's conversion rules bug-for-bug: Every value is stored in the smallest signed type that will hold it, unless there is no unsigned type that can hold it, in which case it is stored in an `unsigned long long`, comparisons between integer and floating point values cast both to a double, comparisons between integer types perform a real comparison (so an unsigned long long is always greater than any negative number, at any precision).  The Apple implementation is actually quite sane, it is just completely unrelated to the documentation in any way.

We now use the same range of reusable objects.  Note that there is an error in Cocoa Design Patterns in the description of how Apple's implementation works.  Do not use this as a reference.

We now return `nil` when an NSNumber is sent an -init message.  This is consistent with Apple's implementation but breaks some things in the GNUstep test suite (which RFM said he will fix).

There is a small change in NSValue.h so that the locale parameter is now an `id` not an `NSString*`.  This is because, under recent OS X, it may also be an `NSLocale` instance.  I am not sure how much GNUstep supports `NSLocale`, but this change shouldn't affect anything.

The new (private) GSNumberTypes.h file lets you define macros that are instantiated with each of the names of primitive C types.  These might be useful for simplifying other classes that have -intValue, -floatValue, and so on methods, such as the `NSCell` family.

The old NSConcreteNumberTemplate and NSConcreteNumber stuff has been removed.  The code is now a bit more than 10% of the size of the old NSNumber code, and is hopefully maintainable now, so the next change won't require a complete rewrite.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29618 72102866-910b-0410-8b05-ffd578937521
2010-02-14 12:57:44 +00:00
Richard Frith-MacDonald
79ce6ac700 minor include fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29616 72102866-910b-0410-8b05-ffd578937521
2010-02-14 11:01:08 +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
David Chisnall
6bf6ec959b Made NSAllocateObject() and NSDeallocateObject() use / take id instead of NSObject*. This matches Apple's definition and gets rid of 'assignment / initialization from distinct Objective-C type' warnings when you use NSAllocateObject() to create an instance without an explicit cast.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29611 72102866-910b-0410-8b05-ffd578937521
2010-02-13 17:33:23 +00:00
Nicola Pero
071e91adab Removed obsolete manual dependency rules in gnustep-base Makefile.postamble
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29563 72102866-910b-0410-8b05-ffd578937521
2010-02-11 22:40:35 +00:00
Nicola Pero
08d4ae4d8d Preliminary fix for allowing to build libraries in parallel
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29553 72102866-910b-0410-8b05-ffd578937521
2010-02-11 17:50:01 +00:00
Riccardo Mottola
adecb6d9fe Move declaration upwards to fix compile error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29519 72102866-910b-0410-8b05-ffd578937521
2010-02-09 08:08:26 +00:00
Richard Frith-MacDonald
55d4f390aa re-instate cleaned up version of string proxy code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29518 72102866-910b-0410-8b05-ffd578937521
2010-02-09 06:07:10 +00:00
Richard Frith-MacDonald
d280d6ba60 explicit initialise of handler
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29516 72102866-910b-0410-8b05-ffd578937521
2010-02-08 20:33:40 +00:00
Richard Frith-MacDonald
166ad33aa4 remove redundant line and improve comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29515 72102866-910b-0410-8b05-ffd578937521
2010-02-08 20:24:12 +00:00
Richard Frith-MacDonald
baf489409c Farious fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29513 72102866-910b-0410-8b05-ffd578937521
2010-02-08 17:52:36 +00:00
Jonathan Gillaspie
afbeacef8b Removed redundant call to _NSFoundationUncaughtExceptionHandler and added else blocks to allow a set uncaught exception handler to NOT exit if capable of recovering.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29511 72102866-910b-0410-8b05-ffd578937521
2010-02-08 17:15:57 +00:00
Richard Frith-MacDonald
6c84f23ae1 Coimplete operation queue implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29508 72102866-910b-0410-8b05-ffd578937521
2010-02-08 10:34:27 +00:00
Richard Frith-MacDonald
0dec7f1b97 NSOperationQueue additions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29495 72102866-910b-0410-8b05-ffd578937521
2010-02-06 17:10:16 +00:00
Richard Frith-MacDonald
9f98d4c443 tweak for OSX compatibility
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29480 72102866-910b-0410-8b05-ffd578937521
2010-02-05 11:41:24 +00:00
Richard Frith-MacDonald
1a353d2514 don't try to cleanup on main thread exit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29478 72102866-910b-0410-8b05-ffd578937521
2010-02-04 18:04:13 +00:00