Commit graph

376 commits

Author SHA1 Message Date
rfm
b76f96c56a Revert code which belongs in gdl2 rather than base
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30508 72102866-910b-0410-8b05-ffd578937521
2010-05-31 07:18:54 +00:00
dwetzel
d472dbd2c1 added encodingNamed:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30507 72102866-910b-0410-8b05-ffd578937521
2010-05-31 06:34:28 +00:00
rfm
79083336bb quick fix t get trunk compiling again.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30444 72102866-910b-0410-8b05-ffd578937521
2010-05-22 04:41:32 +00:00
rmottola
8a0eba3629 Guarded stdint.h inclusion
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30438 72102866-910b-0410-8b05-ffd578937521
2010-05-21 11:05:33 +00:00
rfm
dc9dd5d35d add missing methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30283 72102866-910b-0410-8b05-ffd578937521
2010-05-03 06:00:45 +00:00
fredkiefer
b917dac92b Add a few missing 10.4 initWithContentsOfXXX: methods. Fixes part of bug report #29736.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30279 72102866-910b-0410-8b05-ffd578937521
2010-05-02 11:02:26 +00:00
rfm
05a78f7b78 fix comment accidentally copied from +load
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30131 72102866-910b-0410-8b05-ffd578937521
2010-04-12 13:22:35 +00:00
rfm
4bfb33471d Correction by David Ayers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30129 72102866-910b-0410-8b05-ffd578937521
2010-04-12 12:01:17 +00:00
rfm
9a29721801 tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30126 72102866-910b-0410-8b05-ffd578937521
2010-04-12 11:25:32 +00:00
rfm
40e2c94d2b improve documentation ... really runtime features but we don't have dos for that
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30125 72102866-910b-0410-8b05-ffd578937521
2010-04-12 11:19:08 +00:00
rfm
b9c89882c2 fix typos
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30049 72102866-910b-0410-8b05-ffd578937521
2010-03-27 05:31:54 +00:00
theraven
5cb3f71970 Fix for Foundation.h being imported after CoreFoundation.h; don't redefine OSType if it's already defined.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30047 72102866-910b-0410-8b05-ffd578937521
2010-03-27 00:33:03 +00:00
rfm
1a5d643771 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
rfm
4efc5d8104 improve exception support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29898 72102866-910b-0410-8b05-ffd578937521
2010-03-11 07:22:10 +00:00
rfm
0ec0645f11 fix includes to iumports
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29894 72102866-910b-0410-8b05-ffd578937521
2010-03-10 14:53:51 +00:00
fedor
804c45c26c Finish implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29893 72102866-910b-0410-8b05-ffd578937521
2010-03-10 03:50:21 +00:00
rfm
2c8290830e check for loss of data on decoding
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29887 72102866-910b-0410-8b05-ffd578937521
2010-03-09 10:09:01 +00:00
rfm
95ced52af1 Move NSStream addition declarations to separate file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29853 72102866-910b-0410-8b05-ffd578937521
2010-03-05 12:41:40 +00:00
rfm
8cf8c5ff72 Remove obsolete headers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29850 72102866-910b-0410-8b05-ffd578937521
2010-03-05 10:32:15 +00:00
rfm
5ca5ff96ef further cleanup ... always use -zone method to get an object's zone ...
so people can safely write subclasses using different allocation schemes.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29847 72102866-910b-0410-8b05-ffd578937521
2010-03-05 09:30:18 +00:00
rfm
c49cb5cc49 Fix header error spotted by Fred
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29817 72102866-910b-0410-8b05-ffd578937521
2010-03-02 09:51:12 +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
theraven
08c1acb850 Added a couple of convenience methods on NSString (OS X 10.5 compatibility).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29810 72102866-910b-0410-8b05-ffd578937521
2010-02-28 23:37:22 +00:00
rfm
3a49540942 mprove ifdef's for non-fragile-abi
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29809 72102866-910b-0410-8b05-ffd578937521
2010-02-28 19:43:35 +00:00
rfm
1a6af09e33 remove a few obsolete, unused methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29785 72102866-910b-0410-8b05-ffd578937521
2010-02-27 06:53:43 +00:00
rfm
85191c6fc9 inon-fragile ivar update
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29780 72102866-910b-0410-8b05-ffd578937521
2010-02-26 11:04:14 +00:00
rfm
837c59689b improve instance variable hiding
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29779 72102866-910b-0410-8b05-ffd578937521
2010-02-26 10:25:35 +00:00
rfm
9fec2dc13d compatibility and portability fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29736 72102866-910b-0410-8b05-ffd578937521
2010-02-25 10:00:48 +00:00
rfm
c3a2504688 Cleanup some deprecated code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29730 72102866-910b-0410-8b05-ffd578937521
2010-02-25 08:19:52 +00:00
rfm
bea3004de9 Move gnustep specific macros
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29729 72102866-910b-0410-8b05-ffd578937521
2010-02-25 05:36:10 +00:00
rfm
48070cb1ca Build with non-fragile ivars.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29715 72102866-910b-0410-8b05-ffd578937521
2010-02-24 10:23:47 +00:00
rfm
9189582040 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
rfm
4904fa442a preparation for possibly excluding GNUstep extensions by default
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29690 72102866-910b-0410-8b05-ffd578937521
2010-02-20 17:16:23 +00:00
rfm
f30057c85f More include tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29671 72102866-910b-0410-8b05-ffd578937521
2010-02-19 14:21:02 +00:00
rfm
47810e15de 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
rfm
5f3f4452c2 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
rfm
e689e6a654 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
rfm
7293e19429 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
rfm
cad5f56a44 Enable 64bit api changes matching OSX 10.5
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29650 72102866-910b-0410-8b05-ffd578937521
2010-02-15 17:51:07 +00:00
rfm
cc174e1b2e 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
theraven
e486341176 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
rfm
efab71bc46 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
rfm
f13d56d8ec 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
theraven
d0b66e510d 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
rfm
3dce849c75 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
rfm
29b9911e0d 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
rfm
1412e70c06 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
rfm
caa3898ca2 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
rfm
ad5c68529b 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
rfm
64cbdbcbe9 implement and document NSOperation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29476 72102866-910b-0410-8b05-ffd578937521
2010-02-04 16:47:45 +00:00