Commit graph

10 commits

Author SHA1 Message Date
Richard Frith-MacDonald
cd676ece36 moe consistent use of white space to match coding standard etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34809 72102866-910b-0410-8b05-ffd578937521
2012-02-23 17:57:50 +00:00
David Chisnall
fa6f119996 Clean up NSRegularExpression, so that it compiles without warnings with or without ICU, but we don't pretend that we support things that we don't and silently return nonsense results to make debugging difficult for GNUstep users.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33688 72102866-910b-0410-8b05-ffd578937521
2011-08-03 12:04:27 +00:00
Fred Kiefer
00c8832228 Remove some of the compiler warnings on system without clang or ICU.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33680 72102866-910b-0410-8b05-ffd578937521
2011-08-02 08:33:33 +00:00
Richard Frith-MacDonald
4f9574fc5d add missing headers etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32531 72102866-910b-0410-8b05-ffd578937521
2011-03-11 08:14:04 +00:00
Richard Frith-MacDonald
d084034e84 tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32465 72102866-910b-0410-8b05-ffd578937521
2011-03-05 18:12:55 +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
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
David Chisnall
c7c3c7c02e Add a GS_PADDING_IVAR macro. This defines the void *gs_unused; instance variable with __attribute__((unused)) on clang so that the static analyser only reports unused ivars that we expect to be used. This also makes it slightly easier to add the padding ivar to new classes.
Note: The padding ivar has been added to NSRegularExpression.  This will break the ABI for anyone subclassing NSRegularExpression, but hopefully that's no one (done before the next release, to make sure that we don't break the ABI between releases, only for people following -trunk).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32033 72102866-910b-0410-8b05-ffd578937521
2011-02-10 11:02:50 +00:00
David Chisnall
62087337b0 Don't use template as a symbol name in a header, because this breaks ObjC++.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31803 72102866-910b-0410-8b05-ffd578937521
2010-12-31 13:58:27 +00:00
David Chisnall
a5335c34fb Added implementation of NSRegularExpression, from iOS 4 Foundation.
This class is a thin wrapper around libicu regular expressions, so if we don't
have libicu we simply don't compile it at all.  This will give people a linker
failure, rather than a nonfunctional class if they try to use GNUstep without
ICU with code that requires it.

The Apple documentation says that this class has a primitive method that takes
a block as an argument and that this method is called by others, so subclasses
can replace that block method without touching the convenience methods.  We
mimic this behaviour when compiling with block, but when compiling without them
it's a problem.  The current code contains some ugly hacks that will work in
normal usage but break with subclassing when not compiling with blocks.

This commit also includes a partial implementation of NSTextCheckingResult,
implementing the subset of its functionality required for NSRegularExpression
to work.

It also includes numerous fixes to GSICUString.  This is heavily used by
NSRegularExpression, to avoid copying strings when mapping between UText for
libicu and NSString for GNUstep.


Note: I don't have a copy of iOS anywhere to test this against, so it's
entirely possible that there are significant discrepancies between this
implementation of NSRegularExpression and the iOS version.  This version should
function exactly as the iOS one is described as functioning, but I think we've
all seen that Apple documentation refers more to hopes than facts.  Any testing
that someone who does have an ip{hone,od,ad} can do is very welcome.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31635 72102866-910b-0410-8b05-ffd578937521
2010-11-19 22:06:18 +00:00