Index: src/OFArray.m ================================================================== --- src/OFArray.m +++ src/OFArray.m @@ -437,22 +437,22 @@ OFObject **cArray; size_t i, count; if ([array count] == 0) { if ([self isKindOfClass: [OFMutableArray class]]) - return @"()"; + return @"(mutable,0)[]"; else - return @"<0>()"; + return @"(0)[]"; } cArray = [array cArray]; count = [array count]; if ([self isKindOfClass: [OFMutableArray class]]) - ret = [OFMutableString stringWithFormat: @"(\n", + ret = [OFMutableString stringWithFormat: @"(mutable,%zd)[\n", count]; else - ret = [OFMutableString stringWithFormat: @"<%zd>(\n", count]; + ret = [OFMutableString stringWithFormat: @"(%zd)[\n", count]; pool = [[OFAutoreleasePool alloc] init]; for (i = 0; i < count - 1; i++) { [ret appendString: [cArray[i] stringBySerializing]]; [ret appendString: @",\n"]; @@ -459,11 +459,11 @@ [pool releaseObjects]; } [ret replaceOccurrencesOfString: @"\n" withString: @"\n\t"]; - [ret appendFormat: @"%@\n)", [cArray[i] stringBySerializing]]; + [ret appendFormat: @"%@\n]", [cArray[i] stringBySerializing]]; [pool release]; /* * Class swizzle the string to be immutable. We declared the return type Index: src/OFDictionary.m ================================================================== --- src/OFDictionary.m +++ src/OFDictionary.m @@ -765,20 +765,20 @@ id key, object; size_t i; if (count == 0) { if ([self isKindOfClass: [OFMutableDictionary class]]) - return @"{}"; + return @"(mutable,0){}"; else - return @"<0>{}"; + return @"(0){}"; } if ([self isKindOfClass: [OFMutableDictionary class]]) - ret = [OFMutableString stringWithFormat: @"{\n", + ret = [OFMutableString stringWithFormat: @"(mutable,%zd){\n", count]; else - ret = [OFMutableString stringWithFormat: @"<%zd>{\n", count]; + ret = [OFMutableString stringWithFormat: @"(%zd){\n", count]; pool = [[OFAutoreleasePool alloc] init]; keyEnumerator = [self keyEnumerator]; objectEnumerator = [self objectEnumerator]; i = 0; @@ -789,17 +789,17 @@ [ret appendString: [key stringBySerializing]]; [ret appendString: @" = "]; [ret appendString: [object stringBySerializing]]; if (++i < count) - [ret appendString: @";\n"]; + [ret appendString: @",\n"]; [pool2 releaseObjects]; } [ret replaceOccurrencesOfString: @"\n" withString: @"\n\t"]; - [ret appendString: @";\n}"]; + [ret appendString: @"\n}"]; [pool release]; /* * Class swizzle the string to be immutable. We declared the return type Index: src/OFList.m ================================================================== --- src/OFList.m +++ src/OFList.m @@ -328,13 +328,13 @@ OFMutableString *ret; OFAutoreleasePool *pool; of_list_object_t *iter; if (count == 0) - return @"()"; + return @"(list,mutable)[]"; - ret = [OFMutableString stringWithString: @"(\n"]; + ret = [OFMutableString stringWithString: @"(list,mutable)[\n"]; pool = [[OFAutoreleasePool alloc] init]; for (iter = firstListObject; iter != NULL; iter = iter->next) { [ret appendString: [iter->object stringBySerializing]]; @@ -343,11 +343,11 @@ [pool releaseObjects]; } [ret replaceOccurrencesOfString: @"\n" withString: @"\n\t"]; - [ret appendString: @"\n)"]; + [ret appendString: @"\n]"]; [pool release]; /* * Class swizzle the string to be immutable. We declared the return type Index: src/OFString.m ================================================================== --- src/OFString.m +++ src/OFString.m @@ -1068,11 +1068,11 @@ withString: @"\\r"]; [serialization replaceOccurrencesOfString: @"\t" withString: @"\\t"]; if ([self isKindOfClass: [OFMutableString class]]) - [serialization prependString: @"\""]; + [serialization prependString: @"(mutable)\""]; else [serialization prependString: @"\""]; [serialization appendString: @"\""]; /*