diff --git a/ChangeLog b/ChangeLog index 7e2be5e5c..8f7491f94 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-01-11 Stefan Bidigaray + + * Source/NSLocale.m: Removed NSLog used for debugging. + * Source/NSNumberFormatter.m: Fixed decimal separator behavior + for OS X > 10.4. + 2011-01-11 Richard Frith-Macdonald * Source/NSString.m: ([-stringByStandardizingPath]) Fix bug when diff --git a/Source/NSLocale.m b/Source/NSLocale.m index 8200c134a..09e1ca9ca 100644 --- a/Source/NSLocale.m +++ b/Source/NSLocale.m @@ -736,7 +736,6 @@ static NSRecursiveLock *classLock = nil; if (mSys != nil) { [_components setValue: mSys forKey: NSLocaleMeasurementSystem]; - NSLog (@"%@", mSys); if ([mSys isEqualToString: @"Metric"]) result = [NSNumber numberWithBool: YES]; else diff --git a/Source/NSNumberFormatter.m b/Source/NSNumberFormatter.m index c6ce8daf5..2c2bad38d 100644 --- a/Source/NSNumberFormatter.m +++ b/Source/NSNumberFormatter.m @@ -307,10 +307,26 @@ static NSUInteger _defaultBehavior = 0; - (NSString*) decimalSeparator { - if (_decimalSeparator == 0) - return @""; - else - return [NSString stringWithCharacters: &_decimalSeparator length: 1]; + if (_behavior == NSNumberFormatterBehavior10_4 +#if OS_API_VERSION(MAC_OS_X_VERSION_10_4, GS_API_LATEST) + || _behavior == NSNumberFormatterBehaviorDefault) +#endif + { +#if GS_USE_ICU == 1 + return [self _getSymbol: UNUM_DECIMAL_SEPARATOR_SYMBOL]; +#endif + } + else if (_behavior == NSNumberFormatterBehavior10_0 +#if OS_API_VERSION(GS_OPENSTEP_V, MAC_OS_X_VERSION_10_3) + || _behavior == NSNumberFormatterBehaviorDefault) +#endif + { + if (_decimalSeparator == 0) + return @""; + else + return [NSString stringWithCharacters: &_decimalSeparator length: 1]; + } + return nil; } - (NSString*) editingStringForObjectValue: (id)anObject @@ -595,10 +611,25 @@ static NSUInteger _defaultBehavior = 0; - (void) setDecimalSeparator: (NSString*)newSeparator { - if ([newSeparator length] > 0) - _decimalSeparator = [newSeparator characterAtIndex: 0]; - else - _decimalSeparator = 0; + if (_behavior == NSNumberFormatterBehavior10_4 +#if OS_API_VERSION(MAC_OS_X_VERSION_10_4, GS_API_LATEST) + || NSNumberFormatterBehaviorDefault) +#endif + { +#if GS_USE_ICU == 1 + return [self _setSymbol: newSeparator : UNUM_DECIMAL_SEPARATOR_SYMBOL]; +#endif + } + else if (_behavior == NSNumberFormatterBehavior10_0 +#if OS_API_VERSION(GS_OPENSTEP_V, MAC_OS_X_VERSION_10_3) + || NSNumberFormatterBehaviorDefault) +#endif + { + if ([newSeparator length] > 0) + _decimalSeparator = [newSeparator characterAtIndex: 0]; + else + _decimalSeparator = 0; + } } - (void) setFormat: (NSString*)aFormat