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