Commit graph

234 commits

Author SHA1 Message Date
Richard Frith-MacDonald
3569303331 documentation cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34015 72102866-910b-0410-8b05-ffd578937521
2011-10-17 10:59:02 +00:00
Richard Frith-MacDonald
eb8b275c1f internal workaround for clang namespace pollution.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33993 72102866-910b-0410-8b05-ffd578937521
2011-10-14 15:46:13 +00:00
Richard Frith-MacDonald
aae4782eb3 Make the use of nil for a file URL path raise an invalid argument exception
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33939 72102866-910b-0410-8b05-ffd578937521
2011-10-04 05:40:29 +00:00
Richard Frith-MacDonald
d8432fad48 Minor fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33916 72102866-910b-0410-8b05-ffd578937521
2011-09-30 20:31:15 +00:00
David Chisnall
433554830d Fix the build with the pure non-fragile ABI by declaring macros before using them.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33724 72102866-910b-0410-8b05-ffd578937521
2011-08-13 15:28:22 +00:00
David Chisnall
b85364de7e Cleanup:
- (void)release;
to
- (oneway void)release;
so everything implementing -release actually implements the one declared in the NSObject protocol.

Start marking things that are unavailable in ARC mode as unavailable in ARC mode.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33660 72102866-910b-0410-8b05-ffd578937521
2011-07-31 15:31:39 +00:00
Fred Kiefer
dbd9d19e8f Add a few 10.6 NSURL methods to NSBundle.
Based on patch by julian.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33367 72102866-910b-0410-8b05-ffd578937521
2011-06-22 23:01:01 +00:00
David Chisnall
7764740bdc Make -drain and -release in NSAutoreleasePool do the same thing (rather than one calling the other) in non-GC mode.
Replace all -release messages sent to autorelease pools with -drain.  In non-GC mode, these are equivalent.  In GC mode, these trigger a collection.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33143 72102866-910b-0410-8b05-ffd578937521
2011-05-27 11:48:44 +00:00
David Chisnall
6068e9484c Initial pass at implementing fully Apple-compatible GC. This requires the code to be built with -fobjc-gc or -fobjc-gc-only, and requires a runtime that implements all of the support functions (GNUstep runtime trunk or 1.5 when it's release).
Currently, there are a few places where we should be calling NSAllocateCollectable() without NSScannedOption, but are actually calling NSZoneMalloc() unless we're in GC mode.  We should not need separate code paths for this anywhere outside NSZone, since NSAllocateCollectable() will work in non-GC mode as well.

A few of the changes should be tweaked slightly so that they do run-time tests.  For example, when compiling with -fobjc-gc, we may be linked against non-GC code, which will use -retain and -release but won't use the memory barriers.  Supporting this nicely is a lot of effort, and I'm not fully convinced it's a good idea.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33104 72102866-910b-0410-8b05-ffd578937521
2011-05-24 14:43:27 +00:00
Richard Frith-MacDonald
afc2ef7de8 fix main bundle path
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33088 72102866-910b-0410-8b05-ffd578937521
2011-05-23 10:51:58 +00:00
Richard Frith-MacDonald
d9d0d1b6fd portability bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32769 72102866-910b-0410-8b05-ffd578937521
2011-04-04 10:57:49 +00:00
Richard Frith-MacDonald
74eac99280 add last night's changes based on static analyser results.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32507 72102866-910b-0410-8b05-ffd578937521
2011-03-09 10:24:18 +00:00
Richard Frith-MacDonald
62a00dd0a8 fix for bug #32564 ?
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32462 72102866-910b-0410-8b05-ffd578937521
2011-03-05 16:33:24 +00:00
Richard Frith-MacDonald
360e28f269 User defaults language/setup restructuring
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32454 72102866-910b-0410-8b05-ffd578937521
2011-03-05 07:54:05 +00:00
Richard Frith-MacDonald
d18e29dde8 avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32417 72102866-910b-0410-8b05-ffd578937521
2011-02-28 19:49:57 +00:00
Richard Frith-MacDonald
c7c3b61563 Try to make sure we have an absolute path for executables
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32291 72102866-910b-0410-8b05-ffd578937521
2011-02-22 12:22:49 +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
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
Nicola Pero
30f098f9f8 Updated code to compile with GCC 4.6 and the new GNU Objective-C runtime
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31765 72102866-910b-0410-8b05-ffd578937521
2010-12-23 02:23:05 +00:00
Wolfgang Lux
4fad29abb5 Tweaks for running on Darwin aka OS X.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31366 72102866-910b-0410-8b05-ffd578937521
2010-09-17 20:23:48 +00:00
David Chisnall
4488708e84 Fix a load of warnings from implicit function declarations. A lot were caused by ctype.h and string.h stuff being used everywhere in GNUstep but not included anywhere - they're now included in common.h (at least string.h should also be in Foundation.h - on OS X it is implicitly included via some chain of things from Foundation.h).
All of the sel_* stuff is now replaced with the newer APIs.  As a side-effect, a blob of code that was copied-and-pasted all over GNUstep has now been moved into ObjectiveC2 and just called.

Class posing with libobjc2 will now throw an exception, rather than just aborting.  



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31268 72102866-910b-0410-8b05-ffd578937521
2010-09-09 16:30:10 +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
Nicola Pero
ca9c384b3d 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
Richard Frith-MacDonald
48a9a7cfab Implement keyed coding for NSURL.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30853 72102866-910b-0410-8b05-ffd578937521
2010-06-25 13:38:06 +00:00
Richard Frith-MacDonald
4b6a428200 Fix error in last change (remove unnecessary check).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30834 72102866-910b-0410-8b05-ffd578937521
2010-06-23 09:00:19 +00:00
Richard Frith-MacDonald
58cf61920a Tweak path extension handling
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30833 72102866-910b-0410-8b05-ffd578937521
2010-06-23 07:21:01 +00:00
Richard Frith-MacDonald
4707e0b7e4 fix broken tool resource lookup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30212 72102866-910b-0410-8b05-ffd578937521
2010-04-21 21:49:12 +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
b730fa45c0 zero self after dealloc if we are going to call another method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29837 72102866-910b-0410-8b05-ffd578937521
2010-03-04 12:24:43 +00:00
Richard Frith-MacDonald
fab825f3bb pply bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29782 72102866-910b-0410-8b05-ffd578937521
2010-02-26 15:07:16 +00:00
Richard Frith-MacDonald
c07dc48eb3 more header reorganisation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29731 72102866-910b-0410-8b05-ffd578937521
2010-02-25 08:36:34 +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
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
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
a2348e55ae fix for bundle loading on wndows when we don't have the dll path extension
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28292 72102866-910b-0410-8b05-ffd578937521
2009-05-22 17:16:24 +00:00
Fred Kiefer
b85f364024 * Source/NSBundle.m (-localizedStringForKey:value:table): Correct
output when NSShowNonLocalizedStrings is YES.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28013 72102866-910b-0410-8b05-ffd578937521
2009-03-01 17:39:09 +00:00
Richard Frith-MacDonald
eabab217de bugfix for garbage collecting
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27787 72102866-910b-0410-8b05-ffd578937521
2009-02-04 20:47:09 +00:00
Richard Frith-MacDonald
952af9c197 garbage collection fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27578 72102866-910b-0410-8b05-ffd578937521
2009-01-12 12:48:46 +00:00
Richard Frith-MacDonald
988f583f7d Fixes for pathForResource... methods to match MacOS-X and be more efficient.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27558 72102866-910b-0410-8b05-ffd578937521
2009-01-08 10:40:13 +00:00
Gregory John Casamento
e7454ec280 * Source/NSBundle.m: Correct issue where *-gnustep.* is not
searched for when explicitly calling pathForResource:...


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27557 72102866-910b-0410-8b05-ffd578937521
2009-01-07 21:38:27 +00:00
Gregory John Casamento
130e8f5592 * Source/NSBundle.m: Use CFBundleExecutable if NSExecutable isn't
present when loading the bundle object code.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27526 72102866-910b-0410-8b05-ffd578937521
2009-01-05 22:51:48 +00:00
Richard Frith-MacDonald
b87b7a7b33 Handle nil library name
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27494 72102866-910b-0410-8b05-ffd578937521
2009-01-02 05:08:43 +00:00
Wolfgang Lux
806114d969 Fix infinite loop introduced in r27212.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27233 72102866-910b-0410-8b05-ffd578937521
2008-12-06 21:48:37 +00:00
Richard Frith-MacDonald
8d9e1d356d fix incorrect assignment
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27217 72102866-910b-0410-8b05-ffd578937521
2008-12-06 09:09:24 +00:00
Richard Frith-MacDonald
f794a4cb3c improve locating of framework directories on windows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27214 72102866-910b-0410-8b05-ffd578937521
2008-12-05 17:45:02 +00:00
Richard Frith-MacDonald
dfa7db4455 improve locating library bundles
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27212 72102866-910b-0410-8b05-ffd578937521
2008-12-05 15:50:51 +00:00
Richard Frith-MacDonald
33a4784b8e Fix bug 24320
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26907 72102866-910b-0410-8b05-ffd578937521
2008-10-11 06:30:03 +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
ec0b3ab41a MacOS-X compatibility updates.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26598 72102866-910b-0410-8b05-ffd578937521
2008-06-06 13:57:06 +00:00
Richard Frith-MacDonald
4b6bd491a1 guess what caller meant when they give us bad path name
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26197 72102866-910b-0410-8b05-ffd578937521
2008-03-05 09:32:49 +00:00