Flush (work in progress)
[mono.git] / mcs / class / corlib / System.Globalization / ChangeLog
1 2010-04-19  Zoltan Varga  <vargaz@gmail.com>
2
3         * CompareInfo.cs (IndexOf): Return startIndex instead of 0 for empty strings.
4         Fixes #597604.
5
6 2010-03-16  Jb Evain  <jbevain@novell.com>
7
8         * CultureInfo.cs, CompareInfo.cs, Calendar.cs: use MOONLIGHT symbol
9         to disambiguate MonoTouch and Moonlight code.
10
11 2010-02-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
12
13         * CultureNotFoundException.cs: new 4.0 type.
14         * CultureTypes.cs: add [Obsolete] for 2 values.
15         * TimeSpanStyles.cs: new 4.0 enum.
16
17 2009-12-09  Jb Evain  <jbevain@novell.com>
18
19         * StringInfo.cs: default constructor falls back to an empty string info.
20
21 2009-11-04  Rolf Bjarne Kvinge  <RKvinge@novell.com>
22
23         * CultureInfo.cs: Allow neutral cultures, and fix zh-Hans/zh-Hant
24         - they're stored internally as zh-chs/zh-cht, and only visible as
25         zh-Hans/zh-Hant. zh-CHS/zh-CHS are invalid cultures in SL.
26
27 2009-10-29  Sebastien Pouliot  <sebastien@ximian.com>
28
29         * CompareInfo.cs: Add/fix CompareOptions validations. Reduce code
30         duplication in Compare methods (wrt CompareOptions). Fix 
31         calculation bug in Compare(string,int.string,int,CompareOptions).
32
33 2009-10-27  Sebastien Pouliot  <sebastien@ximian.com>
34
35         * TextInfo.cs: Avoid allocating zero-length strings in ToLower 
36         and ToUpper methods
37
38 2009-10-14  Jonathan Pryor  <jpryor@novell.com>
39
40         * CultureInfo.cs: Re-add GetCultures() to the MonoTouch profile.
41
42 2009-10-14  Sebastien Pouliot  <sebastien@ximian.com>
43
44         * CultureInfo.cs: Refactor to reduce unsafe methods/scope.
45
46 2009-10-07  Sebastien Pouliot  <sebastien@ximian.com>
47
48         * CompareInfo.cs: Don't allow MONO_DISABLE_MANAGED_COLLATION
49         override for Moonlight and move all icalls together so they
50         can be #if-ed out.
51
52 2009-09-23  Sebastien Pouliot  <sebastien@ximian.com>
53
54         * Calendar.cs: Don't expose AlgorithmType property in NET_2_1
55         * CultureInfo.cs: Don't expose CultureTypes in NET_2_1
56         * NumberFormatInfo.cs: Don't expose NativeDigits in NET_2_1
57         * GregorianCalendar.cs, HebrewCalendar.cs, HijriCalendar.cs,
58         JapaneseCalendar.cs, KoreanCalendar.cs, TaiwanCalendar.cs,
59         ThaiBuddhistCalendar.cs, UmAlQuraCalendar.cs: Don't expose 
60         AlgorithmType property in NET_2_1
61
62 2009-07-26  Miguel de Icaza  <miguel@novell.com>
63
64         * Calendar.cs: Do not add internal abstract methods to the
65         Calendar class, it prevents derived classes from existing. 
66
67 2009-05-21  Atsushi Enomoto  <atsushi@ximian.com>
68
69         * CultureInfo.cs : it seems that zh-Hant and zh-Hans are introduced
70           as almost alias  of zh-CHS/zh-CHT in vista and some new windows.
71           Add hacky support for them.
72
73 2009-01-07  Atsushi Enomoto  <atsushi@ximian.com>
74
75         * CompareInfo.cs : Fixed bug #462957. With empty target string it
76           should always return 0.
77
78 2008-08-14  Atsushi Enomoto  <atsushi@ximian.com>
79
80         * CultureInfo.cs : applied patch by Robert Jordan,
81           fixed bug #402128. Create uninitialized parent culture
82           when required.
83
84 2008-07-28  Marek Safar <marek.safar@gmail.com>
85
86         * GregorianCalendar.cs: Delay DateTime .cctor invocation.
87
88 2008-07-03  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
89
90         * TextInfo.cs: Fix exceptions
91         * StringInfo.cs
92         * SortKey.cs:
93         * RegionInfo.cs:
94         * NumberFormatInfo.cs:
95         * CultureInfo.cs:
96         * CompareInfo.cs:
97         * CharUnicodeInfo.cs: Fix parameter names
98
99 2008-07-03  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
100
101         * UmAlQuraCalendar.cs:
102         * ThaiBuddhistCalendar.cs
103         * TaiwanCalendar.cs:
104         * PersianCalendar.cs:
105         * KoreanCalendar.cs:
106         * JulianCalendar.cs:
107         * JapaneseCalendar.cs:
108         * HijriCalendar.cs:
109         * HebrewCalendar.cs:
110         * GregorianCalendar.cs:
111         * EastAsianLunisolarCalendar.cs:
112         * Calendar.cs: Fix parameter names
113
114 2008-06-28  Zoltan Varga  <vargaz@gmail.com>
115
116         * CompareInfo.cs: Add a cache of SimpleCollator objects.
117
118 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
119
120         * NumberFormatInfo.cs: Defined internal "Raw" APIs that do not clone the
121           internal array members in order to improve performance of custom ToString.
122
123 2008-01-06  Zoltan Varga  <vargaz@gmail.com>
124
125         * CultureInfo.cs: Add a 'cached_serialized_form' field.
126         
127         * CultureInfo.cs NumberFormatInfo.cs DateTimeFormatInfo.cs TextInfo.cs: Make
128         sure the components of a read-only culture object are read-only as well.
129
130 2007-12-28  Gert Driesen  <drieseng@users.sourceforge.net>
131
132         * CultureInfo.cs: Added internal CreateCulture method, which is used
133         by the runtime to creating CultureInfo instances for AssemblyName.
134
135 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
136
137         * NumberFormatInfo.cs :
138           NativeDigits and DigitSubstitution are [ComVisible(false)].
139
140 2007-09-10  Atsushi Enomoto  <atsushi@ximian.com>
141
142         * DateTimeFormatInfo.cs : implemented SetAllDateTimePatterns().
143
144 2007-09-10  Atsushi Enomoto  <atsushi@ximian.com>
145
146         * NumberFormatInfo.cs : added NativeDigits and DigitSubstitution.
147
148 2007-09-06  Marek Habersack  <mhabersack@novell.com>
149
150         * DateTimeFormatInfo.cs: minimal implementation of
151         AbbreviatedMonthGenitiveNames, MonthGenitiveNames and
152         NativeCalendar name properties.
153
154 2007-08-24  Zoltan Varga  <vargaz@gmail.com>
155
156         * CalendricalCalculations.cs: Fix a warning.
157
158 2007-07-17  Atsushi Enomoto  <atsushi@ximian.com>
159
160         * CalendricalCalculations.cs, JulianCalendar.cs :
161           true fix for bug #81783. GetMonths() should consider month part
162           going beyond 12.
163
164 2007-07-10  Atsushi Enomoto  <atsushi@ximian.com>
165
166         * StringInfo.cs : implemented 2.0 members.
167
168 2007-07-10  Atsushi Enomoto  <atsushi@ximian.com>
169
170         * UmAlQuraCalendar.cs : forgot to implement it.
171
172 2007-07-10  Atsushi Enomoto  <atsushi@ximian.com>
173
174         * HijriCalendar.cs ThaiBuddhistCalendar.cs HebrewCalendar.cs
175           GregorianCalendar.cs KoreanCalendar.cs JulianCalendar.cs :
176           implemented ToFourDigitYear(), actually base implementation mostly
177           works as is.
178
179 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
180
181         * CultureInfo.cs : 1.x build fix.
182
183 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
184
185         * CultureInfo.cs : implemented GetConsoleFallbackUICulture and
186           CultureTypes (it is awful indeed). Fix ComVisibles.
187           implemented InstalledUICulture, as what matches the best I think is
188           the one for BootstrapCultureID.
189
190 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
191
192         * CultureInfo.cs : another hack, KeyboardLayoutId.
193
194 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
195
196         * CultureInfo.cs :
197           hacked IetfLanguageTag and GetCultureInfoByIetfLanguageTag().
198
199 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
200
201         * CompareInfo.cs : Name.
202         * PersianCalendar.cs : missing members.
203         * NumberFormatInfo.cs HijriCalendar.cs CultureInfo.cs TextInfo.cs
204           HebrewCalendar.cs ThaiBuddhistCalendar.cs GregorianCalendar.cs
205           KoreanCalendar.cs JulianCalendar.cs TaiwanCalendar.cs
206           JapaneseCalendar.cs DaylightTime.cs EastAsianLunisolarCalendar.cs
207           RegionInfo.cs TextElementEnumerator.cs : ComVisible cleanup.
208
209 2007-07-09  Atsushi Enomoto  <atsushi@ximian.com>
210
211         * TextInfo.cs : ICloneable.
212         * GregorianCalendarTypes.cs CompareOptions.cs CultureTypes.cs
213           CalendarWeekRule.cs UnicodeCategory.cs : [Serializable].
214         * ThaiBuddhistCalendar.cs GregorianCalendar.cs KoreanCalendar.cs
215           TaiwanCalendar.cs JapaneseCalendar.cs :
216           GetWeekOfYear() (base could be simply used). Removed unused code.
217
218 2007-07-02  Atsushi Enomoto  <atsushi@ximian.com>
219
220         * UmAlQuraCalendar.cs
221           EastAsianLunisolarCalendar.cs
222           ChineseLunisolarCalendar.cs
223           TaiwanLunisolarCalendar.cs
224           JapaneseLunisolarCalendar.cs
225           KoreanLunisolarCalendar.cs : new 2.0 calendars.
226         * Calendar.cs
227           HijriCalendar.cs HebrewCalendar.cs ThaiBuddhistCalendar.cs
228           GregorianCalendar.cs KoreanCalendar.cs JulianCalendar.cs
229           TaiwanCalendar.cs JapaneseCalendar.cs PersianCalendar.cs :
230           added GetLeapMonth().
231         * CalendricalCalculations.cs : added some lunisolar calendar stuff.
232           mostly stubs.
233
234 2007-06-24  Gert Driesen  <drieseng@users.sourceforge.net>
235
236         * CultureInfo.cs: Added new private ctors that takes value for 
237         read-only bit as argument. In ContructInvariant, clone invariant 
238         NumberFormatInfo and DateTimeFormatInfo when we're not creating a
239         read-only CultureInfo, since they also should not be read-only.
240         Changes are required to allow a writable invariant CultureInfo to be
241         constructed. In GetCultures, use clone of InvariantCulture since it 
242         must be not be read-only. In GetCultureInfo, always construct
243         read-only CultureInfo's. Fixes part of bug #81930.
244
245 2007-06-01  Atsushi Enomoto  <atsushi@ximian.com>
246
247         * Calendar.cs DateTimeFormatInfo.cs : 2.0 API fixes.
248         * CalendricalCalculations.cs : fixed AddMonth() and AddYears() to
249           consider that the max days in the target month (for AddYears()
250           leap year month could matter). Fixed bug #81783.
251
252 2007-05-31  Rolf Bjarne Kvinge  <RKvinge@novell.com>
253
254         * GregorianCalendar.cs: Change era names from C.E./Common Era 
255         to AD/A.D.
256         * DateTimeFormatInfo.cs: GetEra: search the abbreviated era names
257         as well for the era, and return the era, not the index of the era 
258         in the array.
259
260 2007-05-25  Atsushi Enomoto  <atsushi@ximian.com>
261
262         * IdnMapping.cs : new 2.0 class.
263
264 2007-05-17  Atsushi Enomoto  <atsushi@ximian.com>
265
266         * DateTimeFormatInfo.cs : added roundtrip pattern (only in 2.0).
267
268 2007-05-15  Atsushi Enomoto  <atsushi@ximian.com>
269
270         * RegionInfo.cs, CultureInfo.cs : in 2.0 RegionInfo could be created
271           from locale name. To support that, retrieve CultureInfo from name
272           and use its Territory name if exists.
273           RegionInfo.Equals() still uses lcid, but hash code is based on
274           region ID. Added GeoId, which represents unique region ID (which
275           is returned in 1.x GetHashCode()).
276
277 2007-04-17  Alp Toker  <alp@atoker.com>
278
279         * DateTimeFormatInfo.cs: Provide set accessor for MonthNames.
280
281 2007-04-16  Marek Safar  <marek.safar@gmail.com>
282
283         * PersianCalendar: Removed twoDigitYearMax field.
284
285 2007-03-25  Marek Safar  <marek.safar@gmail.com>
286
287         * GregorianCalendar.cs, HebrewCalendar.cs, JapaneseCalendar.cs,
288         HijriCalendar.cs, JapaneseCalendar.cs, JulianCalendar.cs,
289         KoreanCalendar.cs, TaiwanCalendar.cs, ThaiBuddhistCalendar.cs:
290         Removed twoDigitYearMax field.
291
292 2007-01-25  Chris Toshok  <toshok@ximian.com>
293
294         * Calendar.cs, HijriCalendar.cs, ThaiBuddhistCalendar.cs,
295         HebrewCalendar.cs, GregorianCalendar.cs, KoreanCalendar.cs,
296         JulianCalendar.cs, PersianCalendar.cs:
297
298         more serialization fixes.  the M_TwoDigitYearMax field we use
299         appears to be called twoDigitYearMax in MS.NET.  rename it (and
300         fix all the Calendar subclasses to use this naming).  Likewise
301         with is_readonly (MS calls it m_isReadOnly).
302
303         Also, the m_currentEraValue field I had originally placed in
304         GregorianCalendar appears to be in Calendar (as running
305         nunit-2.2.8-2.0 shows.)
306
307         In GregorianCalendar, rename the M_CalendarType field to m_type
308         and remove the extra field I added.
309         
310         The previous fix got nunit 2.4-2.0 running.  This change gets
311         versions 2.2.8 and 2.4 of nunit running against both 1.1 and 2.0
312         profiles.
313
314 2006-01-24  Chris Toshok  <toshok@ximian.com>
315
316         [ these fix nunit built with MS .net 2.0, running on mono.  nunit
317         apparently stores all manner of things in its resources ]
318         
319         * NumberFormatInfo.cs: add unused nativeDigits and
320         digitSubstitution fields that MS serializes.
321
322         * DateTimeFormatInfo.cs: serialization fixes.  MS apparently
323         stores (and serializes) a couple of fields as ints, but exposes
324         them to programmers as Enum's.
325         
326         * CompareInfo.cs: add unused m_name field that MS serializes.
327
328         * GregorianCalendar.cs: add a couple of unused fields that MS serializes.
329
330 2007-01-22  Atsushi Enomoto  <atsushi@ximian.com>
331
332         * CompareInfo.cs : there was a test which raises assertion failure
333           if there isn't paramName for ArgumentException. Quite odd one.
334
335 2007-01-12  Miguel de Icaza  <miguel@novell.com>
336
337         * DateTimeFormatInfo.cs: Add support for shortest day names.
338         Notice that there is no support in the runtime to actually load
339         this information from any place.   So they are all english values.
340
341 2007-01-07  Atsushi Enomoto  <atsushi@ximian.com>
342
343         * CompareInfo.cs : GetSortKey() does not allow Ordinal and 
344           OrdinalIgnoreCase in 2.0 (shuold be also prohibited in 1.x BTW).
345
346 2006-12-25  Atsushi Enomoto  <atsushi@ximian.com>
347
348         * CompareInfo.cs : for OrdinalIgnoreCase, IndexOf() and LastIndexOf()
349           will use managed version (icalls for them are case sensitive).
350           Removed MonoTODOs.
351
352 2006-12-17  Igor Zelmanovich <igorz@mainsoft.com>
353
354         * DateTimeFormatInfo.cs : added missing properties and methods.
355
356 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
357
358         * DateTimeFormatInfo.cs : added some internal clone-less versions of
359           string[] properties and methods.
360
361 2006-11-27  Atsushi Enomoto  <atsushi@ximian.com>
362
363         * CompareInfo.cs : fixed wrong || with && for OrdinalIgnoreCase.
364           Fixed bug #80056.
365
366 2006-11-10  Marek Safar  <marek.safar@gmail.com>
367
368         * CultureInfo.cs (TextInfo): Construct a culture when is
369         uninitialized. An issue exposed by previous change.
370
371 2006-11-09  Marek Safar  <marek.safar@gmail.com>
372
373         * CompareInfo.cs: Cache full UseManagedCollation value;
374         * CultureInfo.cs (Parent): Add caching to avoid re-creating culture info
375           every time when the property is used.
376         * TextInfo.cs: Removed unused field.
377
378 2006-08-19  Miguel de Icaza  <miguel@novell.com>
379
380         * CultureInfo.cs (GetCultureInfo): implement two of the 2.0
381         overloads, as the vb code depends on this.
382
383 2006-07-03  Kornél Pál  <kornelpal@gmail.com>
384
385         * CodePageDataItem.cs: Added.
386
387 2006-06-30  Zoltan Varga  <vargaz@gmail.com>
388
389         * CultureInfo.cs: Add stubs for net 2.0 GetCultureInfo () methods.
390
391 2006-03-21  Atsushi Enomoto  <atsushi@ximian.com>
392
393         * HebrewCalrndar.cs : simply use CCHebrewCalendar.last_day_of_month().
394           Patch by Yaacov Akiba Slama. Fixed bug #76252.
395
396 2006-03-20  Atsushi Enomoto  <atsushi@ximian.com>
397
398         * HebrewCalrndar.cs : removed commented obsolete code.
399
400 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
401
402         * TextInfo.cs : (ToUpper/ToLower) use InternalAllocateStr() and
403           pointers rather than StringBuilder.
404
405 2006-03-07  Peter Dennis Bartok  <pbartok@novell.com>
406
407         * DateTimeFormatInfo.cs: Restored original field order to allow
408           some automatic locale fu to happen (mono unmanaged code relies 
409           on the field order to fill out DateTimeFormatInfo)
410
411 2006-03-02  Peter Dennis Bartok  <pbartok@novell.com>
412
413         * DateTimeFormatInfo.cs: Switched (where possible) our internal
414           field names to match MS names. Added fields that MS has and we
415           don't. Fixes serialization issues with MS.
416         * CultureInfo.cs, Calendar.cs, TextInfo.cs, 
417           GregorianCalenda.cs: Hiding internal attributes from serialization
418
419 2006-01-25  Atsushi Enomoto  <atsushi@ximian.com>
420
421         * CultureInfo.cs : Clone() attempted to clone number and date time
422           formats, thus failed. Fixed bug #77347.
423
424 2005-12-08  Sebastien Pouliot  <sebastien@ximian.com> 
425
426         * DaylightTime.cs: Fixed serialization to be compatible with MS FX.
427         Pre-requisite to fix bug #76094.
428
429 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com> 
430
431         * DateTimeStyles.cs: ComVisible is only needed in 2.0.
432         * TextInfo.cs: Added some 2.0 features that were needed (e.g. LCID)
433         to implement serialization for another class. Added TODO on class for 
434         deserialization (so it shows up in the status page).
435
436 2005-11-29  Atsushi Enomoto  <atsushi@ximian.com>
437
438         * CompareInfo.cs : IsSortable() are static.
439         * CharUnicodeInfo.cs : became non-static in RTM.
440         * Calendar.cs : added support for Clone() and IsReadOnly.
441         * HijriCalendar.cs ThaiBuddhistCalendar.cs HebrewCalendar.cs
442           GregorianCalendar.cs KoreanCalendar.cs JulianCalendar.cs
443           TaiwanCalendar.cs JapaneseCalendar.cs PersianCalendar.cs :
444           check IsReadOnly on every setter.
445
446 2005-11-14  Atsushi Enomoto  <atsushi@ximian.com>
447
448         * CompareInfo.cs : added support for OrdinalIgnoreCase.
449
450 2005-10-31  Miguel de Icaza  <miguel@novell.com>
451
452         * HijriCalendar.cs, HebrewCalendar.cs, JulianCalendar.cs,
453         GregorianCalendar.cs, JapaneseCalendar.cs, Calendar.cs,
454         TaiwanCalendar.cs, HijriCalendar.cs: Add
455         CalendarAlgorithmType, MinSupportedDateTime, MaxSupportedDateTime
456         properties. 
457
458         * Added ComVisibleAttribute in a bunch of places, using the fully
459         qualified name to speed up cut and paste.
460         
461 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
462
463         * DateTimeFormatInfo.cs: Speed up GetAllDateTimePatterns by
464         caching the result and then cloning it.
465
466 2005-10-10  Ben Maurer  <bmaurer@ximian.com>
467
468         * DateTimeFormatInfo.cs: Rather than having a + ' ' + b, have a +
469         " " + b. This lets us avoid 1) boxing the char and 2) calling
470         char.ToString. Results in a fairly substantial savings on
471         DateTime.Parse.
472
473 2005-09-21  Atsushi Enomoto  <atsushi@ximian.com>
474
475         * CompareInfo.cs : switched to "managed collation by default" mode.
476
477 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
478
479         * CompareInfo.cs: Use Environment.internalGetEnvironmentVariable as
480         the .cctor gets executed before the security manager is ready to be
481         activated (and cause recursion with --security).
482
483 2005-08-17  Atsushi Enomoto  <atsushi@ximian.com>
484
485         * RegionInfo.cs : unlocked CurrentRegion creation.
486
487 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
488
489         * RegionInfo.cs : removed extraneous icall wrappers.
490
491 2005-08-15  Atsushi Enomoto  <atsushi@ximian.com>
492
493         * RegionInfo.cs : reimplemented to use unicode CLDR.
494
495 2005-08-14  Gert Driesen  <drieseng@users.sourceforge.net>
496
497         * TextInfo.cs: For invariant culture, ListSeparator is a comma.
498
499 2005-08-12  Atsushi Enomoto  <atsushi@ximian.com>
500
501         * DateTimeFormatInfo.cs : GetAbbreviatedEraNames() and GetEra().
502
503 2005-08-11  Atsushi Enomoto  <atsushi@ximian.com>
504
505         * CultureInfo.cs : lazy load OptionalCalendars (and always non-null).
506         * DateTimeFormatInfo.cs : GetEraNames() should work.
507
508 2005-08-11  Atsushi Enomoto  <atsushi@ximian.com>
509
510         * CultureInfo.cs : added BootstrapCultureID for RegionInfo.
511         * RegionInfo.cs : implemented CurrentRegion. Added MonoTODOs.
512
513 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
514
515         * CompareInfo.cs : added IsSortable(). (NET_2_0)
516
517 2005-08-08  Gert Driesen  <drieseng@users.sourceforge.net>
518
519         * CompareInfo.cs: Marked UseManagedCollation internal to have API 
520         match that of MS.NET.
521
522 2005-08-02  Atsushi Enomoto  <atsushi@ximian.com>
523
524         * CompareInfo.cs :
525           Added managed collation support. It won't be activated unless you 
526           explicitly set environment MONO_USE_MANAGED_COLLATION=yes.
527
528 2005-08-02  Atsushi Enomoto  <atsushi@ximian.com>
529
530         * CompareInfo.cs : LastIndexOf() which takes startIndex without length
531           should use startIndex+1 as length.
532
533 2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
534
535         * CompareInfo.cs : IndexOf(string, char, ...) overloads must not
536           specify start as 0. Use source.Length - 1 instead.
537
538 2005-06-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
539
540         * NumberFormatInfo.cs: undo workaround for bug 55978 as it's not needed
541         any more. This fixed bug #75396.
542
543 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
544
545         * CultureInfo.cs: added internal method to check for a culture
546         valid for formatting. Correctly get the calendar type.  Before
547         it was always type 0. Thanks to Mcs for pointing this out.
548
549 2005-05-06  Miguel de Icaza  <miguel@novell.com>
550
551         * CultureInfo.cs: Eliminate double-check lock always init the invariant_culture_info.
552
553 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
554
555         * CultureInfo.cs: made a few variables 'volatile'. GetCultures now
556         returns the InvariantCulture in the array. Fixes bug #72081.
557
558 2005-04-27  Atsushi Enomoto  <atsushi@ximian.com>
559
560         * TextInfo.cs : Some performance fixes. Avoid delegate.
561           Compute parent culture only once. Quick ASCII range check.
562
563 2005-04-17  Atsushi Enomoto  <atsushi@ximian.com>
564
565         * TextInfo.cs : extremely strict null check (which should not happen).
566
567 2005-04-17  Atsushi Enomoto  <atsushi@ximian.com>
568
569         * TextInfo.cs : Additional null check for Parent CultureInfo.
570
571 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
572
573         * TextInfo.cs : To make new CultureInfo (127) as invariant, it should
574           not compare object Equals() against InvariantCulture.
575
576 2005-04-05  Atsushi Enomoto  <atsushi@ximian.com>
577
578         * TextInfo.cs : Fixed ToTitleCase() so that
579           - handle some titlecase characters in Latin ang Greek.
580           - it keeps "all title case" word as is ("ABC" does not become "Abc").
581           - it can handle such string like "1ABc".
582
583 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
584
585         * TextInfo.cs : implemented culture sensitive ToLower() and ToUpper()
586           which behaves exactly the same as MS.NET does.
587
588 2005-02-09  Lluis Sanchez Gual  <lluis@ximian.com>
589
590         * CultureInfo.cs: Added field needed for serialization
591         interoperability with MS.NET. Also fixed default value for
592         the constructor.
593
594 2005-01-31  Atsushi Enomoto  <atsushi@ximian.com>
595
596         * NumberFormatInfo.cs : allow zero length sizes. patch by Kazuki
597           Oikawa.
598
599 2005-01-20  Jackson Harper  <jackson@ximian.com>
600
601         * HebrewCalendar.cs: Patch by Juan C. Olivares
602         (juancri@tagnet.org) to implement 4 digit years and set the
603         min year correctly.
604
605 2005-01-17  Atsushi Enomoto  <atsushi@ximian.com>
606
607         * CharUnicodeInfo.cs : added new in 2.0 (kinda hacky).
608
609 2005-01-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
610
611         * CultureInfo.cs: the InvariantCulture returns false for
612         IsNeutralCulture. Fixes bug #59716.
613
614 2004-12-13  Ben Maurer  <bmaurer@ximian.com>
615
616         * CultureInfo.cs: Store TextInfo data. Hand it over to TextInfo.
617         * TextInfo.cs: Rewrote props to use the textinfo data stored in
618         unmanaged code.
619
620 2004-11-04  Zoltan Varga  <vargaz@freemail.hu>
621
622         * CultureInfo.cs (Clone): Make the components of the culture read-write
623         as well.
624
625 2004-10-14  Miguel de Icaza  <miguel@ximian.com>
626
627         * TextInfo.cs (ToString) Fix the return value for ToString.
628
629         (Add a new parameter: the CultureInfo, since we implemented things
630         in terms of the CultureInfo in our runtime, and not the
631         TextInfo). 
632
633         (ToTitleCase): Fix to do title case for each word on the string
634         per the spec.
635
636 Wed Jun 30 17:06:43 CEST 2004 Paolo Molaro <lupus@ximian.com>
637
638         * NumberFormatInfo.cs: workaround for bug 55978.
639
640 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
641
642         * DateTimeFormatInfo.cs : check if pattern array is empty or not. Now
643           icall fills them as possible empty list.
644
645 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
646
647         * DateTimeFormatInfo.cs: added TODO for serialization
648         * GregorianCalendar.cs:: added TODO for serialization
649         * HebrewCalendar.cs: added TODO for serialization
650         * HijriCalendar.cs: added TODO for serialization
651         * JapaneseCalendar.cs: added TODO for serialization
652         * JulianCalendar.cs: added TODO for serialization
653         * KoreanCalendar.cs: added TODO for serialization
654         * TaiwanCalendar.cs: added TODO for serialization
655         * ThaiBuddhistCalendar.cs: added TODO for serialization
656
657 2004-06-08  Dick Porter  <dick@ximian.com>
658
659         * CultureInfo.cs: Make calendar_data readonly, to match the
660         const-ness in the runtime.
661
662 2004-05-28  Atsushi Enomoto  <atsushi@ximian.com>
663
664         * DateTimeFormatInfo.cs : In fact GetAllDateTimePatterns() returns
665           non-unique results.  Just reordered return values looking at MS
666           invariant behavior.
667
668 2004-05-27  Atsushi Enomoto  <atsushi@ximian.com>
669
670         * DateTimeFormatInfo.cs : 'U' is in fact the same as 'F' for pattern
671           strings. Thanks to kangaroo for the hint.
672
673 2004-05-27  Atsushi Enomoto  <atsushi@ximian.com>
674
675         * DateTimeFormatInfo.cs : Fixed longtimes and shorttimes (exchanged).
676
677 2004-05-27  Atsushi Enomoto  <atsushi@ximian.com>
678
679         * DateTimeFormatInfo.cs : Added some string[] fields for
680           GetAllDateTimePatterns(char). The fields will be filled in metadata
681           and culture info table. Added improved patterns for 
682           GetAllDateTimePatterns() (right now works only for invariant).
683         * CultureInfo.cs : Use InvariantInfo for InvariantCulture.
684
685 2004-05-26  Atsushi Enomoto  <atsushi@ximian.com>
686
687         * DateTimeFormatInfo.cs :
688           hack implementation for GetAllDateTimePatterns().
689
690 2004-05-17  Jackson Harper  <jackson@ximian.com>
691
692         * CultureInfo.cs: Invariant culture has the invariant culture as
693         its parent....<insert joke about the south>. It is readonly so we
694         can return this.
695         
696 2004-05-17  Jackson Harper  <jackson@ximian.com>
697
698         * CultureInfo.cs: Properify error messages when invalid lcid's are
699         used.
700
701 2004-05-15  Jackson Harper  <jackson@ximian.com>
702
703         * CultureInfo.cs: Initialize optional calendars. A pointer to an
704         array of ints is passed back from the runtime to the CultureInfo
705         object. The ints store the calendar type and any optional data
706         needed to construct the calendar.
707         
708 2004-05-14  Dick Porter  <dick@ximian.com>
709
710         * HebrewCalendar.cs: Stubbed ToFourDigitYear()
711
712         * HijriCalendar.cs: Stubbed HijriAdjustment
713
714 2004-05-13  Jackson Harper  <jackson@ximian.com>
715
716         * CultureInfo.cs: You can access DateTimeFormat and NumberFormat
717         from the invariant culture.
718         
719 2004-05-13  Jackson Harper  <jackson@ximian.com>
720
721         * CultureInfo.cs: DateTimeFormat and NumberFormat can not be
722         accessed for neutral cultures.
723         
724 2004-04-30  Dick Porter  <dick@ximian.com>
725
726         * StringInfo.cs: 
727         * TextElementEnumerator.cs: Implemented
728
729 2004-04-27  Jackson Harper <jackson@ximian.com>
730
731         * CultureInfo.cs: Make specific names lower case, because all data
732         in the culture info tables is lowercase.
733         
734 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
735
736         * CultureInfo.cs: Call invariant String.ToLower
737         * RegionInfo.cs: Call invariant String.ToUpper
738
739 2004-04-11  Atsushi Enomoto  <atsushi@ximian.com>
740
741         * NumberFormatInfo.cs : All GetXXXGroupSizes() should not return
742           internal array. Return clone as MS.NET does.
743
744           There still looks somewhere breaking CurrentInfo.
745
746 2004-04-08  Lluis Sanchez Gual  <lluis@ximian.com>
747
748         * CompareInfo.cs, CultureInfo.cs, NumberFormatInfo.cs, TextInfo.cs:
749         Made those serializable-compatible with MS.NET: modified fields names to 
750         match MS.NET ones, and in CultureInfo added a flag to control when a
751         deserialized instance need to be initialized.
752
753 2004-04-07  Jackson Harper  <jackson@ximian.com>
754
755         * CultureInfo.cs: Use new ICUless implementation in the runtime.
756         * CompareInfo.cs: Get ICU name from a cultureinfo object instead
757         of looking it up in the culture map.
758         * RegionInfo.cs: Dont check if the LCID is neutral unless its not
759         found in the switch. Avoids an icall.
760         
761 2004-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
762
763         * NumberFormatInfo.cs: this fixes bug #56000 for me. And it doesn't
764         break anything as NumberFormatInfo is sealed.
765
766 2004-02-14  Atsushi Enomoto  <atsushi@ximian.com>
767
768         * NumberFormatInfo.cs : CurrentInfo should not return clone every 
769           time (MS.NET returns the same object; try object.ReferenceEquals()).
770
771 2004-02-08 David Sheldon <dave-mono@earth.li>
772
773         * NumberFormatInfo.cs: When parsing the percentages, put the data 
774           into PercentDecimalDigits/PercentGroupLengths, rather than trashing
775           the NumberDecimatDigits etc. This also means that the percent format
776           info gets set.
777
778 2004-01-27  David Sheldon <dave-mono@earth.li>
779
780         * NumberFormatInfo.cs: InitPatterns: it seems that the patterns in 
781           ICU use digitPattern, not zeroPattern for the spaces after the 
782           decimal point. 
783
784 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
785
786         * CultureInfo.cs: Parent returns null when lcid == parent_lcid. Fixes
787         bug #52102.
788
789 2003-12-20 Ben Maurer  <bmaurer@users.sourceforge.net>
790
791         * CompareInfo.cs: Replace blah == "" with blah.Length == 0.
792         MUCH faster. Note, we dont need to check for nulls, because
793         the properties were used in other places.
794
795 2003-12-19  Dick Porter  <dick@ximian.com>
796
797         * CompareInfo.cs: Added assorted shortcuts when comparing empty
798         strings.  Fixed offset and length range checks to flag when <0.
799         Broke test that offset >= string length to match actual ms
800         behaviour (sigh.)  Fixes bug 52310.
801
802 2003-12-06  Dick Porter  <dick@ximian.com>
803
804         * CompareInfo.cs: Don't build strings in Compare, IndexOf and
805         LastIndexOf methods.  Avoid the icall in IndexOf and LastIndexOf
806         if the search parameter is a char and the CompareOptions include
807         Ordinal.
808
809 2003-12-04  Dick Porter  <dick@ximian.com>
810
811         * CompareInfo.cs: Implement the deserialization callback
812
813         * CultureInfo.cs: Allow CompareInfo to see the CultureMap so that
814         it can construct the ICU collator itself
815
816 2003-12-02  Dick Porter  <dick@ximian.com>
817
818         * NumberFormatInfo.cs: Helper called by runtime locale
819         construction from ICU.  Patch by Mohammad DAMT (mdamt@cdl2000.com).
820
821 2003-12-01  Dick Porter  <dick@ximian.com>
822
823         * CultureInfo.cs: Culture name creation is case-insensitive.
824         Implemented CurrentCulture and CurrentUICulture.
825
826         * CompareInfo.cs: Fix IndexOf and LastIndexOf so that they work
827         for combining characters.
828
829 2003-11-05  Pedro Martínez Juliá  <yoros@wanadoo.es>
830
831         * DateTimeFormatInfo.cs: Hack an era for US culture. We must look
832         for other ways to get the ERA string.
833
834 2003-10-21  Dick Porter  <dick@ximian.com>
835
836         * TextInfo.cs: 
837         * CultureInfo.cs: Implement TextInfo.GetHashCode().  Fixes bug
838         49923.
839
840 2003-10-09  Dick Porter  <dick@ximian.com>
841
842         * CultureInfo.cs: Implemented, with internal calls to ICU apart
843         from the Invariant culture.
844         
845         * SortKey.cs:
846         * CompareInfo.cs: Implemented
847
848         * DateTimeFormatInfo.cs: Fixed the worst of the formatting,
849         construct default FullDateTimePattern on the fly.
850
851 2003-08-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
852
853         * Locale.cs: Removed (added new version to Assembly directory)
854
855 2003-07-23  Duncan Mak  <duncan@ximian.com>
856
857         * DateTimeFormatInfo.cs: theInvariantDateTimeFormatInfo should not
858         be public.
859
860 2003-05-11  Ben Maurer  <bmaurer@users.sourceforge.net>
861
862         * *Calendar.cs: Implemented the TwoDigitYearMax property.
863         
864 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
865
866         * NumberFormatInfo.cs: Method CurrentInfo now returns the "real"
867         CurrentInfo (Thread.CurrentThread.CurrentCulture.NumberFormat).
868
869 2003-02-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
870
871         * CultureInfo.cs:
872         (NameToID): make it case insensitive and use a hashtable instead of
873         comparing all the strings.
874
875 Mon Nov 18 13:02:09 CET 2002 Paolo Molaro <lupus@ximian.com>
876
877         * CultureInfo.cs: implemented Equals and GetHashCode.
878
879 2002-10-17  Duncan Mak  <duncan@ximian.com>
880
881         * CultureInfo.cs (TextInfo): return a TextInfo in the property.
882
883         * TextInfo.cs (ToLower):
884         (ToTitleCase): Implemented.
885
886 2002-09-12  Dick Porter  <dick@ximian.com>
887
888         * ThaiBuddhistCalendar.cs: 
889         * TextInfo.cs: 
890         * TaiwanCalendar.cs: 
891         * RegionInfo.cs: 
892         * KoreanCalendar.cs: 
893         * JulianCalendar.cs: 
894         * JapaneseCalendar.cs: 
895         * HijriCalendar.cs: 
896         * HebrewCalendar.cs: 
897         * GregorianCalendar.cs: 
898         * CultureInfo.cs: 
899         * CompareInfo.cs: Stub out missing methods
900
901 2002-08-15  Tim Coleamn <tim@timcoleman.com>
902         * CompareInfo.cs:
903                 Stubbed out some methods.
904
905 2002-08-14  Dick Porter  <dick@ximian.com>
906
907         * CultureInfo.cs: Implement Name, stub out all the other missing
908         methods.
909
910         * TextInfo.cs: Stubbed out this class
911
912 2002-06-12  Nick Drochak  <ndrochak@gol.com>
913
914         * DateTimeFormatInfo.cs: Reformat.
915
916 2002-06-11  Nick Drochak  <ndrochak@gol.com>
917
918         * NumberFormatInfo.cs: Make NumberNegativePattern = 1 for the ctor
919
920 2002-06-07  Nick Drochak  <ndrochak@gol.com>
921
922         * NumberFormatInfo.cs: Make InvariantInfo.NumberNegativePattern = 1
923
924 2002-05-07  Rodrigo Moya <rodrigo@ximian.com>
925
926         * CompareInfo.cs: new basic stub (compiles on Linux, so I assume
927         it does not break the build on windows. Sorry if it does).
928
929 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
930
931         * NumberFormatInfo.cs: always set the values for the invariant culture
932         until there are more cultures supported.
933
934 2002-04-22  Nick Drochak  <ndrochak@gol.com>
935
936         * NumberStyles.cs: Add [Serializable].
937
938 2002-04-08  Nick Drochak  <ndrochak@gol.com>
939
940         * UnicodeCategory.cs: Fix typos in enum names.
941
942 2002-03-04  Nick Drochak  <ndrochak@gol.com>
943
944         * JulianCalendar.cs: JulianEra should be field, not a property.
945         Thanks CorCompare (and Piers).
946
947 2002-02-12  Duncan Mak  <duncan@ximian.com>
948
949         * CultureInfo.cs: Added the Calendar property to make the TimeZone
950         class build. It's marked as MonoTODO.
951
952 2002-02-12  Nick Drochak  <ndrochak@gol.com>
953
954         * UnicodeCategory.cs: Fix typo.
955
956 2002-02-01  Radek Doulik  <rodo@ximian.com>
957
958         * RegionInfo.cs: started work on RegionInfo
959         implemented RegionInfo (string) constructor
960
961         * CultureInfo.cs: added internal static function,
962         which could be used from RegionInfo.cs
963
964 2002-01-16  Miguel de Icaza  <miguel@ximian.com>
965
966         * CultureInfo.cs: Completed the tables.   Now we need to actually
967         fill it in.
968
969 2002-01-15  Duncan Mak  <duncan@ximian.com>
970
971         * CultureInfo.cs: Convert it to unix text.
972
973 2002-01-04  Ravi Pratap  <ravi@ximian.com>
974
975         * GreogrianCalendar.cs : The same old MonoTODO attribute.
976
977 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
978
979         * Locale.cs: New file, a place holder for Locale.GetText.
980
981 Wed Nov 14 16:47:07 CET 2001 Paolo Molaro <lupus@ximian.com>
982
983         * Calendar.cs: CLSCompliant updates.
984
985 2001-11-04  Martin Weindel <martin.weindel@t-online.de>
986         * NumberFormatInfo.cs: fixed minor bug in Clone with readonly flag
987
988         * DateTimeFormatInfo.cs: added
989
990         * CultureInfo.cs: some changed needed for compiling DateTimeFormatInfo.cs
991
992 2001-10-26  Miguel de Icaza  <miguel@ximian.com>
993
994         * NumberFormatInfo.cs: Provide an internal constructor that takes
995         as an argument a CultureInfo ID (LCID) so that we can construct
996         different ones here.
997
998         * CultureInfo.cs: Begun implementation.
999
1000 2001-10-09  Derek Holden  <dholden@draper.com>
1001
1002         * NumberFormatInfo.cs: Small typo in PercentPositivePattern
1003         and CurrencyPositivePattern
1004
1005 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
1006
1007         * Calendar.cs: Implement a bunch of missing features.
1008
1009 2001-07-24  Derek Holden  <dholden@draper.com>
1010
1011         * NumberStyles.cs: Added ECMA values for Allow types and default
1012         styles.
1013
1014 2001-07-18  Michael Lambert <michaellambert@email.com>
1015
1016         * DateTimeStyles.cs, NumberStyles.cs: Add.
1017