[macruby-changes] [224] MacRuby/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Mon May 26 21:33:26 PDT 2008
Revision: 224
http://trac.macosforge.org/projects/ruby/changeset/224
Author: lsansonetti at apple.com
Date: 2008-05-26 21:33:25 -0700 (Mon, 26 May 2008)
Log Message:
-----------
fixed default behavior of String#split with no argument (nil spat and awk mode)
Modified Paths:
--------------
MacRuby/trunk/string.c
MacRuby/trunk/test/ruby/test_string.rb
Modified: MacRuby/trunk/string.c
===================================================================
--- MacRuby/trunk/string.c 2008-05-27 03:52:39 UTC (rev 223)
+++ MacRuby/trunk/string.c 2008-05-27 04:33:25 UTC (rev 224)
@@ -6279,18 +6279,30 @@
#if WITH_OBJC
if (awk_split || spat_string) {
CFRange search_range;
+ CFCharacterSetRef charset;
if (spat == Qnil)
- spat = (VALUE)CFSTR(" ");
+ charset = CFCharacterSetGetPredefined(
+ kCFCharacterSetWhitespaceAndNewline);
search_range = CFRangeMake(0, clen);
do {
CFRange result_range;
CFRange substr_range;
- if (!CFStringFindWithOptions((CFStringRef)str,
- (CFStringRef)spat,
- search_range,
- 0,
- &result_range))
- break;
+ if (spat != Qnil) {
+ if (!CFStringFindWithOptions((CFStringRef)str,
+ (CFStringRef)spat,
+ search_range,
+ 0,
+ &result_range))
+ break;
+ }
+ else {
+ if (!CFStringFindCharacterFromSet((CFStringRef)str,
+ charset,
+ search_range,
+ 0,
+ &result_range))
+ break;
+ }
substr_range.location = search_range.location;
substr_range.length = result_range.location
Modified: MacRuby/trunk/test/ruby/test_string.rb
===================================================================
--- MacRuby/trunk/test/ruby/test_string.rb 2008-05-27 03:52:39 UTC (rev 223)
+++ MacRuby/trunk/test/ruby/test_string.rb 2008-05-27 04:33:25 UTC (rev 224)
@@ -1067,6 +1067,7 @@
assert_equal([], "".split(//, 1))
assert_equal(["\0"], "\0".split(//))
+ assert_equal(["*.c", "lib", "ext"], "\n\n\n\n\n\n*.c\n\n\n\nlib\n\n\n\n\next\n".split)
end
def test_squeeze
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080526/e7c3bd5d/attachment.htm
More information about the macruby-changes
mailing list