Commit graph

5199 commits

Author SHA1 Message Date
David Chisnall
a19f62698a Fixed missing } in last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29171 72102866-910b-0410-8b05-ffd578937521
2009-12-27 14:37:41 +00:00
David Chisnall
ea5f15deb0 Added private GSFastEnumeration header. This defines two macros that allow fast enumeration to be used inside GNUstep. Use, for example:
NSArray *a=  [NSArray arrayWithObjects: @"a", @"b", @"c", nil];
FOR_IN(NSString*, o, a)
	NSLog(@"%@", o);
END_FOR_IN(a)

This is equivalent to:

for (NSString *o in a)
{
	NSLog(@"%@", o);
}

On clang, it will be expanded to exactly that.  With GCC, it will be expanded to something equivalent to the code that Clang (or Apple GCC) would expand this to.

This is a private GNUstep header and is not intended for general use.  Outside of GNUstep, please use fast enumeration directly.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29170 72102866-910b-0410-8b05-ffd578937521
2009-12-27 14:34:10 +00:00
Wolfgang Lux
37b81067e9 Add an auxiliary method to NSUndoManager to support coalescing undo
operations in NSTextView.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29163 72102866-910b-0410-8b05-ffd578937521
2009-12-22 23:43:38 +00:00
Gregory John Casamento
6797a06652 Conditionally compile weak attribute.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29159 72102866-910b-0410-8b05-ffd578937521
2009-12-22 22:12:56 +00:00
David Chisnall
c19a717b67 Added call to objc_create_block_classes_as_subclasses_of() in NSObject's +load method. This is called as soon as NSObject is loaded and creates the _NSBlock family of classes, which are statically allocated in the runtime but not statically initialised. If you create blocks without linking GNUstep-base, the isa pointer in the block will point to a class that has all of its fields set to 0.
Any blocks will have their isa pointer set to the two classes statically allocated in libobjc, but these classes can't be used for message lookup (or introspection) until after the call.  This means that you can't send messages to blocks until after NSObject's +load method has been called.  This shouldn't be a problem in most code, but if you use __attribute__((constructor)) instead of a +load method then be careful about sending messages to blocks (you can still call them as normal). 



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29144 72102866-910b-0410-8b05-ffd578937521
2009-12-20 16:59:41 +00:00
Gregory John Casamento
e96f74362f * Source/GNUmakefile: Add synchronization.m to GNU_MFILES
and correct some formatting.
	* Source/synchronization.m: Fix @synchronize support on
	Windows.   The __weak__ attribute doesn't work on Windows.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29140 72102866-910b-0410-8b05-ffd578937521
2009-12-19 18:52:05 +00:00
Richard Frith-MacDonald
c7a2108c66 Readability tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29115 72102866-910b-0410-8b05-ffd578937521
2009-12-11 15:13:16 +00:00
Gregory John Casamento
1292e4a62d * Source/synchronization.m: Corrected header text.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29114 72102866-910b-0410-8b05-ffd578937521
2009-12-11 06:42:12 +00:00
Richard Frith-MacDonald
74b7774beb GSMutableString inherits hash implementation from GSString
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29105 72102866-910b-0410-8b05-ffd578937521
2009-12-07 05:10:50 +00:00
Richard Frith-MacDonald
cc2898292c improve string comparison.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29104 72102866-910b-0410-8b05-ffd578937521
2009-12-07 05:02:55 +00:00
Richard Frith-MacDonald
cac753d5df Move hash implementation to GSString
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29096 72102866-910b-0410-8b05-ffd578937521
2009-12-04 09:52:14 +00:00
Richard Frith-MacDonald
ae04fdffe6 Perform port/name cleanup on startup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29095 72102866-910b-0410-8b05-ffd578937521
2009-12-03 09:07:10 +00:00
Richard Frith-MacDonald
a961de6c5d fixup missing notification changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29087 72102866-910b-0410-8b05-ffd578937521
2009-12-01 08:30:41 +00:00
Richard Frith-MacDonald
925df9eb91 clarify
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29086 72102866-910b-0410-8b05-ffd578937521
2009-12-01 07:49:38 +00:00
Richard Frith-MacDonald
405dbae6f0 clarify doccumentation a little
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29085 72102866-910b-0410-8b05-ffd578937521
2009-12-01 07:47:29 +00:00
Richard Frith-MacDonald
0c3268b9d9 avoid warning log about unexpected response
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29075 72102866-910b-0410-8b05-ffd578937521
2009-11-27 13:05:26 +00:00
Richard Frith-MacDonald
99b0669aff improve error message
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29074 72102866-910b-0410-8b05-ffd578937521
2009-11-27 10:55:42 +00:00
Richard Frith-MacDonald
20a22bee1b Attempt notification queue fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29073 72102866-910b-0410-8b05-ffd578937521
2009-11-27 10:42:33 +00:00
Richard Frith-MacDonald
7b2b18f8ef stricter check of plist keys
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29071 72102866-910b-0410-8b05-ffd578937521
2009-11-27 09:19:02 +00:00
Richard Frith-MacDonald
449c94d4f6 encoding fixup for xml with bad dictionary key
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29070 72102866-910b-0410-8b05-ffd578937521
2009-11-27 09:10:15 +00:00
Richard Frith-MacDonald
b92879f11d Tweak for serializing 'xml' property lists
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29069 72102866-910b-0410-8b05-ffd578937521
2009-11-27 08:44:43 +00:00
Richard Frith-MacDonald
e0c9ae4e2d pass more info to notification functions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29068 72102866-910b-0410-8b05-ffd578937521
2009-11-27 07:53:38 +00:00
Richard Frith-MacDonald
48499df0dd Add osx compatibility option
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29067 72102866-910b-0410-8b05-ffd578937521
2009-11-26 22:15:39 +00:00
Richard Frith-MacDonald
3992cde903 Fix for XML plist parsing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29066 72102866-910b-0410-8b05-ffd578937521
2009-11-26 21:57:26 +00:00
Wolfgang Lux
26ec2df638 Write out proper XML encoding for control characters. Fixes a bug
where menu positions in GUI programs would appear not persistent.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29064 72102866-910b-0410-8b05-ffd578937521
2009-11-26 17:34:16 +00:00
Richard Frith-MacDonald
39bb68003d better attempt at workaround for broken libobjc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29057 72102866-910b-0410-8b05-ffd578937521
2009-11-24 20:39:31 +00:00
Richard Frith-MacDonald
5a6ce46276 tidy
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29049 72102866-910b-0410-8b05-ffd578937521
2009-11-23 18:07:25 +00:00
David Chisnall
9eb8d1d49b Added fall-back line for forwarding. Now -forwardingProxyForSelector: should work on all runtimes, with all ABIs, it will just be painfully slow on the GCC runtime and the legacy ABI.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29048 72102866-910b-0410-8b05-ffd578937521
2009-11-23 16:43:08 +00:00
Richard Frith-MacDonald
19796a1465 Documentation generation improvments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29047 72102866-910b-0410-8b05-ffd578937521
2009-11-23 09:42:18 +00:00
Richard Frith-MacDonald
a3d9656e82 minor debug improvement
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28988 72102866-910b-0410-8b05-ffd578937521
2009-11-10 09:14:57 +00:00
Richard Frith-MacDonald
02a93a74af Have -drain call -release
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28950 72102866-910b-0410-8b05-ffd578937521
2009-11-04 05:51:34 +00:00
Richard Frith-MacDonald
3d9e3eee57 Avoid memory leak and improve performance for common structures.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28939 72102866-910b-0410-8b05-ffd578937521
2009-11-02 18:32:35 +00:00
Adam Fedor
b3a520b2fe * Source/Makefile.postamble: Add flag filter for libgnustep-base-entry.m (for GCC 4.4 on MinGW).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28889 72102866-910b-0410-8b05-ffd578937521
2009-10-26 18:01:08 +00:00
Wolfgang Lux
acb28bb1c2 Prevent potential deadlock in multithreaded programs due to an
allocation lock that was never unlocked.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28859 72102866-910b-0410-8b05-ffd578937521
2009-10-20 05:25:04 +00:00
Richard Frith-MacDonald
9d215e7e76 simplify for older compilers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28821 72102866-910b-0410-8b05-ffd578937521
2009-10-13 09:59:34 +00:00
Richard Frith-MacDonald
20d59a0d7a fix missing macro
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28817 72102866-910b-0410-8b05-ffd578937521
2009-10-12 19:04:21 +00:00
Richard Frith-MacDonald
febe972488 new initialisation function.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28806 72102866-910b-0410-8b05-ffd578937521
2009-10-12 14:38:49 +00:00
Richard Frith-MacDonald
70af2643ac patch for kvo struct setters by Eric Wasylishen
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28793 72102866-910b-0410-8b05-ffd578937521
2009-10-11 04:57:34 +00:00
Richard Frith-MacDonald
e4a6d046be cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28787 72102866-910b-0410-8b05-ffd578937521
2009-10-10 08:16:17 +00:00
Richard Frith-MacDonald
d0bd5c8983 Fix files missed from last ocmmit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28780 72102866-910b-0410-8b05-ffd578937521
2009-10-07 14:54:37 +00:00
Richard Frith-MacDonald
a6c9c8749a lrge changes to remove mframe
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28778 72102866-910b-0410-8b05-ffd578937521
2009-10-05 16:00:28 +00:00
Richard Frith-MacDonald
715bdcaa0a a bit step towards removing obsolete mframe code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28774 72102866-910b-0410-8b05-ffd578937521
2009-10-04 15:26:07 +00:00
Richard Frith-MacDonald
e93dcbf681 fix leak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28771 72102866-910b-0410-8b05-ffd578937521
2009-10-04 10:05:14 +00:00
Richard Frith-MacDonald
3f7f5e5410 Code cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28770 72102866-910b-0410-8b05-ffd578937521
2009-10-04 09:53:19 +00:00
Richard Frith-MacDonald
2f0e07d89a more tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28769 72102866-910b-0410-8b05-ffd578937521
2009-10-04 08:43:56 +00:00
Richard Frith-MacDonald
0f5dd1c798 cleanup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28768 72102866-910b-0410-8b05-ffd578937521
2009-10-04 07:46:01 +00:00
Richard Frith-MacDonald
a8eba2055d bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28767 72102866-910b-0410-8b05-ffd578937521
2009-10-03 18:34:44 +00:00
Richard Frith-MacDonald
e06f2305f0 connection root object fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28766 72102866-910b-0410-8b05-ffd578937521
2009-10-03 15:35:40 +00:00
Richard Frith-MacDonald
fcc33c1b71 explicitly specify types in union
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28762 72102866-910b-0410-8b05-ffd578937521
2009-10-02 15:14:42 +00:00
Richard Frith-MacDonald
7b1dbbff0b Default to an empty array type
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28761 72102866-910b-0410-8b05-ffd578937521
2009-10-02 14:41:25 +00:00