Commit graph

5661 commits

Author SHA1 Message Date
theraven
ade8486dd0 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31644 72102866-910b-0410-8b05-ffd578937521
2010-11-23 13:16:53 +00:00
thebeing
ab12ea7243 Small rearrangements to make non-C99 compilers happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31637 72102866-910b-0410-8b05-ffd578937521
2010-11-19 22:29:04 +00:00
theraven
d2e78d3ba4 Fixed missing newline at end of GSICUString.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31636 72102866-910b-0410-8b05-ffd578937521
2010-11-19 22:15:13 +00:00
theraven
ddbaf75490 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
theraven
1cccd4bebd Added libicu UText <-> NSString wrappers. These allow NSString objects to be used as the underlying storage for UText structures, and vice versa. Not yet used for anything, and therefore not connected to the build. These will be used by NSRegularExpression and by some stuff in CoreText.
This avoids the round-trip though C strings that CFLite seems to like using whenever using any libicu functions.  Converting between NSString and UText is now trivial to do and the implementation is O(1).

Documentation in the headers.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31631 72102866-910b-0410-8b05-ffd578937521
2010-11-18 22:52:36 +00:00
rfm
e594ebafce fix use of preprocessor constants.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31621 72102866-910b-0410-8b05-ffd578937521
2010-11-18 09:46:51 +00:00
ericwa
4f86b23b2d NSPredicate MATCHES and LIKE implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31616 72102866-910b-0410-8b05-ffd578937521
2010-11-17 21:46:31 +00:00
rmottola
dd2cf5c805 Make NSDownloadDirectory and NSDocumentDIrectory relative to the user home and for the user domain only. Behaviour checked on the Mac.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31608 72102866-910b-0410-8b05-ffd578937521
2010-11-13 09:46:01 +00:00
theraven
079d27f3bc Make NSNetServices use formal protocol, as in 10.6. When compiling with clang, use @optional, otherwise fall back to defining an empty protocol and defining an informal protocol with the methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31594 72102866-910b-0410-8b05-ffd578937521
2010-11-07 15:43:46 +00:00
theraven
8a814588b3 Expose 10.6-compatible interface for per-thread assertion handlers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31593 72102866-910b-0410-8b05-ffd578937521
2010-11-07 15:37:19 +00:00
rfm
af9a29b68e serialisation bugfix and correction to nil handling when making localisation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31581 72102866-910b-0410-8b05-ffd578937521
2010-11-02 11:01:50 +00:00
rfm
bdedbafecb add delivery notification requests and fix memory leak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31571 72102866-910b-0410-8b05-ffd578937521
2010-10-28 22:50:38 +00:00
rfm
7a53294125 fix crash due to dereferencin a null pointer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31570 72102866-910b-0410-8b05-ffd578937521
2010-10-27 22:19:18 +00:00
rfm
544670fc15 Fix setup of HAVE_ICU
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31567 72102866-910b-0410-8b05-ffd578937521
2010-10-27 11:24:44 +00:00
thebeing
4faf3c4eda Fix -displayNameForKey:value: to interact properly with libicu for some
common cases. More arcane locale components still need proper treatment.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31566 72102866-910b-0410-8b05-ffd578937521
2010-10-26 19:31:37 +00:00
theraven
cb7519482c Don't access isa directly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31560 72102866-910b-0410-8b05-ffd578937521
2010-10-25 14:40:09 +00:00
rfm
039b272d3f Fix to get compile working again on slightly older systems.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31548 72102866-910b-0410-8b05-ffd578937521
2010-10-22 07:25:57 +00:00
jonathanosx
ecbb0fc39f Prevent SegFault when FormatMessageW doesn't return a string on Windows.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31537 72102866-910b-0410-8b05-ffd578937521
2010-10-19 21:21:32 +00:00
wlux
3c705aa497 Fix test for an absolute URL in NSURL -absoluteURL, which got things
backward.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31532 72102866-910b-0410-8b05-ffd578937521
2010-10-19 12:56:30 +00:00
rfm
9f293dd624 tiny osx compatibility tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31531 72102866-910b-0410-8b05-ffd578937521
2010-10-19 09:29:23 +00:00
gcasa
a512ed3b02 Correct license text in sync.m and also correct the test to see if the ObjC compiler is working.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31519 72102866-910b-0410-8b05-ffd578937521
2010-10-16 20:43:33 +00:00
rfm
2916e80032 file URL compatibility
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31508 72102866-910b-0410-8b05-ffd578937521
2010-10-13 17:41:22 +00:00
rfm
ee0690defa attempted fix for bug #31266
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31505 72102866-910b-0410-8b05-ffd578937521
2010-10-12 19:19:02 +00:00
rfm
49f90ce148 add arbitrary struct set/get
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31504 72102866-910b-0410-8b05-ffd578937521
2010-10-12 13:34:01 +00:00
rfm
2b93292fc1 Re-instate change from svn revision 31412 (just trusting it's OK).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31502 72102866-910b-0410-8b05-ffd578937521
2010-10-12 11:55:04 +00:00
rfm
33b8372877 Exactly match the percent escapes used by OSX
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31501 72102866-910b-0410-8b05-ffd578937521
2010-10-12 10:59:05 +00:00
ericwa
a55aa925ee Avahi bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31492 72102866-910b-0410-8b05-ffd578937521
2010-10-08 22:24:21 +00:00
rfm
990dee6c64 tweka fix for evaluated object
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31469 72102866-910b-0410-8b05-ffd578937521
2010-10-04 14:44:54 +00:00
rfm
de81457c85 Add simple implementation of evaluatedObjectExpression
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31468 72102866-910b-0410-8b05-ffd578937521
2010-10-04 08:21:34 +00:00
rfm
c4a1deb386 Fix broken KVC
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31460 72102866-910b-0410-8b05-ffd578937521
2010-10-01 12:01:02 +00:00
rfm
c3362076bb avoid a couple of makefile warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31459 72102866-910b-0410-8b05-ffd578937521
2010-10-01 11:39:06 +00:00
rfm
c8a722de47 fix type cast
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31458 72102866-910b-0410-8b05-ffd578937521
2010-10-01 11:24:19 +00:00
rfm
5e71b7b87d standardise listen backlog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31455 72102866-910b-0410-8b05-ffd578937521
2010-10-01 09:22:52 +00:00
rfm
4cfbd4b8c6 fix #31153
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31454 72102866-910b-0410-8b05-ffd578937521
2010-10-01 07:13:31 +00:00
rfm
5c568fd7bb networking scalability tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31449 72102866-910b-0410-8b05-ffd578937521
2010-09-30 14:16:11 +00:00
rfm
8626d28eb3 fix for bug 31168
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31446 72102866-910b-0410-8b05-ffd578937521
2010-09-30 08:34:25 +00:00
rfm
0c13324d46 bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31445 72102866-910b-0410-8b05-ffd578937521
2010-09-30 06:51:34 +00:00
ericwa
ea6f05bb38 * Source/objc-load.m: Don't include objc-list.h with libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31438 72102866-910b-0410-8b05-ffd578937521
2010-09-29 06:47:16 +00:00
ericwa
f9e27b419f Remove dead code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31434 72102866-910b-0410-8b05-ffd578937521
2010-09-28 23:27:46 +00:00
rfm
9bdebfcb9b minor optimisations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31433 72102866-910b-0410-8b05-ffd578937521
2010-09-28 13:23:53 +00:00
rfm
8bd0177292 Make firing of timers more robust
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31420 72102866-910b-0410-8b05-ffd578937521
2010-09-25 21:28:07 +00:00
theraven
6d16a28788 Add special case to KVC accessors for libobjc2: If there is a method with the
wrong types, try calling the method with the correct types.  This enables the
TDD-fixup code to run and generate a KVC-compliant version of an existing
method.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31412 72102866-910b-0410-8b05-ffd578937521
2010-09-24 19:31:46 +00:00
theraven
6eab2fe937 Simplify the KVC getter code and make it return structs boxed in NSValues
(Apple-compatible).  This is currently slow, because we go via NSInvocation.
We could probably make it faster, but I am not inclined to optimise for
something that I sincerely hope is a very unusual use case.

Richard: Please check I haven't done something silly here...



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31411 72102866-910b-0410-8b05-ffd578937521
2010-09-24 19:20:16 +00:00
rfm
8214f1edf0 performance tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31404 72102866-910b-0410-8b05-ffd578937521
2010-09-24 11:05:11 +00:00
wlux
fdd4894770 Fix two unchecked pointer dereferences in the libobjc2 compatibility
code, which could cause crashes when attempting to invoke a selector
which is not implemented by the target.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31384 72102866-910b-0410-8b05-ffd578937521
2010-09-20 18:13:48 +00:00
theraven
a1043f71d3 Fix -methodSignatureForSelector: fast path with libobjc2.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31371 72102866-910b-0410-8b05-ffd578937521
2010-09-18 15:09:58 +00:00
wlux
f393eb7162 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
wlux
861fd81ad2 Fix bug were NSObject -methodSignatureForSelector: would return an
incorrect result or even crash when asking a class object for the
signature of one of its class methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31365 72102866-910b-0410-8b05-ffd578937521
2010-09-17 20:07:50 +00:00
ericwa
c9fb0577bd Fix more unsigned int / int cases that should be NS[U]Integer
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31355 72102866-910b-0410-8b05-ffd578937521
2010-09-16 02:55:24 +00:00
ericwa
5af34bc87f disable unneeded code on libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31353 72102866-910b-0410-8b05-ffd578937521
2010-09-16 00:07:39 +00:00