2010-04-13 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mcs / class / corlib / System / ChangeLog
1 2010-04-13  Zoltan Varga  <vargaz@gmail.com>
2
3         * Convert.cs (ToInt32): Do a checked cast. Fixes #596339.
4
5 2010-04-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
6
7         * TimeSpan.cs: Implement support for custom formats parsing. This
8         should as well include the bits required to easily implement the same
9         for ToString methods, when the final release fixes the mess we found
10         in the latest beta.
11
12 2010-04-08 Rodrigo Kumpera  <rkumpera@novell.com>
13
14         * Type.cs: Add ResolveInternal virtual call that
15         resolves a given type to it's concrete type.
16
17 2010-03-07 Rodrigo Kumpera  <rkumpera@novell.com>
18
19         * Enum.cs (GetInfo): Don't use isinst tests as they can
20         return true for both signed and unsigned version of a
21         primitive type.
22
23         * Enum.cs (FindPosition): Ditto.
24
25 2010-04-06  Marek Safar  <marek.safar@gmail.com>
26
27         * Array.cs: Don't make read-only collection read-only.
28
29 2010-03-31  Miguel de Icaza  <miguel@novell.com>
30
31         * UInt32.cs, Int64.cs, UInt64.cs: cope with the case that the
32         IFormatProvider is not a NumberFormatInfo, preventing a crash.
33         This was already handled by Int32.cs, but these other routines
34         were never properly updated. 
35
36         Fixes #588356
37
38         * DateTimeOffset.cs: Add support for format K in DateTimeOffset,
39         fixes bug 589227.
40
41         * DateTime.cs: Add serialization support, fixes #588198.
42
43         Perhaps we should change the format as well since this is the new
44         format serialized anyways (see bug 592221, it saves 4 bytes of
45         memory as well)
46
47 2010-03-30  Sebastien Pouliot  <sebastien@ximian.com>
48
49         * InvalidTimeZoneException.cs
50         * TimeZoneNotFoundException.cs:
51                 Fix Moonlight since these types now reside in mscorlib
52                 (instead of System.Core) for NET_4_0 and also for SL4
53
54 2010-03-30  Jb Evain  <jbevain@novell.com>
55
56         * MonoType.cs: let the binder reorder arguments when invoking
57         params methods.
58         * Activator.cs (CreateInstance): use BindToMethod instead of
59         SelectMethod to make sure that params constructors are properly called.
60
61         Fixes #591877
62
63 2010-03-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
64
65         * TimeSpan.cs: Implement all the overloads of both TryParseExact and
66         ParseExact methods, by detecting the specific semantic changes in the
67         parse process, so we can properly re-utilize our new approach. This
68         included indicating our parser its culture sensitiveness, usage of colon as
69         day separator fallback or as a precise separator, and other minor bits.
70         We are only missing composite parsing right now.
71
72 2010-03-29  Sebastien Pouliot  <sebastien@ximian.com>
73
74         * AppDomainSetup.cs: Add new (FX4 and SL4) SetCompatibilitySwitches
75         method (empty is good enough for moonlight testing)
76         * Environment.cs: Expose MyVideos in Moonlight build
77
78 2010-03-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
79
80         * TimeSpan.cs: We always give higher precedence to the first found
81         error, but for versions before 4.0 we need to give a higher one to
82         per-element overflow *specifically* (as opposed to int32 overflow,
83         which remains the same). This is not needed for 4.0, so report
84         per-element overflow as a normal error. 
85         This should fix a compatibility case, as well as simplifying the code.
86
87 2010-03-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
88
89         * MonoAsyncCall.cs: remove unused field.
90         * Delegate.cs: add new IsTransparentProxy property.
91         * MulticastDelegate.cs: add new HasSingleTarget property.
92         * Environment.cs: bump up corlib version.
93
94 2010-03-25  Sebastien Pouliot  <sebastien@ximian.com>
95
96         * AppDomain.cs: Add new properties that are in both FX4 and SL4
97         since Moonlight needs them (for testing purpose).
98         * Environment.cs: FailFast overloads are present in SL4 (and also
99         needed for testing Moonlight)
100
101 2010-03-24  Sebastien Pouliot  <sebastien@ximian.com>
102
103         * AppDomain.cs: Change default value from null to false for new
104         (NET_4_0 and SL4) IsCompatibilitySwitchSet. Not sure when (or even
105         if) it can return null (at least not when testing SL4 RC). 
106         Fix DRT198
107
108 2010-03-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
109
110         * TimeSpan.cs: When parsing ticks, we used to only parse
111         the first 7 digits, and more than that would cause a FormatException -
112         starting in 4.0 we need to throw an OverflowException, however. Also,
113         for hours/minutes/seconds, two or more preceding zeroes will cause an
114         OverflowException as well.
115
116 2010-03-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
117
118         * TimeSpan.cs: Create a new Parser.Execute method for 4.0 -and use the
119         previous impl for 2.0-, to handle the new semantics gracefully -
120         specifically the new 'dd:hh:mm:ss' format and related bits, instead of
121         of a ton of #ifdef blocks. Remove any 4.0 bits from the previous
122         version as well, to keep it clean.
123
124 2010-03-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
125
126         * TimeSpan.cs: Move the error detection code to a separate method.
127         This way depending on the version we decide what error takes
128         precedence: OverlowException in 2.0, and FormatException in 4.0. This
129         also lets us keep the Execute() code cleaner and easier to understand.
130
131 2010-03-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
132
133         * TimeSpan.cs: Put the error info in a single field, to make it easier
134         to preserve the very first error we get while parsing, and discard the
135         next ones. This will help us in a pair of cases where we were
136         overriding the previous error and reporting the wrong exception.
137
138 2010-03-17  Sebastien Pouliot  <sebastien@ximian.com>
139
140         * String.cs: SL4 includes new IsNullOrWhiteSpace and Concat/Join 
141         overloads.
142
143 2010-03-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
144
145         * TimeSpan.cs: TimeSpan is actually implementing IFormattable.
146
147 2010-03-17  Rolf Bjarne Kvinge  <RKvinge@novell.com>
148
149         * AppDomain.cs: Added MonoTODO for IsCompatibilitySwitchSet.
150
151 2010-03-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
152
153         * TimeSpan.cs: In 4.0 the Parse/TryParse methods always try to use its
154         associated CultureInfo.NumberFormat.NumberDecimalSeparator value, as well as
155         providing backwards compatibility by also supporting '.' as the
156         separator.
157
158 2010-03-16  Jb Evain  <jbevain@novell.com>
159
160         * AppDomainSetup.cs
161         * Tuple.cs
162         * ChangeLog
163         * Exception.cs
164         * String.cs
165         * Console.cs
166         * Tuples.cs
167         * Activator.cs
168         * AppDomain.cs:
169                 Use MOONLIGHT symbol to disambiguate MonoTouch and Moonlight code.
170
171 2010-03-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
172
173         * Enum.cs: Added a few 4.0 api to Moonlight.
174
175 2010-03-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
176
177         * AppDomain.cs: Added IsCompatibilitySwitchSet for .NET 4.0 and Moonlight.
178
179 2010-03-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
180
181         * TimeSpan.cs: In 4.0 if the part parsed as days exceeds the allowed
182         range -this is, 23-, then it is processed as days instead - opposed to
183         2.0, where we are throwing an OverflowException.
184
185 2010-03-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
186
187         * TimeSpan.cs: Make the colon parsing optional -and adjust the name to
188         reflect it-, so we can properly parse the case where we only have the
189         hours and minutes. This subtle bug was hidden before, since a string
190         such "10:12" would be parsed correctly, but "10:12  " (trailing white
191         space) was getting a FormatException.
192
193 2010-03-12  Sebastien Pouliot  <sebastien@ximian.com>
194
195         * Tuple.cs, Tuples.cs: Add them to NET_2_1 since they are parts
196         of SL4
197
198 2010-03-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
199
200         * TimeSpan.cs: Implement 4.0 overloads of TryParse/Parse.
201
202 2010-03-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
203
204         * TimeSpan.cs: Implement 4.0 ToString overloads.
205
206 2010-03-06 Rodrigo Kumpera  <rkumpera@novell.com>
207
208         * UIntPtr.cs: Remove some v4 custom attributes that were
209         on Beta2 but aren't there on RC.
210
211 2010-03-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
212
213         * TimeSpan.cs: Implement correctly the TryParse method, instead of
214         using a try/catch block.
215
216 2010-03-04 Rodrigo Kumpera  <rkumpera@novell.com>
217
218         * Type.cs : Fix for bug #574696: don't recurse into base types in GetMember when
219         getting properties.
220         Patch by Eberhard Beilharz <eb1@sil.org>
221
222 2010-03-03  Miguel de Icaza  <miguel@novell.com>
223
224         * Decimal.cs: Disable the fast double2decimal code, and go back to
225         string parsing as there is a rounding/precision bug.
226
227                 //
228                 // We cant use the double2decimal method
229                 // because it incorrectly turns the floating point
230                 // value 1.23456789E-25F which should be:
231                 //    0.0000000000000000000000001235
232                 // into the incorrect:
233                 //   0.0000000000000000000000001234
234                 //
235                 //    The code currently parses the double value 0.6 as
236                 //    0.600000000000000
237                 //
238                 // And we have a patch for that called (trim
239
240 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
241
242         * Type.cs (Equals): Better version that does less
243         trips to runtime land.
244
245 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
246
247         * MonoType.cs: Add v4 security properties.
248
249 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
250
251         * Type.cs: Add v4 security properties.
252
253 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
254
255         * Type.cs: Fix identation.
256
257 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
258
259         * Activator.cs: : Implement new v4 overloads and [Obsolete].
260
261 2010-03-03 Rodrigo Kumpera  <rkumpera@novell.com>
262
263         * AppDomain.cs: Add bunch of trivial overloads.
264
265 2010-03-01 Rodrigo Kumpera  <rkumpera@novell.com>
266
267         * TypeSpec.cs: New file. Managed code implementation of type name
268         parsing.
269
270         * Type.cs: Implement new v4 overloads of GetType.
271
272 2010-03-01  Zoltan Varga  <vargaz@gmail.com>
273
274         * Array.cs (CreateArray): Disallow creation of arrays of unfinished types.
275
276 2010-03-01  Miguel de Icaza  <miguel@novell.com>
277
278         * DateTime.cs (DoParse): patch from Tom Philpot, while using
279         TryParse if s is null, we should return false, not crash.
280
281 2010-02-28 Rodrigo Kumpera  <rkumpera@novell.com>
282
283         * Type.cs: Forgot a pair of #if NET_4_0.
284
285 2010-02-28  Miguel de Icaza  <miguel@novell.com>
286
287         * Decimal.cs: If the NumberFormatInfo is broken and contains the
288         same character for grouping than is used for decimals, the decimal
289         separator gets a priority.  This issue was exposed by the
290         Silverlight Test suite.
291
292         Allow null trailing characters when parsing, this is valid in
293         .NET: "5\0" and "5\0\0\0\0", but "5\05" is not.
294
295         * Decimal.cs: Enabling the unmanaged double to decimal and float
296         to decimal conversions code again as I am unable to find any
297         regressions in corlib, System.Data, the Silverlight test suite or
298         Rotor's test suite.
299
300         I am enabling it hoping that we can find the original problem that
301         lead us to use the slow path.
302
303 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
304
305         * AggregateException.cs: Fix ctor vibility.
306
307         * Type.cs: IsEnum and IsSerializable are virtual
308         properties now.
309
310         * Tuple.cs: Fix Tuple'8 Create method.
311
312 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
313
314         * UIntPtr.cs: Add some v4 custom attributes.
315
316 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
317
318         * Float.cs: New v4 operators.
319
320 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
321
322         * IntPtr.cs: Add some v4 custom attributes.
323
324 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
325
326         * Double.cs: New v4 operators.
327
328 2010-02-27 Rodrigo Kumpera  <rkumpera@novell.com>
329
330         * Type.cs: Make cor-compare happy.
331
332 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
333
334         * Lazy.cs: Implement all lazy modes.
335
336 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
337
338         * ExecutionEngineException.cs: Type is obsolete.
339
340 2010-02-26 Rodrigo Kumpera  <rkumpera@novell.com>
341
342         * Type.cs: Implement new v4 IsEnumDefined ().
343
344 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
345
346         * Type.cs: Implement new v4 GetEnumValue ().
347
348 2010-02-24 Rodrigo Kumpera  <rkumpera@novell.com>
349
350         * Type.cs: Implement new v4 GetEnumValues ().
351
352         * MonoType.cs: Ditto.
353
354 2010-02-23 Rodrigo Kumpera  <rkumpera@novell.com>
355
356         * Type.cs: Use the right kind of annotations.
357
358 2010-02-23 Rodrigo Kumpera  <rkumpera@novell.com>
359
360         * Type.cs:  Implement new v4 GetEnumNames ().
361
362 2010-02-22 Rodrigo Kumpera  <rkumpera@novell.com>
363
364         * Type.cs:  Implement new v4 GetEnumUnderlyingType ().
365
366 2010-02-22 Rodrigo Kumpera  <rkumpera@novell.com>
367
368         * Type.cs: Implement new v4 GetTypeCodeImpl ().
369
370 2010-02-19 Rodrigo Kumpera  <rkumpera@novell.com>
371
372         * Type.cs: Implement new v4 behavior for Equals.
373         
374 Fri Feb 19 09:05:36 CET 2010 Paolo Molaro <lupus@ximian.com>
375
376         * Decimal.cs: fixed Remainder (bug #576341).
377
378 2010-02-13 Gonzalo Paniagua Javier <gonzalo@novell.com>
379
380         * Environment.cs: implement SystemPageSize.
381
382 Fri Feb 12 18:38:01 CET 2010 Paolo Molaro <lupus@ximian.com>
383
384         * InsufficientExecutionStackException.cs: new exception type in 4.0.
385
386 2010-02-11 Rodrigo Kumpera  <rkumpera@novell.com>
387
388         * MonoType.cs: Implement GetCustomAttributesData.
389
390 2010-02-06  Chris Toshok  <toshok@ximian.com>
391
392         * AppDomain.cs (SetupInformationNoCopy): make this internal for
393         moonlight.
394
395 2010-02-02  Jérémie Laval  <jeremie.laval@gmail.com>
396
397         * AggregateException.cs:
398         * OperationCanceledException.cs: Port to .NET 4 beta 2 API
399
400 2010-01-31  Zoltan Varga  <vargaz@gmail.com>
401
402         * Enum.cs: Fix a warning.
403
404 2010-01-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
405
406         * Version.cs: Implement Parse and TryParse.
407
408 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
409
410         * AppDomain.cs: LoadSatellite: add a boolean parameter specifiying
411         whether we should throw on exceptions or not.
412
413 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
414
415         * TimeSpan.cs: TryParse: Handle null values to not throw ANEs.
416
417 2010-01-25 Gonzalo Paniagua Javier <gonzalo@novell.com>
418
419         * Array.cs: updates to the API from beta2.
420         * _AppDomain.cs: no GetLifeTimeService() in 4.0
421
422 2010-01-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
423
424         * Enum.cs: Implement TryParse and do the required refactoring of our
425         Parse method to support it.
426
427 2010-01-25  Atsushi Enomoto  <atsushi@ximian.com>
428
429         * Single.cs : parse MaxValue and PositiveInfinity as expected.
430           Patch by Tiaan Geldenhuys.
431
432 2010-01-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
433
434         * Activator.cs: When calling CreateInstance() and no default .ctor is
435         found for the type, don't pass the member argument to the
436         MissingMethodException, to have a better and simpler error message.
437         Fixes #396986.
438
439 2010-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
440
441         * Tuples.cs: explicitly implement IStructural*.
442
443 2010-01-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
444
445         * UInt64.cs: Implement a lightweight version of the Parse method for
446         the overload that does not take IFormatProvider/NumberStyle
447         parameters - this gets us a nice speed up, just like we do for the
448         other number types.
449         Fixes #338022.
450
451 2010-01-15 Rodrigo Kumpera  <rkumpera@novell.com>
452
453         * Array.cs: Implement IStructuralComparer.
454
455 2010-01-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
456
457         * Int32.cs: In Parse() cast the parsed value to long *before* changing
458         its sign - this way we preserve the original value, instead of
459         accidentally changing it. This was happening parsing _exactly_
460         MaxValue + 1.
461         Fixes #475815.
462
463 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
464
465         * DateTime.cs : In AddMilliseconds(), it seems fractional
466           milliseconds are first rounded and then added.
467
468 2010-01-15  Atsushi Enomoto  <atsushi@ximian.com>
469
470         * DateTimeOffset.cs : preserve fractions (it is somehow dropped).
471
472 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
473
474         * Double.cs : no need to preserve old code.
475
476 2010-01-12  Atsushi Enomoto  <atsushi@ximian.com>
477
478         * Double.cs : AllowLeading/TrailingWhite should also check those
479           surrounding string constants such as "NaN".
480
481 2010-01-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
482
483         * Int32.cs: Implement support for exponent in the Parse methods.
484         Fixes #542464.
485
486 2010-01-10  Zoltan Varga  <vargaz@gmail.com>
487
488         * GC.cs: Add stubs for new net 4.0 methods.
489
490 2010-01-07  Jb Evain  <jbevain@novell.com>
491
492         * MonoType.cs (.MemberType): return the proper member type
493         for generic parameters.
494
495 2010-01-07  Sebastien Pouliot  <sebastien@ximian.com>
496
497         * Convert.cs: Fix line endings in ToBase64String (bug #568778)
498         and also the default line length. Code changed to not require
499         a BinaryReader over a MemoryStream to reduce memory requirements.
500
501 2010-01-07  Zoltan Varga  <vargaz@gmail.com>
502
503         * TermInfoDriver.cs (GetCursorPosition): Avoid waiting 1 sec here.
504
505 2010-01-03  Zoltan Varga  <vargaz@gmail.com>
506
507         * Array.cs: Fix ArrayReadOnlyList.CopyTo. Fixes #564095.
508
509 2010-01-03  Zoltan Varga  <vargaz@gmail.com>
510
511         * DateTime.cs (TryParseExact): Handle exceptions. Fixes #567857.
512
513 2009-12-21  Marek Habersack  <mhabersack@novell.com>
514
515         * Int32.cs: treat terminating null as whitespace
516
517 2009-12-19  Zoltan Varga  <vargaz@gmail.com>
518
519         * String.cs: Fix the various IndexOf and LastIndexOf methods so they handle
520         "" and a non-zero startIndex correctly. Fixes #566106.
521
522 2009-12-17  Sebastien Pouliot  <sebastien@ximian.com>
523
524         * String.cs: Fix #565602 right-padding empty strings.
525
526 2009-12-15  Marek Safar  <marek.safar@gmail.com>
527
528         * Array.cs: Optimize sort operations on all primitive types.
529
530 2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
531
532         Type.cs (IsCompilerContext): The default implementation now checks if the
533         type's assembly is under compiler context or not.
534
535 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
536
537         * Environment.cs: Bump corlib version.
538
539 2009-12-12 Rodrigo Kumpera  <rkumpera@novell.com>
540
541         * MonoType.cs: Make the GetConstructorImpl machinery available
542         to be used by others.
543
544         * Type.cs (MakeGenericType): Is any of the arguments is not a system
545         type create an instance of MonoGenericClass instead. 
546
547 2009-12-09  Jb Evain  <jbevain@novell.com>
548
549         * StringComparer.cs (GetHashCode): properly throw
550         an ANE instead of an NRE.
551
552 2009-12-09  Miguel de Icaza  <miguel@novell.com>
553
554         * Enum.cs: Add new .NET 4.0 API.
555
556 2009-12-08  Marek Habersack  <mhabersack@novell.com>
557
558         * Type.cs: added overloads for the == and != operators (4.0).
559
560 2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
561
562         * Type.cs: Add virtual property IsCompilerContext to cleanup
563         compiler context resolution across SRE.
564
565 2009-12-05  Mark Probst  <mark.probst@gmail.com>
566
567         * String.cs: A new LOS_limit variable which gives the maximum
568         string length that's not put in the LOS.
569
570         * StringBuilder.cs: Copy the string also if it's in the LOS and
571         chopping it would bring its size below the LOS limit.
572
573         * Environment.cs: Bump corlib version.
574
575 2009-12-03  Stephane Delcroix  <stephane@delcroix.org>
576
577         * DateTimeOffset.cs: fix dates arithmetic to avoid throwing
578         while crossing dst boundaries.
579
580 2009-12-03  Jb Evain  <jbevain@novell.com>
581
582         * Attribute.cs: remove code duplication.
583
584 2009-12-02  Jb Evain  <jbevain@novell.com>
585
586         * Enum.cs (IConvertible.ToType): properly convert enum values
587         to strings instead of their numeric value.
588
589 2009-12-02  Jb Evain  <jbevain@novell.com>
590
591         * Environment.cs (mono_corlib_version): bump.
592         * Attribute.cs: when retrieving custom attributes defined
593         on parameters belonging to a virtual method, walk
594         the inheritance chain to check for parameters attributes
595         all the way down.
596
597 2009-12-01  Jb Evain  <jbevain@novell.com>
598
599         * Type.cs (MakeByRefType): throw a TypeLoadException when being
600         called on type which is already ByRef.
601
602 2009-11-26  Sebastien Pouliot  <sebastien@ximian.com>
603
604         * Random.cs: Fix case where the diff between min and max
605         is very large in Next(int,int). Fix bug #558593
606
607 2009-11-25  Zoltan Varga  <vargaz@gmail.com>
608
609         * Delegate.cs (GetHashCode): Fix this so it is constant.
610
611 2009-11-24  Jb Evain  <jbevain@novell.com>
612
613         * Array.cs: use ContainsGenericParameters instead of
614         IsGenericTypeDefinition as it catches more cases.
615
616 2009-11-24  Jb Evain  <jbevain@novell.com>
617
618         * Array.cs (IList.this[int]): prevent the use of the IList indexer 
619         when dealing with a multi dimensional array.
620
621 2009-11-24  Jb Evain  <jbevain@novell.com>
622
623         * Array.cs (Clear): throw an IndexOutOfRangeException instead
624         of an ArgumentOutRangeException for a negative length.
625
626 2009-11-24  Jb Evain  <jbevain@novell.com>
627
628         * Array.cs (CreateInstance): do not allow open generic types.
629
630 2009-11-24  Jb Evain <jbevain@novell.com>
631
632         * Array.cs (CreateInstance): do not allow void arrays.
633
634 2009-11-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
635
636         * Array.cs: When sorting and we are sorting value types implementing
637         IComparable<T>, use its corresponding Comparer<T>.Default helper. 
638         This way we avoid casting our values to IComparable<T>, and thus we 
639         avoid *all* the boxing for them. Using Comparer<T>.Default seems to be
640         slower for reference types, so we don't use it for those ones.
641
642 2009-11-22  Miguel de Icaza  <miguel@novell.com>
643
644         * Environment (IsUnix): expose this common property, so we avoid
645         duplicating code. 
646
647 2009-11-18  Marek Safar  <marek.safar@gmail.com>
648
649         * Type.cs: Use faster string comparers.
650
651 2009-11-17  Atsushi Enomoto  <atsushi@ximian.com>
652
653         * DateTimeOffset.cs : fix parse failure on missing colon.
654           Fixed bug #547675, patch by Santa Marta (see bugzilla).
655
656 2009-11-13  Marek Safar  <marek.safar@gmail.com>
657
658         * Lazy.cs: Check recursive initializations.
659
660 2009-11-11 Rodrigo Kumpera  <rkumpera@novell.com>
661
662         * Type.cs: Fix Make(Array|ByRef|Pointer)Type to not crash
663         with user types. 
664
665         * Type.cs (MakeGenericType): Don't crash with user types.
666
667         * Type.cs (GetGenericParameterConstraints): Don't crash with user types.
668
669         * Type.cs (GenericParameterAttributes): Don't crash with user types.
670
671         * Type.cs (IsInstanceOfType): Don't crash with user types.
672
673         * Type.cs (IsAssignableFrom): Better handle User Types.
674
675         * Type.cs (GetInterfaceMap): Don't crash with user types.
676
677         * Type.cs (Equals): Fix behavior to be more MS compatible.
678
679 2009-11-11  Sebastien Pouliot  <sebastien@ximian.com>
680
681         * Console.cs: Reduce duplication between OpenStandard[Input|
682         Output|Error] and, for Moonlight, don't return a NullStream if
683         security is disabled (e.g. when smcs executes) r: alan
684         Note: include changes from r145773 (2-6) from toshok
685
686 2009-11-10  Miguel de Icaza  <miguel@novell.com>
687
688         * Lazy.cs: Updated API to 4.0 Beta 2
689
690 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
691
692         * Array.cs (Sort):
693         - Sort(..) without IComparer param call Sort(.., (IComparer)null) siblings
694         - Sort(keys, items,..) with items == null call Sort(keys,..) siblings
695         Add missing argument checks. Add SortImpl method to be used by
696         List<T>.Sort(Comparison <T>).
697
698         Part 3 of 3 fixing bug #351638.
699
700 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
701
702         * Array.cs (Sort): Add and call
703         - SortImpl methods which do the real work without argument checking
704         - MoveNullKeysToFront methods which do a null <-> non-null sorting and
705         ensure that all non-null object implement IComparable/IComparable<T>
706
707         Part 2 of 3 fixing bug #351638.
708
709 2009-11-08  Juraj Skripsky  <js@hotfeet.ch>
710
711         * Array.cs (Sort): optimize qsort by employing multiple, faster copies
712         of the inner-most loops:
713         - for case "comparer != null"
714         - for case "pivot is IComparable<T>"
715         - for case "pivot is IComparable"
716         Remove compare methods as the inner loops now do their work.
717         Use GetValueImpl instead of GetValue in swap.
718
719         Part 1 of 3 fixing bug #351638.
720
721 2009-11-03  Miguel de Icaza  <miguel@novell.com>
722
723         * TermInfoDriver.cs (CheckWindowDimensions) Avoid extra checks, as
724         the condition was always checked previously.
725
726         (WriteSpecialKey): Actually write the tab character.
727         
728 2009-11-02  Miguel de Icaza  <miguel@novell.com>
729
730         * More NET_2_0 define removal, assume that it is now always true. 
731
732 2009-10-30  Sebastien Pouliot  <sebastien@ximian.com>
733
734         * MonoType.cs: Don't pass null value to icalls 
735         GetCorrespondingInflated[Constructor|Method]
736
737 2009-10-28  Lluis Sanchez Gual  <lluis@novell.com>
738
739         * MarshalByRefObject.cs: In InitializeLifetimeService, if a lease
740         exists for the object return it, instead of always creating
741         a new one. Fixes bug #544357.
742
743 2009-10-27  Sebastien Pouliot  <sebastien@ximian.com>
744
745         * String.cs: Remove unused (and unneeded) internal call defs.
746         Reduce duplication (and fix test) for Concat (object,object).
747         Avoid allocating zero-length strings in the cases where the
748         FX does not do so.
749
750 2009-10-22  Miguel de Icaza  <miguel@novell.com>
751
752         *  String.cs (IsNullOrWhiteSpace, Concat, Join): New 4.0 methods. 
753
754         * IntPtr.cs (Add, Subtract): New 4.0 methods.
755
756         * Tuple.cs: Updated signature.
757
758 2009-10-19  Marek Safar  <marek.safar@gmail.com>
759
760         * IObservable.cs, IObserver.cs: New files.
761         
762         * EventHandler.cs: Cleanup.
763
764 2009-10-16  Miguel de Icaza  <miguel@novell.com>
765
766         * Jumbo patch to drop support for pre-NET_2_0 code:
767
768         Remove ONLY_1_1 code
769         Remove NET_1_0 only code
770         Remove NET_2_0 defines assuming the value is true.
771
772         Improve one MonoTODO;   Implement one MonoTODO/Niex.
773
774         Ran a textual diff on the resulting assembly to validate that the
775         restul is the same on NET_2_0
776
777 2009-10-14  Jonathan Pryor  <jpryor@novell.com>
778
779         * AppDomain.cs: Re-add BaseDirectory in the MonoTouch profile.
780
781 2009-10-14  Sebastien Pouliot  <sebastien@ximian.com>
782
783         * Exception.cs: Use StackFrame.GetSecureFileName to display (or 
784         not) the file names (and paths). Don't serialize Source for
785         Moonlight.
786         * ValueType.cs: Change InternalEquals (icall) visibility to 
787         private since it is not used elsewhere outside the type.
788
789 2009-10-08  Sebastien Pouliot  <sebastien@ximian.com>
790
791         * AppDomain.cs: Remove NET_2_1 specific DefineDynamicAssembly(
792         AssemblyName,AssemblyBuilderAccess,bool) since it is not part
793         of SL. Provide a ToString implementation similar to Silverlight
794         for Moonlight (and without directly using an icall)
795
796 2009-10-07  Sebastien Pouliot  <sebastien@ximian.com>
797
798         * String.cs: Remove unsafe code duplication in ToCharArray.
799         Define out the unused InternalStrcpy icalls
800         * StringComparer.cs: Seal internal/private inner classes.
801
802 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
803
804         * Decimal.cs: Use Compare method instead of directly using the
805         decimalCompare internal call.
806
807 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com> 
808
809         * Enum.cs: Add an internal Value property as a single point to 
810         call the internal call get_value.
811
812 2009-10-06  Sebastien Pouliot  <sebastien@ximian.com>
813
814         * String.cs: Remove normalization methods for Moonlight
815
816 2009-10-06  Jonathan Chambers  <joncham@gmail.com>
817
818         * String.cs (Contains): Use CompareOptions.Ordinal. Fixes bug
819         #535425.
820
821 2009-10-04  Mark Probst  <mark.probst@gmail.com>
822
823         * AppDomain.cs: Check for static AppDomainInitializer earlier to
824         throw the appropriate exception instead of failing at
825         serialization.
826
827 2009-10-04  Mark Probst  <mark.probst@gmail.com>
828
829         * AppDomainSetup.cs: Functionality for serializing a few members
830         to simplify cross-domain copying from within the runtime.
831
832         * AppDomain.cs (CreateDomain): Make AppDomainSetup serialize the
833         necessary members in preparation for the cross-domain copy.
834
835         * Environment.cs: Corlib version bump.
836
837 2009-10-02  Marek Safar  <marek.safar@gmail.com>
838
839         * Array.cs, Decimal.cs, String.cs, Console.cs, _AppDomain.cs,
840         AppDomain.cs: Removed prehistoric mcs workarounds.
841
842 2009-09-30  Mark Probst  <mark.probst@gmail.com>
843
844         * Thread.cs: Remove serialized culture icall stuff from
845         InternalThread.  Implement it by using the cross-domain byte array
846         transfer icalls.
847
848         * Environment.cs: Corlib version bump.
849
850 2009-09-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
851
852         * TermInfoDriver.cs: attempt to fix bug #527487.
853
854 2009-09-28  Atsushi Enomoto  <atsushi@ximian.com>
855
856         * Console.cs : do not use codepage 28591. It breaks build on
857           Japanese Windows.
858
859 2009-09-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
860
861         * TermInfoDriver.cs: avoid segv if the pointer is not properly
862         initialized.
863
864 2009-09-26  Mark Probst  <mark.probst@gmail.com>
865
866         * NumberFormatter.cs: Remove the _thread field.
867
868 2009-09-26  Mark Probst  <mark.probst@gmail.com>
869
870         * Environment.cs: Corlib version bump.
871
872 2009-09-24  Zoltan Varga  <vargaz@gmail.com>
873
874         * Type.cs: Initialize the Missing field.
875
876 2009-09-22  Sebastien Pouliot  <sebastien@ximian.com>
877
878         * Environment.cs: Remove imperative CAS environment
879         permission checks under NET_2_1
880
881 2009-09-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
882
883         * Console.cs: mark methods/properties that only work on windows.
884         Fixes bug #540593.
885
886 2009-09-21  Sebastien Pouliot  <sebastien@ximian.com>
887
888         * AppDomain.cs: Remove use of IPrincipal, Evidence and
889         PermissionSet types for NET_2_1
890
891 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
892
893         * Activator.cs: Remove COM related method for NET_2_1
894         * AppDomain.cs: Remove extra methods and properties for NET_2_1
895         * AppDomainSetup.cs: Remove some properties for NET_2_1
896
897 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com> 
898
899         * AppDomain.cs, Environment.cs: Remove imperative CAS file IO
900         permission checks under NET_2_1
901
902 2009-09-20  Sebastien Pouliot  <sebastien@ximian.com>
903
904         * AppDomainManager.cs: Remove NET_2_1 defines
905         * AppDomainManager_2_1.cs: New. NET_2_1 specific implementation
906
907 2009-09-04  Miguel de Icaza  <miguel@novell.com>
908
909         * TermInfoDriver.cs: Handle a few more key combinations.
910
911 2009-08-14  Miguel de Icaza  <miguel@novell.com>
912
913         * TermInfoDriver.cs (GetCursorPosition): Before we probe the
914         terminal for the cursor location, read all the pending console
915         input into our internal buffer and then send the cursor location
916         request.
917
918 2009-08-26  Sebastien Pouliot  <sebastien@ximian.com>
919
920         * TimeSpan.cs: Fix parsing when seconds are not specified.
921
922 2009-08-14  Marek Safar  <marek.safar@gmail.com>
923
924         * Type.cs: Made IsClass work under compiler context.
925
926 2009-08-12  Zoltan Varga  <vargaz@gmail.com>
927
928         * ResolveEventArgs.cs: Add net 4.0 RequestingAssembly property.
929
930 2009-08-11  Jérémie Laval  <jeremie.laval@gmail.com>
931
932         * Funcs.cs:
933         * Action.cs:
934         * AggregateException.cs: Add BOOTSTRAP_NET_4_0.
935
936 2009-08-07  Marek Safar  <marek.safar@gmail.com>
937
938         * AppDomain.cs: IsHomogenous always returns true for now.
939
940 2009-08-06 Rodrigo Kumpera  <rkumpera@novell.com>
941
942         * Environment.cs: Bump corlib version.
943
944 2009-08-04 Rodrigo Kumpera  <rkumpera@novell.com>
945
946         * Environment.cs: Bump corlib version.
947
948 2009-08-03  Zoltan Varga  <vargaz@gmail.com>
949
950         * Environment.cs: Bump corlib version.
951
952 2009-07-30  Marek Safar  <marek.safar@gmail.com>
953
954         * AppDomain.cs: Implemented 2.0 CreateDomain.
955
956 2009-07-28 Rodrigo Kumpera  <rkumpera@novell.com>
957
958         Type.cs (MakeArrayType): Handle one-dym multidimensional array
959         created with Type::MakeArrayType (1).
960
961 2009-07-28  Rodrigo Kumpera  <rkumpera@novell.com>
962
963         * Type.cs (FindMembers): Fix the ordering of returned members
964         to method, ctor, property, event, field and nested type.
965
966 2009-07-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
967
968         * Array.cs: empty arrays just return -1 in LastIndexOf().
969
970 2009-07-27  Miguel de Icaza  <miguel@novell.com>
971
972         * Value types implementing IConvertible.ToType now throw an
973         ArgumentNullException if they are passed a null as the
974         "targetType" argument.
975
976         This code can not be put directly in the Convert.ToType method, as
977         this method is used by Convert.ToType (object o, TypeCode tc)
978         which uses null as a target to throw a different kind of error
979         (InvalidCastException).
980
981         Fixes a few more bugs in the Silverlight BCL test suite.
982
983         Additionally, the parameter type has been renamed.
984
985 2009-07-26  Miguel de Icaza  <miguel@novell.com>
986
987         * Type.cs: (GetMember) call directly the worker method, instead of
988         calling through an intermediary.
989
990         (GetMember, full): throw if the name is null.
991
992 2009-07-19  Robert Jordan  <robertj@gmx.net>
993
994         * __ComObject.cs: Factor out Initialize method and expose it to
995         ComInteropProxy. Fixes bug #520437.
996
997 2009-07-14  Rodrigo Kumpera  <rkumpera@novell.com>
998
999         * Attribute.cs (GetCustomAttributes): Pass typeof(Attribute)
1000         to GetCustomAttributes to match MS.
1001
1002         * MonoCustomAttrs.cs (GetCustomAttributesBase): Do proper
1003         checking of which types are handled by the runtime.
1004
1005         * MonoCustomAttrs.cs (IsDefined): Same.
1006
1007         Fixes #521885.
1008
1009 2009-07-14  Zoltan Varga  <vargaz@gmail.com>
1010
1011         * Environment.cs: Bump corlib version.
1012
1013 2009-07-07  Rodrigo Kumpera  <rkumpera@novell.com>
1014
1015         * Type.cs (IsUserType): Only TypeDelegator and types
1016         outside of corlib are unhandled usertypes.
1017
1018 2009-07-02  Marek Safar  <marek.safar@gmail.com>
1019
1020         * Type.cs, AppDomain.cs: 4.0 bits.
1021
1022 2009-06-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
1023
1024         * DateTime.cs: if the DateTimeOffset is out of bounds, let Parse
1025         report the error. Fix stupid harmless typo.
1026         * DateTimeOffset.cs: report error if the UTC date/time is out of
1027         bounds.
1028
1029 2009-06-25  Miguel de Icaza  <miguel@novell.com>
1030
1031         * Array.cs: IList.this needs to throw IndexOutOfRangeException
1032         when the index is invalid, not ArgumentOutOfRangeException.
1033
1034         * Int32.cs: Do not crash if the FormatProvider returns a null
1035         value on the call to GetFormat (Type).
1036
1037         Validate the NumberStyles, passes Int/Int32Parse2.exe
1038
1039         Fix regression introduced in 2005, we need to throw
1040         ArgumentNullException on Parse.
1041
1042 2009-06-25  Miguel de Icaza  <miguel@novell.com>
1043
1044         * Int32.cs: Fix regression introduced in 2005, we need to throw
1045         ArgumentNullException on Parse.
1046
1047 2009-06-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
1048
1049         * DateTime.cs: ignore MinValue to avoid DateTimeOffset ctor throwing
1050         when adjusting for TZ.
1051
1052 2009-06-22  Miguel de Icaza  <miguel@novell.com>
1053
1054         * String.cs: In Silverlight the whitespace characters 0x202f and
1055         0x205f are considered for Trim and Split purposes. 
1056
1057 2009-06-21  Marek Safar  <marek.safar@gmail.com>
1058
1059         * Tuples.cs: Add Equals, GetHashCode.
1060
1061 2009-06-21  Zoltan Varga  <vargaz@gmail.com>
1062
1063         * IntPtr.cs (.ctor): Disable the check in the long ctor until we
1064         can figure out how to do it properly.
1065
1066 2009-06-20  Zoltan Varga  <vargaz@gmail.com>
1067
1068         * IntPtr.cs (.ctor): Allow long values whose 31th bit is set.
1069
1070 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
1071
1072         * DateTime.cs: quick fix for the 1.x build.
1073
1074 2009-06-18 Gonzalo Paniagua Javier <gonzalo@novell.com>
1075
1076         * AppDomainSetup.cs: update attribute.
1077         * TermInfoDriver.cs: ensure we are initialized in CheckWindowDimensions().
1078         * DateTimeOffset.cs: Implement Parse().
1079         * DateTime.cs: add 'zzz' to the list of default time formats. Return a
1080         DateTimeOffset from _DoParse. Fixed the offset minutes when the
1081         timezone is specified as a negative one.
1082         * Console.cs: updates for MoveBufferArea().
1083         * AppDomainManager.cs: implement EntryAssembly.
1084         * AppDomain.cs: update attribute.
1085
1086 2009-06-15  Atsushi Enomoto  <atsushi@ximian.com>
1087
1088         * Environment.cs : bump corlib version.
1089
1090 2009-06-12  Bill Holmes  <billholmes54@gmail.com>
1091
1092         * Variant.cs (GetValue):  Changing the bool case to use the short value.  
1093           This is to avoid junk in the high word.
1094
1095         Contributed under MIT/X11 license.
1096
1097 2009-06-10  Marek Safar  <marek.safar@gmail.com>
1098
1099         * Predicate.cs, Action.cs, Funcs.cs, Comparison.cs, IComparable.cs,
1100         Converter.cs, EventHandler.cs: Add type variance.
1101         
1102         * InvalidTimeZoneException.cs,
1103         TimeZoneNotFoundException.cs: New file.
1104
1105 2009-05-27  Zoltan Varga  <vargaz@gmail.com>
1106
1107         * AppDomain.cs (DoAssemblyResolve): Fix recursion detection. Fixes #507003.
1108
1109 2009-05-26  Mark Probst  <mark.probst@gmail.com>
1110
1111         * Thread.cs: Don't set the execution context when creating a
1112         thread because the _ec member is thread static and we set the
1113         wrong one.  It's now set by the runtime.  We just provide the
1114         correct one.
1115
1116         * Environment.cs: Bump corlib version.
1117
1118 2009-05-22  Zoltan Varga  <vargaz@gmail.com>
1119
1120         * Tuple.cs Tuples.cs: New files.
1121
1122         * Lazy.cs LazyExecutionMode.cs Funcs.cs: New files.
1123
1124 2009-05-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
1125
1126         * Type.cs: (GetInterfaceMap) 'this' can't be an interface itself.
1127         Fixed bug #503728.
1128
1129 2009-05-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
1130
1131         * TermInfoDriver.cs: replace Peek with DataAvailable.
1132
1133 2009-05-02  Sebastien Pouliot  <sebastien@ximian.com>
1134
1135         * Console.cs: Remove Windows-specific p/invokes and SSC code
1136         from the NET_2_1 build.
1137
1138 2009-05-01  Sebastien Pouliot  <sebastien@ximian.com>
1139
1140         * AppDomainManager.cs: Fix base class for NET_2_1 and implement
1141         CheckSecuritySettings (added in 2.0SP and part of SL API)
1142
1143 2009-04-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
1144
1145         * Enum.cs: return the value as an enum of the right type.
1146
1147 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
1148
1149         * Enum.cs: avoid exceptions from ToObject and use Try* instead.
1150
1151 2009-04-25  Miguel de Icaza  <miguel@novell.com>
1152
1153         * TermInfoDriver.cs: Use the new StreamReader.DataAvailable to
1154         load all the data that was added into the `stdin' stream when we
1155         did the `Read'.
1156
1157 2009-04-24  Sebastien Pouliot  <sebastien@ximian.com>
1158
1159         * Environment.cs: #ifdef out code that use the registry for the 
1160         NET_2_1 profile and some other properties (2) that added
1161         [SecuritySafeCritical] methods to audit inside Moonlight.
1162
1163 2009-04-21  Mark Probst  <mark.probst@gmail.com>
1164
1165         * Environment.cs: Bump corlib version.
1166
1167 2009-04-21  Miguel de Icaza  <miguel@novell.com>
1168
1169         * TermInfoDriver.cs: Prevent race condition if two threads try to
1170         initialize the Console at the same time. 
1171
1172         What happens is that inited is set, and elsewhere we try to
1173         dereference native_terminal_size before it is set.
1174
1175         * Reduce code size by using a table instead of manually making a
1176         few hundred calls.
1177         
1178 2009-04-20  Miguel de Icaza  <miguel@novell.com>
1179
1180         * Enum.cs (MonoEnumInfo): Compare bytes, shorts, ints and longs as
1181         unsigned values as specified and to fix 371559, from the bug:
1182
1183                 So the actual difference is that MSFT's Enum.GetValues
1184                 orders the members as unsigned even when the underlying
1185                 type is int.  See the following.  Perhaps that's what's
1186                 being implied by "binary values" in that Enum.GetValues
1187                 MSDN quote above.
1188
1189 2009-04-18  Mark Probst  <mark.probst@gmail.com>
1190
1191         * NumberFormatter.cs: Keep the current thread's number formatter
1192         as a ThreadStatic member.
1193
1194 2009-04-18  Mark Probst  <mark.probst@gmail.com>
1195
1196         * Environment.cs: Bump corlib version.
1197
1198 2009-04-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
1199
1200         * GCNotificationStatus.cs: new enum.
1201
1202 2009-04-10  Zoltan Varga  <vargaz@gmail.com>
1203
1204         * Array.cs: Make some of the InternalArray methods non-generic to cut down
1205         on the number of instantiations. Add implementation for 
1206         ICollection:IsReadOnly.
1207
1208 2009-03-26  Jb Evain  <jbevain@novell.com>
1209
1210         * Delegate.cs (CreateDelegate): Support for delegates
1211         on static methods closed on a null target.
1212
1213 2009-03-26  Zoltan Varga  <vargaz@gmail.com>
1214
1215         * Environment.cs: Bump corlib version.
1216
1217 2009-03-25  Sebastien Pouliot  <sebastien@ximian.com>
1218
1219         * Delegate.cs: Add new parameter to CreateDelegate_internal (icall)
1220         * Environment.cs: Bump mono_corlib_version to 73
1221
1222 2009-03-25  Jb Evain  <jbevain@novell.com>
1223
1224         * Delegate.cs (CreateDelegate): fix checks to deal with
1225         valuetypes -> obj conversions for arguments, and avoid
1226         issues with such unallowed conversion for return types.
1227
1228 2009-03-23  Zoltan Varga  <vargaz@gmail.com>
1229
1230         * String.cs (LastIndexOf): Handle empty strings correctly. Fixes #486234.
1231
1232 2009-03-18  Zoltan Varga  <vargaz@gmail.com>
1233
1234         * Type.cs (GetGenericTypeDefinition): Make this throw an exception to be
1235         consistent with MS.NET. Move the real implementation to MonoType.
1236
1237 2009-03-18  Marek Safar  <marek.safar@gmail.com>
1238
1239         * Decimal.cs: Initialize all fields.
1240
1241 2009-03-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
1242
1243         * ConsoleDriver.cs:
1244         * TermInfoDriver.cs: handle Ctrl-D (or similar) in ReadLine.
1245         Fixes bug #483950.
1246
1247         * ControlCharacters.cs: index to the control characters list.
1248         * Environment.cs: bumped corlib version.
1249
1250 2009-03-14  Miguel de Icaza  <miguel@novell.com>
1251
1252         * Convert.cs (ToType): Control whether this internal function will
1253         call an IConvertible.ToType method or not.  
1254
1255         Classes and structs implementing IConvertible in mscorlib (the
1256         only callers that can access Convert.ToType) must pass false to
1257         avoid a infinite recursion problem and callers from the public
1258         Convert API must call it with true.
1259
1260         This fixes the regression reported in #485377 that was introduced
1261         by the fix for #481687.
1262
1263         * Int16.cs, UInt64.cs, Double.cs, Enum.cs, SByte.cs, UInt16.cs,
1264         Byte.cs, Decimal.cs, Int32.cs, String.cs, Int64.cs, Char.cs,
1265         Boolean.cs, Single.cs, UInt32.cs: Update the call sites.
1266
1267 2009-03-07  Gert Driesen  <drieseng@users.sourceforge.net>
1268
1269         * Convert.cs: Do not throw InvalidCastException if
1270         IConvertible.ToType returns null.
1271
1272 2009-03-06  Andrés G. Aragoneses  <aaragoneses@novell.com>
1273
1274         * Convert.cs: Correct typo in exception message.
1275
1276 2009-03-06  Miguel de Icaza  <miguel@novell.com>
1277
1278         * Convert.cs: Apply patch from Tom Hindle that uses
1279         IConvertible.ToType if there are no other possible conversions
1280         defined. 
1281
1282         Fixes: #481687 
1283
1284 2009-03-06  Rodrigo Kumpera  <rkumpera@novell.com>
1285
1286         * MonoType.cs (MonoTypeInfo): Add default_ctor field.
1287
1288         * MonoType.cs: Add GetDefaultConstructor that caches using
1289         type_info.default_ctor.
1290
1291         * MonoType.cs (FullName): Protects against type_info been replaced
1292         under the hood.
1293
1294         * Activator.cs (CreateInstance): If the type is a MonoType resolve the
1295         default constructor using the new method from MonoType.
1296
1297         Improves Activator::CreateInstance performance by at least 30%, reduces object churn
1298         and domain lock contention.
1299
1300 2009-03-03  Rodrigo Kumpera  <rkumpera@novell.com>
1301
1302         * Guid.cs (BaseToString): Reduce allocations.
1303
1304 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1305
1306         * Environment.cs: Bump corlib version.
1307
1308 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1309
1310         * Enum.cs (IsDefined): If the enum underlying type is int32, use
1311         the generic version, which doesn't box every element of the array.
1312
1313 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1314
1315         * Enum.cs (GetName): If the enum underlying type is int32, use
1316         the generic version, which doesn't box every element of the array.
1317
1318 2009-03-02  Rodrigo Kumpera  <rkumpera@novell.com>
1319
1320         * Enum.cs (MonoEnumInfo::GetInfo): Share the boxed form of the
1321         MonoEnumInfo between both caches.
1322
1323 2009-02-28  Zoltan Varga  <vargaz@gmail.com>
1324
1325         * Enum.cs (FindName): Use a hash table for looking up names instead of
1326         a linear search for enums with a lot of values.
1327
1328 2009-02-27  Rodrigo Kumpera  <rkumpera@novell.com>
1329
1330         * UInt16.cs (CompareTo/short): Make it return the
1331         same values as the /object version.
1332
1333         * Enum.cs (CompareTo): Use new compare_value_to icall to do the comparison.
1334         This avoids two allocations and reduce the number of trips to unmanaged land
1335         by one.
1336
1337         The performance improvement is up to 3.5x with the bonus of reducing the generated
1338         garbage.
1339
1340 2009-02-26  Marek Safar  <marek.safar@gmail.com>
1341
1342         * Nullable.cs: Inline GetValueOrDefault.
1343
1344 2009-02-26  Zoltan Varga  <vargaz@gmail.com>
1345
1346         * String.cs (FormatHelper): If all the arguments are strings, compute an
1347         initial length for the stringbuilder to avoid reallocations.
1348
1349         * MonoType.cs (FullName): Cache the result of this in a field, as
1350         computing it is expensive.
1351
1352         * Environment.cs: Bump corlib version.
1353         
1354 2009-02-25  Zoltan Varga  <vargaz@gmail.com>
1355
1356         * Enum.cs (GetInfo): Add a global cache in addition to the thread-local
1357         caches to accomodate short living threads like threadpool threads.
1358
1359 2009-02-23  Zoltan Varga  <vargaz@gmail.com>
1360
1361         * Type.cs: Add IsUserType internal property.
1362
1363 2009-02-21  Jb Evain  <jbevain@novell.com>
1364
1365         * MonoType.cs (InvokeMember): don't pass a null args to
1366         Binder.BindToMethod. Fix for #471275.
1367
1368 2009-02-12  Robert Jordan  <robertj@gmx.net>
1369
1370         * Exception.cs: Rename remote_stack_trace for MS.NET
1371         compatibility. Fixes #425512.
1372
1373 2009-02-12  Lluis Sanchez Gual  <lluis@novell.com>
1374
1375         * MarshalByRefObject.cs: Implemented MemberwiseClone(bool).
1376
1377 2009-02-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
1378
1379         * AppDomain.cs: this fixes the remoting tests.
1380         Zoltan found out that there was a domain improperly using shadow
1381         copy.
1382
1383 2009-02-04 Gonzalo Paniagua Javier <gonzalo@novell.com>
1384
1385         * DateTime.cs: check for null and empty strings before anything else
1386         in CoreParse.
1387
1388 2009-01-27  Zoltan Varga  <vargaz@gmail.com>
1389
1390         * Type.cs (GetHashCode): Work on UnderlyingSystemType. Fixes #467229.
1391
1392 2009-01-24  Zoltan Varga  <vargaz@gmail.com>
1393
1394         * Variant.cs ApplicationIdentity.cs ActivationContext.cs Environment.cs
1395         AppDomain.cs: Fix warnings.
1396
1397 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
1398
1399         * AppDomain.cs: LoadAssembly() returns null instead of throwing now.
1400         Add new LoadSatellite method.
1401
1402 2009-01-20  Mark Probst  <mark.probst@gmail.com>
1403
1404         * Exception.cs: Added a comment explaining the use of trace_ips.
1405
1406 2009-01-12  Bill Holmes  <billholmes54@gmail.com>
1407
1408         * Variant.cs (GetValue):  Handling the NULL IDispatch 
1409           and IUnknown case.
1410
1411         Contributed under MIT/X11 license.
1412
1413 2009-01-09  Miguel de Icaza  <miguel@novell.com>
1414
1415         * DateTime.cs: Implement TryParse in a way that will not depend on
1416         the try/catch statement.   The try/catch statement is still there
1417         *just in case*, I might have missed some codepaths.
1418
1419 2009-01-06  Atsushi Enomoto  <atsushi@ximian.com>
1420
1421         * DateTime.cs : when ".FF..." is specified, allow milliseconds-less
1422           time. Fix #444103.
1423
1424 2008-12-19  Bill Holmes  <billholmes54@gmail.com>
1425
1426         * Environment.cs (GetEnvironmentVariable) :  Avoiding an nre if 
1427           the variable is not set.
1428
1429         * Environment.cs (SetEnvironmentVariable) : Adding a call to 
1430           internalBroadcastSettingChange to notify Windows that an environment 
1431           variable has changed.
1432
1433         Contributed under MIT/X11 license.
1434
1435 2008-12-18  Jb Evain  <jbevain@novell.com>
1436
1437         * String.cs: the Compare methods that were specific to SL2 are now
1438         also in .net 2/3.5 sp1.
1439
1440 2008-12-10  Bill Holmes  <billholmes54@gmail.com>
1441
1442         * Variant.cs (SetValue):   Changing the behavior for COM object in 
1443           VARIANTs to match MS.  Also adding support for BStrWrapper, 
1444           UnknownWrapper, and DispatchWrapper.
1445
1446         Contributed under MIT/X11 license.
1447
1448 2008-11-28  Miguel De Icaza  <miguel@novell.com>
1449
1450         * TermInfoDriver.cs: Also register a mapping to make verase be the
1451         backspace key.  Funny thing: verase was fetched from the termios,
1452         but it was *never* actually used in this file.
1453
1454         VSUSP and VINTR are likewise ignored.   Must ponder this.
1455
1456         This makes the backspace key in MacOS work on interactive
1457         applications.
1458         
1459 2008-11-15  Kornél Pál  <kornelpal@gmail.com>
1460
1461         * Convert.cs: Removed useless check from ToChar (ushort).
1462
1463 2008-11-06  Bill Holmes  <billholmes54@gmail.com>
1464
1465         * Type.cs (FindMembers):  Changing the instantiated type of the 
1466           returned MemberInfo array to match the MemberTypes flag
1467           passed in argument 1.
1468
1469         Contributed under MIT/X11 license.
1470
1471 Mon Nov 3 16:39:37 CET 2008 Paolo Molaro <lupus@ximian.com>
1472
1473         * Array.cs: in the IList set_Item, ensure the array
1474         element is set using the proper type checks (bug #440819).
1475
1476 Mon Oct 13 16:40:56 CEST 2008 Paolo Molaro <lupus@ximian.com>
1477
1478         * Environment.cs, OperatingSystem.cs: complete support for
1479         PlatformID (bug #433108).
1480
1481 2008-10-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
1482
1483         * AppDomain.cs: (Load(AssemblyName)) Use the CodeBase after the Name
1484         when both are provided.
1485         Fixes bug #322228.
1486
1487 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1488
1489         * Variant.cs : Adding the BRECORD field to ensure the right size on
1490           a 64-bit OS.  32-bit 16 bytes, 32-bit 24 bytes.
1491
1492         Contributed under MIT/X11 license.
1493
1494 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1495
1496         * Variant.cs (SetValue) : Adding code to handle enums.
1497
1498         Contributed under MIT/X11 license.
1499
1500 2008-10-08  Bill Holmes  <billholmes54@gmail.com>
1501
1502         * Variant.cs : Cleaning up some tab formatting problems.
1503
1504         Contributed under MIT/X11 license.
1505
1506 2008-10-08  Zoltan Varga  <vargaz@gmail.com>
1507
1508         * PlatformID.cs: Define Xbox/MacOSX on the 2.0 profile too, since it
1509         is part of NET 3.5 SP1.
1510
1511 2008-10-07  Marek Habersack  <mhabersack@novell.com>
1512
1513         * Math.cs: implemented the away from zero rounding for the Round
1514         (double, int, MidpointRounding) overload.
1515
1516 2008-10-06  Zoltan Varga  <vargaz@gmail.com>
1517
1518         * Activator.cs (CreateInstance): Don't return the return value of the
1519         ctor.Invoke (object, ...) overload since it is null, return 'newOb' instead.
1520
1521 Mon Oct 6 15:12:25 CEST 2008 Paolo Molaro <lupus@ximian.com>
1522
1523         * Array.cs: better message when keys cannot be compared
1524         when sorting (bug #368455).
1525
1526 2008-09-29  Rodrigo Kumpera  <rkumpera@novell.com>
1527
1528         * Type.cs (MakeGenericType): Only use UnderlyingSystemType for user types.
1529         This must exclude TypeBuilder and EnumBuilder. Fixes #430508.
1530
1531 2008-09-28  Juraj Skripsky  <js@hotfeet.ch>
1532
1533         * String.cs (ReplaceUnchecked): Avoid any unnecessary work and 
1534         string allocations by returning early when no oldValue was found.
1535
1536 2008-09-24  Marek Habersack  <mhabersack@novell.com>
1537
1538         * Double.cs: check whether decimal_separator, group_separator and
1539         currency_symbol strings aren't empty before trying to index them
1540         in Parse ().
1541
1542 2008-09-24  Jb Evain  <jbevain@novell.com>
1543
1544         * AppDomain.cs (CreateDomain): call the domain initializer in
1545         the newly created AppDomain. Fixes #429545.
1546
1547 2008-09-24  Jb Evain  <jbevain@novell.com>
1548
1549         * AppDomain.cs: implement the CreateDomain overload which
1550         takes an AppDomain initializer. Fixes #429545.
1551
1552 2008-09-17  Robert Jordan  <robertj@gmx.net>
1553
1554         * DelegateSerializationHolder.cs: Starting with .NET 2.0, delegates
1555         of non-public methods are allowed to be serialized. Fixes #425345.
1556
1557 2008-09-15  Andy Hume  <andyhume32@yahoo.co.uk>
1558
1559         * DateTimeOffset.cs: DateTimeOffset currently has no
1560         deserialization constructor, thus deserialization
1561         fails ("SerializationException: The constructor to deserialize an
1562         object of type System.DateTimeOffset was not found.")
1563
1564         Patch attached, implements GetObjectData and that constructor.
1565         Also includes tests, which include round-tripping to/from MSFT.
1566
1567 2008-09-14  Zoltan Varga  <vargaz@gmail.com>
1568
1569         * ConsoleDriver.cs: Remove obsolete GetTtySize icall.
1570
1571 2008-09-09  Marek Safar  <marek.safar@gmail.com>
1572
1573         * Convert.cs, Decimal.cs: Fixed float/double to decimal range check.
1574
1575 2008-09-07  Miguel de Icaza  <miguel@novell.com>
1576
1577         * TermInfoDriver.cs: Add support for updating the size of the
1578         terminal when it changes.   
1579
1580 2008-08-27  Miguel de Icaza  <miguel@novell.com>
1581
1582         * TermInfoDriver.cs: Adds support for the Insert and Delete keys
1583         on the keyboard.   
1584
1585 2008-08-26  Miguel de Icaza  <miguel@novell.com>
1586
1587         * New console features are used by gmcs.exe, but since we only
1588         build gmcs.exe with the bootstrap corlib, we need to ensure all
1589         the new stuff is included in BOOTSTRAP_NET_2_0
1590
1591 2008-08-26  Robert Jordan  <robertj@gmx.net>
1592
1593         * AppDomain.cs (get_Evidence): Fix endless recursion exposed
1594         by the test case of bug #420197.
1595
1596 2008-08-24  Miguel de Icaza  <miguel@novell.com>
1597
1598         * TermInfoDriver.cs (GetKeyFromBuffer): Add support for reporting
1599         Alt-LETTER sequences.   They were ignored previously.
1600
1601 2008-08-22  Sebastien Pouliot  <sebastien@ximian.com>
1602
1603         * AppDomainSetup.cs: Remove IAppDomainSetup for SL2. This helps
1604         the tuner since the methods are then defined correctly (wrt to the
1605         implicit implementation of the interfaces)/
1606
1607 2008-08-21  Sebastien Pouliot  <sebastien@ximian.com> 
1608
1609         * Nullable.cs: Add two ComVisible(false) for SL2 profile.
1610         * PlatformID.cs: Add Xbox and MacOX for SL2 profile.
1611         * WeakReference.cs: Add default, protected, ctor for SL2.
1612
1613 2008-08-20  Miguel de Icaza  <miguel@novell.com>
1614
1615         * ConsoleDriver.cs: TtySetup now takes an extra argument: the
1616         keypadXmit string.
1617
1618 2008-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
1619
1620         * Exception.cs: Fixed value of HResult to match MS. Added support for
1621         (de)serializing Data. Use deserialized ClassName, if available, to
1622         when name of type is used.
1623
1624 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
1625
1626         * IServiceProvider.cs: Added ComVisible attribute (1.0 only).
1627         * String.cs: Fixed argument names to match MS.
1628
1629 2008-08-10  Gert Driesen  <drieseng@users.sourceforge.net>
1630
1631         * Boolean.cs
1632         * Byte.cs
1633         * Char.cs
1634         * DateTime.cs
1635         * DBNull.cs
1636         * Decimal.cs
1637         * Double.cs
1638         * Enum.cs
1639         * Int16.cs
1640         * Int32.cs
1641         * Int64.cs
1642         * Single.cs
1643         * String.cs
1644         * UInt16.cs
1645         * UInt32.cs
1646         * UInt64.cs: Added missing CLSCompliant attributes for 1.0 profile.
1647
1648 2008-08-07  Atsushi Enomoto  <atsushi@ximian.com>
1649
1650         * DateTime.cs : zzzz format allows non-fixed length of number, even
1651           in exact parsing mode. Fixed bug #377042.
1652
1653 2008-08-05  Jb Evain  <jbevain@novell.com>
1654
1655         * String.cs: add new NET_2_1 Compare methods.
1656
1657 2008-08-03  Miguel de Icaza  <miguel@novell.com>
1658
1659         * ConsoleDriver.cs: If the terminal is dumb, do not activate the
1660         full terminal support.
1661
1662 2008-08-02  Marek Safar  <marek.safar@gmail.com>
1663
1664         * Type.cs: Removed _MemberInfo from base classes list.
1665         
1666 2008-07-28  Marek Safar  <marek.safar@gmail.com>
1667
1668         * KnownTerminals.cs: Don't initialize rarely used static data.
1669
1670 2008-07-24  Zoltan Varga  <vargaz@gmail.com>
1671
1672         * Delegate.cs: Move the rarely used fields to a separate object, add
1673         'method_code' field.
1674
1675         * Environment.cs: Bump corlib version.
1676
1677         * ConsoleDriver.cs: Remove unused Suspend icall.
1678
1679 2008-07-21  Marek Safar  <marek.safar@gmail.com>
1680
1681         * AppDomain.cs (Load): Check for 0-length assembly name.
1682
1683 2008-07-21  Rodrigo Kumpera  <rkumpera@novell.com>
1684
1685         * Enum.cs (GetHashCode): Use new icall get_hashcode to
1686         avoid allocating a boxed version of the enum basetype.
1687
1688 2008-07-17  Marek Safar  <marek.safar@gmail.com>
1689
1690         * String.cs: reverted GetHashCode changes.
1691
1692 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1693
1694         * Char.cs: Remove obsolete lamespecs (it implements IConvertible, small formatting)
1695
1696 2008-07-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1697
1698         * Char.cs: Optimize some Is* checks
1699
1700 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1701
1702         * DateTimeOffset.cs: Fix parameter name
1703
1704 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1705
1706         * DateTimeOffset.cs: Remove public, make implicit method
1707
1708 2008-07-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1709
1710         * Environment.cs: Add missing attribute
1711
1712 2008-07-04  Rodrigo Kumpera  <rkumpera@novell.com>
1713
1714         * Delegate.cs (get_Method): Use the internal version
1715         of GetMethodFromHandle to avoid the generic class check.
1716
1717 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1718
1719         * GCCollectionMode.cs: Add attribute
1720         * GC.cs: Add semi-stubbed missing method, remove obsolete Lamespec, hide non-public method
1721
1722 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1723
1724         * Delegate.cs: Fix parameter names for 2.0 profile
1725         * Int64.cs: Fix parameter names
1726
1727 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1728
1729         * IntPtr.cs: Fix parameter names, change internal name to accomodate for parameter changes
1730
1731 2008-07-04  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1732
1733         * Predicate.cs:
1734         * Object.cs:
1735         * Nullable.cs
1736         * MultiCastDelegate.cs
1737         * ModuleHandle.cs
1738         * Math.cs
1739         * MarshalByRefObject.cs
1740         * Int64.cs
1741         * Int32.cs
1742         * Int16.cs
1743         * Environment.cs
1744         * Delegate.cs
1745         * DateTimeOffset.cs
1746         * ConsoleKeyInfo.cs
1747         * Console.cs
1748         * Array.cs
1749         * AppDomain.cs: Fix parameter names
1750
1751 2008-07-03  Rodrigo Kumpera  <rkumpera@novell.com>
1752
1753         * Exception.cs (GetFullNameForStackTrace): Don't do string
1754         concatenation.
1755
1756 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1757
1758         * ContextMarshalException.cs:
1759         * DllNotFoundException.cs:
1760         * EntryPointNotFoundException.cs:
1761         * FieldAccessException.cs:
1762         * MethodAccessException.cs:
1763         * MissingFieldException.cs:
1764         * PlatformNotSupportedException.cs: Fix parameter names
1765
1766 2008-06-30  Marek Safar  <marek.safar@gmail.com>
1767
1768         * String.cs: Tweaked hash code methods for better distibution, and speed-up.
1769
1770 2008-06-29  Zoltan Varga  <vargaz@gmail.com>
1771
1772         * MonoCustomAttrs.cs (IsDefined): Avoid calling the .Assembly property in some
1773         cases.
1774
1775 2008-06-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1776
1777         * Char.cs: Fix formatting, rename wrong named param, remove code duplication
1778
1779 2008-06-28  Zoltan Varga  <vargaz@gmail.com>
1780
1781         * Enum.cs (GetUnderlyingType): Implement this using an icall.
1782         
1783         * Enum.cs (Format): Call IsDefined with inherited=false.
1784
1785         * Exception.cs: Fix a warning.
1786
1787 2008-06-27  Zoltan Varga  <vargaz@gmail.com>
1788
1789         * Enum.cs (FindName): Avoid calling String.Compare for the !ignoreCase case.
1790
1791 2008-06-27  Rodrigo Kumpera  <rkumpera@novell.com>
1792
1793         * Exception.cs: Build method traces using the
1794         stack trace StringBuilder.
1795
1796 2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1797
1798         * Version.cs: Fix parameter names
1799         * UInt64.cs: 
1800         * UInt32.cs:
1801         * UInt16.cs:
1802         * Int64.cs: Fix parameter names
1803         * Int32.cs: Fix parameter names; some small formatting
1804         * Int16.cs: Fix parameter names
1805         * Double.cs: Fix parameter names; small formatting
1806         * Single.cs:
1807         * SByte.cs:
1808         * Byte.cs:
1809         * Boolean.cs:
1810         * DateTime.cs:
1811         * Enum.cs:
1812         * Decimal.cs: Fix parameter names
1813
1814 2008-06-14  Zoltan Varga  <vargaz@gmail.com>
1815
1816         * Environment.cs: Bump corlib version.
1817
1818 2008-06-10  Zoltan Varga  <vargaz@gmail.com>
1819
1820         * Math.cs (IEERemainder): Use the normal BitConverter.Int64BitsToDouble method
1821         here to fix this on sparc.
1822
1823 2008-06-07  Marek Safar  <marek.safar@gmail.com>
1824
1825         * Array.cs (IndexOf, LastIndexOf): Fixed more array element comparers used
1826         instead of tested value comparers.
1827
1828 2008-06-07  Zoltan Varga  <vargaz@gmail.com>
1829
1830         * Environment.cs: Bump corlib version.
1831
1832 2008-06-05  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1833
1834         * String.cs: Managed replacement for Replace method ;)
1835
1836 2008-06-03  Zoltan Varga  <vargaz@gmail.com>
1837
1838         * Decimal.cs (Divide): Move expensive equality checks to unmanaged code.
1839
1840 2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
1841
1842         * MonoType.cs: For property reflection we should strictly match the return 
1843         type if available.
1844
1845 2008-06-01  Juraj Skripsky  <js@hotfeet.ch>
1846
1847         * String.cs (Substring): Blocking bug #395904 has been fixed,
1848         re-enable optimization.
1849
1850 2008-06-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1851
1852         * String.cs: Replace Split IndexOf
1853
1854 2008-05-30  Marek Safar  <marek.safar@gmail.com>
1855
1856         * Array.cs (IndexOf): Use an array element comparer instead of tested value
1857         comparer.
1858
1859 2008-05-28  Zoltan Varga  <vargaz@gmail.com>
1860
1861         * Console.cs (.cctor): Make sdout synchronized in the console case too.
1862         Fixes #395069.
1863
1864 2008-05-27  Eyal Alaluf <eyala@mainsoft.com>
1865
1866         * NumberFormatter.jvm.cs: Fix tables to avoid arithemtic overflow
1867           in Double.ToString as exposed by Bug #383531.
1868
1869 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1870
1871         * String.cs: Comment out 2.0 compatibility fix for SubString, since it
1872         causes regressions in System.Xml.
1873
1874 2008-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
1875
1876         * String.cs: Changed exception to match MS. Fixed ToCharArray to use
1877         startindex for source. In PadLeft and PadRight, only return current
1878         string if totalWidth is less than length.
1879
1880 2008-05-24 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
1881
1882         * Enum.cs: use Array.BinarySearch on the values in IsDefined and
1883         GetName instead of looping through the list. Made the cache in
1884         MonoEnumInfo thread static to avoid contention.
1885
1886 2008-05-20  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1887
1888         * String.cs: Replace Split function
1889
1890 2008-05-19  Sebastien Pouliot  <sebastien@ximian.com>
1891
1892         * Boolean.cs,
1893         * Double.cs,
1894         * Enum.cs,
1895         * Int64.cs,
1896         * Single.cs,
1897         * UInt32.cs,
1898         * UInt64.cs: Avoid unboxing primitive types more than one time.
1899         [Found using Gendarme]
1900
1901 2008-05-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1902
1903         * String.cs: Update Trim functions
1904
1905 2008-05-19  Zoltan Varga  <vargaz@gmail.com>
1906
1907         * ConsoleDriver.cs: Avoid initializing the three driver classes when only one
1908         is needed.
1909
1910 2008-05-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1911
1912         * String.cs: Update Join and Pad functions
1913
1914 2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>
1915
1916         * Environment.cs: Use String.IsNullOrEmpty inside 2.0 code.
1917         [Found using Gendarme]
1918
1919 2008-05-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1920
1921         * String.cs: Directly create charenumerator
1922
1923 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1924
1925         * String.cs: Resubmit uncritical parts of String patch
1926
1927 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1928
1929         * DateTime.cs: Fix parameter names
1930
1931 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1932
1933         * Decimal.cs: Fix parameter names
1934
1935 2008-05-15  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1936
1937         * Decimal.cs: Tabbify/Format
1938
1939 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1940
1941         * Version.cs
1942           UnhandledExceptionEventHandler.cs
1943           UInt64.cs
1944           UInt32.cs
1945           UInt16.cs: Fix parameter names
1946           Type.cs: Fix parameter names, formatting
1947           TimeSpan.cs
1948           StringComparer.cs
1949           Single.cs
1950           SByte.cs: Fix parameter names
1951
1952 2008-05-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1953
1954         * Double.cs
1955           Enum.cs
1956           Exception.cs
1957           IComparable.cs
1958           IEquatable.cs
1959           IFormatProvider.cs
1960           IFormattable.cs
1961           InsufficientMemoryException.cs: Fix parameter names
1962
1963 2008-05-14  Jb Evain  <jbevain@novell.com>
1964
1965         * Exception.cs (ToString): output a new line before the 
1966         inner exception separator. Fixes #390150.
1967
1968 2008-05-12  Gert Driesen  <drieseng@users.sourceforge.net>
1969
1970         * Type.cs: Modifies exceptions to match MS. Changed GetTypeFromHandle
1971         on 1.0 profile to throw ArgumentException when handle is invalid,
1972
1973 2008-05-08  Rodrigo Kumpera  <rkumpera@novell.com>
1974
1975         * Activator.cs (CreateInstance): Check for null types when creating
1976         the error message.
1977
1978 2008-05-07  Robert Jordan  <robertj@gmx.net>
1979
1980         * RuntimeFieldHandle.cs, RuntimeTypeHandle.cs, RuntimeMethodHandle.cs:
1981         Don't try to serialize uninitialized handles. Fixes #386641.
1982
1983 2008-05-06  Marek Safar  <marek.safar@gmail.com>
1984
1985         * IntPtr.cs (eplicit long, GetObjectData): Use ToInt64.
1986
1987 2008-05-05  Zoltan Varga  <vargaz@gmail.com>
1988
1989         * Type.cs (GetTypeFromHandle): Apparently, it is possible to create a 
1990         RuntimeTypeHandle with a zero handle value by calling its ctor. Add an argument
1991         check for that.
1992
1993         * IntPtr.cs (ToInt64): Use (long)(int) on 32 bit platforms to avoid the default
1994         unsigned conversion done by the compiler. Fixes #386466.
1995
1996 2008-05-04  Zoltan Varga  <vargaz@gmail.com>
1997
1998         * Type.cs (UnderlyingSystemType): Add a comment pointing people to 
1999         Enum.GetUnderlyingType ().
2000
2001 2008-04-26  Zoltan Varga  <vargaz@gmail.com>
2002
2003         * Array.cs (LastIndexOf): Return GetLowerBound (0) -1 instead of -1.
2004         
2005         * Array.cs (LastIndexOf): Fix handling of empty arrays. Fixes #383876.
2006
2007 2008-04-13  Zoltan Varga  <vargaz@gmail.com>
2008
2009         * String.cs (Split): Fix the handling of RemoveEmptyEntries when the separator
2010         matches at the beginning of the string. Fixes #374511.
2011
2012 2008-04-13  Jb Evain  <jbevain@novell.com>
2013
2014         * ICloneable.cs: use the INSIDE_CORLIB pattern to
2015         internalize code that is used outside the corlib.
2016         Merged from the Moonlight 2 branch.
2017
2018 2008-04-04  Raja R Harinath  <harinath@hurrynot.org>
2019
2020         * String.cs (EndsWith) [CultureInfo variant]: Handle null 'culture'.
2021         (StartsWith, EndsWith, IndexOf, LastIndexOf) [StringComparison variant]:
2022         Throw exception on invalid StringComparison.
2023
2024 2008-04-01  Eyal Alaluf <eyala@mainsoft.com>
2025
2026         * NumberFormatter.cs NumberFormatter.jvm.cs: Performance optimizations.
2027           Reuse a per thread instance to format all the primitive types. Modify
2028           class accordingly so the same
2029           instance can be used multiple times.
2030         * Int16.cs UInt64.cs Double.cs SByte.cs UInt16.cs Byte.csDecimal.cs
2031           TimeSpan.cs Int32.cs Int64.cs Single.cs UInt32.cs: Change use of
2032           NumberFormatter to adapt to above changes in class interface.
2033
2034 2008-03-31  Mark Probst  <mark.probst@gmail.com>
2035
2036         * MonoType.cs: Don't do CAS security checks in CheckMethodSecurity
2037         for 2.1 profile.
2038
2039 2008-03-28  Marek Safar  <marek.safar@gmail.com>
2040
2041         * Nullable.cs (Box): Do things explicitly and not rely on broken gmcs
2042         behaviour.
2043
2044 2008-03-25  Zoltan Varga  <vargaz@gmail.com>
2045
2046         * AppDomain.cs: Update after MonoMethod.InternalInvoke signature change.
2047
2048         * Environment.cs: Bump corlib version.
2049
2050         * DateTime.cs: Fix a warning.
2051
2052 2008-03-21  Sebastien Pouliot  <sebastien@ximian.com>
2053
2054         * String.cs: Use "this" in Split method instead of calling ToString.
2055         Found using Gendarme.
2056
2057 2008-03-06  Marek Safar  <marek.safar@gmail.com>
2058
2059         * MonoCustomAttrs (GetCustomAttributes): Type cannot be null with
2060         typeof (MonoCustomAttrs) hack.
2061
2062 Wed Mar 5 19:39:01 CET 2008 Paolo Molaro <lupus@ximian.com>
2063
2064         * Type.cs: optimize GetTypeCode () for the common case
2065         (fixes bug #367354).
2066
2067 2008-03-02  Roei Erez  <roeie@mainsoft.com>
2068
2069         * DateTime.cs: Improve the patch supplied by James Purcell to be
2070           dotnet-compatible, and add support for RoundTripKind parsing. 
2071           Fixed reopened bug #352210.
2072
2073
2074 Tue Feb 26 17:50:17 CET 2008 Paolo Molaro <lupus@ximian.com>
2075
2076         * DateTime.cs: instroduce a method that returns ticks monotonically.
2077
2078 2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
2079
2080         * Attribute.cs, MonoCustomAttrs: MS ignores the inherit param in 
2081         PropertyInfo's ICustomAttributeProvider implementation, but not 
2082         in the Attributes, so directly get the attributes from 
2083         MonoCustomAttrs instead of going throught the PropertyInfo's 
2084         ICustomAttributeProvider.
2085         [Fixes bugs #324472 and #322464]
2086
2087 2008-02-26  Atsushi Enomoto  <atsushi@ximian.com>
2088
2089         * DateTime.cs : fix roundtrip regression in Sys.Xml.XmlConvertTests,
2090           patch by James Purcell (at #352210).
2091
2092 2008-02-25  Atsushi Enomoto  <atsushi@ximian.com>
2093
2094         * DateTime.cs, DateTimeUtils.cs : make Kind value from parse result
2095           as dotnet-compatible. Patch by James Purcell, fixed bug #352210.
2096
2097 2008-02-18  Atsushi Enomoto  <atsushi@ximian.com>
2098
2099         * DBNull.cs : ToType(typeof(DBNull),...) should be allowed.
2100
2101 2008-02-16  Sebastien Pouliot  <sebastien@ximian.com>
2102
2103         * Object.cs: Fix parameter name to match MS implementation. Found
2104         using Gendarme.
2105         * ValueType.cs: Fix parameter name to match MS implementation. 
2106         Found using Gendarme.
2107
2108 2008-02-14  Jb Evain  <jbevain@novell.com>
2109
2110         * Delegate.cs (CreateDelegate): refactor. DRY!
2111
2112 2008-02-12  Gert Driesen  <drieseng@users.sourceforge.net>
2113
2114         * Delegate.cs (CreateDelegate): Walk the inheritance change to find
2115         matching method. Skip methods for which the return type does not match
2116         the delegate. Fixes bug #360784.
2117
2118 2008-02-11  Eyal Alaluf <eyala@mainsoft.com>
2119
2120         * NumberFormatter.cs: Fix ToString("R") for +-Infinity & NaN.
2121
2122 2008-02-08  Sebastien Pouliot  <sebastien@ximian.com>
2123
2124         * Random.cs: Explain (and extend) special case in Next(min,max)
2125
2126 2008-02-08  Juraj Skripsky  <js@hotfeet.ch>
2127
2128         * Random.cs (Next): Use rounding (via implicit conversion) only on
2129         positive values. Fixes bug 359918.
2130
2131 2008-02-03  Sebastien Pouliot  <sebastien@ximian.com>
2132
2133         * Environment.cs: Remove unused method found with Gendarme.
2134
2135 2008-02-02  Gert Driesen  <drieseng@users.sourceforge.net>
2136
2137         * Variant.cs: Fixed line endings.
2138         * MonoType.cs: Fixed parameter name for ArgumentException to match MS.
2139
2140 2008-01-29  Zoltan Varga  <vargaz@gmail.com>
2141
2142         * Type.cs (MakeGenericType): Fix exception message.
2143
2144 2008-01-29  Jb Evain  <jbevain@novell.com>
2145
2146         * AppDomain.cs: add SL overload of DefineDynamicAssembly.
2147
2148 2008-01-29  Marek Safar  <marek.safar@gmail.com>
2149
2150         * Type.cs (MakeGenericType): More argument checks. Fixes #356863 by
2151          Sanghyeon Seo.
2152
2153 2008-01-25  Rodrigo Kumpera  <rkumpera@novell.com>
2154
2155         * MonoType.cs (InvokeMember): Fixed exceptions arguments for last comit.
2156
2157 2008-01-24  Rodrigo Kumpera  <rkumpera@novell.com>
2158
2159         * MonoType.cs (InvokeMember): Check for parameters without default value which
2160         the supplied argument is Missing.Value. Fixes one of the issues of #348522.
2161
2162 2008-01-21  Sebastien Pouliot  <sebastien@ximian.com>
2163
2164         * DateTimeOffset.cs: Avoid NRE on bad cast if null is provided to
2165         Equals(object). Found using Gendarme.
2166
2167 2008-01-16  Zoltan Varga  <vargaz@gmail.com>
2168
2169         * DateTimeOffset.cs: Fix warnings.
2170
2171 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
2172
2173         * DateTimeOffset.cs: ParseExact: parse f, F, s too.
2174
2175 2008-01-15  Stephane Delcroix  <sdelcroix@novell.com>
2176
2177         * DateTimeOffset.cs: ParseExact: honor the DateTimeStyles parameter.
2178
2179 2008-01-15  Zoltan Varga  <vargaz@gmail.com>
2180
2181         * AppDomainSetup.cs Buffer.cs Action.cs Array.cs BadImageFormatException.cs Byte.cs
2182         Attribute.cs _AppDomain.cs Boolean.cs AppDomain.cs: Fix some argument names to be 
2183         consistent with MS.
2184
2185 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
2186
2187         * DateTimeOffset.cs: start refactoring DoParse.
2188
2189 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
2190
2191         * Type.cs (GetConstructor): Use correct binding flags in type (Type[]) overload.
2192         Fixes #353604.
2193
2194 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
2195
2196         * NumberFormatter.cs, Double.cs, Single.cs: Fix Single & Double default
2197           ToString to handle +-Infinity & NaN.
2198
2199 2008-01-14  Sephane Delcroix  <sdelcroix@novell.com>
2200
2201         * DateTimeOffset.cs: ParseExact (string, string, IFormatProvider) 
2202         implemented.
2203
2204
2205 2008-01-14  Zoltan Varga  <vargaz@gmail.com>
2206
2207         * NumberFormatter.cs: Remove some redundant assignments.
2208
2209 2008-01-13  Gert Driesen  <drieseng@users.sourceforge.net>
2210
2211         * AppDomain.cs: Also fix bug #350530 for overload taking evidence and
2212         args. On 1.0 profile, throw COMException to match MS and to allow
2213         our unit tests to pass on MS.
2214
2215 2008-01-13  Eyal Alaluf <eyala@mainsoft.com>
2216
2217         * NumberFormatter.cs: Check in redesigned implementation. Improves
2218           double.ToString performance by 2-3 orders of magnitude and other
2219           primitive numeric types ToString performance.
2220         * NumberFormatter.jvm.cs: The TARGET_JVM managed tables for NumberFormatter
2221           class for reuse if a completely managed NumberFormatter is required.
2222         * Int16.cs UInt64.cs Double.cs UInt16.cs SByte.cs Byte.cs TimeSpan.cs
2223           Int32.cs Int64.cs Single.cs UInt32.cs: Adapt to new NumberFormatter.
2224
2225 2008-01-13  Zoltan Varga  <vargaz@gmail.com>
2226
2227         * AppDomain.cs: Check for a missing entry point in the ExecuteAssembly methods.
2228         Fixes #350530.
2229
2230 2008-01-11  Stephane Delcroix  <sdelcroix@novell.com>
2231
2232         * DateTimeOffset.cs: Fixes the MinValue (was equal to MaxValue)...
2233
2234 2008-01-10  Zoltan Varga  <vargaz@gmail.com>
2235
2236         * Delegate.cs: Implement argument checking in CreateDelegate(Type,object,MethodInfo)
2237         method. Make the CreateDelegate(Type,MethodInfo) overload calls this version.
2238         Fixes #352805.
2239
2240 2008-01-10  Stephane Delcroix  <sdelcroix@novell.com>
2241
2242         * DateTimeOffset.cs: chain the Parse* methods together.
2243
2244 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2245
2246         * DateTime.cs : revert the previous fix. It caused regression on
2247           the buildbot.
2248
2249 2008-01-09  Atsushi Enomoto  <atsushi@ximian.com>
2250
2251         * DateTime.cs : fixed bug #352210. Kind is unspecified by default,
2252           while the tick is for local time by default. This fix also involved
2253           special x509 handling.
2254
2255 2008-01-08  Marek Safar  <marek.safar@gmail.com>
2256
2257         * Array.cs (LastIndexOf<T>): Fixed bound checking.
2258
2259 2008-01-06  Zoltan Varga  <vargaz@gmail.com>
2260
2261         * AppDomain.cs: Move the assembly loading in ExecuteAssembly and 
2262         ExecuteAssemblyByName to managed to as said by the MSDN docs. Fixes #350530.
2263
2264         * Environment.cs: Bump corlib version.
2265         
2266 2008-01-02  Marek Habersack  <mhabersack@novell.com>
2267
2268         * Array.cs: fix a typo to unbreak the build.
2269
2270 2008-1-1  Scott Peterson  <lunchtimemama@gmail.com>
2271
2272         * Array.cs: Slight improvement to the quicksort algorithm.
2273
2274 2007-12-28  Gert Driesen  <drieseng@users.sourceforge.net>
2275
2276         * Environment.cs: Bump corlib version.
2277
2278 2007-12-20  Gert Driesen  <drieseng@users.sourceforge.net>
2279
2280         * AppDomain.cs: Added check for null AssemblyName, and invalid
2281         AssemblyName.Name to DefineDynamicAssembly overloads. Loosely based on
2282         patch provided by Cedric Vivier. Fixes bug #349272.
2283
2284 2007-12-20  Stephane Delcroix  <sdelcroix@novell.com>
2285
2286         * DateTimeOffset.cs: set [Min|Max]Value to UTC. Fixes #349621.
2287
2288 2007-12-19  Stephane Delcroix  <sdelcroix@novell.com>
2289
2290         * DateTime.cs:
2291         * DateTimeOffset.cs:
2292         * DateTimeUtils.cs: factored out the common pieces of DT and DTO into DTU.
2293
2294 2007-12-18  Stephane Delcroix  <sdelcroix@novell.com>
2295
2296         * DateTimeOffset.cs: implementing the 4 ToString overloads by reusing
2297         large chunks of System.DateTime code.
2298
2299 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
2300
2301         * DateTimeOffset.cs: some bugfix discovered by unit tests.
2302
2303 2007-12-16  Stephane Delcroix  <sdelcroix@novell.com>
2304
2305         * DateTimeOffset.cs: almost complete implementation, still missing the
2306         Parse* and ToString methods.
2307
2308 2007-12-11  Zoltan Varga  <vargaz@gmail.com>
2309
2310         * AppDomain.cs (DoAssemblyResolve): Fix detection of whenever there is a
2311         reflection-only assembly resolve hook.
2312
2313 2007-12-10  Stephane Delcroix  <sdelcroix@novell.com>
2314
2315         * DateTimeOffset.cs: partial implementation. no longer just a stub.
2316
2317 2007-11-30  Zoltan Varga  <vargaz@gmail.com>
2318
2319         * Delegate.cs: Compute the Method property lazily.
2320         
2321         * Delegate.cs: Add a 'method' field.
2322
2323         * Environment.cs: Bump corlib version.
2324
2325 2007-11-21  Zoltan Varga  <vargaz@gmail.com>
2326
2327         * Array.cs: Make the InternalArray_... methods internal.
2328
2329         * Environment.cs: Bump corlib version.
2330
2331 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
2332
2333         * AppDomain.cs : filled 2.0 API (extra ones are from 2.0 SP1).
2334         * ContextMarshalException.cs : obsolete in 2.0.
2335
2336 2007-11-21  Atsushi Enomoto  <atsushi@ximian.com>
2337
2338         * MarshalByRefObject.cs : Added MemberwiseClose() stub.
2339           GetLifetimeService() is not virtual (in both 2.0 and 1.1).
2340         * Console.cs : implemented missing 2.0 key members.
2341
2342 2007-11-18  Gert Driesen  <drieseng@users.sourceforge.net>
2343
2344         * Enum.cs: Provided ParamName of Argument(Null)Exceptions. Rewrote
2345         some exception messages.
2346
2347 2007-11-16  Gert Driesen  <drieseng@users.sourceforge.net>
2348
2349         * AppDomain.cs: Added some obsolete messages.
2350
2351 2007-11-15  Gert Driesen  <drieseng@users.sourceforge.net>
2352
2353         * MonoType.cs: Modified ParamName for ArgumentException to match
2354         MS. Provide meaningful exception messages. On 2.0, throw ANE instead
2355         of ArgumentException when args is null.
2356
2357 2007-11-15  Zoltan Varga  <vargaz@gmail.com>
2358
2359         * MonoType.cs (Invoke): Allow BindingFlags.SetField and
2360         BindingFlags.SetProperty to be specified together. Fixes #321735.
2361
2362 2007-11-14  Miguel de Icaza  <miguel@novell.com>
2363
2364         * Console.cs, ConsoleDriver.cs, TermInfoDriver.cs,
2365         TermInfoReader.cs, TermInfoNumber.cs, TermInfoStrings.cs,
2366         CStreamReader.cs, CStreamWriter.cs, NullConsoleDriver.cs,
2367         WindowsConsoleDriver.cs: In the 2.1 profile we do not need the
2368         full-blown Console (the terminal-addressable console) so we shrink
2369         it down to the basic 1.0 Console.
2370
2371 2007-11-14  Marek Safar  <marek.safar@gmail.com>
2372
2373         * Nullable.cs: Optimized to use generic comparers.
2374
2375 2007-11-14  Zoltan Varga  <vargaz@gmail.com>
2376
2377         * Array.cs (Copy): Throw InvalidCastException in more cases.
2378
2379 2007-11-13  Zoltan Varga  <vargaz@gmail.com>
2380
2381         * GCCollectionMode.cs GCLatencyMode.cs: New net 3.5 types.
2382
2383 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2384
2385         * NumberFormatter.cs : revert previous two changes. It does not
2386           really work for float and hence will rather bring confusion.
2387
2388 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2389
2390         * NumberFormatter.cs : limit the situation that needs roundtrip
2391           verification in the previous change to Double.
2392
2393 2007-11-12  Atsushi Enomoto  <atsushi@ximian.com>
2394
2395         * NumberFormatter.cs : applied a quick fix for bug #320433. It needs
2396           true fix to avoid extra perf. loss.
2397
2398 2007-11-08  Sebastien Pouliot  <sebastien@ximian.com>
2399
2400         * TimeZone.cs: Under 2.0 we must return a Local DateTime.MinValue.
2401         Fix the regression on the x86_64 bot which seems to be in it's own
2402         timezone.
2403
2404 2007-11-07  Gert Driesen  <drieseng@users.sourceforge.net>
2405
2406         * Exception.cs: Cosmetic change to default exception message on
2407         2.0 profile.
2408
2409 2007-11-05  Gert Driesen  <drieseng@users.sourceforge.net>
2410
2411         * Array.cs: Distinguish between notstarted and finished state when
2412         throwing IOE in Current, and provide meaningful exception message.
2413
2414 2007-11-05  Sebastien Pouliot  <sebastien@ximian.com>
2415
2416         * Array.cs: Fix Enumerator<T>.Reset (#322248).
2417
2418 2007-11-05  Rodrigo Kumpera  <rkumpera@novell.com>
2419
2420         * Type.cs (MakeGenericType): fix for #331199. If an user-defined type
2421         was used, the runtime would crash. Now we apply UnderlyingSystemType to
2422         all types before handling to the runtime.
2423
2424 2007-11-05  Stephane Delcroix  <sdelcroix@novell.com>
2425
2426         * TimeZone.cs: fix for #323911. The our after DST.Start is already DST.
2427
2428 2007-11-03  Atsushi Enomoto  <atsushi@ximian.com>
2429
2430         * DateTime.cs : fix for #330085. for Local time, convert to Utc
2431           before getting ticks.
2432
2433 2007-11-03  Gert Driesen  <drieseng@users.sourceforge.net>
2434
2435         * ArgumentException.cs: Change default message to match MS. Removed
2436         unnecessary check from Message, since base.Message can never be null.
2437
2438 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
2439
2440         * DateTime.cs : ParseExact() should ignore 'K' when there is no
2441           character is left.
2442
2443 2007-11-01  Atsushi Enomoto  <atsushi@ximian.com>
2444
2445         * DateTime.cs : in roundtrip mode, 'Z' should turn the tick value to
2446           utc time and should not result in different ticks.
2447           Fixed bug #338064.
2448
2449 2007-10-30  Miguel de Icaza  <miguel@novell.com>
2450
2451         * UInt32.cs (Parse): Use Jeff Stedfast's parsing code which is
2452         smaller and does not need checked() constructs. 
2453
2454         * Int64.cs, Int32.cs, Int16.cs: small tuneup: do not throw
2455         exception, instead return the exception like every other place in
2456         this code. 
2457
2458         * Int16.cs, Int32.cs, Int64.cs: Use the Jeff Stedfast parsing code
2459         which is smaller.  We no longer use "checked" to check for
2460         overflows, I refactored some stuff and cleaned up the rest and
2461         fixes #331525.
2462
2463 2007-10-27  Zoltan Varga  <vargaz@gmail.com>
2464
2465         * MonoType.cs: Applied patch from Mario A Chavez 
2466         <mario.chavez@gmail.com>. Add support for invoking members with the 
2467         ParamArray attribute. Fixes #336841.
2468
2469 2007-10-26  Zoltan Varga  <vargaz@gmail.com>
2470
2471         * MonoType.cs (InvokeMember): Make sure one operation is passed in the binding
2472         flags. Fixes #336936.
2473
2474 Fri Oct 26 19:43:09 CEST 2007 Paolo Molaro <lupus@ximian.com>
2475
2476         * Environment.cs, String.cs: patch from Tyler Larson
2477         <mono-devel@tlarson.com> to fix the handling of the RemoveEmptyEntries
2478         option in string.Split (bug #322375).
2479
2480 2007-10-26  Dick Porter  <dick@ximian.com>
2481
2482         * Environment.cs: Bump version because of Thread initialisation
2483         changes
2484
2485 2007-10-25  Lluis Sanchez Gual  <lluis@novell.com>
2486
2487         * AppDomain.cs: In DefaultDomain, wrap the returned domain with
2488         a proxy if the current domain is not the root domain.
2489
2490 2007-10-24  Atsushi Enomoto  <atsushi@ximian.com>
2491
2492         * Type.cs : implemented ReflectionOnlyGetType().
2493
2494 2007-10-19  Zoltan Varga  <vargaz@gmail.com>
2495
2496         * AppDomain.cs: Add NET 3.5 DefineDynamicAssembly () overloads.
2497
2498 2007-10-13  Zoltan Varga  <vargaz@gmail.com>
2499
2500         * Delegate.cs (CreateDelegate): Allow binding instance methods to 
2501         delegates with an extra argument, a NET 2.0 feature. Fixes #333647.
2502
2503 Fri Oct 12 08:11:50 CEST 2007 Paolo Molaro <lupus@ximian.com>
2504
2505         * String.cs: reverted unapproved patch that breaks the build.
2506
2507 2007-10-11  Joel Reed  <joelwreed@comcast.com>
2508
2509         * String.cs: fix String.Split(char[],int,StringSplitOptions)
2510         with StringSplitOptions.RemoveEmptyEntries option. The correct 
2511         behavior is to remove empty entries while the string is being split, 
2512         and always return the maximum number of elements possible.
2513         Patch from: Tyler Larson <mono-devel@tlarson.com>
2514         
2515 2007-09-28  Jb Evain  <jbevain@novell.com>
2516
2517         * Object.cs: Make ToString return Type.ToString ()
2518         by default instead of Type.FullName to match .net
2519         behavior. Fix #329419.
2520
2521 2007-09-28  William Holmes  <billholmes54@gmail.com>
2522
2523         * DateTime.cs: Check for AssumeUniversal when parsing string.
2524          Fixes bug #324845
2525
2526 2007-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
2527
2528         * Enum.cs: Use regular single quotes in exception message.
2529
2530 2007-09-14  Paolo Molaro <lupus@ximian.com>
2531
2532         * String.cs: implemented all the string ctors using CreateString
2533         methods, so they can run completely in managed code.
2534
2535 2007-09-13  Marek Safar  <marek.safar@gmail.com>
2536
2537         * DateTimeOffset.cs: Implemented few properties.
2538
2539 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
2540
2541         * Decimal.cs, Math.cs : implemented midpoint rounding.
2542
2543 2007-09-13  Atsushi Enomoto  <atsushi@ximian.com>
2544
2545         * Activator.cs : implemented 2.0 CreateInstance()
2546           and CreateInstanceFrom () overloads.
2547
2548 2007-09-12  Sebastien Pouliot  <sebastien@ximian.com>
2549
2550         * Decimal.cs: More explicit text in exception (old and almost 
2551         forgetten patch on laptop ;-)
2552
2553 2007-09-10  Atsushi Enomoto  <atsushi@ximian.com>
2554
2555         * OperatingSystem.cs : implemented ISerializable.
2556
2557 2007-08-28  Zoltan Varga  <vargaz@gmail.com>
2558
2559         * DateTime.cs: Fix a warning.
2560
2561 2007-08-25  Robert Jordan  <robertj@gmx.net>
2562
2563         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
2564
2565 2007-08-25  Alan McGovern  <amcgovern@novell.com>
2566
2567         * DateTime.cs: Reverted DateTime changes.
2568
2569 2007-08-25  Robert Jordan  <robertj@gmx.net>
2570
2571         * DateTime.cs: Implement internal To/FromBinary for the 1.1 profile.
2572
2573 2007-08-24  Zoltan Varga  <vargaz@gmail.com>
2574
2575         * Array.cs: Fix min + max / 2 overflows in the BinarySearch and qsort methods.
2576         Fixes #82469.
2577
2578 2007-08-23  Marek Safar  <marek.safar@gmail.com>
2579
2580         * DateTimeOffset.cs: New .NET 3.5 struct for 2.0 mscorlib.
2581         
2582 2007-08-23  Eyal Alaluf <eyala@mainsoft.com>
2583
2584         * DateTime.cs: Numerous improvements to DateTime.Parse. It handles a lot
2585           more possible formats and more correctly at that. It is also now easier
2586           to manage the formats DateTime.Parse supports.
2587
2588 2007-08-17  Zoltan Varga  <vargaz@gmail.com>
2589
2590         * Exception.cs: Make 1.0 and 2.0 object layout the same since this class is seen
2591         by the runtime. Fixes #82459.
2592
2593 2007-08-16  Gert Driesen  <drieseng@users.sourceforge.net>
2594
2595         * MonoCustomAttrs.cs: In IsDefined, throw ArgumentNullException if
2596         attributeType is null to avoid a SIGSEGV (and match MS). Only partial
2597         fix for bug #82431 on 1.0 profile; it fully fixes the problem for the
2598         1.0 profile, but more changes (in the runtime) are required for the
2599         2.0 profile. Added a FIXME explaining the problem.
2600
2601 2007-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
2602
2603         * MonoCustomAttrs.cs: In IsDefined, only walk inheritance chain if
2604         both AttributeUsage.Inherited and inherit are true. Fixed bug #82431.
2605
2606 2007-08-13  Gert Driesen  <drieseng@users.sourceforge.net>
2607
2608         * ArgumentException.cs: Ignore zero-length ParamName for Message.
2609         Use ParamName property instead of field, since the property is marked
2610         virtual.
2611         * Array.cs: Provide more meaningful exception message when destination
2612         array is not long enough.
2613
2614 2007-08-11  Zoltan Varga  <vargaz@gmail.com>
2615
2616         * Array.cs: Implement InternalArray__set_Item. Fixes #82345.
2617
2618 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2619
2620         * IntPtr.cs : oops, do not ignore format in ToString(string).
2621
2622 2007-08-08  Atsushi Enomoto  <atsushi@ximian.com>
2623
2624         * GC.cs, Exception.cs, IntPtr.cs, Enum.cs, DateTime.cs, Convert.cs
2625           ConsoleKeyInfo.cs, String.cs, Object.cs, Attribute.cs,
2626           Version.cs : couple of cosmetic 2.0 API fixes.
2627
2628 2007-08-06  Aaron Bockover  <abockover@novell.com>
2629
2630         * Environment.cs (ReadXdgUserDir): Support the changes to the
2631         xdg-user-dirs spec that allow $HOME to start the path; also allows
2632         for quotes surrounding the path (Patch ported from Banshee,
2633         BGO #461596)
2634
2635 2007-07-28  Miguel de Icaza  <miguel@novell.com>
2636
2637         * MulticastDelegate.cs (Equals): do not cast to avoid exceptions,
2638         instead use the "as" operator, as pointed out by Jesse Jones'
2639         tool. 
2640
2641 2007-07-21  Gert Driesen  <drieseng@users.sourceforge.net>
2642
2643         * BitConverter.cs: Fixed exceptions to match MS. Fixed invalid use
2644         of ArgumentOutOfRangeException and ArgumentException ctors that take
2645         both parameter name and message. In ToString throws ArgumentException
2646         instead of ArgumentOutOfRangeException when length is negative, and
2647         return zero-length string when length is 0.
2648
2649 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2650
2651         * AppDomainSetup.cs : fix serialization regression.
2652
2653 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2654
2655         * AppDomainSetup.cs :
2656           MonoTODO AppDomainInitializer as its implementation is wrong.
2657
2658 2007-07-20  Atsushi Enomoto  <atsushi@ximian.com>
2659
2660         * AppDomainSetup.cs : added missing 2.0 members.
2661         * AppDomain.cs : support AppDomainInitializer.
2662
2663 2007-06-06  Miguel de Icaza  <miguel@novell.com>
2664
2665         * Int16.cs, UInt64.cs, SByte.cs, UInt16.cs, Byte.cs, Int32.cs,
2666         Int64.cs, UInt32.cs: Fix for 81775.
2667
2668         I removed Parse from a Byte.cs and UInt16.cs as in various cases
2669         they still depended on UInt32.cs for parsing, there is no reason
2670         to keep all of this code duplicated (UInt64 is a different case
2671         though). 
2672
2673         I was hoping for some feedback on whether my tests are correct,
2674         but so far no takers.
2675
2676 2007-07-14  Zoltan Varga  <vargaz@gmail.com>
2677
2678         * ModuleHandle.cs: Implement the generic versions of the ResolveXXXHandle () methods.
2679         
2680         * ModuleHandle.cs: Add stubs for generic ResolveXXXHandle () methods.
2681
2682 2007-07-10  Alan McGovern <amcgovern@novell.com>
2683
2684         * Guid.cs: All whitespace should be trimmed from before and
2685         after a string passed into the Guid constructor. Fixes #81958
2686
2687 2007-07-10  Zoltan Varga  <vargaz@gmail.com>
2688
2689         * RuntimeTypeHandle.cs: Fix signatures of == and != operators.
2690
2691         * ModuleHandle.cs: Add missing 2.0 stuff.
2692
2693 2007-07-08  Zoltan Varga  <vargaz@gmail.com>
2694
2695         * *.cs: Add missing ComVisible attributes.
2696
2697         * Delegate.cs: Add missing 2.0 CreateDelegate () methods.
2698
2699 2007-07-07  Gert Driesen  <drieseng@users.sourceforge.net>
2700
2701         * DateTime.cs: In ParseExact, throw ArgumentNullException if format
2702         is null; throw FormatException if formats array is empty or if one of
2703         items is null or a zero-length string.
2704
2705 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
2706
2707         * Double.cs (Parse): Fix for string ending in garbaga, it was just ignoring it
2708         instead of throwing FormatException. Fixes #81777
2709
2710 2007-07-06  Rodrigo Kumpera  <rkumpera@novell.com>
2711
2712         * Double.cs (Parse): Fix for whitespace only strings, it was returning zero 
2713         instead of throwing FormatException. Fixes #81630 
2714
2715 2007-07-06  Alan McGovern  <amcgovern@novell.com>
2716
2717         * DateTime.cs: If the format is null or empty, it should default to 'G'.
2718         Fixes bug 81778
2719
2720 2007-07-06  Jonathan Chambers  <joncham@gmail.com>
2721
2722         * __ComObject.cs: Support ExtensibleClassFactory.
2723
2724
2725 2007-07-06  Aaron Bockover  <abockover@novell.com>
2726
2727         * Environment.cs (InternalGetFolderPath): Try reading some
2728         paths from ~/.config/user-dirs.dirs (XDG user dirs spec);
2729         always return something for MyPictures
2730
2731 2007-07-04  Atsushi Enomoto  <atsushi@ximian.com>
2732
2733         * Type.cs : 2.0 TypeHandle and ContainsGenericParameters are virtual
2734           (required fix for 2.0 reflection API fixes).
2735
2736 2007-06-22  Jonathan Chambers  <joncham@gmail.com>
2737
2738         * __ComObject.cs: Move interface lookup to unmanaged.
2739
2740 2007-06-21  Zoltan Varga  <vargaz@gmail.com>
2741
2742         * Environment.cs: Bump corlib version.
2743
2744         * Delegate.cs: Applied patch from Robert Jordan (robertj@gmx.net). Keep
2745         the dynamic method referenced by a delegate alive.
2746
2747 2007-06-05  David Ferguson <davecferguson@gmail.com>
2748
2749         * DateTime.cs: Changed DateTime.Parse() to throw a FormatException
2750           instead of an ArgumentOutOfRangeException for .NET 2.0.  An
2751           ArgumentOutOfRangeException is still thrown for .NET 1.1.
2752           Fixes bug #77633
2753           
2754 Mon Jun 4 14:52:17 CEST 2007 Paolo Molaro <lupus@ximian.com>
2755
2756         * String.cs: optimized CompareOrdinal ().
2757
2758 2007-06-02  Zoltan Varga  <vargaz@gmail.com>
2759
2760         * MonoCustomAttrs.cs (GetBase): Revert last change as it breaks the build.
2761         
2762         * MonoCustomAttrs.cs (GetBase): Handle properties correctly. Fixes #81797.
2763
2764 2007-05-31  Zoltan Varga  <vargaz@gmail.com>
2765
2766         * Delegate.cs: Add invoke_impl field. Reorder fields for better cache behavior. Add
2767         SetMulticastDelegate icall.
2768
2769         * MulticastDelegate.cs (CombineImpl): Call SetMulticastDelegate () on newly created
2770         delegate.
2771
2772         * Environment.cs: Bump corlib version.
2773         
2774 2007-05-25  Jonathan Chambers  <joncham@gmail.com>
2775
2776         * __ComObject.cs: Add overload to GetInterface to allow
2777         not throwing exceptions. Fixes as and is operators for COM objects.
2778
2779 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2780
2781         * Array.cs : reverting Array.cs fixes since the runtime depends on
2782           those method attributes.
2783
2784 2007-05-23  Atsushi Enomoto  <atsushi@ximian.com>
2785
2786         * Int16.cs UInt64.cs UIntPtr.cs Double.cs CrossAppDomainDelegate.cs
2787           ResolveEventHandler.cs IntPtr.cs UnhandledExceptionEventHandler.cs
2788           Void.cs AssemblyLoadEventHandler.cs SByte.cs UInt16.cs DateTime.cs
2789           Byte.cs TimeSpan.cs Decimal.cs Int32.cs Delegate.cs
2790           AppDomainInitializer.cs MulticastDelegate.cs Int64.cs
2791           EventHandler.cs Single.cs UInt32.cs AsyncCallback.cs :
2792           cosmetic attribute fixes (ComVisible/Serializable).
2793
2794 2007-05-22  Atsushi Enomoto  <atsushi@ximian.com>
2795
2796         * Convert.cs : completed 2.0 (ToBase64CharArray).
2797         * String.cs : removed MonoTODO.
2798         * DataMisalignedException.cs : removed extra .ctor().
2799         * Array.cs : internalize extra members. Fixed reliability contract.
2800
2801 2007-05-17  Atsushi Enomoto  <atsushi@ximian.com>
2802
2803         * DateTime.cs : added support for 'K'.
2804
2805 2007-05-11  Jonathan Chambers  <joncham@gmail.com>
2806
2807         * __ComObject.cs: No need to call CoInitialize anymore since
2808         Thread.ApartmentState was implemented.
2809
2810 2007-05-11  Jeffrey Stedfast  <fejj@novell.com>
2811
2812         Fixes bug #81540
2813
2814         * TermInfoDriver.cs (WriteSpecialKey): Actually clear the screen
2815         and reset the cursor position to 0,0 when the key is
2816         ConsoleKey.Clear.
2817         (Clear): Reset the cursor position to 0,0
2818
2819 2007-05-09  Marek Safar  <marek.safar@gmail.com>
2820
2821         * MulticastDelegate.cs: Fixed operators logic.
2822
2823 2007-05-09  Marek Habersack  <mhabersack@novell.com>
2824
2825         * DateTime.cs: add a format used in ASP.NET QuickStarts 
2826           ("HH':'mm tt MM/dd/yyyy")
2827
2828 2007-04-30  Zoltan Varga  <vargaz@gmail.com>
2829
2830         * Type.cs (Equals): Allow a null argument.
2831
2832 2007-04-27  Zoltan Varga  <vargaz@gmail.com>
2833
2834         * Environment.cs (StackTrace): Avoid skipping a frame to be
2835         compatible with MS.
2836
2837 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2838
2839         * DateTimeTest.cs : looks like 'F' even removes preceding '.' ...
2840
2841 2007-04-25  Atsushi Enomoto  <atsushi@ximian.com>
2842
2843         * DateTime.cs : implemented new-2.0 'F' pattern letter.
2844
2845 2007-04-24  Jeffrey Stedfast  <fejj@novell.com>
2846
2847         Fixes the last of the bugs listed in bug #77525
2848
2849         * TermInfoDriver.cs (ctor): For known terminal types, set color16
2850         to true (since we know they support 16 colours).
2851         (Init): set the setlfgcolor and setlbgcolor format strings.
2852         (BackgroundColor): Use the appropriate formatter string for
2853         setting the bgcolor.
2854         (ForegroundColor): Use the appropriate formatter string for
2855         setting the fgcolor.
2856         (TranslateColor): Now takes (and sets appropriately) an output
2857         'bool light' argument.
2858
2859 2007-04-24  Marek Habersack  <mhabersack@novell.com>
2860
2861         * TermInfoDriver.cs: don't include debug stuff by default - it
2862         breaks multithreaded applications (they all attempt to open
2863         console.log and fail because of sharing violation).
2864
2865 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2866
2867         * TermInfoDriver.cs (ReadKeyInternal): Since our input stream is
2868         buffered, check if it has more buffered input in addition to our
2869         timeout check. This makes it such that we will actually correctly
2870         match multi-char escape sequences.
2871         (Read): Changed the logic slightly wrt 'fresh' echoing. Once we
2872         encounter a fresh char, all chars afterward should also be
2873         considered 'fresh' even if 'fresh' is returned as false later.
2874         (ReadLine): Same logic here.
2875
2876 2007-04-23  Jeffrey Stedfast  <fejj@novell.com>
2877
2878         Fixes bug #80702 (via getting rid of the casting) and more.
2879
2880         The following change makes it such that even if an application
2881         calls Console.SetOut() with its own output stream, we can still
2882         properly echo user-input from stdin to the real stdout.
2883
2884         * TermInfoDriver.cs (ctor): Grab a reference to the original
2885         Console.stdout so we can be sure we always echo to console.
2886         (QueueEcho): No need to cast Console.stdout anymore.
2887         (EchoFlush): Same.
2888         (WriteConsole: Here too.
2889
2890 2007-04-20  Jeffrey Stedfast  <fejj@novell.com>
2891
2892         * TermInfoDriver.cs (QueueEcho): Renamed from Echo(char). Use
2893         CStreamWriter's new InternalWriteChars().
2894         (Echo): Since we can no longer go thru CStreamWriter's ::Write()
2895         method that does checks for special keys, do the checks here
2896         instead - if it is a special key, flush the echo buffer and then
2897         write the special key.
2898         (EchoFlush): Also updated to use CStreamWriter's new
2899         InternalWriteChars().
2900         (Read): Use the Echo(key) variety.
2901         (ReadKey): Same.
2902         (ReadLine): And here too.
2903
2904         * CStreamWriter.cs (InternalWriteChars): Write a char array
2905         directly to stdout. Do not pass Go, do not collect $200.
2906
2907 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2908
2909         Optimization for echoing keypresses back to the console when the
2910         user pastes a block of text rather than manually typing text.
2911
2912         * TermInfoDriver.cs (Echo): A new convenience function for echoing
2913         characters/keys back to the console with an optimization twist and
2914         a bit of lime.
2915         (EchoFlush): Flush our pending echo queue
2916         (Read): Make use of Echo() both for convenience and for speed.
2917         (ReadLine): Same.
2918         (ReadKey): Make use of Echo()/EchoFlush() for simplicity of code,
2919         but we won't get the same optimization out of it.
2920
2921 2007-04-19  Jeffrey Stedfast  <fejj@novell.com>
2922
2923         Fix for bug #81373.
2924
2925         * TermInfoDriver.cs: Changed 'buffer' to be a char array instead
2926         of a byte array and stdin is now a StreamReader rather than a
2927         Stream.
2928         (Init): Setup stdin as a StreamReader using Console.InputEncoding
2929         as our encoding.
2930         (GetCursorPosition): Use stdin.Read() instead of the old
2931         ReadByte() code.
2932         (AddToBuffer): Updated to allocate the correct array type for
2933         'buffer'.
2934         (ReadKeyInternal): Updated to use stdin.Read() rather than
2935         stdin.ReadByte(). This is the main reason we needed to use chars
2936         instead of bytes. Characters entered by the user need to be
2937         represented as unicode chars and not bytes like before.
2938         (Match): Now takes a char[] buffer argument instad of byte[] and
2939         compares the input buffer to the byte-map as chars.
2940
2941 2007-04-18  Jeffrey Stedfast  <fejj@novell.com>
2942
2943         Fixes bug #81159: behave the same as mscorlib
2944
2945         * TermInfoDriver.cs (ReadKeyInternal): Now has an 'out bool fresh'
2946         argument which is used to tell our caller if the key was freshly
2947         read from the console or pre-buffered.
2948         (Read): New implementation of Console.In.Read(char[], int, int)
2949         that behaves exactly like mscorlib's implementation.
2950         (ReadKey): Updated for the ReadKeyInternal() API change - only
2951         echo if the key was fresh.
2952         (ReadLine): Same.
2953
2954         * CStreamReader.cs (Read): Call the new TermInfoDriver.Read()
2955
2956 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2957
2958         * CStreamWriter.cs (Write): Optimized this some more, we don't
2959         need a temporary buffer. Just blit chunks of the src buffer
2960         instead.
2961
2962         * CStreamReader.cs (Read): Need to increment our array index so
2963         that we don't store each byte read into the same
2964         position. Discovered this while testing bug #81159 (which appears
2965         to work as expected with current svn, other than this buglet).
2966
2967         * TermInfoDriver.cs (CursorTop::set): SetCursorPosition() sets our
2968         internal cursorTop variable, so no need to explicitly set it again
2969         after calling SetCursorPosition().
2970         (CursorLeft::set): Same idea here.
2971
2972 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2973
2974         * TermInfoDriver.cs (ReadLine): Implemented a workaround for
2975         IronPython going behind System.Console's back when writing text to
2976         the screen (it doesn't seem to use Console.stdout, instead it
2977         creates its own file stream or something which just so happens to
2978         write to the same file descriptor) by querying for the cursor
2979         position in ReadLine(), so we lose no real performance (since we
2980         have to wait for user input anyway).
2981
2982 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2983
2984         * TermInfoDriver.cs (Init): SetEcho(false), we'll be manually
2985         echoing from now on (ReadLine() has already been doing this, might
2986         as well make ReadKey() behave the same).
2987         (GetCursorPosition): No longer need to disable/re-enable echo
2988         anymore since it is now always false.
2989         (ReadKey): Manually echo the key back to the console just like
2990         ReadLine() has been doing (in the interest of consistancy) if
2991         intercept is false.
2992         (ReadLine): No longer need to disable/re-enable echo, echo is
2993         always off now. Also, fixed what appears to have been a typo.
2994
2995 2007-04-17  Jeffrey Stedfast  <fejj@novell.com>
2996
2997         * TermInfoDriver.cs (IsSpecialKey): Oops, Enter should not be
2998         treated as a special key. Just update out cursor state here like
2999         we do with normal chars.
3000         (WriteSpecialKey): Enter is a no-op now because it is not treated
3001         as a special key anymore.
3002
3003         * CStreamWriter.cs (Write): Only flush our buffer if j > 0
3004
3005 2007-04-17  Jeffrey Stedfast  <fejj@gnome.org>
3006
3007         Turns out my last patch was broken wrt handling some special keys
3008         like Backspace and anything else that changed the cursor position
3009         in some non-standard way.
3010
3011         * CStreamWriter.cs (Write): Instead of calling NotifyWrite(), we
3012         instead need to check IsSpecialKey(), and, if so, flush whatever
3013         we have saved in our temporary buffer and then call
3014         WriteSpecialKey(). Otherwise go on as we did in the last patch.
3015
3016         * TermInfoDriver.cs (NotifyWrite): Broken up into 2 functions:
3017         (IsSpecialKey): Returns true if we need to do some special voodoo
3018         for this key
3019         (WriteSpecialKey): Write the special key (using whatever voodoo
3020         necessary)
3021
3022 2007-04-16  Jeffrey Stedfast  <fejj@gnome.org>
3023
3024         * CStreamWriter.cs (Write): Instead of writing 1 char at a time,
3025         copy the bytes into a temporary char array (with a fixed max size)
3026         so that we can minimize the number of Write() calls we make on the
3027         underlying stream (and thus on the write() system call).
3028
3029 2007-04-17  Alp Toker  <alp@atoker.com>
3030
3031         * Array.cs: Make GetRank() icall private. Subclasses should use the
3032         public Rank property.
3033
3034 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3035
3036         * WindowsConsoleDriver.cs: Get rid of unused Echo property.
3037
3038         * NullConsoleDriver.cs: Get rid of Echo property.
3039
3040         * IConsoleDriver.cs: Get rid of Echo property.
3041
3042         * ConsoleDriver.cs (Echo::get/set): Removed, not needed.
3043
3044         * TermInfoDriver.cs (Echo::get/set): Removed, this isn't necessary
3045         and is confusing.
3046         (ReadKey): If we are intercepting the key, call SetEcho (false)
3047         and then reset back to true after reading the key.
3048         (ReadLine): Same idea here.
3049         (GetCursorPosition): We no longer need to keep track of the
3050         previous echo state, we no longer have it :)
3051
3052 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3053
3054         Fix for bug #80710 (and a bug I introduced in my last fix due to
3055         this code assuming the underlying term echo state was always
3056         false) and other buglets that I noticed.
3057
3058         * TermInfoDriver.cs (ReadLine): Set (term) Echo to false as we do
3059         our own manual echoing which prevents ^H from getting displayed on
3060         the screen when the user hits backspace.
3061         (ReadLine): If the user hits Backspace and builder.Length is 0, DO
3062         NOT echo the backspace back to the console, ever.
3063         (ReadLine): Only echo characters back to the console if echo is
3064         set to true. Seems the Echo ConsoleDriver property is a Mono
3065         extension, and I'm assuming this is the intended behavior? I can't
3066         see what else the Echo property would be useful for...
3067
3068 2007-04-16  Jeffrey Stedfast  <fejj@novell.com>
3069
3070         Fixes bug #81050
3071
3072         * TermInfoDriver.cs: Renamed the noEcho variable to echo, makes
3073         the logic cleaner/simpler/etc. Plus it was never actually used
3074         other than in the property methods which are called Echo.
3075         (Init): Call ConsoleDriver.SetEcho() with the 'echo' value -
3076         allows for a slight optimization if called from within the
3077         Echo::set property.
3078         (GetCursorPosition): Instead of calling the Echo property methods,
3079         call ConsoleDriver.SetEcho() directly to toggle echo off (if echo
3080         isn't already off, and then back on once we're finished getting
3081         the position - assuming the echo state is on, of course) - this
3082         avoids calling back into Init() which just felt dirty.
3083         (Echo::set): If the Echo state differs from our current state,
3084         call ConsoleDriver.SetEcho() with the new state (this is the
3085         important piece of the fix for bug #81050).
3086         (ReadKey): Simplified the echo logic to make it a bit clearer.
3087         (ReadLine): Same.
3088
3089 2007-04-16  Marek Safar  <marek.safar@gmail.com>
3090
3091         * Char.cs (IsLetter): Faster version.
3092
3093 2007-04-15  Alp Toker  <alp@atoker.com>
3094
3095         * Decimal.cs: Provide 2.0 Round() overloads using System.Math.
3096
3097 2007-04-15  Alp Toker  <alp@atoker.com>
3098
3099         * Activator.cs: CreateInstance(Type,object[]) was not params before
3100         2.0.
3101
3102 2007-04-15  Alp Toker  <alp@atoker.com>
3103
3104         * NonSerializedAttribute.cs: Inherited=false in 2.0.
3105
3106 2007-04-05  Dick Porter  <dick@ximian.com>
3107
3108         * Environment.cs: Increment mono_corlib_version
3109
3110 2007-04-03  Alp Toker  <alp@atoker.com>
3111
3112         * Array.cs: CreateInstance(Type,int[]) is params.
3113         * AppDomain.cs: ExecuteAssemblyByName(string,Evidence,string[]) is
3114         params.
3115
3116 2007-04-03  Alp Toker  <alp@atoker.com>
3117
3118         * Convert.cs:
3119         * Math.cs: Should be static classes in 2.0.
3120
3121 2007-04-03  Alp Toker  <alp@atoker.com>
3122
3123         * Delegate.cs: DynamicInvoke(object[]) is params in 2.0.
3124
3125 2007-04-03  Alp Toker  <alp@atoker.com>
3126
3127         * Delegate.cs: Combine(Delegate[]) is params in 2.0.
3128
3129 2007-03-27  Dick Porter  <dick@ximian.com>
3130
3131         * Environment.cs: Increment mono_corlib_version;
3132
3133 2007-03-16  Miguel de Icaza  <miguel@novell.com>
3134
3135         * BitConverter.cs: Revert the patch from 72237 as that introduces
3136         a regression and we are not sure yet what we will be doing about
3137         that.
3138
3139         Introduce a new InternalInt64BitsToDouble method that provides the
3140         fixed functionality, mark it as internal.
3141
3142         Introduce a new SwappableToDouble method that includes the
3143         swapping ToDouble routine as introduced by Zoltan on 72237, this
3144         is used by InternalInt64BitsToDouble.
3145
3146         * Math.cs (IEEERemainder): Use the InternalInt64BitsToDouble
3147         routine here to preserve the semantics from Zoltan.  
3148
3149         The problem with BitConverter.cs is that it is completely hossed.
3150         In .NET 1.1 it is a bitwise copy, no attempt is ever done to do
3151         endian-specific swapping.   In .NET 2.0 it is *almost* like that,
3152         but it is subtly broken: if data is unaligned then endian
3153         conversions happen.  If the data is properly aligned it behaves
3154         like 1.0.
3155
3156         In general BitConverter is a sad class that offers little control,
3157         we will be introducing a new mono bit converter and encourage
3158         users to use that instead of the entirely broken
3159         System.BitConverter. 
3160
3161 2007-03-11  Gert Driesen  <drieseng@users.sourceforge.net>
3162
3163         * Delegate.cs: Fixed bootstrap build.
3164
3165 2007-03-08  Gert Driesen  <drieseng@users.sourceforge.net>
3166
3167         * StringComparer.cs: Renamed StringComparer classes and promoted them
3168         to top-level classes. Merged Ordinal and OrdinalIgnoreCase comparers.
3169         Fixes binary serialization compatibility with MS.
3170
3171 2007-03-06  Zoltan Varga  <vargaz@gmail.com>
3172   
3173         * Type.cs (Equals): Remove a useless check.
3174
3175         * Type.cs: Rename Type:Equals(Type) to EqualsInternal, and add support for checking
3176         UnderlyingSystemType. Fixes #81037.
3177
3178 2007-03-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
3179
3180         * TermInfoDriver.cs: adjust buffer indexes after *every* read. Fixes
3181         bug #80329. Robert Jordan attached a similar patch to the bug report
3182         but I didn't see it until after my commit...
3183
3184 2007-03-05  Peter Dettman <peter.dettman@iinet.net.au>
3185
3186         * Enum.cs: The above patch makes the formatting for specifiers 'x'
3187         and 'X' behave like MS.NET, including the correct length for each
3188         possible underlying type, and correctly using capital letters for
3189         the 'X' case.
3190
3191         Patch also includes some more test cases in EnumTests.cs.
3192
3193 2007-02-25  Gert Driesen  <drieseng@users.sourceforge.net>
3194
3195         * AppDomainSetup.cs: If configuration file is not an absolute path,
3196         then throw a MemberAccessException if ApplicationBase is not set,
3197         or otherwise consider it as a path relative to ApplicationBase.
3198         Fixes bug #80934. Patch provided by Jamie Cansdale.
3199         * AppDomain.cs: In CreateDomain, construct AppDomain with
3200         ApplicationBase of default domain if not explicitly set in specified
3201         AppDomainSetup. If config file is not set, then use filename of the
3202         default domain config file. Base on patch provided by Jamie Cansdale.
3203
3204 2007-02-16  Sebastien Pouliot  <sebastien@ximian.com>
3205
3206         * Random.cs: Fix exception messages ("then" -> "than"). Spotted by
3207         Mark A. Nicolosi (#80873).
3208
3209 2007-02-12  Miguel de Icaza  <miguel@novell.com>
3210
3211         * CStreamWriter.cs (Write with char []): take the lock once for
3212         all characters and call manually the InternalWriteChar properly to
3213         speed things up.
3214
3215         (Write with string parameter): same thing, if the driver is not
3216         initialized use a fast path.
3217
3218         If the driver has not been initialized, use a fast path instead. 
3219
3220 Mon Feb 12 21:54:57 CET 2007 Paolo Molaro <lupus@ximian.com>
3221
3222         * MonoType.cs: patch from Cedric Vivier <cedricv@neonux.com> to
3223         get correctly non-public fields from generic types.
3224
3225 2007-02-08  Jonathan Chambers  <joncham@gmail.com>
3226
3227         * __ComObject.cs: Add IUnknown field to object. Cleanup icalls.
3228         
3229 2007-02-03  Zoltan Varga  <vargaz@gmail.com>
3230
3231         * BitConverter.cs (ToDouble): Fix this on big-endian machines.
3232
3233 2007-01-30  Atsushi Enomoto  <atsushi@ximian.com>
3234
3235         * TimeZone.cs: According to the docs, we should not throw when
3236         converting to Localtime if we are a negative value.  Instead we
3237         return DateTime.MinValue.
3238
3239 2007-01-25  Atsushi Enomoto  <atsushi@ximian.com>
3240
3241         * DateTime.cs : copy Kind in those members that return DateTime.
3242           Fixed bug #80614.
3243
3244 2007-01-20  Miguel de Icaza  <miguel@novell.com>
3245
3246         * Array.cs (InternalArray__ICollection_Contains,
3247         InternalArray__IndexOf): Cope with null values in the array (See
3248         bug #80563).
3249
3250 2007-01-19  Marek Habersack  <grendello@gmail.com>
3251
3252         * AppDomain.cs: Make sure that domain
3253         SetupInformation.ConfigurationFile is never null. MS.NET by
3254         default copies the default domain's ConfigurationFile value
3255         there. Fixes bug #80547.
3256
3257 2007-01-14  Jensen Somers <jensen.somers@gmail.com>
3258
3259         * ArraySegment.cs: Added Equals() method, operator == and !=
3260         overloading and GetHashCode().
3261
3262 2007-01-10  Andy Hume <andyhume32@yahoo.co.uk>
3263
3264         * Fixes to a number of exception classes.
3265         
3266         A project of mine uses #ctor(String,Exception) on 
3267         ObjectDisposedException, so I looked at adding that, and any 
3268         other similar constructors missing as per the class status report.
3269         
3270         I also spotted inconsistent setting of HResult, and fixed 
3271         those too.  For instance, ArgumentNullException sets HResult 
3272         only in three out of the four constuctors; not setting it in 
3273         the v2 (String,Exception) one -- and correctly not in the 
3274         Serialization constructor.
3275         
3276         
3277         So, I fixed the remaining missing (String,Exception) 
3278         constructors in corlib (2 of), and fixed the Hresult setting 
3279         in all exceptions there (4 of).
3280         
3281         The remaining Exception constructor omission listed was 
3282         InvalidCastException.ctor(System.String, System.Int32).  MSDN   says:
3283         "This constructor supplies an HRESULT value that is 
3284         accessible to inheritors of the InvalidCastException class, 
3285         via the protected HResult property of the Exception class."
3286         I added that method too, setting the HResult property from 
3287         the Int32 argument.
3288
3289 2007-01-10  Atsushi Enomoto  <atsushi@ximian.com>
3290
3291         * String.cs, StringComparer.cs : avoid extra string creation in
3292           StringComparer.OrdinalIgnoreCase.
3293
3294 2007-01-05  Sebastien Pouliot  <sebastien@ximian.com>
3295
3296         * DateTime.cs: Under 2.0 fix ParseExact to set DateTimeKind.Utc when
3297         DateTimeStyles.AdjustToUniversal is used.
3298
3299 2007-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3300
3301         * TermInfoDriver.cs: honor the backspace in ReadLine.
3302
3303 2006-12-30  Marek Safar  <marek.safar@gmail.com>
3304
3305         * String.cs: Character based method only.
3306         (IndexOf, LastIndexOf, Replace, IndexOfAny): Performance improvements.
3307         (Substring): Returns same instance when index is 0.
3308
3309 2006-12-30  Alp Toker  <alp@atoker.com>
3310
3311         * Decimal.cs:
3312         * Math.cs: Implement missing Decimal.Ceiling methods for 2.0.
3313         Closes #80384.
3314
3315 2006-12-22  Sebastien Pouliot  <sebastien@ximian.com> 
3316
3317         * DateTime.cs: Implement missing [To|From]Binary methods for 2.0.
3318         * OperatingSystem.cs: Implement missing ServicePack and VersionString
3319         properties (2.0).
3320         * Version.cs: Add missing Major|MinorRevision properties for 2.0.
3321
3322 2006-12-14  Raja R Harinath  <rharinath@novell.com>
3323
3324         * Type.cs (MakeGenericType): Can only be called on a generic type
3325         definition.
3326
3327 2006-12-03  Miguel de Icaza  <miguel@novell.com>
3328
3329         * DateTime.cs: Fix this on the 2.0 profile, return the
3330         DateTimeKind for the Now property
3331
3332 2006-12-01  Duncan Mak  <duncan@a-chinaman.com>
3333
3334         * ArgumentOutOfRangeException.cs (.ctor): 
3335         * NotFiniteNumberException.cs (.ctor): Add the 2.0 constructor
3336         that takes a string and an inner Exception.
3337
3338 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
3339
3340         * DateTime.cs :
3341           When comparing enumerations, two or more enumeration values might
3342           match. Thus basically we should do complete matching, but right
3343           now just do reverse order search since only numbered abbrev month
3344           names matter (and full iteration is a mess). Fixed bug #80094.
3345
3346 2006-12-01  Atsushi Enomoto  <atsushi@ximian.com>
3347
3348         * DateTime.cs :
3349           use new internal clone-less DateTimeFormatInfo members.
3350
3351 2006-11-29  Martin Baulig  <martin@ximian.com>
3352
3353         * INullableValue.cs: Removed.
3354
3355 2006-11-28  Duncan Mak  <duncan@novell.com>
3356
3357         * ArgumentNullException.cs (.ctor): Added new constructor that's
3358         new in .NET 2.0.
3359
3360         * InsufficientMemoryException.cs: Added missing 2.0 exception.
3361         
3362 2006-11-27  Jonathan Chambers  <joncham@gmail.com>
3363
3364         * __ComObject.cs: Removed IDispatchMono.
3365         
3366 2006-11-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3367
3368         * TermInfoDriver.cs:
3369         * Console.cs: lazy initialization of Console 2.0 (also when
3370         CancelKeyPress is used).
3371
3372 2006-11-27  Miguel de Icaza  <miguel@novell.com>
3373
3374         * Exception.cs (GetType): New method in 2.x, Another Moma catch. 
3375
3376 Mon Nov 27 19:34:16 CET 2006 Paolo Molaro <lupus@ximian.com>
3377
3378         * GC.cs: implemented the needed methods with icalls.
3379
3380 2006-11-26  Miguel de Icaza  <miguel@novell.com>
3381
3382         * Math.cs: Add Floor(Decimal d), for CreativeDocs.NET.
3383
3384         Go Moma!  http://www.mono-project.com/Moma
3385
3386         * Decimal.cs: Refactor code to implement TryParse.
3387
3388         Also, avoid initializing messages on every call to stripStyles
3389
3390 2006-11-22  Miguel de Icaza  <miguel@novell.com>
3391
3392         * DateTime.cs: A small performance hit, we store the actual time
3393         span in a boxed object.   This way, it can be updated from other
3394         threads if necessary.   We always unbox to get the value before
3395         any potential updates. 
3396
3397         Thanks to Gonzalo for catching this.
3398
3399 2006-11-21  Miguel de Icaza  <miguel@novell.com>
3400
3401         * TimeZone.cs (CurrentSystemTimeZone): Cache the current year
3402         daylight savings time in static variables.
3403
3404         (CurrentSystemTimeZone.OnDeserialization): Initialize
3405         this_year_dlt and this_year on this method.
3406
3407         (TimeZone): init statically the currentTimeZone instead of
3408         delaying that to the static property, avoiding a compare. 
3409
3410 2006-11-22  Lluis Sanchez Gual  <lluis@novell.com>
3411
3412         * Array.cs: (compare<T>) if a comparer is provided, it has
3413           priority over other comparison methods.
3414
3415 2006-11-14  Miguel de Icaza  <miguel@novell.com>
3416
3417         * Array.cs: TODOs will from now on be used to flag information
3418         that will be developer-visible, not to flag internal information
3419         that none of us reads or bothers about.
3420
3421         For those, use "FIXME" strings in the source code instead. 
3422
3423         * AppDomain.cs: Update to be more useful.
3424
3425 2006-11-13  Atsushi Enomoto  <atsushi@ximian.com>
3426
3427         * String.cs : fixed incorrect startIndex/length count in
3428           IndexOf(string,StringComparison).
3429
3430 2006-11-07  Marek Safar  <marek.safar@gmail.com>
3431
3432         * String.cs (LastIndexOf): If value is Empty, the return value is
3433         the start index position in value.
3434
3435 2006-10-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3436
3437         * TermInfoDriver.cs: prevent an invalid cast.
3438
3439 2006-10-26  Marek Safar  <marek.safar@seznam.cz>
3440
3441         * String.cs (Concat): Add fast-path for empty strings.
3442
3443 2006-10-20  Jonathan Chambers  <joncham@gmail.com>
3444
3445         * Variant.cs: Add support for bool and interfaces.
3446         
3447 2006-10-18  Kornél Pál  <kornelpal@gmail.com>
3448
3449         * Type.cs: Removed is_subtype_of because IsSubclassOf should be used
3450           that is public and virtual. IsClass: Checking for ValueType is
3451           unnecessary. IsEnum: UnderlyingSystemType is not used anymore so
3452           no EnumBuilder hack is necessary. Checking for Enum is
3453           unnecessary. IsSerializable: Walk BaseType for user defined types.
3454           IsSubclassOf: Walk BaseType for user defined types.
3455
3456         * MonoType.cs: IsValueTypeImpl is unnecessary. IsSubclassOf: Unlike
3457           Type system types throw ArgumentNullException on null Type
3458           argument.
3459
3460 2006-10-14  Gert Driesen  <drieseng@users.sourceforge.net>
3461
3462         * BadImageFormatException.cs: Changed message for default ctor to
3463         match MS. Use internal message field of Exception to check whether
3464         Message is null. Match MS default messages when no message is 
3465         set. Fixed ToString to match MS.
3466
3467 2006-10-09  Miguel de Icaza  <miguel@novell.com>
3468
3469         * Environment.cs: Handle SpecialFolder.MyMusic
3470
3471 2006-10-07 Gert Driesen <drieseng@users.sourceforge.net>
3472
3473         * Enum.cs: Use different exception message depending on whether the
3474         type of the passed in value is an Enum or not. Avoid looking up the
3475         enum's underlying type twice in case of "D" or "d" format specifier.
3476
3477 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3478
3479         * TermInfoDriver.cs: don't allow backspace if we're at the beginning
3480         position for a ReadLine.
3481
3482 2006-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3483
3484         * TermInfoDriver.cs: ironpython autocompletion works now.
3485
3486 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3487
3488         * Console.cs: avoid casting on windows.
3489
3490 2006-09-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3491
3492         * ConsoleDriver.cs:
3493         * TermInfoDriver.cs:
3494         * IConsoleDriver.cs:
3495         * CStreamWriter.cs:
3496         * ConsoleKeyInfo.cs:
3497         * NullConsoleDriver.cs:
3498         * Console.cs:
3499         * CStreamReader.cs:
3500         * WindowsConsoleDriver.cs: initial changes to handle cursor position
3501         and screen buffers.
3502
3503 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
3504
3505         * ArithmeticException.cs: Modified default message to match MS, to
3506         ensure a local regression test passes on both Mono and .NET.
3507
3508 2006-09-21  Gert Driesen  <drieseng@users.sourceforge.net>
3509
3510         * Exception.cs: Marked message internal to allow derived classes to
3511         access the raw message (without changing the public API).
3512
3513 2006-09-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3514
3515         * ConsoleDriver.cs:
3516         * TermInfoDriver.cs:
3517         * IConsoleDriver.cs:
3518         * Console.cs:
3519         * WindowsConsoleDriver.cs: don't switch to the alternate window.
3520         Trigger the cancel event. Retrieve the cursor position at the
3521         beginning, as we're going to keep track of it instead of querying it
3522         all the time.
3523
3524 2006-09-14  Jonathan Chambers  <joncham@gmail.com>
3525
3526         * Environment.cs (ProcessorCount): Implement as icall.
3527         Patch by Jason McFall.
3528
3529 2006-09-05  Raja R Harinath  <rharinath@novell.com>
3530
3531         * DateTime.cs (Today) [NET_2_0]: Set kind to Local.
3532
3533 2006-09-02  Zoltan Varga  <vargaz@gmail.com>
3534
3535         * Enum.cs (Equals): Use the generic Equals implementation from ValueType which
3536         is faster and avoids allocations.
3537
3538 2006-09-01  Martin Baulig  <martin@ximian.com>
3539
3540         * Array.cs (Array.InternalArray): Removed the helper class;
3541         instead we use private generic methods in System.Array which are
3542         inserted into the vtable at runtime.
3543
3544 2006-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3545
3546         * ConsoleCancelEventArgs.cs: fix my build.
3547
3548 2006-08-22  Miguel de Icaza  <miguel@novell.com>
3549
3550         * MulticastDelegate.cs: Make DynamicInvokeImpl internal in 2.0 
3551
3552         * Converter.cs: update signature to final.
3553
3554         * ModuleHandle.cs: Removed the [Obsolete] flags as they removed
3555         those in the final 2.0
3556
3557         * DateTime.cs: Fixed the signature. 
3558
3559         * Convert.cs: Removed API calls that were deprecated in final 2.0
3560
3561         * Enum.cs: Updated to use the obsoletes flagged in 2.0.
3562
3563         * ConsoleCancelEventArgs.cs: Updated to 2.0
3564
3565 2006-08-19  Miguel de Icaza  <miguel@novell.com>
3566
3567         * Attribute.cs: This needs to do a deep compare, not a shallow
3568         one.   Ran into this bug with the VBNC compiler that compares two
3569         separate attributes for equality using this.
3570
3571         * String.cs (StartsWith): Fix the overloaded constructor that
3572         takes a CultureInfo, if that is null, it means to use the current
3573         culture. 
3574
3575         * TermInfoDriver.cs: Do not throw exceptions on the driver for
3576         SetWindowSize and SetWindowPosition, they can be treated as nops.
3577
3578 2006-08-18  Zoltan Varga  <vargaz@gmail.com>
3579
3580         * *.cs: Use String.Empty instead of "" in a lot of places.
3581
3582 2006-08-17  Sebastien Pouliot  <sebastien@ximian.com>
3583
3584         * DateTime.cs: Remove last patch to DateTime as the fix wasn't correct
3585         and made most x.509 unit tests fails. However the original problem is 
3586         back (only on 2.0).
3587
3588 2006-08-14  Raja R Harinath  <rharinath@novell.com>
3589
3590         Fix #78943
3591         * Activator.cs (CreateInstance): Throw ArgumentException on open
3592         generic types.
3593
3594 2006-08-14  Miguel de Icaza  <miguel@novell.com>
3595
3596         * MonoType.cs: Do the argument testinf for SetField later,
3597         otherwise the implicit (and not documented, but already considered
3598         side effect of checking SetProperty) did not work.
3599
3600         Bug fix #79023
3601
3602 2006-08-13  Atsushi Enomoto  <atsushi@ximian.com>
3603
3604         * String.cs : Normalize() and IsNormalized() implementation.
3605
3606 2006-08-10  Jonathan Chambers  <joncham@gmail.com>
3607
3608         * __ComObject.cs: Added defintion of IDispatch interface, and
3609         property. Get CLSID of supertype for creation if class not
3610         ComImport attributed (allows for inheritance of RCW).
3611         * MonoType.cs: Implement IsCOMObjectImpl.
3612
3613 2006-08-09  Atsushi Enomoto  <atsushi@ximian.com>
3614
3615         * DateTime.cs : fixed X509Certificate() case that regressed only
3616           under NET_2_0.
3617
3618 2006-08-07  Kornél Pál  <kornelpal@gmail.com>
3619
3620         * Console.cs: Use correct code pages on Windows and initialize
3621           InputEncoding and OutputEncoding to the actual encodings used.
3622
3623 2006-08-05  Duncan Mak  <duncan@novell.com>
3624
3625         * Char.cs (TryParse): Implemented missing 2.0 method, which fixed
3626         bug #79007.
3627
3628 2006-07-28  Jonathan Chambers  <joncham@gmail.com>
3629
3630         * __ComObject.cs: Added support for marshalling objects.
3631         
3632 2006-07-24  Atsushi Enomoto  <atsushi@ximian.com>
3633
3634         * Char.cs : implemented utf32 conversion methods thus fixed bug #78856.
3635
3636 2006-07-19  John Luke  <john.luke@gmail.com>
3637
3638         * TermInfoDriver.cs: switch order of alt and control when
3639         calling new ConsoleKeyInfo()
3640
3641 2006-07-19  Kornél Pál  <kornelpal@gmail.com>
3642
3643         * String.cs: Improve CreateString () performance when length is zero.
3644
3645 2006-07-18  Kornél Pál  <kornelpal@gmail.com>
3646
3647         * String.cs: Added CreateString () methods. Constructors with matching
3648           argument list are redirected to these methods that improves
3649           performance as well as fixes bug #78703.
3650
3651 2006-07-15  Jonathan Chambers  <joncham@gmail.com>
3652
3653         * __ComObject.cs: Begin implementing COM Interop.
3654         * Environment.cs: Increment corlib version.
3655         
3656 2006-07-12  Zoltan Varga  <vargaz@gmail.com>
3657
3658         * Delegate.cs (DynamicInvokeImpl): Add support for bound delegates in Net 2.0.
3659
3660 2006-07-11  Zoltan Varga  <vargaz@gmail.com>
3661
3662         * Double.cs (Parse): Fix handling of inner whitespace.
3663
3664 2006-07-09  Zoltan Varga  <vargaz@gmail.com>
3665
3666         * Int32.cs: Fix a warning.
3667
3668 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
3669
3670         * TimeZone.cs : consider DateTimeKind in ToLocalTime() and 
3671           ToUniversalTime(). Fixed bug #78784. Patch by Thong Nguyen.
3672         * DateTime.cs : DateTimeKind for UtcNow should be Utc.
3673
3674 2006-06-28  Kornél Pál  <kornelpal@gmail.com>
3675
3676         * Char.cs: Implemented IsHighSurrogate and IsLowSurrogate methods.
3677
3678 2006-06-27  Atsushi Enomoto  <atsushi@ximian.com>
3679
3680         * Double.cs : don't throw Exception in TryParse() for 'E'.
3681           Fixed bug #78546.
3682
3683 2006-06-20  Jb Evain  <jbevain@gmail.com>
3684
3685         * Math.cs: implement Math.Truncate.
3686
3687 2006-06-13  Atsushi Enomoto  <atsushi@ximian.com>
3688
3689         * DateTime.cs :
3690           Another lame win32 dependent pattern. Fixed bug #78618.
3691
3692 2006-06-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
3693
3694         * Environment.cs: Implement Set/GetEnvironmentVariable for User/Machine.        
3695
3696 2006-06-07  Kornél Pál  <kornelpal@gmail.com>
3697
3698         * Environment.cs: Use Consts.FxFileVersion for Environment.Version
3699           as Consts.RuntimeVersion was removed.
3700
3701 2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
3702
3703         * Variant.cs: Added.
3704         * Environment.cs: Incremented corlib version since adding Variant.      
3705         
3706 2006-06-01  Raja R Harinath  <rharinath@novell.com>
3707
3708         * Nullable.cs (operator==, operator!=): Remove.
3709
3710 2006-05-31  Zoltan Varga  <vargaz@gmail.com>
3711
3712         * MonoDummy.cs: Removed as it is no longer needed.
3713
3714         * Environment.cs: Bump corlib version.
3715         
3716         * Environment.cs: Revert the last change.
3717         
3718         * Environment.cs: Bump corlib version.
3719
3720         * MonoAsyncCall.cs: New file.
3721
3722 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
3723
3724         * Char.cs: Removed duplicate (explicit) interface implementation.
3725         * String.cs: Removed duplicate (explicit) interface implemenation.
3726         * MulticastDelegate.cs: Fixed API mismatches.
3727
3728 2006-05-29 Paolo Molaro <lupus@ximian.com>
3729
3730         * String.cs: make sure that the chars truncated by a stringbuilder
3731         are zeroed.
3732
3733 2006-05-29  Martin Baulig  <martin@ximian.com>
3734
3735         * Exception.cs
3736         (Exception.StackTrace): Use the new stack trace format which is
3737         very similar to the one of MS.NET - method name goes first,
3738         file / line number last and in the method name, we separate class
3739         and method name by `.'.
3740
3741         * Environment.cs
3742         (Environment.StackTrace): Enable line-number information.
3743
3744 2006-05-24  Atsushi Enomoto  <atsushi@ximian.com>
3745
3746         * DateTime.cs :
3747           Implement 2.0 TryParseExact(). Patch by Seo Sanghyeon.
3748
3749 2006-05-17  Kazuki Oikawa  <kazuki@panicode.com>
3750
3751         * Array.cs : added internal sort method used
3752           in System.Collections.Generics.List<T>.Sort(Comparison<T>).
3753
3754 2006-05-15  Zoltan Varga  <vargaz@gmail.com>
3755
3756         * Environment.cs: Bump corlib version.
3757
3758 2006-05-10  Zoltan Varga  <vargaz@gmail.com>
3759
3760         * MonoType.cs (GetMethodImpl): Fix a warning.
3761
3762 2006-05-08  Atsushi Enomoto  <atsushi@ximian.com>
3763
3764         * ArrayTest.cs : use proper comparer in IndexOf() and LastIndexOf().
3765           Patch by Kazuki Oikawa. Fixed bug #77277.
3766
3767 2006-05-07  Zoltan Varga  <vargaz@gmail.com>
3768
3769         * Nullable.cs (Equals): Fix comparison to null. Fixes #78322.
3770
3771 2006-04-28  Atsushi Enomoto  <atsushi@ximian.com>
3772
3773         * Nullable.cs : updated Nullable<T> API to 2.0 RTM.
3774
3775 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3776
3777         * Double.cs : (Parse) handle currency symbol when
3778           AllowCurrencySymbol is passed as part of the style. Patch by
3779           nede@aliquant.com, modified to eliminate redundant Substring().
3780           This fixes bug #77721.
3781
3782 2006-04-26  Atsushi Enomoto  <atsushi@ximian.com>
3783
3784         * MonoType.cs : (GetMethod) when zero-length type[] is explicitly
3785           passed, don't return methods with some arguments. Fixed bug #77367.
3786
3787 2006-04-21  Gert Driesen  <drieseng@users.souceforge.net>
3788
3789         * Enum.cs: Provide meaningful message when type of passed in value
3790         does not match enum type.
3791
3792 2006-04-19  Raja R Harinath  <rharinath@novell.com>
3793
3794         * Char.cs (Equals): Don't access 'm_value' field of other
3795         instances.  Cast directly to 'char'.
3796
3797 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3798
3799         * DateTime.cs : implement SpecifyKind(). Patch by Thong Nguyen.
3800
3801 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3802
3803         * NumberFormatter.cs : general performance improvements. Avoid 
3804           extraneous evaluation for simple formatting. Details are seen in 
3805           bug #77792. Patch by Kazuki Oikawa.
3806
3807 2006-04-13  Atsushi Enomoto  <atsushi@ximian.com>
3808
3809         * DateTime.cs : implement IsDaylightSavingTime().
3810           Patch by Seo Sanghyeon <tinuviel@sparcs.kaist.ac.kr>.
3811
3812 2006-04-04  Atsushi Enomoto  <atsushi@ximian.com>
3813
3814         * Array.cs :
3815           added some more [ReliabilityContract].
3816           removed some [CLSCompliant].
3817           renamed generic method parameter names.
3818
3819 2006-03-31  Zoltan Varga  <vargaz@gmail.com>
3820
3821         * Environment.cs (SetEnvironmentVariable): Implement.
3822
3823 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3824
3825         * Array.cs : oops, the last change caused regression. The array must
3826           be transparent to ReadOnlyCollection, not create another list.
3827
3828 2006-03-28  Atsushi Enomoto  <atsushi@ximian.com>
3829
3830         * Array.cs : AsReadOnly<T>() in RTM returns ReadOnlyCollection<T>.
3831           Thus removed ReadOnlyArray<T> and ReadOnlyArrayEnumerator<T>.
3832           In 2.0 some members became non-virtual.
3833
3834 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3835
3836         * String.cs : oops, NET_2_0.
3837
3838 2006-03-23  Atsushi Enomoto  <atsushi@ximian.com>
3839
3840         * String.cs : added new IndexOf() and LastIndexOf() overloads, and
3841           IEnumerable<char>.GetEnumerator().
3842
3843 2006-03-21  Kornél Pál  <kornelpal@gmail.com>
3844
3845         * String.cs: Make memcpy4 private as it is a helper method.
3846           Make memcpy internal to can be used from UnicodeEncoding.
3847
3848 2006-03-19  Marek Safar  <marek.safar@seznam.cz>
3849
3850         * Nullable.cs (Compare, Equals): Added constrain as gmcs now correctly
3851         reports an error here.
3852
3853 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
3854
3855         * Double.cs : (Parse) reject String.Empty.
3856
3857 Wed Mar 15 16:30:51 CET 2006 Paolo Molaro <lupus@ximian.com>
3858
3859         * LocalDataStoreSlot.cs: implement as index in an array.
3860         Implemented finalizer and allow it to remove the data stored
3861         in the slot.
3862
3863 2006-03-15  Zoltan Varga  <vargaz@gmail.com>
3864
3865         * Environment.cs: Bump corlib version.
3866
3867 2006-03-10  Zoltan Varga  <vargaz@gmail.com>
3868
3869         * MonoCustomAttrs.cs (IsDefined): Avoid a runtime assert if a type
3870         overwrites GetCustomAttributes () but not IsDefined ().
3871
3872 2006-03-07  Peter Dennis Bartok  <pbartok@novell.com>
3873
3874         * Environment.cs: Bumped corlib version to 48 (due to r57532)
3875
3876 2006-03-07  Martin Baulig  <martin@ximian.com>
3877
3878         * String.cs (String.FormatHelper): Try getting an `ICustomFormatter'
3879         from the `provider' if possible.
3880
3881 2006-02-26  Gert Driesen  <drieseng@users.souceforge.net>
3882
3883         * DecimalFormatter.cs: Removed obsolete class, as it has been replaced
3884         by NumberFormatter.
3885         * DoubleFormatter.cs: Same.
3886         * SingleFormatter.cs: Same.
3887
3888 2006-02-21  Marek Safar  <marek.safar@seznam.cz>
3889
3890         * String.cs (Equals): Optimized for speed.
3891
3892 2006-02-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3893
3894         * TermInfoDriver.cs: patch by Mike Hull that fixes bug #77518.
3895
3896 Mon Feb 20 11:19:54 CET 2006 Paolo Molaro <lupus@ximian.com>
3897
3898         * MonoType.cs: patch from Joachim Ante <joe@otee.dk> to
3899         improve error messages.
3900
3901 2006-02-15  Martin Baulig  <martin@ximian.com>
3902
3903         * Type.cs (Type.IsGenericInstance): Removed.
3904
3905 2006-02-14  Ankit Jain  <jankit@novell.com>
3906             Raja R Harinath  <rharinath@novell.com>
3907  
3908         * ArraySegment.cs (.ctor): Fix bounds check. Rename param 'length' to
3909         'count'.
3910
3911 2006-02-11  Zoltan Varga  <vargaz@gmail.com>
3912
3913         * TermInfoDriver.cs (CreateKeyInfoFromInt): Fix handling of tab and its
3914         friends.
3915         
3916         * TermInfoDriver.cs (GetWindowDimensions): Obtain the exact terminal
3917         size using an icall.
3918         (GetCursorPosition): Convert the row and column to 0 based indexing. 
3919         Also fix reading of large values.
3920         (CreateKeyInfoFromInt): Convert LF to ConsoleKey.Enter.
3921
3922         * ConsoleDriver.cs (GetTtySize): New icall.
3923
3924 2006-02-10  Zoltan Varga  <vargaz@gmail.com>
3925
3926         * Array.cs: Fix some methods which previously returned Nullable<T>.
3927
3928         * Nullable.cs: Add T: struct constraint and fix constructor.
3929
3930 Fri Feb 3 11:01:46 CET 2006 Paolo Molaro <lupus@ximian.com>
3931
3932         * String.cs: changed StartsWith/EndsWith to faster versions.
3933
3934 2006-02-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3935
3936         * String.cs: implement 2.0 StartsWith and EndsWith new overloads. Based
3937         on a patch by Thong Nguyen.
3938
3939 2006-01-31  Zoltan Varga  <vargaz@gmail.com>
3940
3941         * String.cs: Implement one of the new net 2.0 Split methods.
3942
3943 2006-01-31  Atsushi Enomoto  <atsushi@ximian.com>
3944
3945         * String.cs : (LastIndexOf) Fixed bug #77412. It should not expect
3946           that value length is bigger than its index.
3947
3948 2006-01-27  Zoltan Varga  <vargaz@gmail.com>
3949
3950         * DateTime.cs: Add some 2.0 methods and properties.
3951
3952 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3953
3954         * Console.cs: if InternalCodePage returns -1, use the default encoding.
3955         Also match the UTF8 one properly. Patch by wall_john@sohu.com.
3956
3957 2006-01-19  Atsushi Enomoto  <atsushi@ximian.com>
3958
3959         * ModuleHandle.cs : GetPEKind() is not public in 2.0 RTM.
3960
3961 2006-01-16  Alp Toker  <alp@atoker.com>
3962
3963         * TimeSpan.cs: Simple implementation of NET 2.0 TryParse() using
3964         try/catch
3965
3966 2006-01-05  Raja R Harinath  <rharinath@novell.com>
3967
3968         Fix regressions introduced by the fix to #71300.
3969         * Activator.cs (CreateInstance): Use Binder.SelectMethod instead
3970         of home-grown FindBestCtor.
3971         (FindBestCtor): Delete.
3972
3973 2006-01-03  Zoltan Varga  <vargaz@gmail.com>
3974
3975         * Nullable.cs: Update to Net 2.0 RTM.
3976         
3977         * Nullable.cs: Add comments about runtime dependencies on the layout of
3978         this type.
3979
3980 2006-01-02  Sebastien Pouliot  <sebastien@ximian.com>
3981
3982         * Activator.cs: Now find the best ctor when null are used for 
3983         paramaters. Fix bug #71300. Added checks for specific types (void,
3984         TypedReference, ArgIterator and RuntimeArgumentHandle).
3985         * Console.cs: Re-use Environment logic to detect Windows.
3986         * Type.cs: Re-applied r45150 as the real bug was in Activator.
3987
3988 2006-01-02  Zoltan Varga  <vargaz@gmail.com>
3989
3990         * Activator.cs: Add a 'params' to one of the CreateInstance overloads.
3991
3992         * RuntimeTypeHandle.cs RuntimeMethodHandle.cs RuntimeFieldHandle.cs:
3993         Add == and != operators.
3994
3995 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com>
3996
3997         * Environment.cs: Bump corlib version to 46.
3998         * TimeZone.cs: Partial fix for #76094. Added [Serializable] attribute 
3999         and renamed internal CurrentTimeZone class to CurrentSystemTimeZone 
4000         (like MS). This allows serialization roundtrip to work in Mono but 
4001         there's still an issue when deserializing a stream from MS. 
4002
4003 2005-12-23  Sebastien Pouliot  <sebastien@ximian.com> 
4004  
4005         * NumberFormatter.cs: Fixed rounding for float and the string output
4006         now includes all the precision (not counting preceding zeros). This
4007         fix the DecimalTest.TestConstructSingleRounding_NotWorking test cases.
4008
4009 2005-12-21  Sebastien Pouliot  <sebastien@ximian.com> 
4010  
4011         * Array.cs: Fixed Sort<T> with IComparable (generic or not) bug #77039
4012
4013 2005-12-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4014
4015         * Array.cs: Added the Sort<T> methods (generics). 
4016
4017 2005-12-19  Sebastien Pouliot  <sebastien@ximian.com> 
4018  
4019         * Array.cs: Fixed BinarySearch when the array is empty (#77030). Added
4020         some null check which throws ArgumentNullException under 2.0.
4021
4022 2005-12-15  Sebastien Pouliot  <sebastien@ximian.com>
4023
4024         * DateTime.cs: Added MonoTODO to ctor accepting a Calandar instance.
4025         * Double.cs: Under 2.0 throw a ArgumentException when parsing with
4026          NumberStyles.AllowHexSpecifier. Partial fix for #72221. Added the
4027         second, simpler, TryParse method (2.0).
4028         * Single.cs: Added the TryParse methods for 2.0.
4029
4030 2005-12-15  Raja R Harinath  <rharinath@novell.com>
4031
4032         * Type.cs (IsGenericType): Make virtual.
4033
4034 2005-12-08  Sebastien Pouliot  <sebastien@ximian.com> 
4035
4036         * AppDomainSetup.cs: ApplicationBase throw exception on get (not on 
4037         set). New behaviour is more like MS - but most issues (unit tests)
4038         were really path issues. Fix bug #71291.
4039         * DateTime.cs: Add more information when throwing an exception in 
4040         ctor(long). Useful for debugging.
4041
4042 2005-12-07  Zoltan Varga  <vargaz@gmail.com>
4043
4044         * Single.cs Double.cs: Fix warnings.
4045
4046 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com> 
4047  
4048         * Convert.cs: ToBase64String method didn't use the option parameter so
4049         we always included new lines. Fix bug #76876.
4050
4051 2005-12-06  Sebastien Pouliot  <sebastien@ximian.com>
4052
4053         * AppDomainSetup.cs: Added missing ComVisible and removed LAMESPEC 
4054         (the docs were fixed).
4055         * NumberFormatter.cs: Fixed the "NotWorking" case where 1.15 was 
4056         misrounded compared to MS implementation. Extra care is required when
4057         dealing with the extra 2 digits information (e.g. double precision is
4058         15 digits but 17 are kept - for a reason ;-)
4059
4060 2005-12-05  Ben Maurer  <bmaurer@ximian.com>
4061
4062         * Environment.cs: Bump version
4063
4064         * Nullable.cs: New Box and Unbox methods for the jit
4065
4066 2004-12-05  Peter Dennis Bartok <pbartok@novell.com>
4067
4068         * Enum.cs: Properly handle "No bits set" case even if the sorted numbers
4069           list does not have enum value 0 as the first item. Fixes #76921
4070
4071 2005-12-05  Sebastien Pouliot  <sebastien@ximian.com>
4072
4073         * AppDomain.cs: CreateComInstanceFrom isn't static in any profile.
4074
4075 Mon Dec 5 15:14:59 CET 2005 Paolo Molaro <lupus@ximian.com>
4076
4077         * Double.cs: remove unused icall.
4078         * BitConverter.cs: handle double binary format on ARM FPA.
4079
4080 2005-12-02  Alp Toker  <alp@atoker.com>
4081
4082         * MonoType.cs:
4083         * Type.cs: DeclaringMethod should return MethodBase, not MethodInfo
4084
4085 2005-12-02  Alp Toker  <alp@atoker.com>
4086
4087         * AppDomain.cs: ReflectionOnlyPreBindAssemblyResolve renamed to
4088         ReflectionOnlyAssemblyResolve in 2.0 final
4089
4090 2005-12-01  Alp Toker  <alp@atoker.com>
4091
4092         * String.cs: Add static and non-static Equals(... StringComparison) for
4093         2.0.
4094
4095 2005-12-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4096
4097         * TermInfoDriver.cs: special case for the escape key. Fixes bug #76781.
4098
4099 2005-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4100
4101         * TermInfoDriver.cs: if the cursor_address capability contains a %i, we
4102         have to add 1 to x and y when setting the cursor position.
4103         Fixes bug #76856.
4104
4105         * Convert.cs: remove unused variables.
4106
4107 Wed Nov 30 12:14:20 EST 2005 Paolo Molaro <lupus@ximian.com>
4108
4109         * NumberFormatter.cs: work around arch-specific ulong cast behaviour
4110         with large numbers.
4111
4112 Tue Nov 29 05:38:37 EST 2005 Paolo Molaro <lupus@ximian.com>
4113
4114         * Convert.cs: fix endianess issue when converting to base-8
4115         format. All the base code would need a rewrite for efficience.
4116
4117 2005-11-25  Sebastien Pouliot  <sebastien@ximian.com>
4118
4119         * String.cs: Added support for Compare(... StringComparison) in 2.0.
4120
4121 2005-11-25  Alp Toker  <alp@atoker.com>
4122
4123         * Type.cs (IsVisible): New 2.0 property, implemented recursively.
4124
4125 2005-11-17  Dick Porter  <dick@ximian.com>
4126
4127         * Environment.cs: Incremented corlib version
4128
4129 2005-11-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4130
4131         * Int32.cs, UInt32.cs, Int16.cs, UInt16.cs, Int64.cs,
4132         UInt64.cs, Byte.cs, SByte.cs, Double.cs : Modify internal Parse
4133         methods to return the exception as an out parameter,
4134         instead of throwing it. This will be of special help
4135         to TryParse methods.
4136         * Environment.cs: Update corlib version to 42.
4137         
4138 2005-11-14  Raja R Harinath  <rharinath@novell.com>
4139
4140         * EventHandler.cs (EventHandler<TEventArgs>): Rename from EventHandler<T>.
4141
4142 2005-11-11  Zoltan Varga  <vargaz@gmail.com>
4143
4144         * Type.cs (GetPseudoCustomAttributes): Return ComImportAttribute as well.
4145
4146 2005-11-11  Lluis Sanchez Gual  <lluis@novell.com>
4147
4148         * TimeZone.cs: Removed incorrect double-check lock and unneeded
4149         hashtable access.
4150
4151 2005-11-11  Marek Safar  <marek.safar@seznam.cz>
4152
4153         * Type.cs: IsNested implemented, signature fixes.
4154
4155 2005-11-11  Raja R Harinath  <rharinath@novell.com>
4156
4157         * Array.cs (Resize<T>) [2-argument variant]: Fix nullref.
4158
4159 2005-11-10  Zoltan Varga  <vargaz@gmail.com>
4160
4161         * Array.cs (Resize<T>): New internal method which takes a 'length' argument
4162         as well to avoid copying the whole array.
4163
4164 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
4165
4166         * Int64.cs : ditto for long.
4167
4168 2005-11-09  Atsushi Enomoto  <atsushi@ximian.com>
4169
4170         * Int32.cs : Parse("2147483648", format_provider) should be rejected.
4171
4172 2005-11-09  Sebastien Pouliot  <sebastien@ximian.com>
4173
4174         * AttributeTargets.cs: Added [ComVisible (true)] and [Serializable] 
4175         in 2.0 profile.
4176         * Base64FormattingOptions.cs: Added missing [Flags] attribute.
4177         * ConsoleKey.cs: Removed old BackSpace and WhiteSpace (they were 
4178         already replaced by Backspace and Whitespace)
4179         * DateTime.cs: Moved DayOfWeek enum to it's own file.
4180         * DateTimeKind.cs: New (2.0) enum.
4181         * DayOfWeek.cs: New file (extracted from DateTime.cs).
4182         * DomainManagerInitializationFlags.cs: Removed extra [Serializable].
4183         * EnvironmentVariableTarget.cs: Added [ComVisible (true)] and fixed 
4184         values (-1 to all of them).
4185         *  Exception.cs: Added a LinkDemand for SerializationFormatter on
4186         GetObjectData method.
4187         *  LoaderOptimization.cs: Added [ComVisible (true)] and [Serializable] 
4188         on enum and added [Obsolete] to DomainMask and DisallowBindings in 2.0
4189         profile.
4190         * PlatformID.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
4191         profile.
4192         * StringComparison.cs: New (2.0) enum (needed for Uri).
4193         * TermInfoDriver.cs: Fixed BackSpace -> Backspace (see ConsoleKey.cs).
4194         * TypeCode.cs: Added [ComVisible (true)] and [Serializable] in 2.0 
4195         profile.
4196
4197 2005-11-08  Atsushi Enomoto  <atsushi@ximian.com>
4198
4199         * Type.cs : I forgot to mention, some '(' were missing in the
4200           improved patch ;-)
4201
4202 2005-11-08  Zoltan Varga  <vargaz@freemail.hu>
4203
4204         * Type.cs (GetPseudoCustomAttributes): Check for TypeAttributes.Serializable instead of
4205         IsSerializable property, since the latter returns true for delegates/enums.
4206
4207 2005-11-05  Kornél Pál  <kornelpal@hotmail.com>
4208
4209         * Environment.cs: Use Consts.RuntimeVersion as Environment.Version that
4210           makes maintenance easier.
4211
4212 2005-10-24  Martin Baulig  <martin@ximian.com>
4213
4214         * Type.cs (Type.IsGenericTypeDefinition): Make this virtual.
4215
4216 2005-10-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4217
4218         * String.cs: fix bound checkings for LastIndexOfAny. Closes bug #76519.
4219
4220 2005-10-20  Raja R Harinath  <rharinath@novell.com>
4221
4222         * Array.cs (Swapper): Remove NET_2_0 guards from nested declaration.
4223
4224 2005-10-16  Michal Moskal  <malekith@nemerle.org>
4225
4226        * TermInfoDriver.cs: Call Init () in Background/ForegroundColor.
4227
4228 2005-10-14  Atsushi Enomoto  <atsushi@ximian.com>
4229
4230         * DateTime.cs : another crappy Windows dependent format.
4231
4232 2005-10-14  Ben Maurer  <bmaurer@ximian.com>
4233
4234         * DateTime.cs: Speed up when parsing date time objects by not
4235         duplicating cultureinfo arrays.
4236
4237 2005-10-13  Zoltan Varga  <vargaz@gmail.com>
4238
4239         * Type.cs (GetTypeCode): Applied patch from 
4240         Mike Welham <mwelham@gmail.com>. Return TypeCode.Empty when null is
4241         passed in.
4242
4243 2005-10-07  Zoltan Varga  <vargaz@gmail.com>
4244
4245         * Delegate.cs: Add support for delegate covariance and contravariance
4246         from net 2.0.
4247
4248 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
4249
4250         * StringComparer.cs : (OrdinalIgnoreCaseComparer.Equals()) reverse.
4251
4252 2005-09-26  Zoltan Varga  <vargaz@gmail.com>
4253
4254         * String.cs (ParseFormatSpecifier): Fix skipping of whitespace. Fixes
4255         #76204.
4256
4257 2005-09-23  Miguel de Icaza  <miguel@novell.com>
4258
4259         * Decimal.cs: Fix typo, patch from Tomas Kukol <tomas.kukol@gmail.com>
4260
4261 2005-09-19  Zoltan Varga  <vargaz@gmail.com>
4262
4263         * MonoCustomAttrs.cs (GetCustomAttributesInternal): Add
4264         attributeType parameter.
4265         (IsDefined): New icall.
4266
4267         * MonoCustomAttrs.cs: Avoid instantiating all custom attrs of an
4268         object when only a specific attribute type is requested. Fixes #76062.
4269
4270         * Environment.cs: Bump corlib version.
4271
4272 2005-09-09  Zoltan Varga  <vargaz@gmail.com>
4273
4274         * TypeLoadException.cs MissingMethodException.cs MissingFieldException.cs: Add new ctors called by the runtime. Improve Message property.
4275
4276 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
4277
4278         * DateTime.cs : (_DoParse) don't check ticks range before computing
4279           the actual value. Fixed bug #76082.
4280
4281 2005-09-14  Atsushi Enomoto  <atsushi@ximian.com>
4282
4283         * TimeZone.cs : When the target DateTime is in the range of
4284           DST end to DST + delta, don't adjust UtcOffset gap between that of
4285           DST and that of STD. This should fix bug #75985.
4286
4287 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4288
4289         * TimeZone.cs, DateTime.cs :
4290           - ToLocalTime() and ToUniversalTime() are moved to TimeZone.
4291           - Added more COM patterns. Patch by Ankit Jain. Fixed bug #72132.
4292           - use ToLocalTime() and don't depend on the own offset computation.
4293             Parse() with 'Z' pattern is closer to correct value on switching
4294             Daylight Saving Time. See bug #75985.
4295
4296 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4297
4298         * DateTime.cs : (DoParse) DateTimeStyles.AdjustToUniversal was not
4299           handled as expected and it kept time value as local one.
4300           Patch by Brion Vibber. Fixed bug #75995.
4301
4302 2005-09-06  Atsushi Enomoto  <atsushi@ximian.com>
4303
4304         * DateTime.cs : Literal escape (\) was not checking format as
4305           expected. Fixed bug #75213.
4306
4307 2005-09-05  Miguel de Icaza  <miguel@novell.com>
4308
4309         * MonoType.cs: Patch from Jonathan Chambers to implement
4310         Type.GUID. 
4311
4312 2005-09-05  Martin Baulig  <martin@ximian.com>
4313
4314         Reflect latest API changes in the August CTP.
4315
4316         * Type.cs (Type.HasGenericArguments): Removed.
4317         (Type.BindGenericParameters): Renamed to MakeGenericType().
4318
4319 2005-09-01  Atsushi Enomoto  <atsushi@ximian.com>
4320
4321         * DateTime.cs : another idiotic COM dependent format.
4322
4323 2005-09-01  Kornél Pál  <kornelpal@hotmail.com>
4324
4325         * __ComObject.cs: Fixed to be internal. Removed CLSCompliant attribute.
4326         Added some comments about the class.
4327
4328 2005-08-30  Sebastien Pouliot  <sebastien@ximian.com>
4329
4330         * AppDomain.cs: Use the more concise property syntax for declarative
4331         security.
4332         * AppDomainManager.cs: Default HostSecurityManager is null.
4333
4334 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
4335
4336         * NumberFormatter.cs : eliminate non-ASCII character.
4337
4338 2005-08-25  Marek Safar  <marek.safar@seznam.cz>
4339
4340         * Enum.cs: Better exception message.
4341         
4342 2005-08-21  Gert Driesen  <drieseng@users.sourceforge.net>
4343
4344         * Convert.cs: In FromBase64String, return empty byte array for zero
4345         length string. Pass bool to InternalFromBase64String to control 
4346         whether to allow a whitespace-only string.
4347         * Environment.cs: Bump corlib version.
4348
4349 2005-08-20  Zoltan Varga  <vargaz@freemail.hu>
4350
4351         * Environment.cs: Bump corlib version.
4352
4353 2005-08-19  Zoltan Varga  <vargaz@freemail.hu>
4354
4355         * Math.cs: Implement a new 2.0 Round method.
4356
4357 2005-08-19  Gert Driesen  <drieseng@users.sourceforge.net>
4358
4359         * Convert.cs: Throw OverflowException if result is larger than
4360         ushort.MaxValue to match MS.NET. Remove commented code.
4361
4362 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
4363
4364         * Convert.cs: For now, do not throw OverflowException if hex prefixed
4365         value is negative for signed types (other than int64). Need to look
4366         into this further.      
4367
4368 2005-08-17  Gert Driesen  <drieseng@users.sourceforge.net>
4369
4370         * Convert.cs: Numerous fixed in overloads taking base to match 
4371         behaviour of MS.NET. Throw ArgumentOutOfRangeException is string is
4372         empty. If base is 16, 8 or 2, then throw ArgumentException if first 
4373         character is a negative sign. Throw OverflowException if hex prefixed 
4374         value is negative for signed types (other than int64) to match MS.NET. 
4375
4376 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
4377
4378         * DateTime.cs : added another COM dependent pattern (rather to describe
4379           how it works on .NET than to add the pattern itself...).
4380
4381 2005-08-16  Atsushi Enomoto  <atsushi@ximian.com>
4382
4383         * DateTime.cs : added case for bug #53023.
4384
4385 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
4386
4387         * Type.cs: Add IsGenericType property from NET 2.0.
4388
4389 2005-08-10  Atsushi Enomoto  <atsushi@ximian.com>
4390
4391         * String.cs : added new StartsWith()/EndsWith() override, fixing
4392           existing EndsWith() which incorrectly assumed that both string
4393           lengths must be equivalent (they are not always equal).
4394         * StringComparer.cs : added Ordinal and OrdinalIgnoreCase.
4395
4396 2005-08-09  Zoltan Varga  <vargaz@freemail.hu>
4397
4398         * String.cs: Implement Split(String[]) methods.
4399
4400 2005-08-09  Miguel de Icaza  <miguel@novell.com>
4401
4402         * AppDomainSetup.cs: Full-pathization of the appBase should only
4403         be done on Windows, the ":" condition never applied to Linux.
4404
4405         * ConsoleKey.cs: Include a few aliases for a few values that were
4406         introduced recently.
4407
4408 2005-08-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4409
4410         * ConsoleKey.cs: added Backspace, which has the same value as BackSpace.
4411         Fixes bug #75697.
4412
4413 2005-08-08  Atsushi Enomoto  <atsushi@ximian.com>
4414
4415         * String.cs : (StartsWith) compared string lengths are not always the
4416           same in culture-sensitive comparison.
4417
4418 2005-08-05  Gert Driesen  <drieseng@users.sourceforge.net>
4419
4420         * Array.cs: Changed protected ctor to private. Fixes API compatibility
4421         with MS.NET.
4422         * RuntimeFieldHandle.cs: Equals methods and GetHashCode should only
4423         be exposed in 2.0 profile.
4424         * RuntimeMethodHandle.cs: Equals methods and GetHashCode should only
4425         be exposed in 2.0 profile.
4426         * RuntimeTypeHandle.cs: Equals methods and GetHashCode should only
4427         be exposed in 2.0 profile.
4428         * Type.cs: Added GetType method and implemented _Type interface.
4429         Fixes API compatibility with MS.NET.
4430
4431 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
4432
4433         * StringComparer.cs: Add generics version of string interfaces.
4434
4435 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
4436
4437         * StringComparer.cs : implemented StringCultureComparer.GetHashCode().
4438
4439 2005-07-26  Zoltan Varga  <vargaz@freemail.hu>
4440
4441         * StringSplitOptions.cs MidpointRounding.cs: New files.
4442
4443         * String.cs Math.cs: Add stubs for some new 2.0 APIs.
4444
4445 2005-07-26  Marek Safar  <marek.safar@seznam.cz>
4446
4447         * StringComparer.cs: New file.
4448
4449 2005-07-26  Raja R Harinath  <harinath@gmail.com>
4450
4451         * Enum.cs (GetValue): Make private.  Return an ulong.
4452         (Parse): Tighten scope of couple of variables.  Use ulong when
4453         twiddling bits.
4454
4455 2005-07-25  Raja R Harinath  <rharinath@novell.com>
4456
4457         * Enum.cs (FindName, GetValue): New.  Carved out of ...
4458         (Parse): ... this.  Refactor and simplify code.  Avoid incurring
4459         exceptions when parsing names.  Avoid allocating arrays unless
4460         necessary.  Avoid conversion of an enumeration constant to its own
4461         type.  (Incorporates ideas from a patch by Gonzalo Paniagua Javier.)
4462
4463 2005-07-13  Lluis Sanchez Gual  <lluis@novell.com>
4464
4465         * MarshalByRefObject.cs: GetLifetimeService() should be virtual.
4466         Fixes bug #75527.
4467
4468 2005-07-13  Miguel de Icaza  <miguel@novell.com>
4469
4470         * Array.cs: Patch from rodrigobamboo@gmail.com that fixes the
4471         signature for GetValue and SetValue to make the long [] argument
4472         be a params argument. 
4473
4474 2005-07-11  Pedro Martínez Juliá  <pedromj@gmail.com>
4475
4476         * Convert.cs: Fix the bug when Convert.ChangeType was using
4477         NumberFormatInfo instead of DateTimeFormatInfo when the type to
4478         change is a DateTime.
4479
4480 2005-07-11  Martin Baulig  <martin@ximian.com>
4481
4482         * Array.cs: Use Type.Equals() instead of `==' to compare type
4483         parameters.     
4484
4485 2005-07-10  Kamil Skalski <nazgul@nemerle.org>
4486
4487         * Type.cs: Mark BindGenericParameters as deprecated. Use
4488         MakeGenericType as default implementation with updated signature.
4489
4490 2005-07-09  Zoltan Varga  <vargaz@freemail.hu>
4491
4492         * Attribute.cs (IsDefined): Fix IsDefined for ParameterInfo's. Fixes
4493         #75514.
4494
4495 2005-07-05  Lluis Sanchez Gual  <lluis@novell.com>
4496
4497         * DelegateSerializationHolder.cs: When the deserialized target is
4498         a proxy, call IsInstanceOfType to force the proxy to load the
4499         real type of the remote object. This is needed to make sure that
4500         subsequent calls to GetType() return the expected type. This fixes
4501         bug #75447.
4502
4503 2005-07-03  Ben Maurer  <bmaurer@ximian.com>
4504
4505         * OperatingSystem.cs: patch from Aleksandar Dezelin to fix
4506         serialization.
4507
4508 2005-06-30  Sebastien Pouliot  <sebastien@ximian.com> 
4509
4510         * Guid.cs: Avoid code duplication between overriden methods (new in 
4511         2.0). Avoid exception processing when possible. Renamed parameters to
4512         match the framework. Added ComVisible to NET_2_0.
4513
4514 2005-06-28  Elliott Draper  <el@eldiablo.co.uk>
4515
4516         * Activator.cs: This implements the generic Activator.CreateInstance<T>()
4517         function for NET_2_0. It's full signature is:
4518                 public static T CreateInstance<T>();
4519
4520 2005-06-28  Lluis Sanchez Gual  <lluis@novell.com>
4521
4522         * Decimal.cs: Renamed internal fields for the sake of serialization
4523         interoperability with MS.NET.
4524         * Exception.cs: In the StackTrace property, return the stack trace
4525         if it has a value, even if the exception has not been thrown
4526         (it may have been deserialized).
4527
4528 2005-06-28  Martin Baulig  <martin@ximian.com>
4529
4530         * Array.cs (Array.InternalArray<T>): New nested class; derives
4531         from Array.  This is now used by the runtime for arrays; fixes #74953.
4532
4533 2005-06-27  Atsushi Enomoto  <atsushi@ximian.com>
4534
4535         * String.cs : added some extra whitespace characters for Trim().
4536           Fixed bug #75259.
4537
4538 2005-06-13  Michal Moskal <malekith@nemerle.org>
4539         
4540         * MonoType.cs: Don't use MethodHandle in GetMethod/GetConstructor,
4541         since it now throws on MethodBuilders. Don't use FieldHandle in
4542         GetField (throws on FieldBuilder) - just use the name.
4543
4544 2005-06-13  Martin Baulig  <martin@ximian.com>
4545
4546         * MonoType.cs
4547         (MonoType.getFullName): Added `bool assembly_qualified' argument.
4548         (MonoType.AssemblyQualifiedName): The interncall now adds the
4549         assembly name, so we don't need to do it here.
4550         (MonoType.FullName): Use the new getFullName() API.
4551
4552 2005-06-14  Sebastien Pouliot  <sebastien@ximian.com>
4553
4554         * Char.cs: ToLowerInvariant and ToUpperInvariant are now public in 
4555         NET_2_0. Added "new" white char and ComVisible for 2.0.
4556
4557 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4558
4559         * Convert.cs: FromBase64String and FromBase64CharArray are now internal
4560         calls to avoid extra allocations.
4561
4562 2005-06-09  Kamil Skalski <nazgul@nemerle.org>
4563
4564         * Type.cs: Add MakeGenericType method form .NET 2.0 beta 2 API
4565
4566         * Type.cs MonoType.cs: Add internal virtual
4567         Get{Method,Constructor,Field} for obtaining instanciated *Info objects
4568         from non-instanciated counterparts
4569
4570 2005-06-09  Zoltan Varga  <vargaz@freemail.hu>
4571
4572         * ModuleHandle RuntimeMethodHandle.cs RuntimeTypeHandle.cs RuntimeFieldHandle.cs RuntimeArgumentHandle.cs: Add missing 2.0 attributes.
4573
4574 2005-06-08  Zoltan Varga  <vargaz@freemail.hu>
4575
4576         * Type.cs: Add missing 2.0 attributes.
4577
4578 2005-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
4579
4580         * MonoCustomAttrs.cs: Added GetCustomAttributesDataInternal icall, and
4581         also internal method GetCustomAttributesData, used by 
4582         System.Reflection.CustomAttributeData.
4583         
4584 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4585
4586         * Activator.cs: Added  _Activator interface (and members) for 1.1 and
4587         missing attributes (for both 1.1 and 2.0).
4588         * String.cs: Made internal To[Lower|Upper]Invariant methods public for
4589         2.0. Reworked Trim() to skip a useless call. Added missing attribute
4590         for 2.0.
4591         * Type.cs: Added  _Type, _MemberInfo interfaces (1.1/2.0). Added 
4592         missing attribute for 2.0. Hided some public/protected methods.
4593
4594 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4595
4596         * ModuleHandle.cs: Update after PortableExecutableKinds name change.
4597
4598 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4599
4600         * _AppDomain.cs: Added new members in the interface (added in 1.1 SP1)
4601         * AppDomain.cs: Added new members from _AppDomain interface.
4602         * AppDomainManager.cs: Fixed flags and added attributes.
4603         * DomainManagerInitializationFlags.cs: The flag has been renamed to 
4604         AppDomainManagerInitializationOptions in beta2.
4605
4606 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4607
4608         * Type.cs MonoCustomAttrs.cs: Return SerializableAttribute for types as well.
4609
4610 2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
4611
4612         * Exception.cs: Implements _Exception only for 2.0.
4613
4614 2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
4615
4616         * GC.cs: Fix build.
4617         
4618         * GC.cs UnhandledExceptionEventArgs.cs IntPtr.cs RuntimeFieldHandle.cs 
4619           String.cs Object.cs Math.cs RuntimeMethodHandle.cs ModuleHandle.cs 
4620           RuntimeTypeHandle.cs AppDomain.cs: Add some missing 2.0 methods/attributes.
4621
4622 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4623
4624         * Environment.cs:
4625         * AppDomain.cs: if the assembly is loaded from a byte array, Location
4626         returns "". Fixes bug #74958.
4627
4628 2005-06-04  Ben Maurer  <bmaurer@ximian.com>
4629
4630         * *.cs: More 2.0 API fixups
4631
4632         * *.cs: In beta 2, generics are no longer non-cls-compliant.
4633
4634 2005-06-05  Kazuki Oikawa  <kazuki@panicode.com>
4635
4636         * NumberFormatter.cs: Fixed the output of 0.ToString("00.00E00")
4637         that was different from MSFT.
4638         * String.cs: Fixed IndexOfAny thrown an exception
4639         when startIndex of arguments equals Length. (Closes bug #75083.)
4640
4641         * Decimal.cs: Changed to use NumberFormatter in ToString.
4642         * NumberFormatter.cs: Implemented decimal formatter.
4643
4644 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4645
4646         * Type.cs: reverted wrong fix for bug #71300 in r45150. This makes SSL
4647         support in System.Net work again.
4648
4649 2005-06-01  Ben Maurer  <bmaurer@ximian.com>
4650
4651         * CharEnumerator.cs: add IEnumerable <char> support
4652
4653 2005-05-30  Sebastien Pouliot  <sebastien@ximian.com>
4654
4655         * Activator.cs: Added missing validation on parameters.
4656
4657 2005-05-28  Ben Maurer  <bmaurer@ximian.com>
4658
4659         * Type.cs: Check that the arguments of the `types' array are
4660         non-null. Fixes bug 71300
4661
4662 2005-05-28  Sebastien Pouliot  <sebastien@ximian.com>
4663
4664         * AppDomainSetup.cs: Added new 2,0 constructors and the 
4665         ActivationArguments property.
4666         * AppDomainManager.cs: Added using System.Runtime.Hosting as it is the
4667         new location for the ApplicationActivator class.
4668         * ApplicationActivator.cs: Moved to System.Runtime.Hosting namespace.
4669
4670 2005-05-27  Vladimir Vukicevic  <vladimir@pobox.com>
4671
4672         * Environment.cs: bump corlib version for bug #75060.
4673
4674 2005-05-27  Raja R Harinath  <rharinath@novell.com>
4675
4676         * Environment.cs (ExpandEnvironmentVariables): Rewrite
4677         sb.Append (s.SubString (a, b)) to sb.Append (s, a, b).
4678         * String.cs (FormatHelper): Rewrite sb.Append (s.SubString (a)) to
4679         sb.Append (s, a, s.Length - a).  Avoid allocating 'pad' string --
4680         StringBuilder has an appropriate Append overload.
4681
4682 2005-05-26  Zoltan Varga  <vargaz@freemail.hu>
4683
4684         * Type.cs (IsEnum): Special case EnumBuilder here.
4685
4686 2005-05-26  Sebastien Pouliot  <sebastien@ximian.com>
4687
4688         * MonoType.cs: Changed call from GetName to UnprotectedGetName to
4689         allow call to work with serialization under a restrictive policy.
4690         The code path (the protected information) isn't being used.
4691
4692 2005-05-25  Zoltan Varga  <vargaz@freemail.hu>
4693
4694         * Exception.cs: Use the new StackTrace ctor.
4695
4696         * Type.cs: Improve support for user defined type subclasses.
4697
4698 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
4699
4700         * DateTime.cs : Added minimum digit parameter to ParseNumber() to
4701           reject 2 digit years for "yyyy".
4702           Use GetAllDateTimePatterns() instead of constant string.
4703           Fixed bug #72788.
4704
4705 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
4706
4707         * DateTime.cs : next_not_digit prevented some valid parse.
4708           Just remove it, since now we pass max length to ParseNumber() and
4709           thus it is not needed anymore. Fixed bug 63137.
4710
4711 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
4712
4713         * DateTime.cs : HH should not always block tt. Fixed bug #60912.
4714           Reset num after whitespace parsing.
4715           Added "M/d/yyyy HH':'mm':'ss tt" as an invariant pattern.
4716
4717 2005-05-24  Atsushi Enomoto  <atsushi@ximian.com>
4718
4719         * DateTime.cs : Allow ',' where whitespaces are allowed.
4720           Fixed bug #71289.
4721
4722 2005-05-22  Ben Maurer  <bmaurer@ximian.com>
4723
4724         * BitConverter.cs: Speed this up, fixing 74014. Patch from
4725         `Aleksandar Dezelin'.
4726
4727 2005-05-20  Zoltan Varga  <vargaz@freemail.hu>
4728
4729         * Type.cs: Add some helper methods needed by other classes.
4730
4731         * Array.cs: Improve support for user defined Type subclasses.   
4732         
4733         * Type.cs: Rename GetTypeCode icall to GetTypeCodeInternal and add a managed
4734         wrapper function, not used yet.
4735
4736         * Type.cs Array.cs: Revert this as it breaks the build.
4737
4738         * Type.cs Array.cs: Improve support for user defined Type subclasses.
4739
4740 2005-05-19  Ben Maurer  <bmaurer@ximian.com>
4741
4742         * Delegate.cs (Equals): Use `as' to protect in the case where !
4743         (obj is Delegate)
4744
4745 2005-05-19  Raja R Harinath  <rharinath@novell.com>
4746
4747         * Console.cs (Readline) [NET_2_0]: Avoid "uninitialized variable"
4748         error.
4749
4750 2005-05-19  Miguel de Icaza  <miguel@novell.com>
4751
4752         * TermInfoDriver.cs: Removed warning.
4753
4754         * Array.cs (Resize<T>, TrueForAll<T>, ConvertAll<TInput,TOutput>,
4755         FindLastIndex<T>: Parameter names are normative.        
4756         Fix coding style ("Method<T>" not "Method <T>")
4757         Throw argument exceptions per argument.
4758         
4759         (FindAll): Fix bug, actually return the values that were computed,
4760         not a short version of the original array.
4761         
4762 2005-05-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4763
4764         * Console.cs: fix error in the 2_0 side and split ReadLine in 2, one
4765         for each framework version.
4766
4767 2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
4768
4769         * Attribute.cs:
4770         * Exception.cs: .Net 1.1 already has these interfaces
4771
4772 Mon May 16 18:23:49 CEST 2005 Paolo Molaro <lupus@ximian.com>
4773
4774         * MonoCustomAttrs.cs, Type.cs: do not create a SerializableAttribute
4775         object on GetCustomAttributes (fixes bug #74717).
4776
4777 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4778
4779         * DateTime.cs : for 'z' next_not_digit didn't work as expected.
4780           Fixed bug #74775.
4781
4782 2005-05-15  Atsushi Enomoto  <atsushi@ximian.com>
4783
4784         * DateTime.cs : don't allow extraneous pattern characters also for
4785           non-exact parsing (ParseExact() was fine). Bug #74936 fixed
4786
4787 2005-05-13  Gert Driesen <drieseng@users.sourceforge.net>
4788
4789         * Activator.cs: Match exceptions thrown by MS.NET for
4790         CreateInstance overloads if type is abstract. Fixes bug #74861.
4791
4792 2005-05-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
4793
4794         * OperatingSystem.cs: PlatformID.Unix.
4795
4796 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
4797
4798         * Environment.cs: Patch from Gonzalo to fix Environment.OSVersion.
4799         Platform under NET_2_0 to return PlatformID.Unix. Fix bug #74841.
4800
4801 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
4802
4803         * NumberFormatter.cs : roundtrip number is already rounded before
4804           FormatGeneral() and DefaultMaxPrecision was extraneous. This fixes
4805           bug #72955.
4806
4807 2005-05-07  Ben Maurer  <bmaurer@ximian.com>
4808
4809         * Array.cs (BinarySearch): Patch from kazuki to pass arguments to
4810         the comparer in the same order as msft. Fixes #70725
4811
4812 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4813
4814         * Enum.cs: the hashtable don't need to be synchronized any more, since
4815         it's only accessed from withint a lock.
4816
4817         * Console.cs: stdin, stdout and stderr will never be finalized. Fixes
4818         bug 74768.
4819
4820 2005-05-06  Zoltan Varga  <vargaz@freemail.hu>
4821
4822         * Array.cs: Remove CLSCompliant (false) attributes.
4823
4824 2005-05-06  Martin Baulig  <martin@ximian.com>
4825
4826         * Predicate.cs, Action.cs, Comparision.cs, Converter.cs: Add
4827         [CLSCompliant(true)] attribute.
4828
4829 2005-05-04  Miguel de Icaza  <miguel@novell.com>
4830
4831         * Enum.cs (MonoEnumInfo): Based on a patch from James Willcox,
4832         initialize cache as a static method.  Fixes #74828.
4833
4834 2005-05-03  Marek Safar  <marek.safar@seznam.cz>
4835
4836         * Console.cs: CancelKeyPress is stubbed.
4837
4838 2005-04-25  Sebastien Pouliot  <sebastien@ximian.com>
4839
4840         * ActivationContext.cs: Updated for beta2.
4841         * AppDomainManager.cs: Updated for beta2.
4842         * ApplicationId.cs: Updated for beta2.
4843         * ApplicationIdentity.cs: Updated for beta2.
4844         * Exception.cs: Now use Assembly.UnprotectedGetName () as Exception 
4845         doesn't leak the code base from the returned AssemblyName.
4846
4847 2005-04-25  Martin Baulig  <martin@ximian.com>
4848
4849         * Environment.cs (Environment.Version): Changed to 2.0.50215.
4850
4851 2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
4852
4853         * Attribute.cs: Added _Attribute interface to NET_2_0 to reduce the 
4854         number of "missing" in the class status pages.
4855
4856 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4857
4858         * MulticastDelegate.cs: (GetInvocationList) when building the list that
4859         is later traversed forward, mark 'this' as the end of the chain.
4860         Fixes bug #74607.
4861
4862 2005-04-19  Zoltan Varga  <vargaz@freemail.hu>
4863
4864         * Environment.cs: Bump corlib version.
4865
4866 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4867
4868         * WindowsConsoleDriver.cs: ignore key release events.
4869
4870 2005-04-06  Atsushi Enomoto  <atsushi@ximian.com>
4871
4872         * Char.cs : ToUpper()/ToLower() comparison ranges were incorrect.
4873
4874 2005-04-05  Sebastien Pouliot  <sebastien@ximian.com>
4875
4876         * _AppDomain.cs: Add security checks to the interface. Declarative 
4877         security on events requires BOOTSTRAP_WITH_OLDLIB to work properly 
4878         with older MCS.
4879         * AppDomain.cs: Add some (not complete) security checks. Bug#74411 is
4880         blocking some cases from working properly. Declarative security on 
4881         events requires BOOTSTRAP_WITH_OLDLIB to work properly with older MCS.
4882
4883 2005-04-04  Sebastien Pouliot  <sebastien@ximian.com>
4884
4885         * AppDomain.cs: Use the PolicyLevel to resolve the granted permissions
4886         on the AppDomain. Added an internal property to get the granted set.
4887
4888 2005-04-04  Atsushi Enomoto  <atsushi@ximian.com>
4889
4890         * String.cs,
4891           Char.cs : use TextInfo for ToLower() and ToUpper().
4892
4893 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
4894
4895         * Exception.cs: Added Assert for TypeInformation to GetObjectData and
4896         ToString methods (not required for 2.0 as TypeInformation will be 
4897         deprecated). Added null check for GetObjectData.
4898
4899 Tue Mar 29 11:47:19 CEST 2005 Paolo Molaro <lupus@ximian.com>
4900
4901         * Delegate.cs: allow IronPython 0.7 to compile.
4902
4903 2005-03-24  Miguel de Icaza  <miguel@novell.com>
4904
4905         * Delegate.cs: Add CreateDelegate with a target option, currently
4906         internal as it is not exposed by the framework yet.
4907
4908 2005-03-24  Zoltan Varga  <vargaz@freemail.hu>
4909
4910         * String.cs: Add some 2.0 methods.
4911
4912 2005-03-24  Sebastien Pouliot  <sebastien@ximian.com>
4913
4914         * Activator.cs: Now use the supplied evidences when loading 
4915         assemblies. Added LinkDemand for RemotingConfiguration on both
4916         GetObject methods.
4917         * Console.cs: Added Assert for UnmanagedCode on OpenStandard[Error|
4918         Input|Output] as they use a handle on a FileStream (which is
4919         restricted otherwise). Added Demand for UnmanagedCode for the
4920         Set[Error|In|Out] methods.
4921         * MarshalByRefObject.cs: Added LinkDemand for Infrastructure on 
4922         CreateObjRef, GetLifetimeService and InitializeLifetimeService.
4923         * RuntimeMethodHandle.cs: Added Demand for UnmanagedCode on 
4924         GetFunctionPointer method.
4925         * TypedReference.cs: Added LinkDemand for ReflectionPermission's
4926         MemberAccess on MakeTypedReference.
4927
4928 2005-03-14  Sebastien Pouliot  <sebastien@ximian.com>
4929
4930         * Environment.cs: Fix CAS unit tests for NET_1_1.
4931         * Exception.cs: Fix CAS unit tests for NET_1_1.
4932
4933 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4934
4935         * Version.cs: don't ignore the last number. Fixes bug #73539.
4936
4937 2005-03-11  Sebastien Pouliot  <sebastien@ximian.com>
4938
4939         * MonoType.cs: When the security manager is active, constructors and
4940         methods will return null if a linkdemand fails during reflection 
4941         query.
4942
4943 2005-03-11  Zoltan Varga  <vargaz@freemail.hu>
4944
4945         * Array.cs (Sort): Bail out early if length <= 1. Fixes #72721.
4946
4947 2005-03-10  Zoltan Varga  <vargaz@freemail.hu>
4948
4949         * Environment.cs: Bump corlib version.
4950
4951 2005-03-10  Martin Baulig  <martin@ximian.com>
4952
4953         * Nullable.cs (Nullable<T>.ToString): Return an empty string if
4954         we're null.
4955
4956 2005-03-09  Zoltan Varga  <vargaz@freemail.hu>
4957
4958         * Activator.cs MonoType.cs: Applied patch from Carlos Alberto Cortez
4959         (carlos@unixmexico.org). Allow creation of valuetypes with no ctor.
4960         Fixes #73432.
4961
4962 2005-03-04  Zoltan Varga  <vargaz@freemail.hu>
4963
4964         * Environment.cs: Bump corlib version.
4965
4966         * Exception.cs (StackTrace): Return the wrapper info as well.
4967
4968 2005-03-02  Kazuki Oikawa  <kazuki@panicode.com>
4969
4970         * NumberFormatter.cs: Some internal classes was converted to structs,
4971         and improved some points.
4972
4973 2005-02-26  Kazuki Oikawa  <kazuki@panicode.com>
4974
4975         * NumberFormatter.cs: Improved performance and memory usage
4976         when integer standard format.
4977         * SByte.cs:
4978         * Int16.cs:
4979         * Int32.cs:
4980         * Int64.cs:
4981         * Byte.cs:
4982         * UInt16.cs:
4983         * UInt32.cs:
4984         * UInt64.cs:
4985         * Single.cs:
4986         * Double.cs:
4987         * TimeSpan.cs: Improved these directly call to NumberFormatter.
4988
4989 2005-02-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4990
4991         * TermInfoDriver.cs: set the xmit mode if available. Handle key input
4992         and translate them into a ConsoleKeyInfo.
4993         * TermInfoReader.cs: added a method to return the bytes of a string
4994         property.
4995         * ConsoleKeyInfo.cs: added copy constructor and setters.
4996
4997 2005-02-24  Zoltan Varga  <vargaz@freemail.hu>
4998
4999         * Array.cs: Add missing 2.0 attributes and correct some parameter names.
5000
5001 2005-02-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
5002
5003         * AppDomain.cs: Changed GetAssemblies, LoadAssembly, and Load signatures,
5004         and added some to support the reflection only methods. DoAssemblyResolve
5005         was modified to invoke the new PreBindAssemblyResolve event when the
5006         assembly is reflection only.
5007         
5008 2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
5009
5010         * GC.cs Double.cs IntPtr.cs Array.cs Decimal.cs Math.cs Single.cs:
5011         Add net 2.0 ReliabilityContractAttributes.
5012
5013 2005-02-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5014
5015         * TermInfoDriver.cs: cygwin terminals are handled by the windows
5016         console driver.
5017
5018         * TermInfoReader.cs:
5019         * TermInfoNumbers.cs:
5020         * KnownTerminals.cs:
5021         * TermInfoBooleans.cs:
5022         * TermInfoStrings.cs: documented.
5023
5024 2005-02-19  Kazuki Oikawa <kazuki@panicode.com>
5025
5026         * Array.cs: Reverse the order in the Equals calls.
5027
5028 2005-02-18  Zoltan Varga  <vargaz@freemail.hu>
5029
5030         * Exception.cs (StackTrace): Implement this in managed code since it is
5031         needed by CAS. Fixes #72146.
5032
5033 2005-02-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5034
5035         * WindowsConsoleDriver.cs: implemented MoveBufferArea.
5036
5037 2005-02-14  Raja R Harinath  <rharinath@novell.com>
5038
5039         * Array.cs (Array.Swapper) [!BOOTSTRAP_WITH_OLDLIB]: Make nested.
5040         See #72015.
5041
5042 2005-02-12  Ben Maurer  <bmaurer@ximian.com>
5043
5044         * Version.cs (CompareTo, Equals): Make sure the versions for
5045         generics handle `null'. The non-generics versions now just call
5046         the regular versions, to reduce code duplication.
5047
5048         * Boolean.cs (CompareTo): make this really work for generics 
5049
5050         * Type.cs (GetProperty): Passing new Type [0] is different than
5051         null. null means `I don't care how many types this has,' while new
5052         Type [0] means `this must have 0 types.'
5053
5054 2005-02-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5055
5056         * corlib.dll.sources: added WindowsConsoleDriver.cs
5057
5058         * System/ConsoleDriver.cs: use WindowsConsoleDriver on windows and
5059         implemented the few missing properties/methods.
5060
5061         * System/IConsoleDriver.cs: uncommented all methods/properties.
5062         * System/TermInfoDriver.cs: implement changes from IConsoleDriver.
5063         * System/WindowsConsoleDriver.cs: implemented IConsoleDriver for
5064         windows. Only missing MoveBufferArea by now.
5065
5066 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
5067
5068         * Type.cs (IsAssignableFrom): Add support for TypeBuilders.
5069
5070         * Int32.cs AppDomain.cs: Fix warnings.
5071
5072 2005-02-10  Marek Safar  <marek.safar@seznam.cz>
5073
5074         * IServiceProvider.cs: Is not ComVisible.
5075
5076         * NonSerializedAttribute.cs: Fix AttributeUsage flags.
5077
5078         * Type.cs: Fix ClassInterface attribute.
5079
5080 Tue Feb 8 19:26:47 CET 2005 Paolo Molaro <lupus@ximian.com>
5081
5082         * Delegate.cs: remove the finalizer from Delegate: this
5083         is handled internally by the runtime now.
5084
5085 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5086
5087         * Activator.cs: provide the Type name when throwing an exception.
5088
5089 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5090
5091         * TimeZone.cs: lock on the static Hashtable instead of 'this'. Fixes
5092         bug #72238.
5093
5094 Fri Feb 4 15:46:04 CET 2005 Paolo Molaro <lupus@ximian.com>
5095
5096         * Array.cs: provide specialized versions of some methods.
5097
5098 Thu Feb 3 15:15:25 CET 2005 Paolo Molaro <lupus@ximian.com>
5099
5100         * String.cs: provide a managed memcpy and memset method
5101         for use both in corlib and from the JIT. Implement
5102         some methods with the managed helpers and remove some icalls.
5103
5104 2005-01-31  Sebastien Pouliot  <sebastien@ximian.com>
5105
5106         * Exception.cs: Added Data property for NET_2_0 (required for new
5107         unit tests).
5108
5109 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5110
5111         * ConsoleDriver.cs:
5112         * TermInfoDriver.cs:
5113         * IConsoleDriver.cs:
5114         * Console.cs: added BufferWidth and BufferHeight.
5115
5116 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5117
5118         * ConsoleDriver.cs:
5119         * Console.cs:
5120         * TermInfoDriver.cs:
5121         * IConsoleDriver.cs: added a few more properties and fixed cursor
5122         addressing.
5123
5124 2005-01-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5125
5126         * ConsoleDriver.cs: static class that forwards the Console 2.0 class
5127         calls to the proper driver.
5128         * TermInfoDriver.cs: terminfo based console driver.
5129         * IConsoleDriver.cs: interface implemented by console drivers.
5130
5131         * ConsoleCancelEventArgs.cs:
5132         * ConsoleCancelEventHandler.cs:
5133
5134         * ConsoleModifiers.cs: 
5135         * ConsoleSpecialKey.cs:
5136         * ConsoleColor.cs:
5137         * ConsoleKey.cs: new enumerations.
5138
5139         * ConsoleKeyInfo.cs: New file.
5140
5141         * TermInfoReader.cs: reader for terminfo capabilities files.
5142
5143         * TermInfoNumbers.cs:
5144         * TermInfoBooleans.cs:
5145         * TermInfoStrings.cs: enumations for terminfo property names.
5146
5147         * KnownTerminals.cs: byte arrays for selected terminals.
5148
5149         * Console.cs: added more 2.0 methods and implemented some of them.
5150
5151
5152 2005-01-30  Atsushi Enomoto  <atsushi@ximian.com>
5153
5154         * Int32.cs : (FindSign) IndexOf() is better than creating substring.
5155
5156 2005-01-27  Sebastien Pouliot  <sebastien@ximian.com>
5157
5158         * BadImageFormatException.cs: Protect the fusion (GAC) log from being
5159         disclosed unless code has ControlPolicy and ControlEvidence.
5160
5161 2005-01-27  Zoltan Varga  <vargaz@freemail.hu>
5162
5163         * Exception.cs: Compute stack trace on demand.
5164
5165 2005-01-26  Sebastien Pouliot  <sebastien@ximian.com>
5166
5167         * Environment.cs: Removed hack for static class (NET_2_0). Added 
5168         proper security for FailFast (documented in FDBK20543). Added new
5169         method IsRunningOnWindows to replace (Platform == 128) as the logic is
5170         gonna change in the future (Unix is id #4 in NET_2_0).
5171
5172 2005-01-24  Sebastien Pouliot  <sebastien@ximian.com>
5173
5174         * Environment.cs: Added CAS security (both declarative and imperative)
5175         as a test. This shouldn't affect execution unless --security is 
5176         specified.
5177
5178 2005-01-19  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
5179         * Type.cs: Corrected implementation for the Type.FilterNameIgnoreCase
5180         and Type.FilterName delegates They weren't dealing with the optional '*'
5181         at the end of the filter mask
5182
5183 2005-01-19  Zoltan Varga  <vargaz@freemail.hu>
5184
5185         * Array.cs: Fix a typo in the previous patch.
5186         
5187         * Array.cs: Fix some test failures in the generic methods.
5188
5189         * Array.cs: Implement AsReadOnly.
5190
5191 2005-01-13  Geoff Norton  <gnorton@customerdna.com>
5192
5193         * Guid.cs: Fix endian issues (use Mono.Security.BitConverterLE).  Fixes
5194         #71242
5195
5196 2005-01-11  Sebastien Pouliot  <sebastien@ximian.com>
5197
5198         * AppDomain.cs: Removed Activate and ActivateNewProcess methods. They
5199         have been removed from 2.0.
5200
5201 2005-01-11  Zoltan Varga  <vargaz@freemail.hu>
5202
5203         * Boolean.cs Char.cs Single.cs Double.cs: Implement IComparable<T> in
5204         NET 2.0.
5205
5206 2005-01-10  Sebastien Pouliot  <sebastien@ximian.com>
5207
5208         * ApplicationIdentity.cs: Throw ArgumentNullException if name is null.
5209         Add default culture (neutral) to the name when none is specified.
5210         * AppDomain.cs: Changed IsDefaultAppDomain (2.0). Is seems that we 
5211         can't trust Id ?
5212
5213 2005-01-09  Sebastien Pouliot  <sebastien@ximian.com>
5214
5215         * DateTime.cs: Reverted last patch for utc as it broke all certificate
5216         handling and another unit test in DateTime.
5217
5218 2005-01-09  Miguel de Icaza  <miguel@ximian.com>
5219
5220         * DateTime.cs: Return immediately if useutc is set to true, there
5221         is no need to do the extra computation (which also happened to
5222         create a new DateTime using the `use_localtime' constructor, which
5223         lead to the erroneous date returns when using 'u' or `U'
5224         formats).   
5225
5226         Fixes another bug in the regression test suite.
5227
5228 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com> 
5229
5230         * AppDomain.cs: Fix the DefaultDomain property to return the root 
5231         domain (as it seems that the root's Id isn't always 0).
5232         * BitConverter.cs: The "special support" for ToString(new byte[0]) is
5233         only for NET_2_0 - previously this was an ArgumentOutOfRangeException.
5234
5235 2005-01-08  Miguel de Icaza  <miguel@ximian.com>
5236
5237         * IntegerFormatter.cs: The - sign inside the "negative" section in
5238         a multi-format string means `show the sign' only if it is the
5239         first token, not `copy verbatim'.  In the other sections it means
5240         `copy-verbatim'.
5241
5242         This makes things like:  (-34).ToString ("#;-#") show up as "-34"
5243         instead of "--34".
5244
5245         The bad news is that this code needs to be rewritten to handle all
5246         the formatting cases, see bug #71112 for details.
5247
5248         * Convert.cs (Convert.ToType): Throw an InvalidCastException if
5249         the conversion is invalid, not ArgumentException, this fixes
5250         another regression in our test suite.
5251
5252 2005-01-08  Sebastien Pouliot  <sebastien@ximian.com>
5253
5254         * AppDomain.cs: Add ApplicationIdentity property for 2.0;
5255         * AppDomainManager.cs: Remove HostRefusedSet support (it does not 
5256         exists anymore).
5257
5258 2005-01-08  Zoltan Varga  <vargaz@freemail.hu>
5259
5260         * DateTime.cs: Create MaxValue and MinValue using a different constructor to avoid static 
5261         initialization problems.
5262
5263 2005-01-02  Ben Maurer  <bmaurer@ximian.com>
5264
5265         * Int32.cs: NumberStyles.AllowExponent was supported by the
5266         Int32.Parse function. From Akira <mei@work.email.ne.jp>. Fixes bug
5267         70469.
5268
5269 2005-01-01  Atsushi Enomoto  <atsushi@ximian.com>
5270
5271         * Base64FormattingOptions.cs : it was not in System namespace.
5272
5273 2004-12-21  Atsushi Enomoto  <atsushi@ximian.com>
5274
5275         * DateTime.cs : If no progress on value string, don't regard as
5276           matched. This fixes bug #70707.
5277
5278 2004-12-20  Sebastien Pouliot  <sebastien@ximian.com>
5279
5280         * Environment.cs: Bump corlib version.
5281
5282 2004-12-16  Zoltan Varga  <vargaz@freemail.hu>
5283
5284         * Array.cs (DoBinarySearch): Fix a warning.
5285
5286 2004-12-08  Zoltan Varga  <vargaz@freemail.hu>
5287
5288         * Environment.cs: Bump corlib version.
5289
5290         * AppDomain.cs: Add new DefineInternalDynamicAssembly () method.
5291
5292 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
5293
5294         * Exception.cs: Prevent stringifying the type name on the
5295         ctor. this gets called a few times on every execution to create a
5296         nullref exception.
5297
5298 2004-12-06  Martin Baulig  <martin@ximian.com>
5299
5300         * Decimal.cs: Decimal constant support has been merged into GMCS,
5301         removed the FIXME.
5302
5303 2004-12-06  Zoltan Varga  <vargaz@freemail.hu>
5304
5305         * Environment.cs: Bump corlib version.
5306         
5307         * Environment.cs: Bump corlib version.
5308
5309 2004-11-30  Zoltan Varga  <vargaz@freemail.hu>
5310
5311         * MonoType.cs (UnderlyingSystemType): Make this return this as in
5312         MS.NET. Fixes #56245.
5313
5314 2004-11-29  Atsushi Enomoto  <atsushi@ximian.com>
5315
5316         * GC.cs : Collect(generation) actually does not throw an exception
5317           even if generation > MaxGeneration (MS document bug).
5318
5319 2004-11-28  Zoltan Varga  <vargaz@freemail.hu>
5320
5321         * Exception.cs: Implement _Exception under NET_2_0.
5322
5323         * Byte.cs SByte.cs UInt16.cs Int16.cs: Make these compile under csc 2.0.
5324
5325         * AccessViolationException.cs DataMisalignedException.cs OperationCanceledException.cs
5326         NotCancelableException.cs TimeoutException.cs: New files.
5327
5328 2004-11-23  Raja R Harinath  <rharinath@novell.com>
5329
5330         * Decimal.cs [NET_2_0]: Use old code till GMCS imports decimal
5331         constant support.
5332
5333 2004-11-23  Raja R Harinath  <rharinath@novell.com>
5334
5335         * Decimal.cs [BOOTSTRAP_WITH_OLDLIB]: Use old code for compilers
5336         without decimal constant support.
5337
5338 2004-11-23  Marek Safar  <marek.safar@seznam.cz>
5339
5340         * Decimal.cs: Updated to use compiler decimal constant support.
5341
5342 2004-11-20  Zoltan Varga  <vargaz@freemail.hu>
5343
5344         * MonoType.cs: Revert last change since it breaks remoting.
5345
5346 2004-11-18  Zoltan Varga  <vargaz@freemail.hu>
5347
5348         * MonoType.cs (UnderlyingSystemType): Make this return this as in
5349         MS.NET. Fixes #56245.
5350
5351 2004-11-17  Carlos Alberto Cortez <carlos@unixmexico.org>
5352
5353         * INullable.cs: New interface added.
5354         * Nullable.cs: Methods added. Also a static Nullable class
5355         containing static methods.
5356         
5357 2004-11-15  Sebastien Pouliot  <sebastien@ximian.com>
5358
5359         * BitConverter.cs: Added support for special case when ToString is 
5360         called with (new byte [0]).
5361
5362 2004-11-10  Lluis Sanchez  <lluis@novell.com>
5363
5364         * Exception.cs: Added setter for StackTrace.
5365
5366 2004-11-07  Ben Maurer  <bmaurer@ximian.com>
5367
5368         * IntegerFormatter.cs: Avoid .ToCharArray
5369
5370 2004-11-06  Ben Maurer  <bmaurer@ximian.com>
5371
5372         * Single.cs, Double.cs (GetHashCode): Better hashcode impl
5373
5374 2004-11-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5375
5376         * InvalidOperationException.cs: make the message more meaningful and
5377         real. Fixes bug #69055.
5378
5379 2004-10-28  Ben Maurer  <bmaurer@ximian.com>
5380
5381         * String.cs: Rather than == String.Empty, use .Length == 0. It
5382         is a bit faster (avoids a method call, and the code is less complex).
5383
5384 2004-10-24  Fawad Halim  <fawad@fawad.net>
5385         * Environment.cs: If an Environment variable value isn't found, leave the trailing % of the reference for further matches.
5386         Add text between end of current lookup window and next % match if we just got a match, or add all text to the end if there are no further % matches.
5387         This fixes bug #64995.
5388
5389 2004-10-19  Lluis Sanchez  <lluis@novell.com>
5390
5391         * MarshalByRefObject.cs: Field _identity is not serializable.
5392         This fixes bug #68567.
5393
5394 2004-10-17  Ben Maurer  <bmaurer@ximian.com>
5395
5396         * DateTime.cs (ZeroPad): Use unsafe code to speed this up. We
5397         avoid entering slow integer formatting code.
5398
5399         (_ToString): Use ZeroPad here when possible, as it is faster.
5400
5401 2004-10-11  Martin Baulig  <martin@ximian.com>
5402
5403         * Environment.cs: Bump corlib version to 28.
5404
5405 2004-10-08  Zoltan Varga  <vargaz@freemail.hu>
5406
5407         * Convert.cs (ToType): Throw an exception when converting null to a
5408         valuetype. Fixes #67780.
5409
5410 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
5411
5412         * DateTime.cs : Performance fix. ParseExact() implementation should
5413           avoid s = s.Substring(1).
5414
5415 2004-10-08  Atsushi Enomoto  <atsushi@ximian.com>
5416
5417         * DateTime.cs : When it it not exact parse, 'Z' is allowed as a suffix
5418           of m/s/t/z. This fixes bug 66723.
5419
5420 Wed Oct 6 12:37:54 CEST 2004 Paolo Molaro <lupus@ximian.com>
5421
5422         * String.cs: make GetHashCode() managed.
5423
5424 2004-10-04  Zoltan Varga  <vargaz@freemail.hu>
5425
5426         * AppDomain.cs: Make ThreadStatic variables static. Fixes #56614.
5427
5428         * Runtime*Handle.cs ModuleHandle.cs: Add Equals + GetHashCode.
5429
5430         * ModuleHandle.cs: Add missing methods.
5431
5432         * RuntimeTypeHandle.cs: Add GetModuleHandle () method.
5433
5434 2004-10-03  Zoltan Varga  <vargaz@freemail.hu>
5435
5436         * AttributeTargets.cs: Add 2.0 GenericParameter value.
5437
5438         * Environment.cs: Bump corlib version.
5439
5440 2004-10-02  Zoltan Varga  <vargaz@freemail.hu>
5441
5442         * Int32.cs UInt32.cs Byte.cs SByte.cs Int16.cs UInt16.cs Int64.cs UInt64.cs: Implement 2.0 TryParse methods.
5443
5444 2004-09-30  Geoff Norton  <gnorton@customerdna.com>
5445
5446         * Convert.cs: ConvertToBase* was not endian aware.  Implemented EndianSwap
5447         and swapping of all values before going into the BitConverter so that values
5448         are returned with proper endianess.
5449
5450 2004-09-23  Martin Garton  <martin@wrasse.demon.co.uk>
5451
5452         * Convert.cs: ToType was returning unconverted object when it should
5453         fail with an ArgumentException.
5454
5455 2004-09-27  Zoltan Varga  <vargaz@freemail.hu>
5456
5457         * Array.cs: Add stub for AsReadOnly<T>.
5458         
5459 2004-09-25  Zoltan Varga  <vargaz@freemail.hu>
5460
5461         * Type.cs: Add MakePointerType && stub for ReflectionOnlyGetType.
5462
5463         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
5464         parameters.
5465
5466 2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
5467
5468         * MonoCustomAttrs.cs (GetCustomAttributesBase): Add support for
5469         methods and fields.
5470         
5471         * MonoCustomAttrs.cs: Beginnings of support for returning 2.0 pseudo
5472         custom attributes.
5473
5474         * MonoCustomAttrs.cs (RetrieveAttributeUsage): Avoid infinite recursion.
5475
5476         * MonoCustomAttrs.cs (GetCustomAttributes): Fix the 'attributeType is 
5477         sealed' optimization.
5478
5479         * Type.cs: Implement 2.0 StructLayoutAttribute property. 
5480
5481         * Type.cs Add GetPseudoCustomAttributes () method.
5482
5483 2004-09-24  Martin Baulig  <martin@ximian.com>
5484
5485         * Type.cs (Type.GetGenericParameterConstraints): New public method.
5486
5487 2004-09-23  Zoltan Varga  <vargaz@freemail.hu>
5488
5489         * MonoCustomAttrs.cs (GetCustomAttributes): Rename the icall to
5490         GetCustomAttributesInternal and add a 'pseudoAttrs' argument.
5491
5492         * Type.cs: Tweak Module property in 2.0 build.
5493
5494 2004-09-23  Martin Baulig  <martin@ximian.com>
5495
5496         * Type.cs (Type.GenericParameterAttributes): New public property.
5497
5498 2004-09-23  Martin Baulig  <martin@ximian.com>
5499
5500         * GenericParameterAttributes.cs: New file.
5501
5502 2004-09-22  Zoltan Varga  <vargaz@freemail.hu>
5503
5504         * ModuleHandle.cs: Updated after changes to Module class.
5505
5506 2004-09-21  Geoff Norton <gnorton@customerdna.com>
5507
5508         * Type.cs: BindingFlags.IgnoreCase was being ignored, this reimplements
5509         this filter. Fixes bug #65778.
5510
5511 2004-09-20  Zoltan Varga  <vargaz@freemail.hu>
5512
5513         * Environment.cs: Bump corlib version.
5514
5515 2004-09-19  Zoltan Varga  <vargaz@freemail.hu>
5516
5517         * ModuleHandle.cs: New file.
5518
5519         * RuntimeFieldHandle.cs: Add an internal ctor.
5520
5521 2004-09-19  Dick Porter  <dick@ximian.com>
5522
5523         * Console.cs: Use the internal wrappers for StreamReader and
5524         StreamWriter that catch IOException.
5525
5526 2004-09-16  Sebastien Pouliot  <sebastien@ximian.com>
5527
5528         * Environment.cs: Bumped mono_corlib_version to 25.
5529
5530 2004-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5531
5532         * AppDomain.cs: added SetupInformationNoCopy property, since
5533         SetupInformation creates a copy now, all updates to it should use the
5534         actual data. Fixes bug #61991 take 2.
5535
5536 2004-09-09  Tim Coleman <tim@timcoleman.com>
5537         * Base64FormattingOptions.cs: New enum
5538         * Convert.cs: Add new ToBase64String methods for Fx 2.0
5539
5540 2004-09-08  Marek Safar  <marek.safar@seznam.cz>
5541
5542         * Console.cs,
5543         * GC.cs: Class is static for NET_2_0.
5544
5545 2004-09-07 Ben Maurer  <bmaurer@users.sourceforge.net>
5546
5547         * Activator.cs: Make sure not to call .GetType on a
5548         null argument. fixes 63852
5549
5550 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
5551
5552         * Array.cs (Clear): make this an icall.
5553
5554 2004-09-05 Ben Maurer  <bmaurer@users.sourceforge.net>
5555
5556         * MonoCustomAttribute.cs: Avoid the call to GetBase when possible.
5557
5558 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5559
5560         * Environment.cs: (ExpandEnvironmentVariables) don't nullify the case
5561         insensitive enironment variables hashtable once we create it.
5562
5563 2004-09-04  Sebastien Pouliot  <sebastien@ximian.com>
5564
5565         * AppDomain.cs: Changed 2 imperative security demands to declarative
5566         (unsupported) so it doesn't (for now) call the security runtime.
5567
5568 2004-09-02  Zoltan Varga  <vargaz@freemail.hu>
5569
5570         * Delegate.cs: Free the delegate trampoline in the finalizer.
5571
5572 2004-08-26  Sebastien Pouliot  <sebastien@ximian.com>
5573
5574         * ApplicationId.cs: Completed GetHashCode using information from MS
5575         (FDBK13339).
5576
5577 2004-08-23  Sebastien Pouliot  <sebastien@ximian.com>
5578
5579         * Boolean.cs: Added TryParse static method for NET_2_0 profile.
5580
5581 2004-08-19  Atsushi Enomoto  <atsushi@ximian.com>
5582
5583         * DateTime.cs : When hour format is "hh", MS.NET (maybe incorrectly)
5584           allows 12, that should not be accepted (13 is rejected) and
5585           interpreted as 0. This fixes bug 63376.
5586
5587 2004-08-17  Sebastien Pouliot  <sebastien@ximian.com>
5588
5589         * Version.cs: Fixed Clone so we can use it on versions with only
5590         major/minor or major/minor/build.
5591
5592 2004-08-17  Martin Baulig  <martin@ximian.com>
5593
5594         * MonoType.cs (MonoType.getFullName): Added `bool full_name'
5595         argument specifying whether or not to include the type arguments.
5596         (MonoType.FullName): Don't include the type arguments.
5597         (MonoType.ToString): Include them here.
5598
5599         * Environment.cs: Bumped mono_corlib_version to 24.
5600
5601 2004-08-16  Duncan Mak  <duncan@ximian.com>
5602
5603         * AttributeUsageAttribute.cs: Change the AttributeUsage to
5604         AttributeTargets.Class, from AttributeTargets.All, fixes Zoltan's
5605         bug #62895.
5606
5607 2004-08-11  Marek Safar  <marek.safar@seznam.cz>
5608
5609         * AppDomain.cs: Fixed typo of DefineDynamicAssembly argument.
5610         Added call to AddPermissionRequests to pass permissions
5611         arguments.
5612         * Environment.cs: Added a few Fx 2.0 methods
5613
5614 2004-08-09  Sebastien Pouliot  <sebastien@ximian.com>
5615
5616         * ApplicationId.cs: Fixed typo to fix NET_2_0 compilation.
5617         * AppDomain.cs: Fixed use of Evidence and AppDomainSetup (copies, not
5618         references). Added (non-obsolete) Fx 2.0 properties and methods.
5619         * AppDomainSetup.cs: Added internal copy constructor.
5620         * DomainManagerInitializationFlags.cs: Fixed values.
5621
5622 2004-08-08  Sebastien Pouliot  <sebastien@ximian.com>
5623
5624         * AppDomainInitializer.cs: New Fx 2.0 class for AppDomain.
5625         * AppDomainManager.cs: New Fx 2.0 class for AppDomain.
5626         * ApplicationActivator.cs: New Fx 2.0 class for AppDomain.
5627         * ApplicationId.cs: New Fx 2.0 class.
5628         * ApplicationIdentity.cs: Fixed ToString.
5629         * DomainManagerInitializationFlags.cs: New Fx 2.0 flags for AppDomain.
5630
5631 2004-08-05  Sebastien Pouliot  <sebastien@ximian.com>
5632
5633         * AppDomain.cs: Added a new icall, getDomainByID, to get the an 
5634         AppDomain using it's Id. Completed SetAppDomainPolicy.
5635         * Environment.cs: Bumped mono_corlib_version to 23.
5636
5637 2004-08-02  Martin Baulig  <martin@ximian.com>
5638
5639         * DateTime.cs, TimeSpan.cs, Guid.cs, Version.cs: Implement IComparable<T>.
5640
5641 2004-07-29  Atsushi Enomoto  <atsushi@ximian.com>
5642
5643         * Environment.cs : GacPath on windows is based on mscorlib.dll, and
5644           now its location is changed.
5645
5646 2004-07-21  Lluis Sanchez Gual  <lluis@novell.com>
5647
5648         * Environment.cs: Return the MS.NET 2.0 beta1 runtime version for the
5649           NET_2_0 profile.
5650         
5651 2004-07-18  Martin Baulig  <martin@ximian.com>
5652
5653         * Array.cs: Ben Maurer implemented all the new generic methods
5654         here :-)
5655
5656 2004-07-17  Martin Baulig  <martin@ximian.com>
5657
5658         * Decimal.cs: Implement IComparable<Decimal>.
5659
5660 2004-07-17  Martin Baulig  <martin@ximian.com>
5661
5662         * Byte.cs, Int16.cs, Int32.cs, Int64.cs, SByte.cs, String.cs,
5663         UInt16.cs, UInt32.cs, UInt64.cs: Implement IComparable<T>.      
5664
5665 2004-07-13  Sebastien Pouliot  <sebastien@ximian.com>
5666
5667         * ActivationContext.cs: New class in Fx 2.0. Required for 
5668         System.Security.Policy.
5669         * ApplicationIdentity.cs: New class in Fx 2.0. Required for 
5670         System.Security.Policy.
5671         * IApplicationDescription.cs: New interface in Fx 2.0. Required for 
5672         System.Security.Policy.
5673         * IHostContext.cs: New interface in Fx 2.0. Required for 
5674         System.Security.Policy.
5675
5676 2004-07-12  Geoff Norton <gnorton@customerdna.com>
5677
5678         * DateTime.cs: Patch for bug #61112.  Our DateTime wasn't roundtripping over timezone
5679           boundaries properly.  This patch checkes ToLocalTime() to see if we're tripping over a boundary
5680           and will add/subtract the hour if needed
5681
5682 2004-07-07  Geoff Norton <gnorton@customerdna.com>
5683
5684         * Monotype.cs: Patch for bug #58844.  Dont throw exceptions right away;
5685           pass through all the possibly BindingInfo's and keep a bool value as to the type
5686           of exception we might need to throw;
5687
5688 2004-07-07  Geoff Norton <gnorton@customerdna.com>
5689
5690         * Patch to fix bug #58973
5691
5692 2004-07-02  Jackson Harper  <jackson@ximian.com>
5693
5694         * PlatformID.cs: New 2.0 values.
5695         
5696 2004-06-25  Ben Maurer <bmaurer@ximian.com>
5697         
5698         * Environment.cs: GetFolderPath has new behavior. r=miguel
5699
5700 2004-06-23  Sebastien Pouliot  <sebastien@ximian.com>
5701
5702         * DateTime.cs: Throw ArgumentOutOfRangeException if the year is
5703         bigger than 9999. Fix bug #41845.
5704         * FloatingPointFormatter.cs: Applied correction from Jon Skeet on
5705         the "R"eversible format for negative numbers.
5706
5707 2004-06-21  Jackson Harper  <jackson@ximian.com>
5708
5709         * Decimal.cs: Make sure to use invariant culture when parsing
5710         floats stringified with the invariant culture. Patch by Rodrigo
5711         B. de Oliveira.
5712         
5713 2004-06-19  Atsushi Enomoto  <atsushi@ximian.com>
5714
5715         * FloatingPointFormatter.cs : Literal string should be kept in the
5716           output.
5717
5718 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
5719
5720         * DateTime.cs : Concatenating whitespace removal was not working fine.
5721           Modified FormatException message (1 cent kindness).
5722
5723 2004-06-18  Ben Maurer  <bmaurer@ximian.com>
5724         
5725         * Action.cs, ArraySegment.cs, Comparison.cs, Converter.cs, Predicate.cs:
5726         new generics classes
5727         * IComparable.cs: add the new <T> version.
5728         * EventHandler.cs: new <T> version.
5729         
5730 2004-06-18  Dick Porter  <dick@ximian.com>
5731
5732         * String.cs: The icall can cope with embedded \0 now.
5733
5734 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
5735
5736         * DateTime.cs :
5737           - Added new common pattern "yyyy/M/dZ"
5738           - empty string should not be compared in _ParseEnum()
5739           - Use culture independent string comparison in _ParseString()
5740           - Whitespace removal should be checked after '..' token check (some
5741             pattern such like es-ES LongDatePattern contains spaces in '..').
5742           - formats null check should be done (to throw ArgumentNullException)
5743             in ParseExact().
5744           - When specified one character format, dates are incorrectly regarded
5745             as to use invariant culture.
5746
5747 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
5748
5749         * ArgIterator.cs: changed layout to Auto
5750         * DateTime.cs: changed layout to Auto
5751
5752 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
5753
5754         * DateTime.cs: CRLF to LF
5755
5756 2004-06-17  Sebastien Pouliot  <sebastien@ximian.com>
5757
5758         * Decimal.cs: Fixed regression in System.Data caused by the recent 
5759         changes. Adapted (and moved) the code to correct the scale from 
5760         SqlMoney. Removed unused (and unusable) IsOne and fixed IsZero (where
5761         scale has no importance).
5762
5763 2004-06-17  Lluis Sanchez Gual  <lluis@ximian.com>
5764
5765         * Activator.cs: In CreateInstance(), use Public|Instance if access binding
5766           attributes are omitted.
5767
5768 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5769
5770         * DateTime.cs : GetDateTimeFormats(char, IFormatProvider) should also
5771           check if the format character is valid.
5772
5773 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5774
5775         * DateTime.cs : AddDays(double) rounds the input.
5776
5777 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5778
5779         * DateTime.cs : Incorrect maxvalue comparison in ToUniversalTime().
5780           Fixed ToLocalTime() as well, but it does check range for MinValue.
5781
5782 2004-06-17  Atsushi Enomoto  <atsushi@ximian.com>
5783
5784         * DateTime.cs : Added overflow check in ToUniversalTime() and
5785           ToLocalTime(). Fixed bug #60253.
5786
5787 2004-06-16  Sebastien Pouliot  <sebastien@ximian.com>
5788
5789         * FloatingPointFormatter.cs: Implemented "R" format using Jon Skeet
5790         source code (with permission). Fix (biggest) part of bug #60110.
5791         http://www.yoda.arachsys.com/csharp/floatingpoint.html
5792
5793 2004-06-15  Sebastien Pouliot  <sebastien@ximian.com>
5794
5795         * Decimal.cs: Fixed scale after Round (a different scale is correct 
5796         from a math point of view but affect the string representation of the
5797         value). Note: other operations also have scale problems!
5798         * DecimalFormatter.cs: Fixed FormatGeneral to match Fx 1.1 output.
5799         * FloatingPointFormatter.cs: Fixed ToString which doesn't use banker's
5800         rounding (which is the rounding provided by Math.Round). This fix bug
5801         #60111. The code (new Round methods) should be moved elsewhere (as it
5802         may also be required elsewhere) post Mono 1.0.
5803
5804 2004-06-15  Gert Driesen <drieseng@users.sourceforge.net>
5805
5806         * AppDomainSetup.cs: added TODO for serialization
5807         * ExecutionEngineException.cs: added missing serialization ctor
5808         * InvalidProgramException.cs: added missing serialization ctor
5809         * MulticastNotSupportedException.cs: added missing serialization ctor
5810         * ObsoleteAttribute.cs: fixed serialization compatibility with MS.NET
5811         * Random.cs: fixed serialization compatibility with MS.NET
5812
5813 2004-06-15  Paolo Molaro <lupus@ximian.com>
5814
5815         * Type.cs: removed unused (and non-existing) icall type_is_instance.
5816
5817 2004-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5818
5819         * Environment.cs: use internalGetHome instead of getting "HOME" as
5820         that variable may not be defined.
5821
5822 2004-06-14  Sebastien Pouliot  <sebastien@ximian.com>
5823
5824         * TimeSpan.cs: Fixed timespan with large values for hours or minutes
5825         (overflow is only checked for days but can also occurs in hours and
5826         minutes which uses Int32 when multiplying). The new results match MS
5827         implementation.
5828
5829 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5830
5831         * FloatingPointFormatter.cs : Recognize '%' and '\u2030' and replace
5832           them with matching NumberFormatInfo properties.
5833
5834 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
5835
5836         * Double.cs : Use IFormatProvider.GetFormat() instead of literal '-'.
5837         * FloatingPointFormatter.cs :
5838           Use NumberFormatInfo.NegativeSign. This change saves many XSLT test
5839           failures.
5840           Format Permille pattern (It is undocumented but actually available,
5841           and used in xsl:format-number).
5842
5843 2004-06-14  Raja R Harinath  <rharinath@novell.com>
5844
5845         * Console.cs (Console.Write, Console.WriteLine): Disable __arglist
5846         version with BOOTSTRAP_WITH_OLDLIB.
5847         * String.cs (STring.Concat): Likewise.
5848
5849 2004-06-13  Atsushi Enomoto  <atsushi@ximian.com>
5850
5851         * FloatingPointFormatter.cs :
5852           - Don't format more than 15 fraction digits. Don't report to Pedro
5853             directly (removing the error message with his concent).
5854           - When format string starts with '.', it means integral part format 
5855             is not specified. Ignore '.' characters after the first
5856             appearance. Fixed bug #59890.
5857           - 0.0 is formatted only before the third ';' appearance.
5858
5859 2004-06-11  Sebastien Pouliot  <sebastien@ximian.com>
5860
5861         * DateTime.cs: Added a AddRoundedMilliseconds which use the "old Mono"
5862         rounding logic which worked for FromOADate (while the newer didn't).
5863         * TimeSpan.cs: Now throw an OverflowException when the timespan is
5864         over MaxValue or under MinValue.
5865
5866 2004-06-11  Martin Baulig  <martin@ximian.com>
5867
5868         * Console.cs (Write, WriteLine): Implemented the varargs versions.
5869
5870 2004-06-11  Martin Baulig  <martin@ximian.com>
5871
5872         * String.cs (Concat): Implemented the varargs version.
5873
5874 2004-06-10  Sebastien Pouliot  <sebastien@ximian.com>
5875
5876         * Decimal.cs: Hacked the Parse method to allow the runtime C code to
5877         decode it properly (i.e. matching MS results). Fixed the Round method
5878         for negative decimal numbers (moved code from Math.cs).
5879         * Math.cs: Now use Decimal class for Round(Decimal,int). Required to
5880         fix a bug when rounding a negative decimal.
5881
5882 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
5883
5884         * AppDomain.cs: set the _principal to null when changing the policy.
5885         * Console.cs: remove ClsCompliant attribute from a method marked as
5886         internal and added comment.
5887
5888 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
5889
5890         * Delegate.cs: marked protected fields private to match public
5891         API of MS.NET, marked DynamicInvokeImpl and GetMethodImpl
5892         protected to fix public API
5893         * Enum.cs: marked ctor protected to match public API of MS.NET
5894         * MulticastDelegate.cs: marked DynamicInvokeImpl protected to
5895         match public API of MS.NET
5896
5897 2004-06-10  Atsushi Enomoto  <atsushi@ximian.com>
5898
5899         * DateTime.cs : Added more common patterns.
5900
5901 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5902
5903         * Decimal.cs: Fixed banker rounding by calling Math.Round. This won't
5904         be a performance winner (the actual Math code has a note to wait a
5905         better Decimal implementation) but it returns the correct results
5906         (without adding new code in corlib or the runtime). Fix #37744.
5907
5908 2004-06-09  Atsushi Enomoto  <atsushi@ximian.com>
5909
5910         * DateTime.cs :
5911           - A bunch of fixes (patch by Steven Brown). Fraction seconds are 
5912             now represented as double. Strict token check for 'Z'.
5913           - Pattern validity check in GetDateTimeFormats(char).
5914           - Fixed pattern "yyyy/M/d HH:mm:ss".
5915
5916 2004-06-09  Sebastien Pouliot  <sebastien@ximian.com>
5917
5918         * Decimal.cs: Fixed remainder (and optimized some cases not to call 
5919         unmanaged code). Simplified divide. Removed workaround for bug #59793.
5920         Fixed GetHashCode to return different result for X and -X.
5921
5922 2004-06-08  Atsushi Enomoto  <atsushi@ximian.com>
5923
5924         * DateTime.cs :
5925           - Now re-checked all common format patterns. They should be tried
5926             with both current culture and invariant culture. Since '/' covers
5927             '-', removed extraneous patterns. Added more common patterns
5928             such as "yyyy-MM-dd" and X509Certificate pattern (it is valid
5929             only after NET_1_1). Commented out 1 character format patterns.
5930           - The format patterns we should try should not be obtained by
5931             GetAllDateTimePatterns(). Just use 'd', 'D', 't', 'T', ... (one
5932             character patterns), to handle UTC correctly. Examined patterns
5933             are changed, to 1) common patterns with specified (or current)
5934             culture, 2) common patterns with invariant, 3) The above "one
5935             character patterns" with specified (or current) culture.
5936           - When trying to parse some kind of patterns such as RFC1123, 
5937             always use invariant DateTimeFormatInfo so that they can avoid
5938             parsing with culture-dependent calendar.
5939           - Check "GMT" only when doing Parse(). Don't it when ParseExact().
5940           - Removed extraneous '-' case. It is not special one.
5941           - When ParseExact(), allow only '/' for '/' pattern character.
5942           - When Parse(), allow any non-letter & non-number characters.
5943           - When pattern is not fully parsed, reject that format.
5944           - Added "exact" parameter to some ParseExact().
5945           - RFC1123 pattern is (again) now parsed in local time. I regressed
5946             some problems in previous fix.
5947
5948 2004-06-08  Sebastien Pouliot  <sebastien@ximian.com>
5949
5950         * Decimal.cs: Fixed cast to integer types to truncate (not round) the
5951         value.
5952
5953 2004-06-07  Duncan Mak  <duncan@ximian.com>
5954
5955         * Exception.cs (Source): This can return null.
5956
5957 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
5958
5959         * DateTime.cs: Fixed FromFileTime for negative values. Fixed 
5960         constructor to limit range of milliseconds from 0,999. Fixed
5961         ToType method to work for object, string and DateTime.
5962
5963 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
5964
5965         * DateTime.cs: Fixed OLE Automation date conversions: timezone 
5966         insensitive, wrong exception in FromOADate, handling of Min/Max 
5967         values, negative doubles where integer part is negative but 
5968         decimals are positive! Charming format ;-)
5969
5970 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
5971
5972         * String.cs: Fixed Join in case separator parameter is null.
5973         * TimeSpan.cs: Cache format errors during parsing and throw 
5974         FormatException only if there was no overflow.
5975
5976 2004-06-06  Gert Driesen <drieseng@users.sourceforge.net>
5977
5978         * MonoCustomAttrs.cs: fixed issue where an empty array was 
5979         returned when GetCustomAttributes was invoked with null
5980         attribute type and there was only one result
5981
5982 2004-06-06  Sebastien Pouliot  <sebastien@ximian.com>
5983
5984         * Decimal.cs: Fixed ToString(String.Empty) to default ("G").
5985         * Int16.cs: Fixed ToString(String.Empty) to default ("G").
5986         * Int32.cs: Fixed ToString(String.Empty) to default ("G").
5987         * Int64.cs: Fixed ToString(String.Empty) to default ("G").
5988         * SByte.cs: Fixed ToString(String.Empty) to default ("G").
5989         * UInt16.cs: Fixed ToString(String.Empty) to default ("G").
5990         * UInt32.cs: Fixed ToString(String.Empty) to default ("G").
5991         * UInt64.cs: Fixed ToString(String.Empty) to default ("G").
5992
5993 2004-06-05  Sebastien Pouliot  <sebastien@ximian.com>
5994
5995         * Convert.cs: Fixed the convertion of negative integers (byte, short, 
5996         int and long) into string in a specific base (2, 8, 10 or 16).
5997
5998 2004-06-04  Sebastien Pouliot  <sebastien@ximian.com>
5999
6000         * Math.cs: Fixed IEEERemainder to return -0 (0x8000000000000000) when
6001         the dividend is negative and the result is 0 (remainder).
6002
6003 2004-06-03  Sebastien Pouliot  <sebastien@ximian.com>
6004
6005         * Delegate.cs: Fix the NullReferenceException in Combine(Delegate[]).
6006
6007 2004-06-02  Sebastien Pouliot  <sebastien@ximian.com>
6008
6009         * TimeSpan.cs: Fixed overflow issues when delaing with big (days) time
6010         spans. Fixed parsing when only days are presents in the string (which
6011         should be illegal according to the documentation but is supported).
6012
6013 2004-06-01  Sebastien Pouliot  <sebastien@ximian.com>
6014
6015         * TimeSpan.cs: Fixed exceptions in FromXXX methods as they are 
6016         somewhat different from the documentation.
6017
6018 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
6019
6020         * Type.cs: added missing attributes on InvokeMember
6021
6022 2004-06-01  Miguel de Icaza  <miguel@ximian.com>
6023
6024         * String.cs: Flag concat with four arguments internal. 
6025
6026 2004-05-31  Sebastien Pouliot  <sebastien@ximian.com>
6027
6028         * Array.cs: Fixed legal case where value is null.
6029         * Byte.cs: Fixed ToString when format is an empty string (use "G").
6030         * Guid.cs: Renamed private fields (and changed some to signed) to 
6031         match MS implementation and allow serialization to work. Fix 
6032         bug #59113.
6033
6034 2004-05-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6035
6036         * DateTime.cs: adjust milliseconds for fraction specifier ('f').
6037
6038 2004-05-30  Miguel de Icaza  <miguel@ximian.com>
6039
6040         * Console.cs: Remove *again* the version of WriteLine with four
6041         arguments;  That should *not* be added.  
6042
6043         Flag it as internal as people migrate their code.
6044
6045 2004-05-29  Sebastien Pouliot  <sebastien@ximian.com>
6046
6047         * Convert.cs: Fixed ToSByte(string,IFormatProvider) to throw 
6048         ArgumentNullException (only case, all other returns 0). Fixed exception
6049         reporting for hex prefix only strings. Fixed ChangeTo where null could
6050         be misinterpreted between null and Empty.
6051
6052 2004-05-28  Sebastien Pouliot  <sebastien@ximian.com>
6053
6054         * Convert.cs: Fixed integer parsing for special cases (0x, 0X for base
6055         16), non-base 10 negative numbers ... see new unit tests. Fixed the 
6056         case when we parse Int64.MinValue (positive doesn't fit a signed long).
6057
6058 2004-05-28  Jackson Harper  <jackson@ximian.com>
6059
6060         * Environment.cs: Increment version number.
6061         
6062 2004-05-28  Zoltan Varga  <vargaz@freemail.hu>
6063
6064         * AppDomain.cs (Load): Try loading from assemblyRef.CodeBase if exists.
6065         Fixes #59189.
6066
6067 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6068
6069         * DateTime.cs : I reverted my fix by accident :(
6070
6071 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6072
6073         * DateTime.cs :
6074           - In ToString(), Don't use culture-dependent daynames to format
6075             Universal/RFC1123 date/time. Also, use FullDateTimePattern for 'U'.
6076           - Fixed GetDateTimeFormats () that generated incorrect 'U' value 
6077             (since the format string is the same as 'F').
6078
6079 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6080
6081         * DateTime.cs : don't adjust utc value in ToString(). It must output
6082           the same time value, just adding 'Z' for UTC.
6083
6084 2004-05-28  Atsushi Enomoto <atsushi@ximian.com>
6085
6086         * DateTime.cs : in 'Z' case, remove the 'Z' char from input before
6087           proceeding.
6088
6089 2004-05-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6090
6091         * AppDomainSetup.cs: InitAppDomainSetup is not needed now.
6092
6093 2004-05-27  Sebastien Pouliot  <sebastien@ximian.com>
6094
6095         * Byte.cs: Fixed parsing for "-0" which is valid for unsigned types.
6096         * Convert.cs: Convert with a base parameter cannot parse negative 
6097         string numbers, even "-0".
6098         * UInt16.cs: Fixed parsing for "-0" which is valid for unsigned types.
6099         * UInt32.cs: Fixed parsing for "-0" which is valid for unsigned types.
6100         * UInt64.cs: Fixed parsing for "-0" which is valid for unsigned types.
6101
6102 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
6103
6104         * DateTime.cs : 
6105           - Added "yyyy/MM/dd HH:mm:ss 'GMT'" and "yyyy-MM-dd HH:mm:ss 'GMT'"
6106             to common formats (yes, I know it is nothing more than hack)
6107           - Fixed some GetDateTimeFormats() that just returned patterns.
6108           - For InvariantCulture, now try both supported formats and our
6109             predefined formats.
6110           - It was accepting incorrectly extraneous characters. That caused
6111             some UTC/non-UTC bug.
6112           - RFC1123 string should return universal time. Uncomment again (the
6113             problem should went away because of the extra characters fix above.
6114
6115             With some of the changes above, fixed bug #47720.
6116
6117 2004-05-27  Atsushi Enomoto <atsushi@ximian.com>
6118
6119         * DateTime.cs : quick revert 'Z' support for certificate verifications.
6120
6121 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
6122
6123         * Array.cs: Removed duplicate condition if LastIndexOf.
6124
6125 2004-05-26  Atsushi Enomoto <atsushi@ximian.com>
6126
6127         * DateTime.cs :
6128           - Added "yyyy-MM-dd HH:mm:ss" to "compatible patterns".
6129             (Fixed bug #58938.)
6130           - As a quick remedy to accept more patterns, Parse() now also tries
6131             InvariantInfo patterns (this is because we have no more than one
6132             pattern for each pattern component.)
6133           - In _DoParse(), 'Z' should not be read as timezone specifier. Some
6134             culture uses 'Z' as AM/PM designer, and it should be recognized as
6135             part of the UTCpattern (if it actually UTC pattern for the culture
6136             contains 'Z').
6137
6138 2004-05-26  Gert Driesen (drieseng@users.sourceforge.net)
6139
6140         * MonoCustomAttrs.cs: Fixed issue with AllowMultiple, as MS
6141         seems to allow multiple attributes with AllowMultiple at
6142         runtime.
6143
6144 2004-05-26  Sebastien Pouliot  <sebastien@ximian.com>
6145
6146         * Byte.cs: Throw an OverflowException for negative numbers.
6147         * Convert.cs: Accept 0x and 0X as prefix when parsing base16 strings.
6148         * Environment.cs: Bumped mono_corlib_version to 20 (rng interface).
6149
6150 2004-05-25  Sebastien Pouliot  <sebastien@ximian.com>
6151
6152         * Array.cs: Fixed possible integer overflow.
6153         * BitConverter.cs: Fixed a possible integer overflow in ToString.
6154         * Guid.cs: Added an internal method to create a random Guid without
6155         using CryptoConfig (which is heavy on first use). This is only used
6156         in S.R.E.ModuleBuilder to speedup MCS compilation.
6157         * String.cs: Fixed reported exception for PadLeft|Right. Fixed 
6158         possible integer overflow in methods that takes index and count
6159         as parameters.
6160
6161 2004-05-25  Zoltan Varga  <vargaz@freemail.hu>
6162
6163         * String.cs: Add new Strcpy icalls which take a char array as 
6164         parameter.
6165
6166 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
6167
6168         * DateTime.cs : added more invariant format patterns. This should
6169           really fix bug #57656.
6170
6171 2004-05-25 14:14 CET Patrik Torstensson <totte@hiddenpeaks.com>
6172
6173         * BitConverter.cs (ToBoolean): Return true or false instead
6174         of unsafe returing byte as bool. Fixes bug #58874.
6175
6176 2004-05-25  Atsushi Enomoto <atsushi@ximian.com>
6177
6178         * DateTime.cs : In ToString(string, IFormatProvider), use "G" if
6179           string format argument is null.
6180
6181 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
6182
6183         * Version.cs: Rename of data fields to match those in Microsoft.NET.
6184           Patch by PAF@design.ru.
6185
6186 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6187
6188         * DateTime.cs: allow double quotes in the formats. Don't set
6189         next_not_digit to true in presence of single or double quotes. Patch by
6190         Martin Probst.
6191
6192 2004-05-24  Zoltan Varga  <vargaz@freemail.hu>
6193
6194         * AppDomainSetup.cs (InitAppDomainSetup): This one returns void.
6195
6196 2004-05-23  Sebastien Pouliot  <sebastien@ximian.com>
6197
6198         * Array.cs: Fixed exception when we try to Clear outside bounds.
6199         * Boolean.cs: Fixed Equals for True!=True (see bugzilla #58874).
6200         * BitConverter.cs: Fixed negative index and integer overflow in
6201         To... methods.
6202         * Buffer.cs: Fixed integer overflow in BlockCopy.
6203
6204 2004-05-22  Sebastien Pouliot  <sebastien@ximian.com>
6205
6206         * Array.cs: Clear can now work on multidimentional arrays.
6207         * IntPtr.cs: We now only accept 32bits values in the long constructor
6208         unless we're on a 64 bits machine.
6209         * UIntPtr.cs: We now only accept 32bits unsigned values in the ulong 
6210         constructor unless we're on a 64 bits machine.
6211
6212 2004-05-22  Duncan Mak  <duncan@ximian.com>
6213
6214         * Convert.cs: The file was mostly in DOS endings already, for the
6215         sake of consistency, converted it all to DOS endings.
6216         (ToType): When value is null, immediately return null and don't
6217         ever throw a NullReferenceException. When conversionType is null,
6218         throw an InvalidCastException. Give a better error message when
6219         attempting to convert to a DBNull as well.
6220
6221 2004-05-21  Sebastien Pouliot  <sebastien@ximian.com>
6222
6223         * Decimal.cs: Fixed To... methods that needs to trunk the integer part
6224         of Decimal (and not use the banker's rounding like Convert.To...).
6225         * Single.cs: Fixed CompareTo and Equals (copied fix from Double) wrt
6226         to NaN compares (see new unit tests).
6227
6228 2004-05-20  Sebastien Pouliot  <sebastien@ximian.com>
6229
6230         * Convert.cs: Added checks for integer overflow for From|ToBase64Char.
6231         Also fixed the case where wide (16 bits) characters were converted to 
6232         bytes.
6233
6234 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6235
6236         * ThreadStaticAttribute.cs
6237         * ContextStaticAttribute.cs
6238         * FlagsAttribute.cs
6239         * ObsoleteAttribute.cs : now that Inherited is false by
6240         default on AttributeUsageAttribute (as it should be) we
6241         need to explicitly set Inherited to false for those
6242         attributes should it be be false.
6243
6244 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6245
6246         * AttributeUsageAttribute.cs: Inherited property should be
6247         true by defaultrs.cs: respect Inherited property, and
6248
6249 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6250
6251         * MonoCustomAttrs.cs: respect Inherited property, and
6252         AllowMultiple property of a CustomAttribute. This fixes
6253         a major issue we had with respect to custom attributes.
6254
6255 2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
6256
6257         * MonoType.cs: throw ArgumentNullException when type parameter in
6258         GetCustomAttributes(Type, bool) is null
6259
6260 2004-05-18  Sebastien Pouliot  <sebastien@ximian.com>
6261
6262         * Buffer.cs: Added checks for null source and destination. Fix failing
6263         CryptoStream unit test.
6264         * Guid.cs: Fixed thread-safety issue. Simplified implementation to use
6265         pseudo-random numbers to generate GUIDs (as per section 3.4 of the 
6266         spec). This removes the TODO to get the computer MAC address and
6267         the chances to get a duplicate GUID (across different machines).
6268
6269 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6270
6271         * TimeSpan.cs: Only catch expected exceptions, if we get other exceptions
6272           than OverflowExceptions then something went wrong internally
6273
6274 2004-05-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6275
6276         * Char.cs: Fix long standing bug with ToLower/ToUpper not being
6277           culture - sensitive
6278
6279 2004-05-14  Zoltan Varga  <vargaz@freemail.hu>
6280
6281         * Buffer.cs: Optimize BlockCopy.
6282
6283         * Environment.cs: Bump corlib version.
6284
6285 2004-05-14  Atsushi Enomoto <atsushi@ximian.com>
6286
6287         * __ComObject.cs : This class is not regarded as CLSCompliant by csc.
6288           See also bug #58478.
6289
6290 2004-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6291
6292         * AppDomainSetup.cs: don't throw an exception if dynamic_base has not
6293         been set. Just return null as MS. Fixes bug #58120.
6294
6295 2004-05-14  Marek Safar  <marek.safar@seznam.cz>
6296
6297         * Boolean.cs, Byte.cs, Char.cs, DBNull.cs, DateTime.cs,
6298           Decimal.cs, Double.cs, Enum.cs, Int16.cs, Int32.cs,
6299           Int64.cs, IntegerFormatter.cs, SByte.cs, Single.cs,
6300           String.cs, UInt16.cs, UInt32.cs, UInt64.cs: Removed
6301           useless [CLSCompliant (false)]
6302
6303
6304 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
6305
6306         * __ComObject.cs: To please corcompare (no implementation).
6307
6308 2004-05-13  Zoltan Varga  <vargaz@freemail.hu>
6309
6310         * Environment.cs: Bump corlib version.
6311
6312 2004-05-13  Sebastien Pouliot  <sebastien@ximian.com>
6313
6314         * Environement.cs: Removed two security attributes for CurrentDirectory
6315         that weren't documented (and anyway we don't support them).
6316
6317 2004-05-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6318
6319         * Char.cs: Fix exceptions
6320
6321 2004-05-11  Lluis Sanchez Gual  <lluis@ximian.com>
6322
6323         * MissingMemberException.cs: Fix in serialization constructor.
6324
6325 2004-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6326
6327         * Environment.cs: GetGacPath return value is resolved at runtime on
6328         windows.
6329
6330 2004-05-07  Sebastien Pouliot  <sebastien@ximian.com>
6331  
6332         * Convert.cs: ToBase64CharArray method was depending on a bug in 
6333         S.S.C.ToBase64Transform class to work. Added an internal method to 
6334         provide the same functionality (multiple block processing).
6335
6336 2004-05-06  Jackson Harper  <jackson@ximian.com>
6337
6338         * Environment.cs: Make $HOME the personal directory.
6339
6340 2004-05-06  Sebastien Pouliot  <sebastien@ximian.com>
6341  
6342         * Convert.cs: ToBase64String method was depending on a bug in 
6343         S.S.C.ToBase64Transform class to work. Added an internal method to 
6344         provide the same functionality (multiple block processing).
6345
6346 2004-05-05  Sebastien Pouliot  <sebastien@ximian.com>
6347  
6348         * Environment.cs: Completed OSVersion property.
6349         * Version.cs: Added internal CreateFromString() to "try" to build the
6350         best version number form the specified string.
6351  
6352 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6353
6354         * TimeSpan.cs: Redid a lot of stuff in TimeSpan from scratch.
6355           Fixes several potential bugs and makes things way faster.
6356
6357 2004-05-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6358
6359         * TimeSpan.cs: Formatting changes
6360
6361 2004-04-29 Ben Maurer  <bmaurer@users.sourceforge.net>
6362
6363         * Activator.cs: change _flags to a const.
6364         * IntegerFormatter.cs: make tables readonly.
6365         * Convert.cs: tables readonly
6366         * DateTime.cs: ditto.
6367         * IntPtr.cs: avoid a cctor.
6368
6369 2004-04-29  Jackson Harper  <jackson@ximian.com>
6370
6371         * MonoType.cs: 
6372         * Type.cs: NET_2_0 now instead of 1_2. 
6373         
6374 2004-04-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6375
6376         * Environment.cs: implemented GetLogicalDrives.
6377
6378 2004-04-28  Miguel de Icaza  <miguel@ximian.com>
6379
6380         * Applied patch from Atsushi Enomoto that allows Synchronized
6381         writers to have a `dont close' flag, this fixes 52094
6382
6383 2004-04-29  Lluis Sanchez Gual  <lluis@ximian.com>
6384
6385         * MonoCustomAttrs.cs, MonoType.cs: Property.GetGetMethod() does not
6386         return the method if it is private (it did until now because of a
6387         bug). Make sure it works as it worked before the fix.
6388         * Type.cs: Implemented FilterAttribute delegate.
6389
6390 2004-04-28  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6391
6392         * IntegerFormatter.cs: Prevent the use of the explicit static constuctor
6393
6394 2004-04-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6395
6396         * IntegerFormatter.cs: Made functions internal (needed by other patches)
6397
6398 2004-04-27  Lluis Sanchez Gual  <lluis@ximian.com>
6399
6400         * DateTime.cs: TODO cleaning.
6401         * Delegate.cs: GetObjectData should be virtual.
6402         * IntegerFormatter.cs: Method factorization. I don't want to fix bugs in
6403           30 methods almost identical.
6404         * MulticastDelegate.cs: Implemented GetObjectData.
6405         
6406 2004-04-26  Jackson Harper  <jackson@ximian.com>
6407
6408         * Environment.cs: Things going bump in the night.
6409
6410 2004-04-25  Miguel de Icaza  <miguel@ximian.com>
6411
6412         * Convert.cs (toBase64Transform): Make private.
6413
6414 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6415
6416         * Convert.cs:
6417         * Decimal.cs:
6418         * DecimalFormatter.cs:
6419         * FloatingPointFormatter.cs: Call invariant Char functions
6420         * Guid.cs: Call invariant Char and String functions
6421         * String.cs: Call invariant Char functions
6422
6423 2004-04-25  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6424
6425         * String.cs: Refactored the Invariant ToXXX into its own internal methods
6426           so they are directly callable within corlib (can prevent early
6427           construction of CultureInfo, InvariantCulture and related classes)
6428
6429 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6430
6431         * String.cs: Managed impl. of Invariant parts of ToLower, ToUpper
6432         * Char.cs: Managed impl. of Invariant parts of ToLower, ToUpper
6433
6434 2004-04-24  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6435
6436         * String.cs: Check for null values
6437
6438 2004-04-23  Peter Bartok <pbartok@novell.com>
6439
6440         * Environment.cs: GetLogicalDrives now returns "/" instead of null. Gonzalo
6441           will do a better fix in the future, but this way apps can at least use it.
6442
6443 2004-04-23  Sebastien Pouliot  <sebastien@ximian.com>
6444
6445         * Environment.cs: Better support for GetFolderPath (same results as MS 
6446           on Windows).
6447
6448 2004-04-22  Lluis Sanchez Gual  <lluis@ximian.com>
6449
6450         * Activator.cs: Removed TODOs for finished methods.
6451         * AppDomainSetup.cs: When setting a relative path to ApplicationBase, it
6452           must be relative to the current directory, not the temp directory.
6453           Implemented DynamicBase.
6454         * Convert.cs: No need to create a ToBase64Transform instance at every call
6455           to ToBase64CharArray.
6456         * DateTime.cs: Implemented missing methods FromFileTimeUtc and 
6457           ToFileTimeUtc.
6458         * Decimal.cs: Implemented FromOACurrency and ToOACurrency.
6459         * Delegate.cs: Removed class TODO.
6460         * IntegerFormatter.cs: Use Char.IsLetter and Char.IsDigit instead of ad-hoc
6461           methods.
6462         * Type.cs: Removed TODOs for things already implemented.
6463         
6464 2004-04-21  Lluis Sanchez Gual  <lluis@ximian.com>
6465
6466         * Char.cs: Implemented culture-dependent ToLower and ToUpper methods.
6467         * MulticastDelegate.cs: Removed unused code.
6468
6469 2004-04-19  Lluis Sanchez Gual  <lluis@ximian.com>
6470
6471         * AppDomain.cs: Implemented DynamicDirectory and SetDynamicBase.
6472         * Array.cs: Removed some TODOs in CreateInstance and IndexOf.
6473         * BadImageFormatException.cs: TODO reformat.
6474         * DateTime.cs: Implemented GetDateTimeFormats and GetDateTimeFormats.
6475         * DelegateSerializationHolder.cs: Made class internal.
6476         * Enum.cs: Removed TODO for localization, since this is something that has
6477           to be done for all classes.
6478         * Environment.cs: Removed TODO.
6479         * Exception.cs: Changed ToString to use StringBuilder.
6480         * MonoDummy.cs: Made class internal.
6481         * UnitySerializationHolder.cs: Added support for modules.
6482
6483 2004-04-16  David Sheldon <dave-mono@earth.li>
6484
6485         * DecimalFormatter.cs: Don't append a decimal point after the
6486           end of a number. ((decimal)1).ToString("P0") should be "100 %", not
6487           "100. %"
6488
6489 2004-04-09  Miguel de Icaza  <miguel@ximian.com>
6490
6491         * OutOfMemoryException.cs: Removed the call to Locale.GetText from
6492           this.
6493
6494 2004-04-10  Gert Driesen (drieseng@users.sourceforge.net)
6495
6496         * MonoDummy.cs: added MonoTODO to make sure we remove this class
6497           when its no longer needed
6498
6499 2004-04-09  David Sheldon <dave-mono@earth.li>
6500
6501         * Convert.cs: Allow + signs in strings for ToInt32, and
6502           - if it is base 10.
6503
6504 2004-04-08  Atsushi Enomoto  <atsushi@ximian.com>
6505
6506         * Nullable.cs : usingdecl should also be conditional.
6507
6508 2004-04-07  Martin Baulig  <martin@ximian.com>
6509
6510         * Nullable.cs: New file.
6511
6512 2004-04-07  Martin Baulig  <martin@ximian.com>
6513
6514         * Type.cs (Type.GetGenericArguments): Make this abstract.
6515
6516 2004-04-07  Jackson Harper  <jackson@ximian.com>
6517
6518         * Environment.cs: Increase corlib version number.
6519         
6520 2004-04-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6521
6522         * Environment.cs:
6523         (ExpandEnvironmentVariables): on windows, env. vars. are case
6524         insensitive.
6525
6526 2004-04-06  Sebastien Pouliot  <sebastien@ximian.com>
6527
6528         * AppDomain.cs: Added static to [ThreadStatic] _principal field. 
6529         Removed [ThreadStatic] for _principalPolicy (not required).
6530
6531 2004-04-06  Miguel de Icaza  <miguel@ximian.com>
6532
6533         * Guid.cs: Flag as Sequential.
6534
6535 2004-04-02  Dick Porter  <dick@ximian.com>
6536
6537         * String.cs: More sanity checks in Replace().  Fixes bug 55822.
6538
6539 2004-04-02  Sebastien Pouliot  <sebastien@ximian.com>
6540
6541         * Environment.cs: Implement ExpandEnvironmentVariables static method.
6542         Now call the runtime to get the username (fix #56144).
6543
6544 2004-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6545
6546         * MonoType.cs: AssemblyQualifiedName now displays culture, version...
6547         Fixes bug #56341.
6548
6549 2004-03-29  Miguel de Icaza  <miguel@ximian.com>
6550
6551         * Console.cs: If we fail to open stdin/stdout/stderr, create
6552         readers with a NullStream.  This can happen if our caller does not
6553         setup stdin/stoud/stderr file handles.  #56158 exposed this, but
6554         it will happen elsewhere.
6555
6556 2004-03-29  Lluis Sanchez Gual <lluis@ximian.com>
6557
6558         * Convert.cs: In ToSingle(double), removed checks for Single.MaxValue
6559         and Single.MinValue. MS.NET don't do it. This fixes bug #56005.
6560         * Guid.cs: Added support for guid strings in the "N" and "P" formats in
6561           the constructor. This fixes bug #54019.
6562
6563 2004-03-23  Lluis Sanchez Gual <lluis@ximian.com>
6564
6565         * FloatingPointFormatter.cs: Made the class thread safe. Had to move some
6566           internal variables to structures that are moved around methods.
6567           Factorized some common formatting code into FormatNumberInternal.
6568           
6569 2004-03-23  Dick Porter  <dick@ximian.com>
6570
6571         * DateTime.cs: Allow any character for DateSeparator when parsing,
6572         except TimeSeparator, a digit or a letter.  Fixes bug 54047.  Also
6573         deleted the previous fix for 54721, because this covers it too.
6574         
6575 2004-03-23  Dick Porter  <dick@ximian.com>
6576
6577         * DateTime.cs: Check the date string for too many digits when
6578         parsing.  Fixes bugs 53023 and 53025.
6579
6580 2004-03-22  Dick Porter  <dick@ximian.com>
6581
6582         * String.cs: Use the provider when converting strings to other
6583         types.
6584
6585         * DateTime.cs: Add MM-dd-yyyy to the list of standard date parsing
6586         formats.  Fixes bug 54721.
6587
6588 2004-03-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6589
6590         * Console.cs: Styled, optimized calls
6591         * CrossAppDomainDelegate.cs: Small header fix
6592         * Buffer.cs: Style, improve errors
6593         * BitConverter.cs: Style, improve errors, remove obsolete comment
6594         * Attribute.cs: Style, improve errors, small fix
6595         * Array.cs: Style, improve errors, small fix, added TODOs
6596         * Activator.cs: Style, localized errors, added error checks
6597         * Byte.cs: Style, localized errors, fixed wrong exception parameters
6598         * Char.cs: Style
6599         * Boolean.cs: Style
6600         * AppDomainSetup.cs: Style
6601         * AppDomain.cs: Style, implemented two methods (redirect)
6602
6603 2004-03-21  Jackson Harper  <jackson@ximian.com>
6604
6605         * FloatingPointFormatter.cs: Set precision from number format info
6606         when it is not specified. This fixes bug #54983.
6607         
6608 2004-03-18  Nick Drochak <ndrochak@ieee.org>
6609
6610         * Math.cs: Use IsNaN() method not "x == NaN".
6611
6612 2004-03-16  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6613
6614         * EntryPointNotFoundException.cs
6615         * DuplicateWaitObjectException.cs
6616         * DllNotFoundException.cs
6617         * DivideByZeroException.cs
6618         * ContextMarshalException.cs
6619         * CannotUnloadAppDomainException.cs
6620         * BadImageFormatException.cs
6621         * ArrayTypeMismatchException.cs
6622         * ArithmeticException.cs
6623         * ArgumentOutOfRangeException.cs
6624         * ArgumentNullException.cs
6625         * ArgumentException.cs
6626         * ApplicationException.cs
6627         * AppDomainUnloadedException.cs: Added missing HResult overrides
6628
6629         * BadImageFormatException.cs: Improved/ Fixed implementation
6630
6631 2004-03-15  Sebastien Pouliot  <sebastien@ximian.com>
6632
6633         * Random.cs: Corrected random value when Next is called with a 
6634         negative value. Testing indictae that our results aren't exactly the 
6635         same as MS, we have a +/- 1 (probably rounding errors due to 
6636         different implementation).
6637
6638 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6639
6640         * Environment.cs: updated corlib version.
6641
6642 2004-03-15  Lluis Sanchez Gual <lluis@ximian.com>
6643
6644         * Boolean.cs, Byte.cs, Char.cs, Double.cs, Int16.cs, Int32.cs, Int64.cs,
6645           SByte.cs, Single.cs, UInt16.cs, UInt32.cs, UInt64.cs: Renamed internal
6646           field "value" to "m_value", so it is interoperable with MS.NET when 
6647           serializing and deserializing data. Based on the patch from Daniel
6648           Keep.
6649
6650 2004-03-14  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6651
6652         * TypeInitializationException.cs
6653         * SystemException.cs
6654         * StackOverflowException.cs
6655         * RankException.cs
6656         * OverflowExceptionException.cs
6657         * OutOfMemoryException.cs
6658         * NullReferenceException.cs
6659         * NotSupportedException.cs
6660         * NotFiniteNumberException.cs
6661         * InvalidOperationException.cs
6662         * InvalidCastException.cs
6663         * IndexOutOfRangeException.cs
6664         * FormatException.cs
6665         * ExecutionEngineException.cs: improved parameter names
6666
6667 2004-03-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6668
6669         * Enum.cs
6670         * EntryPointNotFoundException.cs
6671         * DuplicateWaitObjectException.cs
6672         * DoubleFormatter.cs
6673         * DllNotFoundException.cs
6674         * DivideByZeroException.cs
6675         * DelegateSerializationHolder.cs
6676         * Delegate.cs
6677         * DBNull.cs
6678         * ContextStaticAttribute.cs
6679         * ContextMarshalException.cs
6680         * ContextBoundObject.cs
6681         * CLSCompliantAttribute.cs
6682         * CharEnumerator.cs
6683         * CannotUnloadAppDomainException.cs
6684         * BadImageFormatException.cs
6685         * AttributeUsageAttribute.cs
6686         * AttributeTargets.cs
6687         * AsyncCallback.cs
6688         * AssemblyLoadEventHandler.cs
6689         * AssemblyLoadEventArgs.cs
6690         * ArrayTypeMismatchException.cs
6691         * ArithmeticException.cs
6692         * ArgumentOutOfRangeException.cs
6693         * ArgumentNullException.cs
6694         * ArgumentException.cs
6695         * ArgIterator.cs
6696         * ApplicationException.cs
6697         * AppDomainUnloadedException.cs
6698         * AppDomain.cs: Mono styled, fixed exceptions/ locales
6699           removed excess usings
6700
6701 2004-03-10  Sebastien Pouliot  <sebastien@ximian.com>
6702
6703         * Convert.cs: FromBase64 now ignore some characters (tab, LF, CR and
6704         spaces) which fixed #54939. Changed the way that the length is 
6705         validated (multiple of 4) because the ignored characters must not be
6706         included in the count.
6707
6708 2004-03-10  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6709
6710         * String.cs: Monostyled
6711
6712 2004-03-09  Jackson Harper  <jackson@ximian.com>
6713
6714         * Char.cs: Only use a byte for numeric data.
6715         
6716 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6717
6718         * TypedReference.cs: Added missing Attributes
6719         * ParamArrayAttribute.cs: Small style fix
6720         * OperatingSystem.cs: Added .Net 1.1 member
6721
6722 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6723
6724         * FieldAccessException.cs
6725         * FormatException.cs
6726         * InvalidCastException.cs
6727         * InvalidOperationException.cs
6728         * MemberAccessException.cs
6729         * MethodAccessException.cs
6730         * MissingFieldException.cs: Locale strings
6731         * MissingMemberException.cs: Locale strings
6732         * MissingMethodException.cs: Locale strings
6733         * NotFiniteNumberException.cs
6734         * NotImplementedException.cs
6735         * NotSupportedException.cs
6736         * NullReferenceException.cs
6737         * ObjectDisposedException.cs
6738         * OutOfMemoryException.cs
6739         * OverflowExceptionException.cs
6740         * PlatformNotSupportedException.cs
6741         * RankException.cs: Added missing HResult overrides
6742
6743 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6744
6745         * RuntimeTypeHandle.cs
6746         * RuntimeMethodHandle.cs
6747         * RuntimeFieldHandle.cs: Implemented serialization (partially untested)
6748
6749 2004-03-09  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6750
6751         * EventArgs.cs
6752         * Exception.cs
6753         * ExecutionEngineException.cs
6754         * FieldAccessException.cs
6755         * FormatException.cs
6756         * GC.cs
6757         * Guid.cs
6758         * IndexOutOfRangeException.cs
6759         * IntPtr.cs
6760         * InvalidCastException.cs
6761         * InvalidOperationException.cs
6762         * InvalidProgramException.cs
6763         * IServiceProvider.cs
6764         * LoaderOptimization.cs
6765         * LoaderOptimizationAttribute.cs
6766         * MarshalByRefObject.cs
6767         * Math.cs
6768         * MemberAccessException.cs
6769         * MethodAccessException.cs
6770         * MissingFieldException.cs
6771         * MissingMemberException.cs
6772         * MissingMethodException.cs
6773         * MultiCastDelegate.cs
6774         * MulticastNotSupportedException.cs
6775         * NonSerializedAttribute.cs
6776         * NotFiniteNumberException.cs
6777         * NotImplementedException.cs
6778         * NotSupportedException.cs
6779         * NullReferenceException.cs
6780         * ObjectDisposedException.cs
6781         * ObsoleteAttribute.cs
6782         * OperatingSystem.cs
6783         * OutOfMemoryException.cs
6784         * OverflowExceptionException.cs
6785         * PlatformID.cs
6786         * PlatformNotSupportedException.cs
6787         * Random.cs
6788         * RankException.cs
6789         * ResolveEventArgs.cs
6790         * ResolveEventHandler.cs
6791         * RuntimeFieldHandle.cs
6792         * RuntimeMethodHandle.cs
6793         * RuntimeTypeHandle.cs: Mono styled, fixed exceptions/ locales
6794           removed excess usings
6795
6796 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6797
6798         * SystemException.cs: Exceptions set the HResult
6799         * TypeLoadException.cs: Exceptions set the HResult, fixed wrong exception usage
6800         * SByte.cs: Implemented two missing methods, fix wrong parameters for ArgumentNullException
6801
6802 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6803
6804         * TypedReference.cs
6805         * TypeLoadException.cs
6806         * TypeInitializationException.cs
6807         * TypeCode.cs
6808         * TimeZone.cs
6809         * ThreadStaticAttribute.cs
6810         * SystemException.cs
6811         * STAThreadAttribute.cs
6812         * StackOverflowException.cs
6813         * SingleFormatter.cs
6814         * Single.cs
6815         * SerializableAttribute.cs: Mono styled, fixed exceptions/ locales
6816           removed excess usings
6817
6818 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6819
6820         * UnauthorizedAccessException.cs: Exceptions set the HResult
6821         * UInt64.cs: Implemented two missing methods
6822         * UInt32.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6823         * UInt16.cs: Fix wrong parameters for ArgumentNullException, simpler convert
6824
6825 2004-03-08  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6826
6827         * WeakReference.cs
6828         * Void.cs
6829         * Version.cs
6830         * ValueType.cs
6831         * UnitySerializationHolder.cs
6832         * UnhandledExceptionEventHandler.cs
6833         * UnauthorizedAccessException.cs
6834         * UIntPtr.cs
6835         * UInt64.cs
6836         * UInt32.cs
6837         * UInt16.cs: Mono styled, Locale.GetText fixes, msg fixes
6838
6839 2004-03-04  Lluis Sanchez Gual <lluis@ximian.com>
6840
6841         * Environment.cs: Bump corlib version.
6842
6843 2004-03-04  Jackson Harper  <jackson@ximian.com>
6844
6845         * Char.cs: New managed implementation. Modified patch by Andreas Nahr.
6846         
6847 2004-02-27  Lluis Sanchez Gual <lluis@ximian.com>
6848
6849         * String.cs: Concat() fixed crash when one of the arguments is an object
6850           whose ToString() method returns null.
6851         * TypeLoadException.cs: Added some serialization fiels, needed for
6852           compatibility with MS.NET.
6853
6854 2004-02-23 Ben Maurer  <bmaurer@users.sourceforge.net>
6855
6856         * String.cs (Equals): Speed up this method by avoiding Array
6857          Bounds Checks and by comparing by 32 bit words rather than 16 bit chars.
6858
6859         This gives between 0x (for 1 char) and >2x (for large strings)
6860         factor of improvement.
6861
6862         A big thanks to Miguel, who suggested the integer compares.
6863
6864 2004-02-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6865
6866         * MonoType.cs: use the binder in GetPropertyImpl.
6867
6868 2004-02-22  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
6869
6870         * Math.cs: MonoStyled, replaced space with tabs,
6871           speedup of some methods by avoiding method calls
6872
6873 2004-02-18  Atsushi Enomoto  <atsushi@ximian.com>
6874
6875         * Char.cs : optimized IsSeparator(), IsWhiteSpace() and IsDigit().
6876           (Moved from InternalCall to Managed code).
6877
6878 2004-02-17  Martin Baulig  <martin@ximian.com>
6879
6880         * MonoType.cs (GetConstructors): Renamed the interncall to
6881         GetConstructors_internal(), made it internal and added a `Type
6882         reflected_type' argument to it.
6883         (GetEvents, GetFields): Likewise.
6884         (GetMethodsByName): Added `Type reflected_type' argument.
6885         (GetPropertiesByName): Likewise.
6886
6887 2004-02-16  Jackson Harper  <jackson@ximian.com>
6888
6889         * FloatingPointFormater.cs: Allow precision to be up to the number
6890         of decimals without rounding.
6891         
6892 2004-02-14  Zoltan Varga  <vargaz@freemail.hu>
6893
6894         * Delegate.cs (Equals): Do not compare method_ptr, since it might
6895         point to a trampoline.
6896
6897 2004-02-12  Jackson Harper  <jackson@ximian.com>
6898
6899         * AppDomainSetup.cs: If relative paths are used they should be
6900         rooted in the temp directory.
6901         
6902 2004-02-11  Marek Safar  <marek.safar@seznam.cz>
6903
6904         * Type.cs (FilterNameIgnoreCase_impl): Added extra check for speedup.
6905
6906 2004-02-10  Zoltan Varga  <vargaz@freemail.hu>
6907
6908         * AppDomain.cs (Load): Check that assemblyRef.Name is not empty, to
6909         avoid an assert in the runtime.
6910
6911 2004-02-08  Duncan Mak  <duncan@ximian.com>
6912
6913         * Convert.cs (ToType): Always let a Convert.ChangeType call
6914         succeed if the source object is already of the destination type.
6915
6916         Patch by Ian MacLean (ianm@activestate.com).
6917
6918 2004-02-05  Sebastien Pouliot  <sebastien@ximian.com>
6919
6920         * AppDomain.cs: Implemented SetPrincipalPolicy and SetThreadPrincipal.
6921
6922 2004-02-02  Zoltan Varga  <vargaz@freemail.hu>
6923
6924         * Environment.cs: Bump corlib version.
6925
6926 2004-02-02  Sebastien Pouliot  <sebastien@ximian.ca>
6927
6928         * DateTime.cs: Corrected support for "Z" in the mask (Parse). This
6929         fix bug #53461.
6930
6931 2004-01-27  Sebastien Pouliot  <spouliot@videotron.ca>
6932
6933         * Exception.cs: Changed ToString to remove the \n when no stack trace
6934         is present (which fixed a unit test for SecurityException). Changed
6935         all \n to Environment.NewLine.
6936
6937 2004-01-27  Lluis Sanchez Gual <lluis@ximian.com>
6938
6939         * ContextBoundObject.cs: Removed TODO.
6940
6941 2004-01-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6942
6943         * TimeSpan.cs: fixed bug #52075. Days (int) don't rely on TotalDays
6944         (double), which might round up.
6945
6946 2004-01-19  Jackson Harper <jackson@ximian.com>
6947
6948         * FloatingPointFormatter.cs: Use the default decimal digits count
6949         if they are not specified. This fixes bug #52927.
6950         
6951 2004-01-19  Zoltan Varga  <vargaz@freemail.hu>
6952
6953         * Environment.cs: Bump version number.
6954
6955 2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>
6956
6957         * Type.cs: Added internal call for IsInstanceOfType. The old implementation
6958         uses IsAssignableFrom(o.GetType()), which is not always valid for 
6959         transparent proxies (because GetType will not return the type of the remote
6960         object if its assembly is not present).
6961
6962 2004-01-18  David Sheldon <dave-mono@earth.li>
6963
6964   * FloatingPointFormatter.cs: Skip the decimal point if we have an 
6965     integer mantassa. So: 1E+15, rather than 1.E+15.
6966
6967 2004-01-18  David Sheldon <dave-mono@earth.li>
6968
6969         * Array.cs (GetValue/SetValue): Throw NullRef exception like .NET 1.1, 
6970         even though docs say it should be an ArgumentNull. Two test cases now
6971   pass. See also nickd's commit of 2003-12-24.
6972
6973 2004-01-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6974
6975         * Environment.cs: increased corlib version.
6976
6977 2004-01-14  Lluis Sanchez Gual <lluis@ximian.com>
6978
6979         * MonoCustomAttrs.cs: Removed attribute cache. Attribute instances can't
6980         be reused because they could be modified. This fixes bug #52655.
6981
6982 2004-01-12  Patrik Torstensson
6983
6984         * Environment.cs: Bump corlib version number due to new StringBuilder
6985         
6986         * String.cs: New internal method to support the new StringBuilder that
6987         uses the string as a buffer (until ToString is called)
6988
6989 2004-01-12  Zoltan Varga  <vargaz@freemail.hu>
6990
6991         * Environment.cs: Bump corlib version number for real this time.
6992         
6993         * AppDomain.cs (LoadAssembly): Pass the assembly name as a string to
6994         the runtime, so it can take into account the Culture etc.
6995
6996         * Environment.cs: Bump corlib version number.
6997         
6998 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
6999
7000         * MonoType.cs: GetMethods renamed to GetMethodsByName. It takes a
7001         new parameter with the method name and a boolean for ignoring case.
7002         Removed some string comparisons no longer needed.
7003
7004 2004-01-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7005
7006         * MonoType.cs: GetProperties renamed to GetPropetiesByName. It takes a
7007         new parameter with the property name and a boolean for ignoring case.
7008         Fixes bug #52753.
7009
7010 2004-01-11  David Sheldon <dave-mono@earth.li>
7011
7012         * DateTime.cs: Correct processing of formats with multiple '-'s, fixing
7013         bug 52274.
7014
7015 2004-01-10  Zoltan Varga  <vargaz@freemail.hu>
7016
7017         * AppDomain.cs: Keep track of type resolve and assembly resolve 
7018         events in progress to prevent infinite recursion.
7019
7020 2004-01-06  Miguel de Icaza  <miguel@ximian.com>
7021
7022         * Console.cs: Test for UTF-8 being present anywhere on the
7023         string, also do ToUpper instead of ToLower, which will work even
7024         around the ICU bug with different locales (#52065), and addresses #52101
7025
7026 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
7027
7028         * Environment.cs: Bump version.
7029
7030 2003-12-24 Ben Maurer  <bmaurer@users.sourceforge.net>
7031
7032         * Type.cs (IsNotPublic): One would normally assume that
7033         IsNotPublic == !IsPublic, but this is not the case (note to MS,
7034         make better names ;-). Fixes #52547, `Type.IsNotPublic not 
7035         correct for Nested types'
7036
7037 2003-12-24  Nick Drochak  <ndrochak@ieee.org>
7038
7039         * Array.cs (CreateInstance): Throw NullRef exception like .NET 1.1, 
7040         even though docs say it should be an ArgumentNull. Sent email to MS
7041         about this "bug".
7042
7043 2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>
7044
7045         * Exception.cs: Several changes to make it compatible with MS.NET (needed
7046         for remoting interoperability): set a default value for hresult, added 
7047         initialization of class_name, serialization field RemoteStackTrace must
7048         be RemoteStackTraceString, added ser. field ExceptionMethod.
7049
7050         * IndexOutOfRangeException.cs: Added serialization constructor.
7051
7052 2003-12-22  Bernie Solomon  <bernard@ugsolutions.com>
7053
7054         * Int32 (Parse):
7055           Int64 (Parse): Fix overflow checking for AllowHexSpecifier
7056
7057 2003-12-20  Zoltan Varga  <vargaz@freemail.hu>
7058
7059         * MonoType.cs (GetMethodImpl): Only call FindMostDerivedMatch if the
7060         user supplied no parameter info, but not when the user supplied an
7061         empty parameter list. This fixes IKVM.
7062
7063         * Environment.cs: Bump corlib version.
7064
7065 2003-12-19  Dick Porter  <dick@ximian.com>
7066
7067         * String.cs: Added Compare shortcut for length==0.
7068
7069 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
7070
7071         * Environment.cs: Bump corlib version.
7072
7073 2003-12-17  Dick Porter  <dick@ximian.com>
7074
7075         * String.cs: Fix StartsWith and EndsWith when the argument is the
7076         empty string.  Fixes bug 52283.
7077
7078 2003-12-16  Zoltan Varga  <vargaz@freemail.hu>
7079
7080         * Environment.cs (HasShutdownStarted): Implement.
7081
7082 2003-12-15  Zoltan Varga  <vargaz@freemail.hu>
7083
7084         * Environment.cs (HasShutdownStarted): Make this static under NET 1.1.
7085         
7086         * Environment.cs: Bump version number.
7087
7088 2003-12-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7089
7090         * DateTime.cs: don't bail out with that year out of range error on
7091         stuff like "MM/dd/yyyy HH:MM:ss".
7092
7093 2003-12-13  Zoltan Varga  <vargaz@freemail.hu>
7094
7095         * Environment.cs: Make it a const instead.
7096         
7097         * Environment.cs: Make version field static.
7098
7099 2003-12-10  Zoltan Varga  <vargaz@freemail.hu>
7100
7101         * Type.cs: Make DefaultBindingFlags protected.
7102
7103         * Environment.cs: Applied patch from Todd Berman (tbermann@gentoo.org).
7104         Add new GacPath property + its associated icall.
7105
7106 2003-12-09 Anirban Bhattacharjee <banirban@novell.com>
7107
7108         * DateTime.cs : Bugs fixed (41845, 51422)
7109         * MonoType.cs : Exception message changed 
7110
7111 2003-12-08  Martin Baulig  <martin@ximian.com>
7112
7113         * Type.cs (MakeByRefType): New public method.
7114
7115 2003-12-08  Zoltan Varga  <vargaz@freemail.hu>
7116
7117         * Environment.cs: Add a version number for the corlib-runtime interface
7118         to make it easier to diagnose problems resulting from a mismatch 
7119         between the two.
7120
7121 2003-12-08  Patrik Torstensson   <p@rxc.se>
7122
7123         * Type.cs (GetMethod): Check type arguments within array
7124         * MonoType.cs (GetMethodImpl): Handle methods with a new slot
7125         (same signature but different classes (derived level)
7126
7127 2003-12-07  Zoltan Varga  <vargaz@freemail.hu>
7128
7129         * Type.cs (MakeArrayType): Add argument checking.
7130
7131 2003-12-06  Dick Porter  <dick@ximian.com>
7132
7133         * String.cs: Don't use CompareInfo for non-culture-sensitive
7134         IndexOf and LastIndexOf methods.
7135
7136 2003-12-06  Ravindra  <rkumar@novell.com>
7137
7138         * DateTime.cs: Made Parse(string, IFormatProvider) method to
7139         use second argument. Fixed bug #51464.
7140
7141 2003-12-04  Martin Baulig  <martin@ximian.com>
7142
7143         * Type.cs (Type.MakeArrayType): New public method.
7144
7145 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7146
7147         * Buffer.cs:
7148         (BlockCopy): make the exception thrown helpful.
7149
7150 2003-12-03  Dick Porter  <dick@ximian.com>
7151
7152         * String.cs: Calling Replace on an empty string returns itself.
7153
7154 2003-12-03  Zoltan Varga  <vargaz@freemail.hu>
7155
7156         * MonoType.cs: Get rid of get_type_info, use a separate icall for
7157         each property instead.
7158
7159 2003-12-02  Dick Porter  <dick@ximian.com>
7160
7161         * Decimal.cs: Fix NumberFormatInfo lookup.  Patch by
7162         Mohammad DAMT (mdamt@cdl2000.com), fixes bug 51443.
7163
7164 2003-12-01  Dick Porter  <dick@ximian.com>
7165
7166         * String.cs: Make Compare, IndexOf, LastIndexOf, StartsWith,
7167         Replace, ToLower, ToUpper and Equals use the correct CultureInfo.
7168
7169 2003-11-28  Dick Porter  <dick@ximian.com>
7170
7171         * Type.cs: 
7172         * MonoType.cs: 
7173         * Enum.cs: 
7174         * Boolean.cs: Do string compares with the Invariant culture.
7175
7176 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
7177
7178         * Array.cs: make the enumerator ICloneable
7179
7180 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
7181
7182         * Decimal.cs (ToXXX): Call Convert.ToXXX.
7183
7184 2003-11-26  Zoltan Varga  <vargaz@freemail.hu>
7185
7186         * AppDomain.cs: Applied patch from ztashev@openlinksw.co.uk (Zdravko Tashev). 
7187         Implement Load(byte[]) methods.
7188
7189         * BadImageFormatException.cs: Fix ToString.
7190
7191 2003-11-24  Zoltan Varga  <vargaz@freemail.hu>
7192
7193         * MonoType.cs: Make Standard|HasThis match Standard in GetMethod and
7194         GetConstructor, as done by MS.
7195
7196 2003-11-19  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
7197
7198         * FloatingPointFormatter.cs: Removed some unused variables to prevent csc compiler warnings
7199
7200 2003-11-18  Lluis Sanchez Gual  <lluis@ximian.com>
7201
7202         * TypeInitializationException.cs: Added missing serialization constructor.
7203
7204 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7205
7206         * AppDomainSetup.cs: Don't add an extra '/' at the end of 
7207         ApplicationBase. The tests pass now with mono.
7208
7209 2003-11-18  Zoltan Varga  <vargaz@freemail.hu>
7210
7211         * ValueType.cs: New optimized implementation for Equals and GetHashCode.
7212
7213 2003-11-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7214
7215         * Environment.cs: use Directory in CurrentDirectory property.
7216         We were not throwing any exception when setting the directory to an
7217         invalid path.
7218
7219 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7220
7221         * Array.cs:
7222         * Delegate.cs: implemented 1.1 stuff.
7223
7224         * Enum.cs:
7225         * IntPtr.cs: removed extra attribute.
7226         * PlatformID.cs: added WinCE.
7227
7228 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7229
7230         * ValueType.cs:
7231         (Equals): compare the fields of structs too.
7232         (GetHashCode): combine the hash code of all the fields.
7233         Fixes bug #50901 (will remove the icall in a couple of days).
7234
7235 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7236
7237         * Array.cs: fixed Clear for non-zero bounded arrays. Fixes bug #50968.
7238
7239 2003-11-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7240
7241         * DateTime.cs: handle century when we try to parse 4-digit years and
7242         only 2 digits are present. Fixes bug #49394.
7243
7244 2003-11-13  Miguel de Icaza  <miguel@ximian.com>
7245
7246         * Console.cs: On utf-8 consoles, use unmarked output.
7247
7248 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
7249
7250         * IAppDomainSetup.cs:
7251         * _AppDomain.cs: 
7252         * Object.cs:
7253         * Type.cs: Added missing attribute
7254
7255 2003-11-12 Lluis Sanchez Gual <lluis@ximian.com>
7256
7257         * Environment.cs: Added internal method for getting the path to 
7258         machine.config.
7259         
7260 2003-11-12 Jackson Harper <jackson@ximian.com>
7261
7262         * Environment.cs: Add MyMusic and MyPictures to the SpecialFolder
7263         enum. This fixes the SWF build.
7264         
7265 2003-11-12  Miguel de Icaza  <miguel@ximian.com>
7266
7267         * PlatformID.cs: Remove Unix platform, we cant expose constants
7268         that are not in the framework.
7269
7270         * OperatingSystem.cs: Adjust for the breakage.
7271
7272         * RuntimeMethodHandle.cs: Fix signature.
7273
7274         * Double.cs: Fix signature of TryParse.
7275
7276         * String.cs (Concat (object, object, object, object)): Add missing method.
7277
7278         * OperatingSystem.cs: Removed Equals, GetHashCode, they were not
7279         in the .NET Framework.
7280
7281         * Enum.cs: Hide constructor.  
7282
7283         Fix ToUint16 to be explicitly implemented.
7284
7285         * Console.cs: Add couple of extra missing methods (Write and
7286         WriteLine overloaded)
7287
7288 2003-11-11  Miguel de Icaza  <miguel@ximian.com>
7289
7290         * AppDomain.cs, Activator.cs: New unimplmented entry points from
7291         1.1 (Com activation related).
7292         
7293         * Exception.cs: Formatting.
7294         
7295         * IServiceProvider.cs: Add ComVisible (true).
7296
7297         * AppDomainSetup.cs: Add a couple more properties from .NET 1.1 
7298
7299 2003-11-03  Lluis Sanchez Gual <lluis@ximian.com>
7300
7301         * AppDomain.cs: Added some null checks in Load methods. This fixes bug
7302           #50356.
7303
7304 2003-11-01  Zoltan Varga  <vargaz@freemail.hu>
7305
7306         * AppDomain.cs: Make the SetDomain icalls private + call InternalInvoke
7307         on MonoMethod instead of Invoke.
7308
7309 2003-11-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7310
7311         * DateTime.cs: Fixed Add* methods handling. Now it works properly
7312         with extreme values (there is a bug with Overflow and Underflow in
7313         long type).
7314
7315 2003-10-31  Pedro Martínez Juliá  <yoros@wanadoo.es>
7316
7317         * DateTime.cs: Fixed a few format bugs.
7318
7319 2003-10-31  Zoltan Varga  <vargaz@freemail.hu>
7320
7321         * AppDomain.cs (InternalPushDomainRef): New icalls.
7322
7323         * AppDomain.cs (InvokeInDomain): New method to execute code in a 
7324         different appdomain.
7325
7326 2003-10-27  Zoltan Varga  <vargaz@freemail.hu>
7327
7328         * AppDomain.cs: Fix prototype of InternalIsFinalizingForUnload.
7329
7330 2003-10-25  Zoltan Varga  <vargaz@freemail.hu>
7331
7332         * AppDomain.cs (IsFinalizingForUnload): Implement.
7333
7334         * AppDomain.cs (Unload): Move the notification of OnUnload listeners
7335         to unmanaged code.
7336
7337 2003-10-25  Martin Baulig  <martin@ximian.com>
7338
7339         * MonoType.cs: Don't make this sealed.
7340
7341 2003-10-24  Zoltan Varga  <vargaz@freemail.hu>
7342
7343         * AppDomain.cs: Add InternalInvokeInDomain[ByID] icalls.
7344
7345 2003-10-24  Pedro Martínez Juliá  <yoros@wanadoo.es>
7346
7347         * DateTime.cs: When handling '-' as a date separator, MS.NET uses
7348         the same symbol in the parse (not DateTimeFormatInfo.DateSeparator).
7349
7350 2003-10-22  Dick Porter  <dick@ximian.com>
7351
7352         * DateTime.cs: Handle '-' as a date separator when parsing formats.
7353
7354 2003-10-20  Duncan Mak  <duncan@ximian.com>
7355
7356         * Delegate.cs (CreateDelegate): Avoid creating an extra Type array
7357         and merge the two iterations into one.
7358
7359 2003-10-15  Zoltan Varga  <vargaz@freemail.hu>
7360
7361         * TypedReference.cs: Add new field used by the runtime.
7362
7363 2003-10-15  Martin Baulig  <martin@ximian.com>
7364
7365         * Type.cs (Type.DeclaringMethod): For a generic method's type
7366         parameter, return this method - otherwise, return null.
7367
7368 2003-10-14  Martin Baulig  <martin@ximian.com>
7369
7370         The generics API has changed in the spec since it was added here;
7371         these modifications make it match the spec again.
7372
7373         * Type.cs
7374         (GetGenericParameters): Renamed to `GetGenericArguments'.
7375         (HasGenericParameters): Renamed to `HasGenericArguments'.
7376         (HasUnboundGenericParameters): Renamed to `ContainsGenericParameters'.
7377         (IsGenericTypeDefinition): New property.
7378         (IsUnboundGenericParameter): Renamed to `IsGenericParameter'.
7379
7380         * MonoType.cs (ContainsGenericParameters): Implement this here;
7381         this is no interncall anymore.
7382
7383 2003-10-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7384
7385         * Delegate.cs: add the method name to the exception when it cannot be
7386         bound.
7387         * Exception.cs: fix nullref in Source.
7388
7389 2003-10-10  Zoltan Varga  <vargaz@freemail.hu>
7390
7391         * Array.cs: Add argument checking to GetValue and SetValue.
7392
7393 2003-10-09  Miguel de Icaza  <miguel@ximian.com>
7394
7395         * DateTime.cs: Patch from Chris Turchin: the DateTime.MaxValue
7396         should not be TimeSpan.MaxValue, because it overflow.  Set this to
7397         be MAX_VALUE_TICKS
7398
7399 2003-10-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7400
7401         * MonoCustomAttrs.cs: from_cache is now thread-safe. Yeah, I got a
7402         duplicate entry exception.
7403
7404 2003-10-08 Ben Maurer  <bmaurer@users.sourceforge.net>
7405
7406         * DateTime.cs (ToString): Total rewrite, fixes #49358.
7407
7408 2003-10-03  Zoltan Varga  <vargaz@freemail.hu>
7409
7410         * AppDomain.cs: Change accessibility of DoTypeResolve to fix build.
7411
7412 2003-10-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7413
7414         * Enum.cs:
7415         (Equals): check that the object is an Enum before comparing the types.
7416
7417 2003-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7418
7419         * Array.cs: reduced xsp allocated memory by 1/2.
7420
7421 2003-09-25  Martin Baulig  <martin@ximian.com>
7422
7423         * Type.cs (Type.IsGenericTypeDefinition): Removed this method
7424         since it was identical to GetGenericTypeDefinition().
7425         (Type.IsGenericInstance): New property.
7426
7427 2003-09-24  Duncan Mak  <duncan@ximian.com>
7428
7429         * Math.cs (Abs): Fix double Locale.GetText bug reported by
7430         davejp@volny.cz. This fixes #48788.
7431
7432 2003-09-14  Pedro Martínez Juliá  <yoros@wanadoo.es>
7433
7434         * FloatingPointFormatter.cs: Add the necessary castings to char
7435         conversions.
7436
7437 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
7438
7439         * FloatingPointFormatter.cs: Make the method calls more functional
7440         for protecting the values from different threads (make it more
7441         thread safe).
7442
7443 2003-09-13  Pedro Martínez Juliá  <yoros@wanadoo.es>
7444
7445         * FloatingPointFormatter.cs: Fix a bug with the negative value of
7446         count parameter.
7447
7448 2003-09-12  Pedro Martínez Juliá  <yoros@wanadoo.es>
7449
7450         * FloatingPointFormatter.cs: Applied a lot of improvements in string
7451         construction, make use of Append/Insert with the "count" parameter.
7452     Thanks to Ben Maurer.
7453
7454 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
7455
7456         * FloatingPointFormatter.cs: Fix a bug with Custm Format.
7457
7458         * FloatingPointFormatter.cs: Fix a little bug I've introduced the
7459         last change.
7460
7461 2003-09-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
7462
7463         * DoubleFormatter.cs: A few optimizations. Now, only one object
7464         is created to convert all double numbers.
7465
7466         * SingleFormatter.cs: A few optimizations. Now, only one object
7467         is created to convert all float numbers.
7468
7469         * FloatingPointFormatter.cs: Split the "number type parameters" from
7470         the "numver value and format parameters". The first ones are in the
7471         constructor and the others are in a method.
7472
7473 2003-09-09  Zoltan Varga  <vargaz@freemail.hu>
7474
7475         * Array.cs: Added argument checking to some NET_1_1 methods.
7476
7477 2003-09-04  Martin Baulig  <martin@ximian.com>
7478
7479         * Type.cs (GetGenericTypeDefinition): Make this method virtual.
7480
7481 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7482
7483         * Array.cs: added the new overloaded CreateInstance, GetValue, SetValue
7484         taking 'longs'. All tests pass.
7485
7486 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
7487
7488         * Exception.cs: Add ClassInterface attr. Implement TargetSite and
7489         Source. Remove MonoTODO attributes (class is 100% done). Also
7490         passes all Rotor tests for Exception!
7491
7492 2003-08-26 Ben Maurer  <bmaurer@users.sourceforge.net>
7493
7494         * Enum.cs: Remove [MonoTODO]'s that had been completed.
7495
7496 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7497
7498         * String.cs: fixed bug #47802.
7499
7500 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
7501
7502         * String.cs: Created method FormatHelper that does formatting,
7503         using a StringBuilder.
7504
7505 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7506
7507         * Array.cs: patch by lb@lb.ods.org that fixes bug #47707.
7508
7509 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7510
7511         * Delegate.cs: CreteDelegate (Type, MethodInfo) only supports static
7512         methods under MS.
7513
7514 2003-08-11  Duncan Mak  <duncan@ximian.com>
7515
7516         * Environment.cs (Version): Return the same numbers as the MS
7517         implementation.
7518
7519 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
7520
7521         * Array.cs: Applied patch from Thong (Tum) Nguyen;  Removed
7522         replicated tests, and have a routine that does the heavy lifting.
7523
7524 2003-08-08  Lluis Sanchez Gual <lluis@ximian.com>
7525
7526         * DateTime.cs: Fixed DoParse. It was calling the wrong constructor
7527           of DateTime.
7528         * Environment.cs: return $HOME for ApplicationData folder.
7529
7530 2003-08-04  Duncan Mak  <duncan@ximian.com>
7531
7532         * FloatingPointFormatter.cs (Normalize): Apply a patch from Aleksey
7533         Demakov <avd@openlinksw.com> to fix formatting for Big power of 10
7534         floating point values. This fixes bug #46175.
7535
7536         * Convert.cs (ToUInt16): Throw an OverflowException correctly, as
7537         noted by c5n4kh6u02@sneakemail.com in
7538         http://bugzilla.ximian.com/show_bug.cgi?id=43098.
7539
7540 Sat Aug  2 13:01:46 BST 2003 Malte Hildingson <malte@amy.udd.htu.se>
7541
7542         * Double.cs: added icall Double.AssertEndianity.
7543
7544 Fri Aug 1 16:47:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
7545
7546         * Type.cs, MonoType.cs: implemented generic-specific methods.
7547
7548 2003-07-29  Miguel de Icaza  <miguel@ximian.com>
7549
7550         * Buffer.cs: Add new internal MemCopy call.
7551
7552         Removed the above.
7553
7554 Tue Jul 29 12:13:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7555
7556         * Type.cs, MonoType.cs, ArgIterator.cs: pass the handles values
7557         to icalls, to avoid special cases in some call conventions.
7558
7559 2003-07-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7560
7561         * Enum.cs: added Serializable attribute.
7562
7563 2003-07-25  Duncan Mak  <duncan@ximian.com>
7564
7565         * AppDomain.cs (Equals):
7566         (GetHashCode): Removed because they do not need to be defined
7567         here.
7568
7569 2003-07-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7570
7571         * TypeLoadException.cs: removed unused fields. TypeName returns "" if
7572         cannot even get the type.
7573
7574 2003-07-24  Miguel de Icaza  <miguel@ximian.com>
7575
7576         * Type.cs: Added generics stubs.
7577
7578 2003-07-23  Duncan Mak  <duncan@ximian.com>
7579
7580         * Environment.cs (SpecialFolder): Added 'Desktop' and 'MyComputer'
7581         as values for NET_1_1.
7582         (GetFolderPath): Return the empty string ("") for values of
7583         SpecialFolder that have no corresponding equivalents in
7584         Linux. Return "$HOME/Desktop" for SpecialFolder.DesktopDirectory
7585         and "$HOME" for SpecialFolder.Personal.
7586
7587         * IntPtr.cs (GetObjectData): Mark it as an interface
7588         implementation, instead of a public method.
7589
7590         * Guid.cs (NewGuid): Remove MonoTODOAttribute.
7591
7592         * TypeLoadException.cs (GetObjectData):
7593         Create stubs for the fields that are being serialized.
7594
7595         * UIntPtr.cs: Removed erroneous CLSCompliantAttributes.
7596
7597 2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>
7598         
7599         * Enum.cs: Fixed enum formatting. For flag enums, if one of
7600           the flags is unnamed, ToString() returns the integer value.
7601
7602 2003-07-22  Jerome Laban <jlaban@wanadoo.fr>
7603
7604         * Guid.cs: Fixed ToString (), was producing incorrect string.
7605
7606 2003-07-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7607
7608         * AppDomainSetup.cs: fixed bug #46609.
7609
7610 Thu Jul 17 17:28:27 CEST 2003 Paolo Molaro <lupus@ximian.com>
7611
7612         * MonoType.cs: use an icall for IsPrimitiveImpl ().
7613
7614 Thu Jul 17 15:23:17 CEST 2003 Paolo Molaro <lupus@ximian.com>
7615
7616         * Guid.cs: faster ToString ().
7617
7618 2003-07-15  Pedro Martínez Juliá  <yoros@wanadoo.es>
7619
7620         * FloatingPointFormatter.cs: Few changes for get working Rotor
7621         tests.
7622
7623 2003-07-13  Zoltan Varga  <vargaz@freemail.hu>
7624
7625         * Type.cs (IsAssignableFrom): Implement this as an icall since the
7626         runtime already includes the neccessary logic.
7627
7628 2003-07-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7629
7630         * AppDomainSetup.cs: remove the "file://" prefix from ApplicationBase
7631         if it's present and get the full path for non-Uri paths.
7632
7633 2003-07-2  Lluis Sanchez Gual <lluis@ximian.com>
7634
7635         * DateTime.cs: Fixed formatting of fractions of second.
7636
7637 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
7638
7639         * Console.cs: Turn off buffering for the streams returned by
7640         OpenStandardOutput () and OpenStandardError () if the buffer size is 0.
7641
7642 2003-06-28  Lluis Sanchez Gual <lluis@ximian.com>
7643
7644         * Random.cs: Changed behavior of Random to match MS.NET. When Next is
7645           called with maxvalue==0 or minvalue==maxvalue, MS.NET internally generates
7646           a new random number (although it is not needed), while mono did not. 
7647           As a result, the sequence of random numbers could be different for the
7648           same seed.
7649
7650 Thu Jun 26 16:06:35 CEST 2003 Paolo Molaro <lupus@ximian.com>
7651
7652         * FloatingPointFormatter.cs: use dec_len2 as default precision.
7653
7654 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
7655
7656         * DateTime.cs: Modified constructor. Check for valid value of TimeSpan must
7657           be done after the correspondig UTC offset has been applied.
7658
7659 2003-06-26  Lluis Sanchez Gual <lluis@ximian.com>
7660
7661         * Object.cs: Object must have the Serializable attribute.
7662         * DateTime.cs: Fixed _DoParse() so it correctly applies the utc offset
7663           to the resulting date. Also fixed _ToString so now correctly formates the
7664           UTC offset.
7665
7666 Wed Jun 18 19:22:22 CEST 2003 Paolo Molaro <lupus@ximian.com>
7667
7668         * Enum.cs: fix race in cache (bug#41841).
7669
7670 Wed Jun 18 18:52:11 CEST 2003 Paolo Molaro <lupus@ximian.com>
7671
7672         * FloatingPointFormatter.cs: if the precision is not specified, use
7673         the default precision for the data type.
7674
7675 Wed Jun 18 18:11:30 CEST 2003 Paolo Molaro <lupus@ximian.com>
7676
7677         * Array.cs: throw ArgumentOutOfRangeException in Copy if needed
7678         (patch by tum@veridicus.com (Thong (Tum) Nguyen)).
7679
7680 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7681
7682         * MonoType.cs: don't throw nullref when the return type for a property
7683         is specified and the property doesn't have a get accessor.
7684
7685 2003-06-10  Duncan Mak  <duncan@ximian.com>
7686
7687         * Array.cs (CreateInstance): Fixed a typo. It should throw
7688         ArgumentNullException instead of ArgumentException.
7689
7690 2003-06-09  Duncan Mak  <duncan@ximian.com>
7691
7692         * Array.cs: Revert the last revert. I fixed it.
7693         (Sort): Put a try-catch block around qsort, and wrap whatever
7694         Exception we get into a InvalidOperationException.
7695
7696 2003-06-08 Jackson Harper <jackson@latitudegeo.com>
7697
7698         * Array.cs: Revert last patch, it broke some other functionality.
7699                 
7700 2003-06-08  Duncan Mak  <duncan@ximian.com>
7701
7702         * Array.cs: Throw more exceptions. This fixes the errors we see
7703         from the Rotor testsuite.
7704
7705         (CreateInstance): Throw ArgumentNullException when the input are
7706         null. Throw ArgumentOutOfRangeException when bounds + length is
7707         greater than Int32.MaxValue.
7708         (LastIndexOf): Throw ArgumentOutOfRangeException if index is outside
7709         the valid range of indices of array.
7710         (Sort): Throw InvalidOperationException when comparer is null and
7711         none of the elements in keys implements IComparable.
7712
7713 2003-06-08  Duncan Mak  <duncan@ximian.com>
7714
7715         * Array.cs (CreateInstance): Throw a TypeLoadException if the
7716         Length of the input array 'lengths' is greater than 255 so that we
7717         won't see the g_assert that is in mono_array_class_get in class.c.
7718
7719         This fixes bug #44304.
7720
7721 2003-06-05  Nick Drochak  <ndrochak@gol.com>
7722
7723         * UnitySerializataionHolder.cs: Cleanups according to class status page
7724
7725 Wed Jun 4 16:59:39 CEST 2003 Paolo Molaro <lupus@ximian.com>
7726
7727         * ArgIterator.cs, TypedReference.cs, RuntimeArgumentHandle.cs,
7728         RuntimeTypeHandle.cs: implemented the needed stuff to handle
7729         vararg calls.
7730
7731 2003-06-02  Sebastien Pouliot  <spouliot@videotron.ca>
7732
7733         * Random.cs: New implementation based on Knuth ran3 to fix #43597.
7734         See http://www.library.cornell.edu/nr/bookcpdf/c7-1.pdf. Commited
7735         for Ben Maurer after review and testing.
7736
7737 2003-05-28  Ben Maurer <bmaurer@users.sourceforge.net>
7738         
7739         * Array.cs: Added better argument checking to Array.Sort ()
7740         * DBNull.cs: Made the conversions throw like they do in MS.
7741
7742 2003-05-24  Philip Van Hoof  <me@freax.org>
7743
7744         * Math.cs: Add the MS.NET 1.1 methods (BigMul, DivRem, DivRem).
7745
7746 2003-05-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
7747
7748         * FloatingPointFormatter.cs: Take care with the explicit precision
7749         and round the number to that precision.
7750
7751         * DoubleFormatter.cs: Adapt to the two level precision (15 - 17).
7752
7753         * SingleFormatter.cs: Adapt to the two level precision (7 - 8).
7754
7755 2003-05-20  Philip Van Hoof <me@freax.org>
7756
7757         * DateTime.cs (FromOADate, GetDateTimeFormats, ToOADate):
7758         Implemented.
7759
7760 2003-05-20  Zoltan Varga  <vargaz@freemail.hu>
7761
7762         * AppDomainSetup.cs: Added new field which is used to notify the
7763         runtime that the search path has changed.
7764
7765 2003-05-18  Pedro Martínez Juliá  <yoros@wanadoo.es>
7766
7767         * FloatingPointFormatter.cs: Fixed NullReferenceException bug I've
7768         introduced the last change I've done.
7769
7770 2003-05-17  Ben Maurer  <bmaurer@users.sourceforge.net>
7771
7772         * Array.cs: Fixed SyncRoot to behave like MS (return this). Removed 
7773         MonoTODO from SyncRoot (because fixed) and IsSynchronized (it was
7774         behaving correctly).
7775         
7776 2003-05-17  Pedro Martínez Juliá  <yoros@wanadoo.es>
7777
7778         * FloatingPointFormatter.cs: Fixed little format mismatches.
7779
7780 2003-05-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7781
7782         * FloatingPointFormatter.cs: Fixed "-0" result emited.
7783
7784 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7785
7786         * AppDomain.cs: Added null argument check in Load().
7787         * Activator.cs: fixed bug #39926.
7788
7789 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7790
7791         * Enum.cs: fixed bugs #41522 and #42879.
7792
7793 2003-05-12  Zoltan Varga  <vargaz@freemail.hu>
7794
7795         * String.cs: Tweak IndexOf and LastIndexOf to match specification and
7796         undocumented MS behaviour.
7797
7798 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7799
7800         * Activator.cs: applied patch for bug #39926. Thanks to Jean Marc and
7801         Jaime.
7802
7803 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7804
7805         * String.cs: fixed bug #41411 and another similar problem in
7806         LastIndexOf (string).
7807
7808 2003-05-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7809
7810         * String.cs: patch by Jean Marc <jean-marc.andre@polymtl.ca> that fixes
7811         bug #42695.
7812
7813 2003-05-09  Zoltan Varga  <vargaz@freemail.hu>
7814
7815         * MulticastDelegate.cs (GetInvocationList): Avoid ArrayList 
7816         construction if the delegate list only has one element.
7817
7818 2003-05-01  Pedro Martínez Juliá  <yoros@wanadoo.es>
7819
7820         * Environment.cs: Changed the method GetFolderPath because it must
7821         return at least a directory name (not null).
7822
7823         * Convert.cs: In ToType, if the destination type is unknown, try to
7824         cast the value to object (then, the calling method will downcast it
7825         to the type it wants).
7826
7827 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7828
7829         * Enum.cs: fixed bug #41522.
7830
7831 Tue Apr 29 13:58:16 CEST 2003 Paolo Molaro <lupus@ximian.com>
7832
7833         * Enum.cs: protect with the lock also the lookup (bug #41841).
7834
7835 Tue Apr 29 13:24:32 CEST 2003 Paolo Molaro <lupus@ximian.com>
7836
7837         * MonoType.cs: allow a null name if InvokeMember is called with
7838         BindingFlags.CreateInstance set.
7839
7840 2003-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7841
7842         * Enum.cs: reverted my previous patch.
7843
7844 2003-04-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7845
7846         * Enum.cs: fixed bug #41841.
7847
7848 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7849
7850         * MonoType.cs:
7851         (GetPropertyImpl): handle BindingFlags.IgnoreCase.
7852
7853 2003-04-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7854
7855         * FloatingPointFormatter.cs: Little fixes for get the same results
7856         as MS.NET and show a message when something goes wrong with the
7857         parser of Custom Formats.
7858
7859 2003-04-22  Nick Drochak  <ndrochak@gol.com>
7860
7861         * Double.cs (ToString):
7862         * Single.cs (ToString): Handle case where param is a CultureInfo.
7863
7864 2003-04-18  Zoltan Varga  <vargaz@freemail.hu>
7865
7866         * Object.cs ValueType.cs: Make the Object::GetHashCode() and 
7867         ValueType::Equals() icalls static non-virtual, so they can be called
7868         by the code in RuntimeHelpers.
7869
7870 2003-04-18  Miguel de Icaza  <miguel@ximian.com>
7871
7872         * Delegate.cs (operator ==): Do not crash if the second argument
7873         is null.  Bug fix submitted by Juan Cri.
7874
7875 2003-04-18  Eduardo Garcia Cebollero <kiwnix@yahoo.es>
7876
7877         * Array.cs: Deleted the exception in Array.Initialize(), it looks
7878         like the method do nothing for C#, is still a MonoTODO until
7879         we find a compiler that uses that.
7880
7881 2003-04-14  Miguel de Icaza  <miguel@ximian.com>
7882
7883         * Delegate.cs (Delegate): Seems like a typo, we were checking the
7884         a field rather than the argument 
7885
7886         * MonoType.cs: Make GetNestedType an external method implementation.
7887
7888 2003-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7889
7890         * Enum.cs: fixed bug #41294.
7891
7892 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7893
7894         * DateTime.cs: fixes bug #40910, part 2.
7895
7896 2003-04-11  Dietmar Maurer  <dietmar@ximian.com>
7897
7898         * String.cs (Equals): avoid the internal call, code cleanups
7899
7900 2003-04-11  Alan Tam <Tam@SiuLung.com>
7901
7902         * Convert.cs: fixed bug #41085.
7903
7904 2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
7905
7906         * AppDomain.cs: Added internal method for getting process guid.
7907
7908 2003-04-09  Ville Palo <vi64pa@kolumbus.fi>
7909
7910         * Array.cs: Little fix to compare () method.
7911         
7912 2003-04-09  Zoltan Varga  <vargaz@freemail.hu>
7913
7914         * String.cs (Equals): Add trivial optimization.
7915
7916 2003-04-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7917
7918         * DateTime.cs: fixed bug #40910.
7919
7920 2003-04-05  Miguel de Icaza  <miguel@ximian.com>
7921
7922         * Console.cs: Make stderr, stdout and stdin use synchronized
7923         versions of the their readers/writers.
7924
7925 2003-04-04  Dick Porter  <dick@ximian.com>
7926
7927         * Version.cs: Make operator== and operator!= cope with null
7928         objects.  Didn't change operator<, operator<=, operator> or
7929         operator>= because its not meaningful to use those to compare
7930         against null, and throwing a NullReferenceException is probably
7931         the best thing to do there anyway.
7932
7933         Fixes bug 40720.
7934
7935 2003-04-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7936
7937         * AppDomain.cs: fixed InvalidCastException.
7938
7939 2003-03-30  Zoltan Varga  <vargaz@freemail.hu>
7940
7941         * Array.cs (Copy): Call FastCopy() earlier to avoid the expensive
7942         type checks and let it decide whenever a fast copy is possible.
7943
7944 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7945
7946         * MonoType.cs:
7947         (GetMethodImpl): support BindingFlags.IgnoreCase flag. Fixes bug #40322.
7948
7949 2003-03-25  Zoltan Varga  <vargaz@freemail.hu>
7950
7951         * Activator.cs (CreateInstance): Call GetConstructor with the right
7952         arguments so the nonPublic argument is handled correctly.
7953
7954 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7955
7956         * Type.cs: fixed bug #40123.
7957
7958 2003-03-22  Pedro Martínez Juliá  <yoros@wanadoo.es>
7959
7960         * FloatingPointFormatter.cs: Fixed some bugs for get the same
7961         results than MS.NET. Added simple error recovering, now ToString
7962         will return a general format if there is any exception in the
7963         process of formatting. This make the library more robust while the
7964         formatters are refined.
7965
7966 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7967
7968         * FloatingPointFormatter.cs: Added support for group separators.
7969
7970 2003-03-16  Pedro Martínez Juliá  <yoros@wanadoo.es>
7971
7972         * Single.cs:
7973         * Double.cs: Apply changes of .ToString methods.
7974         * SingleFormatter.cs:
7975         * DoubleFormatter.cs: Simple wrappers to FloatingPointFormatter.
7976         * FloatingPointFormatter.cs: New class. Implementation of double and
7977         single formatters. It is unified now and parametrized with precission
7978         values.
7979
7980 2003-03-15  Lluis Sanchez Gual <lluis@ideary.com>
7981
7982         * AppDomain.cs: fixes bugs #39380 and #39331.
7983
7984 2003-03-06  Nick Drochak  <ndrochak@gol.com>
7985
7986         * TimeSpan.cs (Negate): Throw exception when value is MinValue.
7987
7988 2003-03-04  Dick Porter  <dick@ximian.com>
7989
7990         * Single.cs:
7991         * Double.cs: Temporarily reverted the Double and Single ToString()
7992         change, because it broke nunit.
7993
7994
7995 2003-03-04  Pedro Martínez Juliá  <yoros@wanadoo.es>
7996
7997         * Double.cs: Changed ToString method. Added NumberFormatInfo support
7998         with DoubleFormatter class.
7999         * Single.cs: Changed ToString method. Added NumberFormatInfo support
8000         with SingleFormatter class.
8001         * DoubleFormatter.cs: New class with Double formatting functions.
8002         * SingleFormatter.cs: New class with Single formatting functions.
8003
8004 2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>
8005
8006         * Activator.cs: Added support for activation using activation attributes.
8007         * AppDomain.cs: Added internal method to get the default context from the runtime.
8008
8009 2003-02-28  Elan Feingold  <efeingold@mn.rr.com>
8010
8011         * DateTime.cs: FileTime is expressed in Universal time, and as such must
8012         be converted before subtracting the magic offset.
8013         * DateTime.cs: Strings in the format "2003-02-27T10:05:03-11:00" (note
8014         the timezone at the end) *must* be parsed by DateTime.Parse() for
8015         compatibility with Microsoft.
8016
8017 2003-02-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8018
8019         * Attribute.cs:
8020         * MonoCustomAttrs.cs: fix for the regression test failure (see bug
8021         #38238).
8022
8023         * IntPtr.cs: added serialization .ctor
8024
8025 2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8026
8027         * AppDomain.cs: check for null in Unload and changed method name.
8028
8029 2003-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8030
8031         * MonoCustomAttrs.cs: fixed bug #38238.
8032
8033 2003-02-17  Martin Baulig  <martin@ximian.com>
8034
8035         * Exception.cs (Exception.ToString): Print a newline between the
8036         exception message and the stack trace.
8037
8038 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8039
8040         * AppDomain.cs: implemented GetCurrentThreadId ().
8041
8042 2003-02-14  Patrik Torstensson
8043
8044         * Exception.cs: Fixed message output formating
8045
8046 2003-02-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8047
8048         * Int32.cs:
8049         (Parse): ignore everything after a \0 (MS parses: "512\0hola" as 512).
8050
8051 2003-02-12  Miguel de Icaza  <miguel@ximian.com>
8052
8053         * Type.cs: IsClass should return false for Enumerations
8054
8055 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8056
8057         * MonoCustomAttrs.cs: return the correct array type in the short case.
8058         Fixes bug #37818.
8059
8060 2003-02-08  Pedro Martíenz Juliá  <yoros@wanadoo.es>
8061
8062         * Math.cs: Fix a few methods (like Round) and add with comments the
8063         new methods: BigMul and DivRem that were in ECMA specs.
8064
8065 2003-02-07  Patrik Torstensson
8066
8067         * Exception.cs: Fixed formating
8068
8069 2003-02-05  Patrik Torstensson
8070
8071         * AppDomain.cs: Partly fixed the unload method 
8072         
8073 2003-02-04  Patrik Torstensson
8074
8075         * AppDomain.cs: Fixed lease issue with appdomain
8076
8077 2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
8078
8079         * MarshalByRefObject.cs: Implemented GetLifetimeService() and 
8080           InitializeLifetimeService().
8081
8082 2003-02-03  Patrik Torstensson
8083
8084         * AppDomain.cs: New internalcalls for handling domain/context switches
8085         * AppDomain.cs (CreateDomain): Return transparant proxy for appdomain object
8086
8087 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8088
8089         * AppDomain.cs: implemented AppendPrivatePath, ClearPrivatePath
8090         and ClearShadowCopyPath and fixed GetType ().
8091
8092         * Attribute.cs: clean up.
8093
8094         * Console.cs: removed UnixConsoleEncoding. Use Default.
8095
8096 2003-02-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8097
8098         * Attribute.cs: fixed all IsDefined overloads. Gotta fix
8099         GetCustomAttributes later.
8100
8101 2003-01-31  Patrik Torstensson
8102
8103         * Buffer.cs: Changed access level of BlockCopyInternal
8104
8105 Thu Jan 30 19:54:30 CET 2003 Paolo Molaro <lupus@ximian.com>
8106
8107         * String.cs, IntegerFormatter.cs: use const where appropriate.
8108
8109 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8110
8111         * MonoCustomAttrs.cs: fixed GetBase () for Type. Thanks to Zoltan for
8112         reporting.
8113
8114 2003-01-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8115
8116         * MonoCustomAttrs.cs: fixed shortcut in GetCustomAttributes.
8117         The argument ICustomAttributeProvider can be of other types different
8118         from Type. Handle it.
8119
8120 2003-01-28  Zoltan Varga  <vargaz@freemail.hu>
8121
8122         * DateTime.cs: fix FromFileTime so the time returned by 
8123         File::GetLastModificationTime etc. is in the correct timezone.
8124
8125 2003-01-28  Patrik Torstensson
8126         * Exception.cs: reverted formating/endline changes (sorry guys)
8127
8128 2003-01-28  Patrik Torstensson
8129
8130         * MarshalByRefObject.cs: implemented GetObjectIdentity
8131         * Exception.cs: added support for remote exceptions
8132
8133 2003-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8134
8135         * DateTime.cs: fixed bug #37225.
8136
8137 2003-01-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8138
8139         * Enum.cs: Clone the arrays in GetNames and GetValues. Thanks lupus!
8140
8141 2003-01-27  Zoltan Varga  <vargaz@freemail.hu>
8142
8143         * AppDomain.cs: Added DoTypeResolve method which will be called by
8144         the runtime to raise TypeResolve events.
8145
8146 2003-01-27  Duncan Mak  <duncan@ximian.com>
8147
8148         * Enum.cs (ToType): Implement this using Convert.ToType.
8149
8150 2003-01-21  Miguel de Icaza  <miguel@ximian.com>
8151
8152         * Math.cs: Remove Pow's implementation body as it was wrong.  The
8153         C code does the right thing.  The code was trying to handle a
8154         number of cases, and that was incorrect.
8155
8156 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8157
8158         * CharEnumerator.cs: fix to Current by crainaj@hotmail.com. Closes
8159         bug #37113.
8160
8161 2003-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8162
8163         * Enum.cs: added caching to GetInfo.
8164
8165 2003-01-23  Dick Porter  <dick@ximian.com>
8166
8167         * Environment.cs (System): Implemented ExitCode
8168
8169 2003-01-23  Zoltan Varga  <vargaz@freemail.hu>
8170
8171         * Type.cs (IsInstanceOfType): fixed regression caused by the change
8172         to IsSubclassOf().
8173
8174 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8175
8176         * MonoType.cs: re-added lines that were removed in the previous commit.
8177
8178 2003-01-16  Lluis Sanchez Gual <lsg@ctv.es>
8179
8180         * Type.cs: corrected property IsSerializable. It should always return
8181         true for enums and delegates
8182         * MonoType.cs: added serialization support.
8183         * Delegate.cs: added serialization support.
8184         * DBNull.cs: added serialization support.
8185         * UnitySerializationHolder.cs: supports serialization of Assembly,
8186         MonoType and DBNull.
8187         * DelegateSerializationHolder.cs: added.
8188
8189 2003-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8190
8191         * Exception.cs: changed default message to match MS one.
8192
8193 2003-01-12  Patrik Torstensson <totte@race-x-change.com>
8194
8195         * String.cs: Fixed bug with CompareOrdinal
8196
8197 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8198
8199         * Enum.cs: implements IFormattable.
8200
8201 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8202
8203         * AppDomain.cs: implemented DoCallBack method.
8204         * MonoType.cs:
8205         (GetConstructorImpl): when the flag is BindingFlags.Default, set it to
8206         Public, Instance.
8207
8208         NUnit2 tests start moving.
8209
8210 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8211
8212         * Activator.cs: fixed bug #36052. Also added checks to avoid trying to
8213         instantiate an abstract class.
8214
8215 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8216
8217         * Type.cs:
8218         (IsSubclassOf): return false when null. Use != instead of Equals.
8219
8220 2003-01-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8221
8222         * Type.cs: fixed IsSubclassOf. Patch from Zoltan Varga.
8223
8224 Fri Jan 3 20:18:51 CET 2003 Paolo Molaro <lupus@ximian.com>
8225
8226         * MonoType.cs: fixed Namespace property for nested types.
8227
8228 Fri Jan 3 16:18:27 CET 2003 Paolo Molaro <lupus@ximian.com>
8229
8230         * MonoCustomAttrs.cs: create properly typed arrays when returning
8231         arrays of attributes of a given type.
8232
8233 Fri Jan 3 11:10:14 CET 2003 Paolo Molaro <lupus@ximian.com>
8234
8235         * MonoType.cs: fixed MemberType property for nested types.
8236
8237 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8238
8239         * String.cs: fixed bug #36209.
8240
8241 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
8242
8243         * Activator.cs: implemented method GetObject.
8244
8245 2002-12-28  Marcus Urban <mathpup@mylinuxisp.com>
8246
8247         * Activator.cs: Since the documentation indicates the method
8248         either succeeds or throws one of the listed exceptions, we weren't
8249         expecting that CreateInstance might be returning null.
8250
8251         For more information on the bug, see http://bugs.ximian.com/show_bug.cgi?id=36109
8252
8253 2002-12-20 Lluis Sanchez Gual <lsg@ctv.es>
8254
8255         * MarshalByRefObject.cs: implemented CreateObjRef.
8256
8257 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8258
8259         * DateTime.cs: fixed bug #30076.
8260         * TimeZone.cs: provide the parameter name in a exception.
8261
8262 2002-12-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8263
8264         * DecimalFormatter.cs: fixed bug #35560.
8265
8266 Wed Dec 4 16:04:28 CET 2002 Paolo Molaro <lupus@ximian.com>
8267
8268         * Type.cs: implemented GetInterfaceMap (needs an updated runtime).
8269
8270 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8271
8272         * Array.cs: use Object.Equals (obj, obj) to compare objects to avoid
8273         nulls. Fixes #34909.
8274
8275 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8276
8277         * AppDomain.cs: DoAssemblyResolve now returns when one of the handlers
8278         returns a non-null assembly.
8279
8280 2002-12-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8281
8282         * MulticastDelegate.cs: make GetInvocationList work for more than 1
8283         delegate.
8284
8285 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8286
8287         * MulticastDelegate.cs: implemented GetInvocationList. I'll check later
8288         if this is the correct order of invocation.
8289
8290 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8291
8292         * Type.cs: changed the signature of internal_from_name. Modified
8293         the overloads of GetType to use it and check the typeName argument.
8294         Implemented FindInterfaces.
8295
8296 2002-11-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8297
8298         * MarshalByRefObject.cs: undo latest changes. It breaks the build by
8299         some obscure reasons (try make -f makefile.gnu using a corlib which has
8300         the modified version).
8301
8302 2002-11-26  Miguel de Icaza  <miguel@ximian.com>
8303
8304         * String.cs (Concat): Reduce the number of compares required. 
8305
8306 Mon Nov 18 17:54:22 CET 2002 Paolo Molaro <lupus@ximian.com>
8307
8308         * Activator.cs: throw a MissingMethodException if the default
8309         constructor is not found in CreateInstance.
8310
8311 2002-11-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8312
8313         * String.cs:
8314         (Equals (str, str)): use 'as' instead of casting to object.
8315         (Equals (obj)): check the length of the strings (until now,
8316         "Hello".Equals ((object) "Hellow World!) was true!).
8317
8318 2002-11-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8319
8320         * MonoType.cs: implemented GetEvent (name, flags).
8321
8322 2002-11-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8323
8324         * AppDomain.cs: implemented a couple of methods called from the runtime
8325         to fire AssemblyLoad and AssemblyResolve events.
8326
8327 2002-10-31  Dick Porter  <dick@ximian.com>
8328
8329         * Environment.cs: MonoIO methods now have an error parameter
8330
8331 2002-10-29  Zoltan Varga  <vargaz@freemail.hu>
8332
8333         * Enum.cs: Added support for whitespaces in Enum:Parse().
8334
8335 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8336
8337         * Type.cs: fixed GetProperty (string, Type []) and removed get_property
8338         internal call. Closes bug #32992.
8339
8340 2002-10-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8341
8342         * Exception.cs: display the inner exception, if any, in ToString ().
8343
8344 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8345
8346         * Environment.cs: fixed StackTrace property.
8347
8348 2002-10-16  Nick Drochak  <ndrochak@gol.com>
8349
8350         * Enum.cs (Parse): Then fix the code so that it works too.
8351
8352 2002-10-15  Nick Drochak  <ndrochak@gol.com>
8353
8354         * Enum.cs (Parse): Use unsigned casts to avoid compiler warnings.
8355
8356 2002-10-12  Nick Drochak  <ndrochak@gol.com>
8357
8358         * IntegerFormatter.cs: Fix compiler warnings.
8359
8360 2002-10-11  Tim Haynes <thaynes@openlinksw.com>
8361
8362         * Type.cs (GetConstructors): Use the correct flags.
8363
8364 2002-10-09  Nick Drochak  <ndrochak@gol.com>
8365
8366         * IntegerFormatter.cs: Suppress insignificant leading zeros
8367
8368 Fri Sep 27 15:06:29 CEST 2002 Paolo Molaro <lupus@ximian.com>
8369
8370         * MonoCustomAttrs.cs: applied patch by "Si Jingnan"
8371         <stonewell@21cn.com> to return also derived types.
8372
8373 2002-09-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8374
8375         * Activator.cs: little fix in CreateInstance (Type, bool).
8376
8377 2002-09-19  Duncan Mak  <duncan@ximian.com>
8378
8379         * Array.cs (CopyTo): Revert back to 1.40, this is stopping
8380         I18N/Common from building right now.
8381
8382 2002-09-19  Nick Drochak  <ndrochak@gol.com>
8383
8384         * Array.cs (CopyTo): Account for Object type and base (primitive) types
8385         * Type.cs (IsAssignableFrom): return false for a null parameter
8386
8387 2002-09-19  Nick Drochak <ndrochak@gol.com>
8388
8389         * Array.cs (CopyTo): Check that source type can be cast automatically
8390         to the destination type.
8391
8392 2002-09-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8393
8394         * Type.cs: implemented IsAssignableFrom, DefaultBinder and
8395         GetDefaultMembers.
8396
8397 2002-09-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8398
8399         * Char.cs: implemented ToString (char)
8400         * IntegerFormatter.cs: made it internal.
8401
8402 2002-09-13  Nick Drochak  <ndrochak@gol.com>
8403
8404         * Enum.cs (Format): handle the "d" format for both signed and unsigned
8405         underlying types.
8406
8407 2002-09-12  Dick Porter  <dick@ximian.com>
8408
8409         * UIntPtr.cs: Remove the [StructLayout(LayoutKind.Auto)]
8410         attribute, as there doesn't appear to be any struct
8411         layout-depending code here (and corcompare says it should be
8412         LayoutKind.Sequential)
8413
8414         * Decimal.cs: Stub out missing methods, add
8415         [DecimalConstantAttribute] to the constant fields (as shown by
8416         corcompare).
8417
8418         * LocalDataStoreSlot.cs: 
8419         * Environment.cs: 
8420         * Char.cs: 
8421         * Array.cs: Stub out missing methods.
8422
8423         * TypedReference.cs: 
8424         * ArgIterator.cs: Stub out
8425
8426         * AppDomainSetup.cs: 
8427         * AppDomain.cs: Stub out missing methods, add missing
8428         ClassInterface(ClassInterfaceType.None) attribute.
8429
8430 2002-09-12  Nick Drochak  <ndrochak@gol.com>
8431
8432         * Double.cs (ToString): Throw exception when "X" format is passed in.
8433
8434 Wed Sep 11 15:26:34 CEST 2002 Paolo Molaro <lupus@ximian.com>
8435
8436         * MonoType.cs: implemented Module property.
8437
8438 Wed Sep 11 12:49:51 CEST 2002 Paolo Molaro <lupus@ximian.com>
8439
8440         * MonoType.cs, Type.cs: implemented InvokeMember.
8441
8442 Wed Sep 11 11:06:43 CEST 2002 Paolo Molaro <lupus@ximian.com>
8443
8444         * Delegate.cs: check the type passed to CreateDelegate is a Delegate
8445         type. Check the method signature matches.
8446
8447 Sat Sep 7 10:16:52 CEST 2002 Paolo Molaro <lupus@ximian.com>
8448
8449         * RuntimeMethodHandle.cs: implemented GetFunctionPointer().
8450
8451 2002-09-06  Miguel de Icaza  <miguel@ximian.com>
8452
8453         * Console.cs: Specify an encoder, otherwise we will get the UTF8
8454         encoder that by default emits the byte markers.
8455
8456 Fri Sep 6 20:14:04 CEST 2002 Paolo Molaro <lupus@ximian.com>
8457
8458         * Delegate.cs: look also for non-public methods until we have the
8459         security checks in place.
8460
8461 Fri Sep 6 12:20:06 CEST 2002 Paolo Molaro <lupus@ximian.com>
8462
8463         * MonoType.cs: consider also the full name in GetInterface.
8464
8465 Fri Sep 6 12:11:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8466
8467         * MonoType.cs: implemented GetMembers, GetConstructorImpl and
8468         GetMethodImpl using the binder.
8469         * Type.cs: GetConstructorImpl/GetConstructor fixes.
8470
8471 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
8472         * Enum.cs: Get rid of warning CS0162.
8473
8474 2002-09-04  Miguel de Icaza  <miguel@ximian.com>
8475
8476         * Double.cs, Single.cs, Char.cs, Boolean.cs: Use internal for the
8477         actual value instead of public.
8478
8479         * LocalDataStoreSlot.cs: Make constructor internal.
8480
8481         * Int16.cs, UInt16.cs, Int32.cs, UInt32.cs, Int64.cs, UInt64.cs,
8482         SByte.cs, Byte.cs, Char.cs: Use internal for the actual value
8483         instead of public.
8484
8485 2002-09-03  Jonathan Pryor <jonpryor@vt.edu>
8486         * Enum.cs: Fixed Enum.Format so that the "x" format specifier would work
8487                    properly.
8488
8489 2002-08-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8490
8491         * DateTime.cs: fixed buglet.
8492
8493 Tue Aug 27 16:39:47 CEST 2002 Paolo Molaro <lupus@ximian.com>
8494
8495         * MonoType.cs: speedup access to common data.
8496
8497 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8498
8499         * Double.cs: implemented TryParse.
8500
8501         * Math.cs: PowImpl is now private.
8502
8503         * MissingFieldException.cs: implemented Message.
8504
8505         * RuntimeMethodHandle.cs: stubbed GetFunctionPointer.
8506
8507         * _AppDomain.cs: Uncommented ToString.
8508
8509 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8510
8511         * Type.cs:
8512         (IsValueTypeImpl): it's virtual, not abstract. Implemented.
8513
8514 2002-08-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8515
8516         * ArgumentException.cs: use the field instead of the property for
8517         param_name.
8518
8519         * ArgumentOutOfRangeException.cs: modified Message.
8520
8521         * DateTime.cs: 
8522         (_DoParse): throw out of range exception for year. Removed check
8523         for month (it's done in the constructor).
8524
8525 2002-08-21  Miguel de Icaza  <miguel@ximian.com>
8526
8527         * Environment.cs: Implemented OSVersion property.
8528
8529 2002-08-21  Dietmar Maurer  <dietmar@ximian.com>
8530
8531         * Exception.cs: set stack_trace to null
8532
8533 Wed Aug 21 13:02:20 CEST 2002 Paolo Molaro <lupus@ximian.com>
8534
8535         * AppDomain.cs: implemented ToString().
8536
8537 2002-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8538
8539         * AppDomain.cs: securityInfo can be null in CreateDomain.
8540
8541 2002-08-19  Dick Porter  <dick@ximian.com>
8542
8543         * MonoType.cs: Add a space before the Assembly name in
8544         AssemblyQualifiedName (needed for resource files so the MS runtime
8545         can load types)
8546
8547 2002-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8548
8549         * AppDomain.cs: parameter name when throwing ArgumentNullException.
8550
8551         * ArgumentException.cs: modified Message to do what MS does.
8552
8553         * ArgumentNullException.cs: don't use {0} in message.
8554
8555         * Exception.cs: use Message property in ToString ().
8556
8557 2002-08-14  Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
8558
8559         * WeakReference.cs: Changed the constructor and GetObjectData
8560         method needed for ISerializable implementation in order to be
8561         compatible with SOAP generated by MS.
8562
8563 Wed Aug 14 17:34:07 CEST 2002 Paolo Molaro <lupus@ximian.com>
8564
8565         * MonoType.cs, Type.cs: DeclaringType/ReflectedType fixes.
8566
8567 2002-08-12  Dietmar Maurer  <dietmar@ximian.com>
8568
8569         * Exception.cs (ToString): changed the ouput format.
8570
8571 2002-08-07  Dietmar Maurer  <dietmar@ximian.com>
8572
8573         * MonoType.cs: moved get_method icall to this class, we can
8574         remove it as soon someone provides a full featured GetMethodImpl.
8575
8576         * Type.cs: use GetMethodImpl everywhere.
8577
8578         * Delegate.cs: new CreateDelegate implementations.
8579
8580 2002-08-06  Tim Coleman <tim@timcoleman.com>
8581         * MonoType.cs: 
8582                 Fix bug #28582.  Now checks parameters for properties
8583                 in GetPropertyImpl.
8584
8585 2002-08-04  Nick Drochak  <ndrochak@gol.com>
8586
8587         * Buffer.cs: Throw correct exception in GetByte() and SetByte().
8588
8589 2002-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8590
8591         * String.cs:
8592         (FormatSpecifier): allow white space between the comman and the width
8593         specifier.
8594
8595 2002-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8596
8597         * Int32.cs:
8598         * Int64.cs:
8599         * UInt32.cs:
8600         * UInt64.cs: fixed bug #28050. May be a MS bug?
8601
8602 Thu Jul 18 14:47:03 CEST 2002 Paolo Molaro <lupus@ximian.com>
8603
8604         * MonoType.cs: fix IsArrayImpl.
8605
8606 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8607
8608         * String.cs: make ToLower (culture) and ToUpper (culture) use the
8609         default ToLower and ToUpper and don't throw NotImplemented.
8610
8611 Sat Jul 13 15:09:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
8612
8613         * Type.cs: make GettTypeCode an icall. Test implementation of
8614         GetMember().
8615
8616 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8617
8618         * AppDomainSetup.cs: implemented LoaderOptimization.
8619
8620 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8621
8622         * Activator.cs: some more intermediate results checking in
8623         in CreateInstance and CreateInstanceFrom and use GetConstructor and
8624         Invoke only with Type [] until the other overloaded versions work.
8625
8626 2002-07-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8627
8628         * Activator.cs: reformatted. Implemented CreateInstance* methods
8629         that return ObjectHandle.
8630
8631         * AppDomain.cs: implemented CreateInstance*AndUnwrap methods.
8632
8633 2002-07-03  Nick Drochak  <ndrochak@gol.com>
8634
8635         * Decimal.cs (Divide): Short cut the case where the dividend is 0 (and
8636         the divisor is not) and avoid the icall, which seems to have a bug.
8637
8638 2002-07-03  Nick Drochak  <ndrochak@gol.com>
8639
8640         * Double.cs (CompareTo): Correctly handle the case where the instance
8641         is NaN. Also return 0 if the values are equal.
8642
8643 2002/07/03  Nick Drochak <ndrochak@gol.com>
8644
8645         * MissingMethodException: Add missing Message property
8646         * MissingMemberException: Add missing Message property
8647
8648 2002-06-30  Nick Drochak  <ndrochak@gol.com>
8649
8650         * Double.cs (CompareTo): Just see which is bigger.  Don't use the
8651         subtraction trick, it doesn't work when the values have a diference of
8652         less than one.
8653
8654         * Single.cs (CompareTo): same
8655
8656 2002-06-27  Martin Baulig  <martin@gnome.org>
8657
8658         * UIntPtr.cs (UIntPtr.Zero): Use an explicit `u' suffix in the
8659         constructor argument.  [FIXME: The implicit conversion to an
8660         unsigned integer doesn't work with mcs.]
8661
8662 2002-06-26  Martin Baulig  <martin@gnome.org>
8663
8664         * DecimalFormatter.cs: Removed MSTEST stuff, use `System',
8665         not `S = System'.  This file now compiles with mcs.
8666
8667         * String.cs: Removed the already ifdef-outed __arglist Concat function
8668         to make it compile with mcs.
8669
8670 2002-06-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8671
8672         * IntegerFormatter.cs:
8673         (FormatParse.FormatNumber): fixed custom format for negative numbers.
8674
8675 2002-06-21  Martin Baulig  <martin@gnome.org>
8676
8677         * Double.cs: Replace the private `enum State' with constants since this
8678         will avoid some bigger headaches in mcs.
8679
8680 Thu Jun 20 17:51:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
8681
8682         * TimeSpan.cs: do not pollute the namespace with the
8683         System.Parser name.
8684
8685 2002-06-18  Nick Drochak  <ndrochak@gol.com>
8686
8687         * ArgumentException.cs: Use the message given in the constructor when
8688         accessing the Message property.  Thanks to Dietmar for the help with 
8689         "base".
8690
8691 2002-06-17  Dietmar Maurer  <dietmar@ximian.com>
8692
8693         * MonoType.cs: GetField is now a InternalCall
8694
8695 2002-06-13  Nick Drochak  <ndrochak@gol.com>
8696
8697         * DateTime.cs: (Parse): Accept dates that have no hour,min,sec. in the
8698         sortable format(s), e.g. "2002-02-25"
8699
8700 2002/06/12  Nick Drochak <ndrochak@gol.com>
8701
8702         * Random.cs (Next): Fix math error.  Return a number within the range.
8703
8704 2002-06-12  Nick Drochak  <ndrochak@gol.com>
8705
8706         * String.cs (IndexOf): Return -1 if start index is equal to string
8707         length.
8708
8709 2002-06-10  Duncan Mak  <duncan@ximian.com>
8710
8711         * Convert.cs (ToDouble): Remove rounding in ToDouble (float).
8712         (ToType): Added null field in conversionTable to avoid
8713         IndexOutOfRangeException. Changed what exceptions we throw to match
8714         the spec.
8715         
8716 2002-06-11  Nick Drochak  <ndrochak@gol.com>
8717
8718         * Int64.cs (Parse): Added unique strings to the messages where we throw
8719         a FormatException. Needed these to debug, so just left them in since
8720         they might be useful later. Fixed Currency parsing where we weren't
8721         looking at CurrencyDecimalSeparator, etc.
8722
8723 2002-06-09  Lawrence Pit  <loz@cable.a2000.nl>
8724
8725         * DateTime.cs: fixes to pass tests M0 to M6:
8726                 if yy pattern then year values >= 30 are in 20th century
8727                 rfc1123 pattern is always in GMT, therefor useutc must be false
8728         made GetNow() internal static so it can be called from TimeZone.
8729         * TimeZone.cs: removed dependency on year 2002 from initialization of 
8730         current timezone.
8731
8732 2002-06-09  Duncan Mak  <duncan@ximian.com>
8733
8734         * Convert.cs (ToType): Rearranged what Exceptions we throw to
8735         match MS behavior.
8736
8737 2002-06-08  Duncan Mak  <duncan@ximian.com>
8738
8739         * Decimal.cs: Added support for the IConvertible interface.
8740
8741 2002-06-08  Martin Baulig  <martin@gnome.org>
8742
8743         * Enum.cs (IsDefined): `value' may be of the enum's type itself, it
8744         doesn't necessarily need to be of the enum's underlying type.
8745
8746 2002/06/07  Nick Drochak <ndrochak@gol.com>
8747
8748         * String.cs: Add [Serializable] to class
8749         * SByte.cs (Parse): Add [CLSCompliant(false)] to all the overloads
8750
8751 2002-06-04  Nick Drochak  <ndrochak@gol.com>
8752
8753         * Double.cs (Parse): Recognize the group separator string, but still we
8754         don't check the format for the proper number of digits between
8755         separators. Also throw OverflowException when we get Pos or Neg
8756         Infinity from runtime.
8757
8758 2002-06-03  Duncan Mak  <duncan@ximian.com>
8759
8760         * Convert.cs (ToDouble): Fixed ToDouble (byte value).
8761
8762 Mon Jun 3 12:18:18 CEST 2002 Paolo Molaro <lupus@ximian.com>
8763
8764         * Type.cs: fixed GetTypeCode.
8765
8766 2002-06-02  Duncan Mak  <duncan@ximian.com>
8767
8768         * Convert.cs (ToInt16): use Convert.ToInt16 (int) instead of a direct
8769         cast from an int so that we throw OverFlowException correctly.
8770         
8771         (ToInt64): Use a new 64bit version of ConvertToBase.
8772         
8773         (ConvertToBase): Add checks for overflow (checks Int32.MinValue
8774         and Int32.MaxValue).
8775
8776         (ConvertFromBase64): New 64-bit version of ConvertFromBase.
8777
8778 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8779
8780         * Convert.cs (ToSByte): Check for special value.
8781         * Single.cs (Parse): 
8782         * UInt16.cs (Parse):
8783         * UInt32.cs (Parse): Throw OverflowException if negative
8784
8785 2002-06-02  Duncan Mak  <duncan@ximian.com>
8786
8787         * Convert.cs (DBNull): Point it to DBNull.Value.
8788         (IsDBNull): Instead of checking typecodes, just check to see if
8789         it's the same as the DBNull field.
8790
8791 2002-06-02  Nick Drochak  <ndrochak@gol.com>
8792
8793         * Convert.cs (ConvertFromBase): Detect bad digits correctly.
8794
8795 2002-06-02  Duncan Mak  <duncan@ximian.com>
8796
8797         * Char.cs (Parse): Simplify the Exception handling.
8798
8799         * Convert.cs (ToDecimal): Remove call to Math.Round () when
8800         converting from a float.
8801
8802 2002-05-30  Martin Baulig  <martin@gnome.org>
8803
8804         * MonoType.cs (GetInterface): Implemented.
8805
8806 Thu May 23 17:17:28 CEST 2002 Paolo Molaro <lupus@ximian.com>
8807
8808         * Activator.cs: implemented CreateInstance ().
8809
8810 2002-05-22  Duncan Mak  <duncan@ximian.com>
8811
8812         * Convert.cs (ConvertToBase): Added new 64bit version.
8813         (BuildConvertedString64): New 64bit version of
8814         BuildConvertedString.
8815
8816         This fixes bug 25068.
8817
8818         (ConvertFromBase): Added additional test for checking if the
8819         digits are valid. Thanks to Miguel for coming up with this test.
8820
8821         This fixes bug 25071.
8822         
8823 2002-05-21  Duncan Mak  <duncan@ximian.com>
8824
8825         * Convert.cs (ToType): Rearranged to fit the new layout of
8826         conversionTable.
8827
8828         (conversionTable): Rearranged to fit the layout of the
8829         System.TypeCode enum.
8830
8831         This should fix bug 25075.
8832         
8833 2002-05-21  Duncan Mak  <duncan@ximian.com>
8834
8835         * Convert.cs (ToString): Fixed the ToString methods. Previously I had
8836         mixed up the two code paths, one for converting to a specific base
8837         (this case), another from converting from a foreign base to base10
8838         (used by ToInt16|32|64 (string, int)). This fixes bug 25068.
8839
8840         * Convert.cs (ToByte)
8841         (ToSByte): Fixed bug 25074. Added more bits to ConvertFromBase so
8842         that we won't confuse FormatException with OverflowException.
8843
8844 2002-05-22  Lawrence Pit  <loz@cable.a2000.nl>
8845
8846         * Environment.cs: CommandLine missed spaces between arguments.
8847         Implemented StackTrace. Returning MachineName in UserDomainName
8848         instead of null.
8849         
8850 Tue May 21 17:25:49 CEST 2002 Paolo Molaro <lupus@ximian.com>
8851
8852         * MonoCustomAttrs.cs: handle inherit argument.
8853
8854 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8855
8856         * Math.cs (Pow): Change icall method name and insert parameter
8857         checks in for infinities and NaN.
8858
8859 2002-05-13  Miguel de Icaza  <miguel@ximian.com>
8860
8861         * Double.cs (Parse): Reimplement by cleaning up the string first,
8862         and then passing to strtof in the mono runtime.
8863
8864         * Single.cs (Parse): Use the Double implementation and cast to
8865         float. 
8866
8867 2002-05-21  Nick Drochak  <ndrochak@gol.com>
8868
8869         * Math.cs 
8870                 (Ceiling): Check for "special" values
8871                 (Floor): Check for "special" values
8872                 (Round): Fix off-by-one error on decimal shifting
8873
8874 2002-05-20  Lawrence Pit  <loz@cable.a2000.nl>
8875
8876         * DateTime.cs: ToString () using "G" format specifier 
8877
8878 2002-05-19  Martin Baulig  <martin@gnome.org>
8879
8880         * Convert.cs (FromBase64CharArray): Do correct exception handling.
8881
8882 2002-05-19  Martin Baulig  <martin@gnome.org>
8883
8884         * Convert.cs (FromBase64CharArray): Convert the char array using
8885         System.Text.UTF8Encoding, not UnicodeEncoding (which is UTF-16) to
8886         a byte array.
8887
8888 2002-05-17  Miguel de Icaza  <miguel@ximian.com>
8889
8890         * MonoType.cs: Style changes.
8891
8892         * Type.cs: Style changes.
8893
8894 2002-05-16  Piers Haken <piersh@friksit.com
8895
8896         * UInt64.cs: fix declaration of IConvertible.To* overrides.
8897
8898 2002-05-16  Nick Drochak  <ndrochak@gol.com>
8899
8900         * BitConverter.cs (ToString): Add parameter check for invalid start 
8901         index.
8902
8903         * Console.cs: Use AutoFlush on the StreamWriter for stdin and stdout
8904         now that StreamWriter uses buffering
8905
8906 2002-05-14  Miguel de Icaza  <miguel@ximian.com>
8907
8908         * Double.cs: Oops.  Also handle exponents without finding a dot.
8909
8910 2002-05-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8911
8912         * ChangeLog: removed empty entry at the top of the file.
8913
8914         * Int32.cs: made static functions used by Parse internal.
8915
8916         * Int64.cs:
8917         * UInt32.cs:
8918         * UInt64.cs: removed static fucntions used by Parse and use the ones
8919         in Int32.cs
8920
8921 2002-05-12  Daniel Morgan <danmorg@sc.rr.com>
8922
8923         * IServiceProvider.cs: added using System
8924
8925 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
8926
8927         * Single.cs: copied ToString() and Parse() methods from 
8928         Double to Single and modified a tiny bit for Single.  
8929         There is still a FIXME for Double and Single about
8930         passing the format and provider info to the icall too.
8931
8932 2002-05-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8933
8934         * Int32.cs:
8935         * Int64.cs:
8936         * UInt32.cs:
8937         * UInt64.cs (Parse): don't use Char.IsNumber to test for hex digits.
8938         Don't use a delegate to test for valid digits.
8939
8940 2002-05-01  Duncan Mak  <duncan@ximian.com>
8941
8942         * Convert.cs: 
8943         * Math.cs: Added missing CLSCompliant attributes where necessary.
8944         
8945 2002-04-30  Duncan Mak  <duncan@ximian.com>
8946
8947         * ArgumentException.cs (Message): 
8948         * ArgumentOutOfRangeException.cs (Message): Added.
8949
8950 2002-04-30  Nick Drochak  <ndrochak@gol.com>
8951
8952         * MonoType.cs: Remove unused variable and eliminate a compiler warning.
8953
8954 Mon Apr 29 15:32:02 CEST 2002 Paolo Molaro <lupus@ximian.com>
8955
8956         * Environment.cs: support for Exit(), CommandLine, CommandLineArgs ().
8957
8958 2002-04-28  Duncan Mak  <duncan@ximian.com>
8959
8960         * DivideByZeroException.cs: Added missing serialization constructor.
8961
8962         * UnauthorizedAccessException.cs: Added the missing Serializable attribute.
8963
8964 2002-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8965
8966         * Math.cs: fix Floor () and Round (). Closes #23960.
8967
8968 2002-04-27  Nick Drochak  <ndrochak@gol.com>
8969
8970         * Array.cs (IList.Contains): Should throw a RankException if this is 
8971         called on a Rank > 1 array. Not in the docs, but this is what the 
8972         MS.NET does.
8973
8974 2002-04-26  Duncan Mak  <duncan@ximian.com>
8975
8976         * MissingMemberException.cs: Made the message variable 'protected'
8977         instead of 'private', so that we can see it in
8978         MissingMethodException and MissingFieldException.
8979
8980         * MissingFieldException.cs:
8981         * MissingMethodException.cs: Added missing (string, string)
8982         constructor, and also the Message property.
8983
8984 2002-04-26  Martin Baulig  <martin@gnome.org>
8985
8986         * Enum.cs: Implemented the IConvertible methods.
8987
8988 2002-04-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
8989
8990         * SByte.cs: little change in Parse (string) to avoid incorrect
8991         OverflowException thrown (reported by nickd).
8992
8993 2002-04-22  Miguel de Icaza  <miguel@ximian.com>
8994
8995         * ValueType.cs: Add Serializable attribute.
8996
8997         * String.cs: ifdef-out out the __arglist Concat function until I
8998         add support for that to mcs.
8999
9000 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
9001
9002         * AppDomain.cs (GetValue): usage of the correct icall (bug)
9003
9004 Wed Apr 24 21:15:44 CEST 2002 Paolo Molaro <lupus@ximian.com>
9005
9006         * GC.cs: implement most of the methods as icalls.
9007
9008 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9009
9010         * DecimalFormatter.cs (ToString): return correct value when the
9011         decimal number is 0.
9012
9013 2002-04-24      Patrik Torstensson <patrik.torstensson@labs2.com>
9014         
9015         * Type.cs (GetProperty): fixed call syntax (needs an empty array not null)
9016         * MonoType.cs (GetPropertyImpl) : basic implementation (ignores types, bindingAttr, modifiers)
9017
9018 2002-04-24  Nick Drochak  <ndrochak@gol.com>
9019
9020         * Double.cs (Parse): Handle case where there are no digits before the 
9021         decimal point, such as ".1".
9022
9023 2002-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9024
9025         * Int32.cs:
9026         * UInt32.cs:
9027         * Int64.cs:
9028         * UInt64.cs: fixed bug #23738 (hex numbers parsed wrong).
9029
9030 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
9031
9032         * String.cs (Split): fixed invalid split of count 0 and 1.
9033         
9034 2002-04-23      Patrik Torstensson <patrik.torstensson@labs2.com>
9035         
9036         * String.cs (LastIndexOf): fixed argument checking.
9037         * String.cs (Equals): made internal for performace.
9038
9039 2002-04-23  Nick Drochak  <ndrochak@gol.com>
9040
9041         * String.cs (Join): check argument and throw exception if needed
9042
9043 2002-04-23  Nick Drochak  <ndrochak@gol.com>
9044
9045         * String.cs (StartsWith): check argument and throw exception if needed
9046
9047 2002-04-22  Nick Drochak  <ndrochak@gol.com>
9048
9049         * String.cs (IndexOfAny): check arguments and throw exceptions as
9050         neccessary.  ALso remove some debug WriteLines.
9051
9052 2002-04-20  Dietmar Maurer  <dietmar@ximian.com>
9053
9054         * String.cs: use internal constructors
9055         buf fix in Concat.
9056
9057 Thu Apr 18 17:16:15 CEST 2002 Paolo Molaro <lupus@ximian.com>
9058
9059         * MonoType.cs: make GetElementType its own icall.
9060
9061 2002-04-18  Nick Drochak <ndrochak@gol.com>
9062
9063         * String.cs: Modified file. Re-add methods needed by the unit tests.
9064
9065 Thu Apr 18 12:38:32 CEST 2002 Paolo Molaro <lupus@ximian.com>
9066
9067         * String.cs: some code speedups and restored GetTypeCode().
9068
9069 2002-04-17      Patrik Torstensson <patrik.torstensson@labs2.com>
9070
9071         * String.cs: New implementation using internal calls.
9072         
9073 2002-04-16  Nick Drochak  <ndrochak@gol.com>
9074
9075         * DecimalFormatter.cs: Trim off excess null characters from the string
9076         that decimal2string gives back.
9077
9078 2002-04-16  Nick Drochak  <ndrochak@gol.com>
9079
9080         * String.cs (SubString): revert my change.  I can't reproduce the
9081         problem anymore.
9082
9083 2002-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9084
9085         * Attribute.cs: added GetHashCode and Equals.
9086
9087 2002-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9088
9089         * Enum.cs: little improvements to Format ().
9090
9091 Thu Apr 11 12:28:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
9092
9093         * String.cs: internalcall GetHashCode().
9094         * Array.cS: optimize access to elements.
9095
9096 Wed Apr 10 21:20:19 CEST 2002 Paolo Molaro <lupus@ximian.com>
9097
9098         * String.cs: make IndexOfAny() use an internalcall.
9099
9100 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9101
9102         * Int32.cs:
9103         * UInt32.cs:
9104         * Int64.cs: 
9105         * UInt64.cs: fixed error when testing for validity of flags.
9106
9107 2002-04-11  Nick Drochak  <ndrochak@gol.com>
9108
9109         * Double.cs: Use an internal call for ToString(). This is just a simple
9110         implementation to get away from throwing a NotImplementedException.
9111
9112 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9113
9114         * Int32.cs:
9115         * UInt32.cs:
9116         * Int64.cs: 
9117         * UInt64.cs: changed Type.GetType () by typeof (), as suggested by
9118         lupus.
9119
9120         * Int32.cs:
9121         * Int64.cs: throw an OverFlowException when parsing a string 
9122         containing a dot followed by any non '0' number.
9123
9124 2002-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9125
9126         * Byte.cs:
9127         * UInt16.cs:
9128         * UInt32.cs:
9129         * UInt64.cs: added complex Parse ().
9130
9131 2002-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9132
9133         * SByte.cs:
9134         * Int16.cs:
9135         * Int32.cs:
9136         * Int64.cs: added complex Parse ().
9137
9138 2002-04-09  Nick Drochak  <ndrochak@gol.com>
9139
9140         * Array.cs (BinarySearch): Add checks on paramters before using them
9141         and throw exceptions as needed.
9142
9143         * Enum.cs (Format): Check if [Flags] is applied to enum and convert
9144         "G" format to "F" if so.
9145
9146 Tue Apr 9 13:12:09 CEST 2002 Paolo Molaro <lupus@ximian.com>
9147
9148         * MonoCustomAttrs.cs: return arrays of type Attribute[]
9149         instead of object[].
9150
9151 2002/04/09  Nick Drochak <ndrochak@gol.com>
9152
9153         * String.cs (Substring): Copy only non-null characters to the new
9154         string.
9155
9156 2002-04-09  Nick Drochak  <ndrochak@gol.com>
9157
9158         * IntegerFormatter.cs: Don't use a format character to indicate a
9159         custom format was passed in. It was using 'z' to indicate a custom
9160         format, but really it should throw a format exception if the user
9161         tries to use "z" as the format string. Now it does.
9162
9163         * Activator.cs: New File.
9164
9165 2002-04-08  Nick Drochak  <ndrochak@gol.com>
9166
9167         * Enum.cs (ToString): Big ugly fix for the case where [Flags] is
9168         applied to an enum. Need to handle the different possible integer
9169         types of an enum somehow.  Can anyone say generics?
9170
9171 Mon Apr  8 06:22:42  2002 Piers Haken <piersh@friskit.com>
9172
9173         * Convert.cs: switched the To*(object) methods to use
9174         IConvertible directly instead of calling ChangeType
9175
9176 Sat Apr 6 20:08:41 CEST 2002 Paolo Molaro <lupus@ximian.com>
9177
9178         * ValueType.cs: make Equals() an internalcall.
9179
9180 Fri Apr 5 15:38:54 CEST 2002 Paolo Molaro <lupus@ximian.com>
9181
9182         * Type.cs: also look for nested types in FindMembers.
9183         * MonoType.cs: make GetNestedTypes() an internalcall.
9184
9185 2002-04-05  Nick Drochak  <ndrochak@gol.com>
9186
9187         * Enum.cs (Parse): Handle different underlying types.
9188
9189 2002/04/04 Nick Drochak <ndrochak@gol.com>
9190
9191         * Enum.cs (IsDefined): Throw exception when type of value to look for
9192         is not the correct one.  Attempt to have it work with string values
9193         too, but not sure if the unit tests are getting that far yet.
9194
9195 2002-04-04  Nick Drochak  <ndrochak@gol.com>
9196
9197         * Decimal.cs: Fix a couple of typos.
9198
9199 Wed Apr 3 19:46:00 CEST 2002 Paolo Molaro <lupus@ximian.com>
9200
9201         * Enum.cs: the values array is of the enum and not of the underlying
9202         type. Updates and some bug fixes.
9203         * MonoType.cs: make the internalcall return FullName instead of the
9204         assembly qualified name.
9205         * Type.cs: make ToString () simply return FullName.
9206
9207 2002-04-03  Nick Drochak  <ndrochak@gol.com>
9208
9209         * Type.cs (GetTypeCode): provide some of the implementation for this
9210         method.  It's still too simplistic to be considered complete.
9211
9212 2002-04-02  Dietmar Maurer  <dietmar@ximian.com>
9213
9214         * Object.cs: fixed FieldGetter/FieldSetter signature
9215
9216 2002-04-02  Nick Drochak  <ndrochak@gol.com>
9217
9218         * Environment.cs: add MonoTODO's on parts that should have it.
9219
9220 2002-04-01  Nick Drochak  <ndrochak@gol.com>
9221
9222         * Enum.cs: added reality checks (check parameters to most methods that
9223         need them).
9224
9225 2002-03-30  Dietmar Maurer  <dietmar@ximian.com>
9226
9227         * Object.cs: added FieldGetter/FieldSetter
9228
9229 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9230
9231         * IntegerFormatter.cs: fixed initialization error in static
9232         constructor.
9233
9234 2002-03-28  Dietmar Maurer  <dietmar@ximian.com>
9235
9236         * Delegate.cs: added new field to store a trampoline function
9237
9238 2002-03-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
9239
9240         * IntegerFormatter.cs: added workaround for bug #22668. First patch to
9241         make custom format strings work (not fully functional yet).
9242
9243 2002/03/28  Nick Drochak <ndrochak@gol.com>
9244
9245         * IntegerFormatter.cs: Change class from internal to public.  Add
9246         necessary [CLSCompliant(false)] attributes.
9247
9248 2002-03-27  Duco Fijma  <duco@lorentz.xs4all.nl>
9249         * _AppDomain.cs, AppDomain.cs: renamed method GetDate to GetData
9250         (was a typo)
9251
9252 2002-03-28  Nick Drochak  <ndrochak@gol.com>
9253
9254         * Type.cs: Added MonoTODO tags on members that have FIXME, etc.
9255
9256 2002-03-27  Dan Lewis  <dihlewis@yahoo.co.uk>
9257
9258         * Console.cs: Modified to get std handles from MonoIO.
9259         * Environment.cs: removed PAL dependencies.
9260
9261 2002-03-25  Miguel de Icaza  <miguel@ximian.com>
9262
9263         * String.cs (System): Removed internal enumeration, because
9264         bootstrapping the corlib at this point does not support
9265         enumerations. 
9266
9267         * IntPtr.cs: Temporary work-around until I fix the assembly
9268         attributes bug.
9269
9270 2002-03-24  Martin Baulig  <martin@gnome.org>
9271
9272         * Enum.cs (GetValues): According to the docu this is sorted after
9273         values, not names.
9274
9275         * String.cs (System): Removed enumeration, because it is pretty
9276         hard to support enumerations in /nostdlib mode for the core types.
9277
9278 Tue Mar 19 18:18:49 CET 2002 Paolo Molaro <lupus@ximian.com>
9279
9280         * Array.cs: move error handling in the catch block.
9281         * MulticastDelegate.cs: remove == and != operators that were
9282         removed with the delegate changes (when you add stuff, please do not
9283         remove existing functionality!).
9284         * Type.cs: if a property is not found in a type, search for it
9285         in the parent types, too.
9286
9287 2002-03-18  Dan Lewis <dihlewis@yahoo.co.uk>
9288         
9289         * Math.cs: changed to use icall instead of PAL.
9290
9291 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
9292
9293         * Double.cs: added check for NaN (Bug [22082])
9294
9295 2002-03-19  Nick Drochak  <ndrochak@gol.com>
9296
9297         * Enum.cs (Equals): check for null and throw if it is.
9298         * Enum.cs (Format): check for null parameters and throw if necessary.
9299         This method still needs more argument checking.
9300
9301 2002-03-18  Dietmar Maurer  <dietmar@ximian.com>
9302
9303         * Enum.cs (Equals): check if Enums are of the same type
9304
9305 2002-03-18  Nick Drochak  <ndrochak@gol.com>
9306
9307         * Double.cs: Explicitly handle comparisons in CompareTo() for
9308         Positive/Negative Infinity and NaN. Unit Test now passes on Linux.
9309
9310         * Enum.cs(CompareTo): Check types of values before trying to compare.
9311         Throw exceptions if types are invalid or don't match.
9312
9313 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
9314
9315         * Array.cs: Add some extra debugging information.
9316
9317 2002-03-15  Nick Drochak  <ndrochak@gol.com>
9318
9319         * Array.cs: Added IList and IEnumerable. 
9320
9321 2002-03-14  Miguel de Icaza  <miguel@ximian.com>
9322
9323         * UInt64.cs, UInt32.cs, UInt16.cs: Mark public parse methods as
9324         NonCLSCompliant. 
9325
9326 2002-03-14  Dietmar Maurer  <dietmar@ximian.com>
9327
9328         * Delegate.cs (Equals): also compare method_ptr 
9329         (GetHashCode): returm method_ptr as hash
9330
9331 2002-03-13  Duco Fijma  <duco@lorentz.xs4all.n>
9332         * TimeSpan.cs: removed the use of Custom Numeric Format Strings,
9333         such as 42.ToString("0000000"), as these are (currently) not implemented
9334         in System.IntegerFormatter. TimeSpan luckely can do with Standard
9335         Numeric Format Strings, such as 42.ToString("D7").
9336
9337 2002-03-12  Duncan Mak  <duncan@ximian.com>
9338
9339         * FieldAccessException.cs: 
9340         * MethodAccessException.cs: 
9341         * PlatformNotSupportedException.cs: Inherit from
9342         MemberAccessException, not SystemException.
9343
9344         * ObsoleteAttribute.cs: Made Message and IsError properties
9345         instead of fields.
9346
9347 Tue Mar 12 19:21:18 CET 2002 Paolo Molaro <lupus@ximian.com>
9348
9349         * GC.cs: make SuppressFinalize() a nop.
9350         * Delegate.cs: fix == operator.
9351
9352 2002-03-13  Nick Drochak  <ndrochak@gol.com>
9353
9354         * Enum.cs: Add IConvertible methods. Cyclic dependancy fixed in the
9355         runtime that goes with this patch.
9356
9357 2002-03-10  Martin Baulig  <martin@gnome.org>
9358
9359         * Int32.cs (Parse): Correctly parse negative numbers.
9360
9361 2002-03-08  Martin Baulig  <martin@gnome.org>
9362
9363         * String.cs (Split): Really fix it this time. Also adding several new
9364         testcase to the testsuite.       
9365
9366 2002-03-08  Martin Baulig  <martin@gnome.org>
9367
9368         * Array.cs (Copy): Optimized: removed duplicate null check, removed
9369         two duplicate GetLowerBound() calls and one duplicate IsValueType.
9370
9371 Fri Mar 8 18:49:19 CET 2002 Paolo Molaro <lupus@ximian.com>
9372
9373         * Object.cs: commit my hacked GetHashCode(): it's good enough for now.
9374         * String.cs: use the dumb code for IndexOf(string): this is worth
9375         15-20 % speedup in mcs compile with mint.
9376
9377 Fri Mar 8 12:45:44 CET 2002 Paolo Molaro <lupus@ximian.com>
9378
9379         * String.cs: revert change to Split() that broke the compiler (hi martin!:-).
9380
9381 2002-03-07  Martin Baulig  <martin@gnome.org>
9382
9383         * String.cs (Join): Throw an ArgumentNullException.
9384         (LastIndexOf (string,int,int)): This method does a backwards search,
9385         so startIndex points to the end of value, not to its beginning. Don't
9386         throw an exception if startIndex equals this.Length. Always return -1
9387         if startIndex is smaller than the length of value.
9388         (Replace (string,string)): Replace all occurences of oldValue.
9389         If newValue is null, all occurences of oldValue are to be removed.
9390         (Split (char[],int)): Return an empty array if maxCount is zero, throw
9391         an ArgumentOutOfRangeException if it's less than zero. Return maxValue
9392         elements, not maxValue+1.
9393
9394 Thu Mar 7 17:16:06 CET 2002 Paolo Molaro <lupus@ximian.com>
9395
9396         * MonoType.cs: make GetEvents() an internal call.
9397         * MulticastDelegate.cs: copy the passed in array.
9398
9399 2002-03-06  Martin Baulig  <martin@gnome.org>
9400
9401         * Array.cs (Copy): Use FastCopy when appropriate and do correct
9402         exception handling.
9403
9404 2002-03-06  Duco Fijma  <duco@lorentz.xs4all.nl>
9405         * CharEnumerator.cs: fixes to CharEnumertor.MoveNext, fixing 
9406         some of the failures found be new tests (see ChangeLog in 
9407         Test/System). Comments added to this method, based on
9408         the representation invariant of this class, that (try to) explain
9409         why it now should be correct.
9410
9411 2002-03-06  Dietmar Maurer  <dietmar@ximian.com>
9412
9413         * Int64.cs (Parse): bug fix for max. negative value. 
9414
9415 2002-03-07  Nick Drochak  <ndrochak@gol.com>
9416
9417         * RuntimeTypeHandle.cs: Add Serializable attribute as the docs say.
9418         I need to understand what the difference between the attribute and
9419         the interface is.
9420
9421 2002-03-06  Martin Baulig  <martin@gnome.org>
9422
9423         * Array.cs (Copy): Always throw an ArrayTypeMismatchException, not
9424         an InvalidCastException if the widening conversion failed. See
9425         testcases #M94-#M96.
9426
9427         * Array.cs (CopyTo): Bug fix from Ajay Dwivedi, correctly handle
9428         arrays with non-zero lower bounds. Also adding testcases #F10-#F13
9429         for this.
9430
9431         * Array.cs (CopyTo): Reverted my last change, it was incorrect.
9432         (Copy): Actually allow copying multi-dimensional arrays.
9433
9434 2002-03-05  Duncan Mak  <duncan@ximian.com>
9435
9436         * Convert.cs:
9437         (DBNull) Added the missing field.
9438         (IsDBNull) Fixed typo.
9439         (ToByte (string, int)) Implemented.
9440         (ToString (byte, int)) Implemented.
9441         (ConvertToBase)
9442         (BuildConvertedString) internal functions used for converting values to
9443         a specific base.
9444
9445         * Int16.cs: 
9446         * Int32.cs:
9447         * Int64.cs:
9448         * Single.cs:
9449         * UInt16.cs: 
9450         * UInt32.cs: Implemented the IConvertible interface.    
9451
9452         * CharEnumerator.cs: Renamed to variables to be clearer and
9453         changed some of the tests to conform to the 1.0 spec.
9454
9455 2002-03-06  Martin Baulig  <martin@gnome.org>
9456
9457         * Array.cs (Copy): Calculate absolute array position here and use
9458         GetValueImpl() and SetValueImpl() with that position. We can now
9459         copy multi-dimensional arrays.
9460         (CopyTo): Small bug fix.
9461
9462 2002-03-05  Duco Fijma  <duco@lorentz.xs4all.nl>
9463
9464         * Version.cs: CompareTo changed according the LAMESPEC discovered by 
9465         Nick (See VersionTest.cs).
9466         * CharEnumerator.cs: fixed two bugs in MoveNext. It had an off-by-one
9467         error comparing the current position (idx) against the length of the
9468         string iterated and it set idx to an unrecognized special value (-2)
9469
9470 Tue Mar 5 17:34:14 CET 2002 Paolo Molaro <lupus@ximian.com>
9471
9472         * SByte.cs, UInt64.cs: implement IConvertible interface. Nobody wants
9473         to do this dirty work, but someone has to do it (and I need it to pass
9474         the "200 sample tests compiled on linux" mark).
9475
9476 2002-03-06  Nick Drochak  <ndrochak@gol.com>
9477
9478         * Attribute.cs
9479         * DecimalFormatter.cs
9480         * Delegate.cs
9481         * Double.cs
9482         * GC.cs
9483         * Int16.cs
9484         * Int32.cs
9485         * MonoType.cs
9486         * RuntimeMethodHandle.cs
9487         * RuntimeTypeHandle.cs
9488         * String.cs
9489         * Type.cs:
9490                 Add [MonoTODO]'s to places where we currently throw a
9491                 NotImplementedException.
9492
9493 2002-03-05  Dietmar Maurer  <dietmar@ximian.com>
9494
9495         * Int16.cs (Parse): do not overflow on max negative value
9496
9497         * Int32.cs (Parse): do not overflow on max negative value
9498
9499 Mon Mar 4 20:36:05 CET 2002 Paolo Molaro <lupus@ximian.com>
9500
9501         * Type.cs: fixed IsClass.
9502         * MonoType.cs: fixed MemberType, IsPrimitiveImpl, IsPointerImpl,
9503         IsByRefImpl. Added GetInterfaces().
9504         * IServiceProvider.cs: compilation fix.
9505
9506 Mon Mar 4 18:37:03 CET 2002 Paolo Molaro <lupus@ximian.com>
9507
9508         * Array.cs: allow copying an empty array to an empty array.
9509
9510 Mon Mar 4 17:59:16 CET 2002 Paolo Molaro <lupus@ximian.com>
9511
9512         * String.cs: fixed LastIndexOf (string) to do a bit of argument
9513         checking.
9514
9515 2002-03-04  Duco Fijma  <duco@lorentz.xs4all.nl>
9516         * Version.cs: many fixes to failures found by the newly created
9517         test cases for this class. Specifically, the CompareTo member
9518         returned wrong values due to the use of Int32.MaxValue as a special
9519         value indicating an "undefined" version component. Also implemented the
9520         missing operators (==, <, >, etc.), one missing constructor and
9521         and some exception throwing.
9522
9523 2002-03-04  Nick Drochak  <ndrochak@gol.com>
9524
9525         * IServiceProvider.cs: Add missing attribute: ComVisible(false)
9526         * Attribute.cs: Add missing attributes: Serializable and
9527         AttributeUsage(AttributeTargets.All)
9528
9529 Mon Mar 4 11:26:49 CET 2002 Paolo Molaro <lupus@ximian.com>
9530
9531         * MonoType.cs: implemented GetConstructors(), GetFields(),
9532         GetMethods(), GetProperties().
9533         * Object.cs: added debugging icall obj_address().
9534         * Type.cs: fixed the binding flags for some Get* methods.
9535         Implemented FindMembers() as calls to the specific GetMember
9536         methods.
9537
9538 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
9539         * BitConverter.cs: fixed one little bug: ToString(s, n, 0) 
9540         should give an exception for n>=s.Length.
9541
9542 2002-03-01  Martin Baulig  <martin@gnome.org>
9543
9544         * Array.cs: More argument checking and bug fixing.
9545
9546 2002-03-01  Miguel de Icaza  <miguel@ximian.com>
9547
9548         * BitConverter.cs: Indentation match
9549
9550         * AppDomain.cs: Added MonoTODOs to this too.
9551
9552         * Buffer.cs: Added MonoTODOs to this.
9553
9554 2002-03-01  Martin Baulig  <martin@gnome.org>
9555
9556         * Array.cs: Added argument checking to all methods where it was missing.
9557
9558 2002-03-01  Duco Fijma  <duco@lorentz.xs4all.nl>
9559
9560         * BitConverter.cs: Fixed bugs in ToString methods
9561
9562 Fri Mar 1 15:20:00 CET 2002 Paolo Molaro <lupus@ximian.com>
9563
9564         * MulticastDelegate.cs: implement operators so mcs3 can be used on linux.
9565
9566 2002-03-01  Nick Drochak  <ndrochak@gol.com>
9567
9568         * BitConverter.cs: Throw ArgumentException like mscorlib, instead of
9569         ArgumentOutOfRangeException like the docs say.
9570
9571 2002-03-01  Martin Baulig  <martin@gnome.org>
9572
9573         * Enum.cs (CompareTo): Correctly override this method from IComparable.
9574
9575         * Console.cs (setIn, setOut, setError): It's called SetIn, SetOut, SetError.
9576
9577 2002-02-28  Martin Baulig  <martin@gnome.org>
9578
9579         * String.cs: This file now passes the testsuite on Linux :-)
9580         
9581         * String.cs (Intern, IsInterned): The interncalls are now called _Intern and _IsInterned;
9582         make them private and provide C# wrappers which do proper argument checking.
9583
9584         * String.cs (Format): Correctly handle escaped brackets.
9585
9586         * String.cs (_CompareChar): New internal function which compares two chars.
9587         (_Compare): Provide an internal compare method which can do all sorts of
9588         comparision and call it from all the Compare() methods. Also fixed a lot of
9589         bugs here, this code now actually passes the testsuite.
9590
9591 2002-02-28  Duncan Mak  <duncan@ximian.com>
9592
9593         * Convert.cs: Added the missing methods. The new class status page
9594         kicks ass, it even found my typos! Woohoo!
9595         (ConvertFromBase): Moved the Exception throwing in here and
9596         removed the other occurances so it's all centralized now.
9597         (ISDBNull): Implemented.
9598         (GetTypeCode): Implemented.
9599
9600 2002-02-27  Duco Fijma  <duco@lorentz.xs4all.nl>
9601         * Guid.cs: Guid.ToString("") and Guid.ToString(null) is now understood as Guid.ToString("D") 
9602         just as in mscorlib. There is (probably) a documentation bug in the MS FrameWork SDK, which
9603         states that a lacking format should be interpreted as "N".  
9604         Also added [Serializable] attribute
9605         * TimeSpan.cs: some formatting and added the [Serializable] attribute
9606
9607 2002-02-26  Duncan Mak  <duncan@ximian.com>
9608
9609         * WeakReference.cs: Committed for Ajay Kumar Dwivedi.   
9610
9611 2002-02-26  Martin Baulig  <martin@gnome.org>
9612
9613         * TimeZone.cs: Use an internal enum rather than magic numbers to access the
9614         fields of the interncall GetTimeZoneData.
9615
9616         * DateTime.cs: Implemented Parse and fixed a few bugs.
9617
9618         * String.cs (TrimStart): Small fix.
9619
9620 2002-02-26  Martin Baulig  <martin@gnome.org>
9621
9622         * DateTime.cs: ParseExact is now fully functional.
9623
9624         * String.cs (TrimEnd): Small fix.
9625
9626 2002-02-26  Duco Fijma <duco@lorentz.xs4all.nl>
9627         * TimeSpan.cs: Added method TimeSpan.FromMilliseconds, mysteriously 
9628         missing for about six months.
9629
9630 Tue Feb 26 14:21:19 CET 2002 Paolo Molaro <lupus@ximian.com>
9631
9632         * UInt64.cs: fixed Parse method () to handle some of the NumberStyle flags.
9633
9634 2002-02-26  Martin Baulig  <martin@gnome.org>
9635
9636         * DateTime.cs: Miguel already committed this, but there was still a
9637         ChangeLog entry for this missing ....
9638         We're now reusing functionality from TimeSpan, printing dates is
9639         fully implemented, currently working on parsing.
9640
9641         * TimeZone.cs: Fully implemented this. There's a new InternCall in the
9642         runtime for this.
9643
9644 Fri Feb 22 18:47:08 CET 2002 Paolo Molaro <lupus@ximian.com>
9645
9646         * MonoType.cs: disable constructor.
9647         * Object.cs: make GetType() an internalcall.
9648         * Type.cs: added correct bindingflags to GetMethods ().
9649         All such calls should be reviewed to use the correct flags.
9650
9651 Thu Feb 21 19:23:46 CET 2002 Paolo Molaro <lupus@ximian.com>
9652
9653         * Type.cs, MonoType.cs: type_is_subtype_of () changed to include extra
9654         argument.
9655
9656 Thu Feb 21 16:56:51 CET 2002 Paolo Molaro <lupus@ximian.com>
9657
9658         * Type.cs: implemented IsAssignableFrom.
9659
9660 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
9661         * Guid.cs: fixed Guid.Guid(string) ctor. Changed format:
9662         "{0xdddddddd,0xdddd,0xdddd,{0xdd},{0xdd},{0xdd},{0xdd},{0xdd},{0xdd}}" 
9663         to "{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}" 
9664         The former is documented by Microsoft. The latter is how they
9665         actually implemented it in mscorlib:-)
9666
9667 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
9668
9669         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
9670         runtime.
9671         * MonoType.cs: Implemented custom attributes methods.
9672
9673
9674 2002-02-21  Duco Fijma <duco@lorentz.xs4all.nl>
9675         * Guid.cs: 
9676
9677 Tue Feb 19 20:34:35 CET 2002 Paolo Molaro <lupus@ximian.com>
9678
9679         * MonoCustomAttrs.cs: hooks to get the custom attributes from the
9680         runtime.
9681         * MonoType.cs: Implemented custom attributes methods.
9682
9683 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
9684
9685         * Array.cs (CopyTo): use GetLength() instead of GetUpperBound() 
9686
9687 2002-02-19  Duncan Mak  <duncan@ximian.com>
9688
9689         * Convert.cs: Finished up the missing methods in Convert. Added a
9690         new private method ConvertFromBase.
9691
9692 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
9693
9694         * String.cs: impl. IConvertible interface
9695
9696 2002-02-18  Duco Fijma <duco@lorentz.xs4all.nl>
9697         * Guid.cs: actual implementation for Guid.Guid(string) Ctor
9698
9699 2002-02-18  Duncan Mak  <duncan@ximian.com>
9700
9701         * Convert.cs: Changed from using Type.GetType (string) to just
9702         typeof (). Probably will speed things up a bit?         
9703
9704 2002-02-18  Ajay Kumar Dwivedi <AjayKumar.Dwivedi@dresdner-bank.com>
9705
9706         * Array.cs:         
9707         1. Fix for GetUpperBound to return correct values
9708         2. made some Properties virtual
9709         3. Adds IsFixedSize and IsReadOnly properties.
9710         4. changes CreateInstance(Type,int[],int[]) to throw Exception
9711         when third arg is null. InternalCall CreateInstance changed to  
9712         CreateInstanceImpl
9713         5. Fixed array.GetUpperBound at a couple of places
9714         6. IndexOf and LastIndexOf now use Object.Equals instead of "=="
9715         7. Added two FIXME's in BinarySearch functions.
9716
9717 2002-02-17  Duncan Mak  <duncan@ximian.com>
9718
9719         * TimeZone.cs:  Applied the rest of Ajay's patch for    
9720         IsDaylightSavingTime. Thanks a lot for the nice explanation of how
9721         it works!
9722
9723 2002-02-17  Duco Fijma  <duco@lorentz.xs4all.nl>
9724         * Guid.cs: added stub for Guid(string) ctor
9725
9726 2002-02-17  Duncan Mak  <duncan@ximian.com>
9727
9728         * Convert.cs: Near-complete implementation of Convert.cs
9729
9730         Added all the To* methods taking (object) and
9731         (object, IFormatProvider) as parameters.
9732
9733         Added [CLSCompliant (false)] attributes to methods dealing with
9734         unsigned types.
9735
9736         Added the missing section on converting to and from DateTime. Only
9737         6 missing methods, all marked with MonoTODOs. Will tackle them later.           
9738
9739 2002-02-16  Duncan Mak  <duncan@ximian.com>
9740
9741         * TimeZone.cs: patch from Ajay Kumar Dwivedi (adwiv@yahoo.com) to
9742         make IsDaylightSavingTime (DateTime) call 
9743         IsDaylightSavingTime (DateTime, DaylightTime).  
9744         
9745         Added internal class CurrentTimeZone from Ajay. It needs more work
9746         to fill in the appropriate internal calls.
9747         
9748 Sat Feb 16 12:41:41 CET 2002 Paolo Molaro <lupus@ximian.com>
9749
9750         * Type.cs: fix IsClass.
9751
9752 Sat Feb 16 12:02:02 CET 2002 Paolo Molaro <lupus@ximian.com>
9753
9754         * String.cs: fix Trim().
9755
9756 Fri Feb 15 21:02:46 CET 2002 Paolo Molaro <lupus@ximian.com>
9757
9758         * String.cs: fix more off by one errors.
9759
9760 Thu Feb 14 18:54:09 CET 2002 Paolo Molaro <lupus@ximian.com>
9761
9762         * MonoType.cs: fix IsValueTypeImpl.
9763         * Type.cs: fix IsEnum. Implement Equals methods.
9764
9765 Wed Feb 13 21:50:13 CET 2002 Paolo Molaro <lupus@ximian.com>
9766
9767         * Int32.cs: implement IConvertible interface.
9768         
9769 2002-02-12  Duncan Mak  <duncan@ximian.com>
9770
9771         * TimeZone.cs: Implemented and added to CVS.
9772
9773 2002-02-11  Duncan Mak  <duncan@ximian.com>
9774
9775         * Convert.cs: Implemented the ChangeType () methods.
9776
9777 Mon Feb 11 19:48:58 CET 2002 Paolo Molaro <lupus@ximian.com>
9778
9779         * Array.cs: make Clone() an internal call.
9780
9781 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9782         * Changed Guid.NewGuid so that it can use both System.Random and 
9783           System.Security.Cryptography.RandomNumberGenerator
9784
9785 2002-02-09  Duco Fijma <duco@lorentz.xs4all.nl>
9786         * First version of Guid.NewGuid
9787
9788 2002-02-08  Duncan Mak  <duncan@ximian.com>
9789
9790         * RuntimeArgumentHandle.cs: Added to CVS.
9791
9792 Fri Feb 8 19:14:54 CET 2002 Paolo Molaro <lupus@ximian.com>
9793
9794         * CrossAppDomainDelegate.cs, AssemblyLoadEventHandler.cs,
9795         UnhandledExceptionEventHandler.cs: added delegates.
9796
9797 Fri Feb 8 18:06:20 CET 2002 Paolo Molaro <lupus@ximian.com>
9798
9799         * MarshalByRefObject.cs: add ToString () method
9800         (apparently needed by nunit).
9801         * _AppDomain.cs: uncomment ToString(): dietmar fixed the bug triggered
9802         by it in the runtime.
9803
9804 2002-02-08  Dan Lewis <dihlewis@yahoo.co.uk>
9805         
9806         * String.cs (Format): implemented
9807
9808 2002-02-07  Duncan Mak  <duncan@ximian.com>
9809         
9810         * DuplicateWaitObjectException:
9811         * InvalidCastException:
9812         * NotImplementedException:
9813         * NotSupportedException:
9814         * NullReferenceException:
9815         * OutOfMemoryException:
9816         * OverflowException:
9817         * RankException:
9818         * StackOverflowException.cs:
9819         * UnauthorizedAccessException: Added missing constructor used for serialization.
9820
9821 2002-02-07  Dietmar Maurer  <dietmar@ximian.com>
9822
9823         * String.cs (System.Compare): bug fix 
9824
9825 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
9826
9827         * Enum.cs (Parse,  GetHashCode): impl. 
9828
9829 2002-02-05  Duncan Mak  <duncan@ximian.com>
9830
9831         * DBNull.cs: This is my first crack at the DBNull class. I think I
9832         actually got most of the IConvertible methods right, but I haven't
9833         done the research to test whether or not this is the correct
9834         behavior. IConvertible.ToType () is the most iffy of all, IMHO.
9835
9836         * DllNotFoundException.cs: Inherits from TypeLoadException, not SystemException.
9837
9838 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
9839
9840         * Enum.cs: added more functionality (GetName, ToObject, Equals)
9841
9842 2002-01-31  Duncan Mak  <duncan@ximian.com>
9843
9844         * InvalidOperationException.cs:
9845         * NotFiniteNumberException.cs:
9846         * ObjectDisposedException.cs:
9847         * TypeInitializationException.cs: Added missing bits for serialization/
9848         
9849         * AppDomainUnloadedException.cs:
9850         * ApplicationException.cs:
9851         * ArgumentOutOfRangeException.cs:
9852         * ArithmeticException.cs:
9853         * ArrayTypeMismatchException:
9854         * BadImageFormatException.cs:
9855         * Exception.cs:
9856         * MissingMemberException.cs:
9857         * TypeLoadException.cs: Added missing bits for serialization.
9858
9859 2002-01-30  Duco Fijma <duco@lorentz.xs4all.nl>
9860         * Guid.cs: implemented everything but Guid.NewGuid
9861
9862 Tue Jan 29 22:32:36 CET 2002 Paolo Molaro <lupus@ximian.com>
9863
9864         * _AppDomain.cs: remove ToString() method: it doesn't seem right 
9865         to have it in this interface and it screws up the method vtable setup.
9866
9867 2002-01-28  Andrei Zmievski <andrei@php.net>
9868
9869         * Double.cs: implemented IConvertible interface.
9870
9871 2002-01-28  Miguel de Icaza  <miguel@ximian.com>
9872
9873         * ArgumentException.cs: Implement serialization constructor.
9874         (GetObjectData): Implement serializer.
9875         
9876         * ArgumentNullException.cs: Implement serialization constructor.
9877
9878         * Exception.cs: Implement serialization constructor.
9879         (GetObjectData): Implement serializer.
9880
9881 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9882
9883         * DateTime.cs (UnixEpoch): The Begining of the Unix epoch.
9884
9885 2002-01-23  Duncan Mak  <duncan@ximian.com>
9886
9887         * EntryPointNotFoundException.cs:
9888         * FormatException: Added missing constructor and related bits.
9889
9890         * TypeLoadException: Added missing constructor, methods and properties.
9891
9892 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
9893
9894         * AppDomain.cs (GetAssemblies): Use foreach construct instead of
9895         manually getting the enumerator.
9896
9897         (AppDomain.AppDomain): Prime the loaded assemblies with the
9898         assemblies loaded by the runtime in our behalf.
9899
9900         * AppDomainSetup.cs: Remove private keyword, that is the default.
9901         Add a new property DisallowPublisherPolicy.
9902
9903         * AppDomain.cs (AppDomain.GetAssemblies): Implement.
9904
9905 Tue Jan 22 22:51:48 CET 2002 Paolo Molaro <lupus@ximian.com>
9906
9907         * MonoType.cs, Type.cs: many updates, corrected implementation,
9908         completed stubs.
9909
9910 2002-01-20  Andrei Zmievski <andrei@php.net>
9911
9912         * Byte.cs:
9913         * Char.cs: implemented IConvertible interface.
9914
9915         * Boolean.cs: use our own ToString() method directly.
9916
9917 2002-01-20  Duncan Mak  <duncan@ximian.com>
9918
9919         * Files I commited recently: Fixed indentation style.
9920
9921 2002-01-20 Nick Drochak  <ndrochak@gol.com>
9922
9923         * SerializableAttribute.cs: this attrib can be used on enums, structs, 
9924         and delegates too. Added the appropriate usage flags.
9925
9926 2002-01-18  Duncan Mak  <duncan@ximian.com>
9927
9928         * CharEnumerator.cs: Implemented.
9929         * String.cs (System): Fixed the GetEnumerator () method(s).
9930
9931         * ObsoleteAttribute.cs:
9932         * STAThreadAttribute.cs:
9933         * MTAThreadAttribute.cs:
9934         * ThreadStaticAttribute.cs:
9935         * LoaderOptimizationAttribute.cs:
9936         * PlatformNotSupportedException.cs:
9937         * LoaderOptimization.cs: Added to CVS.
9938
9939 2002-01-18  Duncan Mak  <duncan@ximian.com>
9940
9941         * AppDomainUnloadedException.cs:
9942         * MethodAccessException.cs:
9943         * ContextMarshalException.cs:
9944         * CannotUnloadAppDomainException.cs:
9945         * DllNotFoundException.cs:
9946         * EntryPointNotFoundException.cs:
9947         * FieldAccessException.cs:
9948         * TypeUnloadedException.cs:
9949         * MissingFieldException.cs: Added to CVS.
9950
9951         * ApplicationException.cs: 
9952         * MemberAccessException.cs:
9953         * MissingMemberException.cs
9954         * MissingMethodException.cs:
9955         * SystemException.cs: Added [Serializable] attribute.
9956
9957         * Exception.cs: Added [Serializable] attribute, made properties
9958         'Message', 'Source' and 'StackTrace' virtual methods, per 1.0
9959         spec.
9960
9961         * ContextStaticAttribute.cs: Added [Serializable] attribute and
9962         put in the missing constructor.
9963
9964         * Environment.cs: Commented out references to
9965         EnvironmentPermissionAttribute, because they're just stubbed out
9966         right now and has no implementation.
9967
9968 2002-01-16  Andrei Zmievski <andrei@php.net>
9969
9970         * Boolean.cs: implemented IConvertible interface
9971
9972 2002-01-15  Nick Drochak  <ndrochak@gol.com>
9973
9974         * ResolveEventArgs.cs: class should derive from EventArgs.
9975
9976 2002-01-14  Miguel de Icaza  <miguel@ximian.com>
9977
9978         * String.cs (System): Use DefaultMemberName for the String class.
9979
9980 Mon Jan 14 17:06:40 CET 2002 Paolo Molaro <lupus@ximian.com>
9981
9982         * String.cs: use IndexerName in index char accessor.
9983
9984 Thu Jan 10 21:05:23 CET 2002 Paolo Molaro <lupus@ximian.com>
9985
9986         * MonoType.cs: add rank to MonoTypeInfo and implement GetArrayRank.
9987         * String.c: eliminate 64k+ method calls in search.
9988         * Type.cs: handle byref and array types in ToString ().
9989
9990 2002-01-09  Duco Fijma <duco@lorentz.xs4all.nl>
9991
9992         * Guid.cs: created first version
9993
9994 2002-01-10  Dietmar Maurer  <dietmar@ximian.com>
9995
9996         * MonoType.cs: added missing TypeAttributes to MonoTypeInfo 
9997
9998 Wed Jan 9 19:35:07 CET 2002 Paolo Molaro <lupus@ximian.com>
9999
10000         * MulticastDelegate.cs: add == and != operator stubs.
10001         * String.cs: check for null in == operator.
10002         * Type.cs: use a virtual method to get TypeAttributes.
10003
10004 Tue Jan  8 23:30:19 EST 2002 Matt Kimball <matt@kimball.net>
10005         * String.cs: Fixed several off-by-one errors in LastIndexOf* methods
10006
10007 2002-01-09  Nick Drochak  <ndrochak@gol.com>
10008         
10009         * Environment.cs: Comment out Security attribute and put a MonoTODO
10010         there as a reminder.  We need mcs magic to handle security attributes in
10011         corlib.
10012
10013 2002-01-07  Duco Fijma <duco@lorentz.xs4all.nl>
10014         * Created IAppDomainSetup.cs
10015
10016 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
10017         * Created System._AppDomain interface in _AppDomain.cs
10018
10019 2002-01-06  Nick Drochak  <ndrochak@gol.com>
10020
10021         * ResolveEventArgs.cs: New File, completely implemented! ;)
10022
10023 Sat Jan 5 15:53:50 CET 2002 Paolo Molaro <lupus@ximian.com>
10024
10025         * Enum.cs: dummy ToString impl.
10026         * String.cs: dummy format implementations to get compiler errors
10027         somewhat working.
10028         * Type.cs: implemented filter delegates. FindMembers runs the filter, now.
10029
10030 2002-01-05  Ravi Pratap  <ravi@ximian.com>
10031
10032         * TODOAttribute.cs : Augment some more; provide two constructors
10033         with support for a comment too.
10034
10035 2002-01-05  Nick Drochak  <ndrochak@gol.com>
10036
10037         * Uncommented those MonoTODO's now that Ravi's got
10038         the class in there
10039
10040 2001-01-04  Ravi Pratap  <ravi@ximian.com>
10041
10042         * TODOAttribute.cs : Actually add this time ;-)
10043
10044         Change name to MonoTODO.
10045
10046 2002-01-04  Jeffrey Stedfast  <fejj@ximian.com>
10047
10048         * String.cs (Trim): Fixed a few logic bugs in the code that
10049         calculated how much to trim off the end of the string.
10050
10051 2001-01-04  Nick Drochak  <ndrochak@gol.com>
10052         
10053         * Commented out the [TODO] attributes for now.  We don't have the
10054         class written.  Also changed it to [MonoTODO]
10055
10056 2002-01-04  Ravi Pratap  <ravi@ximian.com>
10057
10058         * TODOAttribute.cs : Add. We use this attribute to tag all bits in
10059         our class libraries that are incomplete.
10060
10061         * Array.cs : Apply attribute wherever we find a FIXME which says
10062         we need something to be implemented there.
10063
10064         * Int32.cs : Ditto.
10065
10066         * MulticastDelegate.cs : Ditto.
10067
10068         * RuntimeFieldHandler.cs, RuntimeMethodHandle.cs,
10069         RuntimeTypeHandle.cs : Ditto.
10070
10071         * String.cs : Ditto.
10072
10073         * Type.cs : Ditto.
10074
10075         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs, Delegate.cs : Ditto.
10076
10077         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs, Single.cs, 
10078         UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
10079
10080         * Byte.cs, Char.cs, ContextBoundObject.cs, DateTime.cs,
10081         Delegate.cs : Ditto.
10082
10083         * Enum.cs, Environment.cs, Exception.cs, Int64.cs, SByte.cs,
10084         Single.cs, UInt16.cs, UInt32.cs, ValueType.cs: Ditto.
10085         
10086 Thu Jan 3 23:24:04 CET 2002 Paolo Molaro <lupus@ximian.com>
10087
10088         * Delegate.cs: add Remove() stub.
10089         * Enum.cs: add ToObject().
10090         * Type.cs: add IsEnum property.
10091
10092 2002-01-03  Kristian Rietveld  <kris@gtk.org>
10093
10094         * Convert.cs: add non-CLS-compliant ToBoolean methods for char,
10095         DateTime and object.
10096
10097 2001-12-30  Nick Drochak  <ndrochak@gol.com>
10098
10099         * Byte.cs (Parse): Add comments to aid in testing.
10100
10101 2001-12-21  Miguel de Icaza  <miguel@ximian.com>
10102
10103         * Char.cs (Parse): Implement.
10104
10105         * Byte.cs (Parse): Implement a fast parser.
10106         
10107         * SByte.cs (Parse): Implement a fast parser.
10108
10109         * UInt16.cs (Parse): Implement a fast parser.
10110         
10111         * Int16.cs (Parse): Implement a fast parser.
10112
10113         * UInt32.cs (Parse): Implement a fast parser.
10114
10115         * Int32.cs (Parse): Implement a fast parser.
10116
10117 Fri Dec 21 15:14:52 CET 2001 Paolo Molaro <lupus@ximian.com>
10118
10119         * Array.cs: fix null ref in sort code.
10120         * UInt64.cs: add bare-bones parse.
10121
10122 Thu Dec 20 15:29:52 CET 2001 Paolo Molaro <lupus@ximian.com>
10123         
10124         * Byte.cs: removed use of Regexes.
10125
10126 Tue Dec 18 18:39:54 CET 2001 Paolo Molaro <lupus@ximian.com>
10127
10128         * Enum.cs: implemented GetValues(), GetNames(), GetName(),
10129         IsDefined(), GetUnderlyingType().
10130         * String.cs: fix one instance of Compare().
10131         * Type.cs: implemented GetProperties(), GetProperty().
10132
10133 Thu Dec 13 20:10:57 CET 2001 Paolo Molaro <lupus@ximian.com>
10134
10135         * Array.cs: implement CopyTo ().
10136         * Char.cs: implement ToString ().
10137         * Exception.cs: bugfix.
10138         * Int32.cs: bare-bones Parse ().
10139         * MonoType.cs: query the needed info with an internalcall.
10140         * String.cs: speedups, bugfixes, reduced copies.
10141         * Type.cs: added missing fields. Implemented many of the Is*
10142         properties. Implemented GetMethod(), GetConstructor(), GetMethods(),
10143         GetFields(), FindMembers(), ToString().
10144         
10145 2001-12-11  Dick Porter  <dick@ximian.com>
10146
10147         * DateTime.cs: Implemented FromFileTime() and ToFileTime()
10148
10149         * Console.cs: Use handles rather than casting file descriptors
10150
10151 2001-12-08  Nick Drochak  <ndrochak@gol.com>
10152
10153         * Byte.cs (Parse): Start implementation. Parse(string) works, but
10154         now we need to handle other formats
10155
10156 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
10157
10158         * DateTime.cs: added an icall to GetNow()
10159
10160 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
10161
10162         * Double.cs: added the parse method from Bob Smith
10163
10164 2001-11-28  Miguel de Icaza  <miguel@ximian.com>
10165
10166         * UInt64.cs: ditto.
10167
10168         * UInt32.cs: ditto.
10169
10170         * Int32.cs (Int32.CompareTo): Fix because we can not just
10171         substract the values.
10172
10173         Return possitive value if the object is null.
10174
10175         * Boolean.cs: (Boolean.CompareTo): ditto.
10176
10177         * Int16.cs (Int16.CompareTo): ditto.
10178
10179         * Byte.cs (Byte.CompareTo): ditto.
10180
10181         * SByte.cs (SByte.CompareTo): ditto.
10182
10183         * Char.cs (Char.CompareTo): ditto.
10184         
10185         * Decimal.cs (Decimal.CompareTo): ditto.
10186
10187         * Int64.cs (Int64.CompareTo): ditto.
10188
10189         * Single.cs: Ditto.
10190
10191         * UInt16.cs: Ditto.
10192
10193 2001-11-28  Nick Drochak <ndrochak@gol.com>
10194
10195         * Byte.cs: Throw NotImplementedException for Parse.
10196
10197 2001-11-27  Derek Holden  <dholden@draper.com>
10198
10199         * IntegerFormatter.cs: Formatting of type "Number" was not
10200         using NumberFormatInfo.NumberNegativePattern.
10201
10202 2001-11-26  Dick Porter  <dick@ximian.com>
10203
10204         * LocalDataStoreSlot.cs: No need to delete a system TLS slot in
10205         the finalise routine any more
10206
10207 2001-11-21  Miguel de Icaza  <miguel@ximian.com>
10208
10209         * ApplicationException.cs: internationalize by adding calls to
10210         Locale.GetText ().  And throw NotImplementedExceptions on calls
10211         that we have to implement.
10212
10213         * Version.cs: Ditto.
10214
10215         * ValueType.cs: ditto.
10216
10217         * UnauthorizedAccessException.cs: ditto.
10218
10219         * UInt32.cs: ditto.
10220
10221         * UInt64.cs: ditto.
10222
10223         * UInt16.cs: ditto.
10224
10225         * TypeLoadException.cs: ditto
10226
10227         * TypeInitializationException.cs: ditto.
10228
10229         * Type.cs: ditto.
10230
10231         * TimeSpan.cs: ditto.
10232
10233         * SystemException.cs: ditto.
10234
10235         * String.cs: ditto.
10236
10237         * StackOverflowException.cs: ditto.x
10238
10239         * Single.cs: ditto.
10240
10241         * SByte.cs: ditto.
10242
10243         * RuntimeTypeHandle.cs: ditto.
10244
10245         * RuntimeMethodHandle.cs: ditto.
10246
10247         * RuntimeFieldHandle.cs: ditto.
10248
10249         * Random.cs: ditto.
10250
10251         * OutOfMemoryException.cs: ditto.
10252
10253         * OperatingSystem.cs: ditto.
10254
10255         * ObjectDisposedException.cs: ditto.
10256
10257         * NullReferenceException.cs: ditto.
10258
10259         * NotImplementedException.cs: ditto.
10260
10261         * NotFiniteNumberException.cs: ditto.o
10262
10263         * MulticastNotSupportedException.cs: ditto.
10264
10265         * MissingMethodException.cs: ditto.
10266
10267         * MemberAccessException.cs: ditto.
10268
10269         * Math.cs: ditto.
10270
10271         * InvalidCastException.cs: ditto.
10272
10273         * IntegerFormatter.cs: ditto.
10274
10275         * Int32.cs: ditto.
10276
10277         * Int16.cs: ditto.
10278
10279         * IndexOutOfRangeException.cs: ditto.
10280
10281         * Environment.cs: ditto
10282
10283         * Enum.cs: ditto.
10284
10285         * DuplicateWaitObjectException.cs: ditto.
10286
10287         * DivideByZeroException.cs: ditto.
10288
10289         * Delegate.cs: ditto
10290
10291         * DecimalFormatter.cs: ditto.
10292
10293         * Decimal.cs: ditto.
10294
10295         * DateTime.cs: ditto.
10296
10297         * Convert.cs: ditto.
10298
10299         * Char.cs: ditto.
10300
10301         * Byte.cs: ditto.
10302
10303         * Boolean.cs: ditto.
10304
10305         * ArrayTypeMismatchException.cs: ditto.
10306
10307         * ArithmeticException.cs: ditto.
10308
10309         * ArgumentOutOfRangeException.cs: ditto.
10310
10311         * ArgumentNullException.cs: ditto.
10312
10313         * Enum.cs: Make it derive from ValueType, add CompareTo method.
10314
10315         * Attribute.cs: Reformat.
10316
10317 2001-11-14  Miguel de Icaza  <miguel@ximian.com>
10318
10319         * Decimal.cs, Double.cs, Byte.cs, Char.cs, Int16, UInt16, Int32,
10320         UInt32, Int64, UInt64, SByte, Single (CompareTo): Throw the
10321         exception if the value is null too.
10322
10323         * Char.cs (CompareTo): ditto.
10324
10325         * ApplicationException.cs: Added constructor that does serialization.
10326
10327         * ParamArrayAttribute.cs: Define attribute correctly.
10328
10329 Wed Nov 14 16:31:19 CET 2001 Paolo Molaro <lupus@ximian.com>
10330
10331         * AppDomain.cs: rename dummy interface _AppDomain to AppDomain_Intf.
10332         * Array.cs: fix Array.Copy.
10333         * AssemblyLoadEventArgs.cs: rename field.
10334         * CLSCompliantAttribute.cs: use correct name for the class.
10335         * Char.cs: fix IsLetter.
10336         * Console.cs, DateTime.cs, Decimal.cs, IConvertible.cs, Math.cs,
10337         SByte.cs, UInt16.cs, UInt32.cs, UInt64.cs, UIntPtr.cs: CLSCompliant updates.
10338         * Convert.cs: CLSCompliant updates, add ChangeType() methods.
10339         * Delegate.cs: renamed target field to m_target.
10340         * Enum.cs: added missing methods.
10341         * MonoType.cs: add a constructor and some needed properties.
10342         * Object.cs: implement GetType().
10343         * String.cs: CLSCompliant updates. Fixes everywhere to remove the
10344         ending 0 char.
10345         * Type.cs: add missing methods/properties.
10346
10347 2001-11-10  Sean MacIsaac  <macisaac@ximian.com>
10348
10349         * AttributeUseage.cs: Should define AttributeUsageAttribute.
10350
10351         * CLSCompliant.cs: Marked with AttributeUsage attribute.
10352
10353         * Decimal.cs: Fixed CLSCompliant attributes.
10354
10355         * Type.cs: changed _impl to internal (needs to be accessable by
10356         subclasses).
10357
10358         (TypeHandle): Marked as abstract, implementation removed.
10359
10360         (IsNotPublic, IsPublic, GetMethods, GetPropery, GetConstructor,
10361         GetMethod): Added stub implementations so NUnit would link against
10362         corlib
10363
10364 Tue Nov 6 09:11:43 CET 2001 Paolo Molaro <lupus@ximian.com>
10365
10366         * AppDomain.cs: use an internal constructor for AssemblyBuilder.
10367
10368 2001-11-05  Miguel de Icaza  <miguel@ximian.com>
10369
10370         * NonSerializedAttribute.cs: Add AttributeUsage rules for this
10371         attribute. 
10372
10373 Fri Nov 2 18:23:15 CET 2001 Paolo Molaro <lupus@ximian.com>
10374
10375         * String.cs: fix a couple of bugs.
10376         * AppDomain.cs: use new AppBuilder constructor.
10377         * Buffer.cs, GC.cs, NonSerializedAttribute.cs,
10378         NotImplementedException.cs, ObjectDisposedException.cs,
10379         UnauthorizedAccessException.cs: add implementation.
10380         * OverflowException.cs: fix class name.
10381
10382 2001-10-28  Jeffrey Stedfast  <fejj@ximian.com>
10383
10384         * String.cs: Don't use a terminating nil char for our internal
10385         array.
10386
10387 2001-10-27  Miguel de Icaza  <miguel@ximian.com>
10388
10389         * Delegate.cs (Delegate.CombineImpl): Implement.
10390         (Delegate.Combine): Implement.
10391
10392         * MulticastDelegate.cs (MulticastDelegate.Equals): Implement.
10393
10394         (MulticastDelegate.CombineImpl): This was not as trivial as I
10395         thought. 
10396
10397         * ContextStaticAttribute.cs: Added AttributeUsage to
10398         ContextStaticAttribute. 
10399
10400         * FlagsAttribute.cs: Add AttributeUsage to FlagsAttribute
10401
10402 2001-10-15  Martin Weindel <martin.weindel@t-online.de>
10403
10404         * added Decimal.cs * added DecimalFormatter.cs (internal class
10405         used from System.Decimal)
10406
10407 2001-10-11  Thomas Neidhart <tome@sbox.tugraz.at>
10408
10409         * Convert.cs: Added methods for Base64 transforming just used the
10410           existing System.Security.Cryptography.ToBase64Transform, should
10411           be changed to use a stand-alone class, e.g. Base64Encoder
10412           
10413 2001-10-10  Derek Holden  <dholden@draper.com>
10414
10415         * IntegerFormatter.cs: Added. Implements ToString for all the
10416         integer data types for all the format types.
10417
10418         * Byte.cs: Using IntegerFormatter for ToString's.
10419
10420         * SByte.cs: Using IntegerFormatter for ToString's.
10421
10422         * Int16.cs: Using IntegerFormatter for ToString's.
10423
10424         * Int32.cs: Using IntegerFormatter for ToString's.
10425
10426         * Int64.cs: Using IntegerFormatter for ToString's.
10427
10428         * UInt16.cs: Using IntegerFormatter for ToString's.
10429
10430         * UInt32.cs: Using IntegerFormatter for ToString's.
10431
10432         * UInt64.cs: Using IntegerFormatter for ToString's.
10433
10434 2001-10-07  Miguel de Icaza  <miguel@ximian.com>
10435
10436         * Exception.cs: Implement bits of serialization.
10437
10438         * RuntimeFieldHandle.cs: Implement Serialization features.
10439
10440         * Type.cs: Implement TypeHandle property.
10441
10442 2001-09-28  Dick Porter  <dick@ximian.com>
10443
10444         * LocalDataStoreSlot.cs: Implemented
10445
10446 Tue Sep 25 19:58:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
10447
10448         * String.cs: fix off-by-one error in Trim().
10449
10450 Tue Sep 25 18:52:14 CEST 2001 Paolo Molaro <lupus@ximian.com>
10451
10452         * Type.cs: added GetType () method.
10453
10454 Tue Sep 25 17:29:02 CEST 2001 Paolo Molaro <lupus@ximian.com>
10455
10456         * MissingMethodException.cs, MissingMemberException.cs,
10457         MemberAccessException.cs: added.
10458
10459 Tue Sep 25 16:46:43 CEST 2001 Paolo Molaro <lupus@ximian.com>
10460
10461         * String.cs: don't access the string array out of bounds in
10462         LastIndexOf.  * Type.cs: fix return type of the Assembly property.
10463
10464 Mon Sep 24 20:35:24 CEST 2001 Paolo Molaro <lupus@ximian.com>
10465
10466         * String.cs: make Intern and IsIntern internalcalls.
10467
10468 2001-09-13  Dick Porter  <dick@ximian.com>
10469
10470         * Type.cs: Added a stub for the IsValueType property.
10471
10472         * SystemException.cs (System): Added the other constructor, so
10473         that System.Threading exceptions can inherit it.
10474
10475 2001-09-08  Jeffrey Stedfast  <fejj@ximian.com>
10476
10477         * String.cs (TrimStart): Don't keep looping through the trimchars
10478         once we've found a match.
10479         (TrimEnd): Same here.
10480         (Trim): And finally here.
10481
10482 2001-09-07  Ravi Pratap  <ravi@ximian.com>
10483
10484         * Char.cs (IsLetterOrDigit): Implement.
10485         (IsLower): Implement, but we need to be Unicode aware.
10486         (IsNumber): Implement.
10487         (IsPunctuation): Implement.
10488         (IsWhiteSpace): Implement.
10489         (ToUpper): Fix to subtract 32 from the ASCII value, not 33 :)
10490         (ToLower): Same here.
10491
10492 2001-09-04  Miguel de Icaza  <miguel@ximian.com>
10493
10494         * Object.cs: Shortcut, if (a == b) then return true.
10495
10496 Fri Sep 7 18:34:48 CEST 2001 Paolo Molaro <lupus@ximian.com>
10497
10498         * Delegate.cs: we need a pointer to the method thunk in
10499         the delegate object.
10500
10501 Fri Sep 7 12:28:01 CEST 2001 Paolo Molaro <lupus@ximian.com>
10502
10503         * AsyncCallback.cs, common.src: add AsyncCallback delegate.
10504
10505 2001-09-06  Jeffrey Stedfast  <fejj@ximian.com>
10506
10507         * String.cs (System): Don't mix uint and int.
10508
10509 2001-09-04  Jeffrey Stedfast  <fejj@ximian.com>
10510
10511         * String.cs (BoyerMoore): Modified to not use pointers and to instead
10512         use indexes.
10513         (IndexOf): Use BoyerMoore.
10514
10515 2001-09-02  Miguel de Icaza  <miguel@ximian.com>
10516
10517         * All over: Use the autogenerated enumerations from the ECMA
10518         documentation that Sergey wrote.
10519         
10520         * PlatformID.cs: Add Unix definition.
10521
10522         * OperatingSystem.cs: Use Unix instead of Linux here.
10523
10524         * MarshalByRefObject.cs: Mark class as [Serializable].
10525
10526 2001-08-28  Dietmar Maurer  <dietmar@ximian.com>
10527
10528         * Console.cs: impl. (write only)
10529         implemented the stdin stuff
10530
10531         * Int32.cs: impl. real op_Equal
10532
10533 2001-08-24  Miguel de Icaza  <miguel@ximian.com>
10534
10535         * (common.src): Removed IAsyncResult as it is not on CVS yet.
10536
10537         * UIntPtr.cs: Removed CLSCompliant attribute before the namespace,
10538         as it breaks the build.
10539
10540 2001-08-23  Michael Lambert <michaellambert@email.com>
10541
10542         * IntPtr.cs: Optimized unsafe declaration, implemented GetObjectData, 
10543         added CLSCompliant attribute
10544
10545         * IAsyncResult.cs: Added
10546
10547         * common.src: Added IAsyncResult.cs
10548
10549 2001-08-23  Michael Lambert <michaellambert@email.com>
10550
10551         * UIntPtr.cs: Added
10552
10553         * common.src: Added UIntPtr.cs
10554
10555 2001-08-20  Dietmar Maurer  <dietmar@ximian.com>
10556
10557         * Attribute.cs: uncomment some code to make it compile again
10558
10559         * mono.src: removed duplicated Attribute.cs
10560
10561 2001-08-16  Nick Drochak <ndrochak@gol.com>
10562
10563         * Attribute.cs: implemented all methods except GetHashCode()
10564
10565         * common.src: added Attribute.cs so it would compile in
10566
10567 2001-08-10  Dietmar Maurer  <dietmar@ximian.com>
10568
10569         * Object.cs: changed MemberWiseClone to MemberwiseClone, and
10570         marked it as InternalCall
10571         
10572         * common.src: removed UriFormatException.cs because the file is
10573         not there.
10574
10575         * RuntimeTypeHandle.cs: replaced IntrPtr with IntPtr
10576         * Char.cs: replaced byte with char
10577
10578         * Array.cs: make it work with the mono interpreter
10579
10580 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
10581
10582         * Version.cs: Make the class sealed
10583
10584 2001-08-08  Bob Smith  <bob@thestuff.net>
10585
10586         * Random.cs: Many compile fixes.
10587         * Random.cs: I read a bad spec. Class updated to match real spec.
10588
10589 2001-08-06  Miguel de Icaza  <miguel@ximian.com>
10590
10591         * IntPtr.cs: Added and Completed implementation.
10592
10593         * Uri.cs: Add a note.
10594
10595 2001-08-06  Bob Smith  <bob@thestuff.net>
10596
10597         * Random.cs: Compile fix. Needs more testing.
10598
10599 2001-08-06 Garrett Rooney <rooneg@electricjellyfish.net>
10600
10601         * Uri.cs: Initial Implementation.  Parsing needs to be fixed to take 
10602         into account IPv6 addresses, url encoding needs to be implemented, and 
10603         various minor methods need to be written, but this is a decent start.
10604
10605 2001-08-06  Dietmar Maurer  <dietmar@ximian.com>
10606
10607         * common.src: added Object.cs
10608
10609         * mono.src: added ValueType.cs
10610
10611 2001-08-02  Dietmar Maurer  <dietmar@ximian.com>
10612
10613         * Math.cs: replaced libc with libm
10614
10615 2001-08-02  Bob Smith  <bob@thestuff.net>
10616
10617         * Random.cs: Implemented. Needs testing.
10618
10619 2001-08-02  Miguel de Icaza  <miguel@ximian.com>
10620
10621         * IServiceProvider.cs, EventHandler.cs: New files.
10622
10623 2001-08-02  Marcel Narings  <marcel@narings.nl>
10624         
10625         * DateTime.cs: Cleaned up a bit. Added the Add* family members.
10626         Added exceptions. Added IConvertible. Still needs some platform 
10627         dependend stuff, the Parse and ToString members
10628
10629 2001-08-01  Dietmar Maurer  <dietmar@ximian.com>
10630
10631         * Type.cs (GetTypeFromHandle): added placeholder 
10632
10633 2001-07-24  Derek Holden  <dholden@draper.com>
10634
10635         * Boolean.cs: Formatted to code style standard. Added GetTypeCode
10636         which is really an IConvertible defined method.
10637
10638         * Byte.cs: Added a missing Parse method. Put in Parse and ToString
10639         behavior, still need to do the main Parse and ToString.
10640
10641         * Char.cs: Added a bunch of missing ECMA methods. Commented a
10642         specification discrepency. Still didn't any unicode stuff, though
10643         every IsFoo(char c) method has an IsFoo(string, index)
10644         counterpart, added wrappers for those.
10645         
10646         * Convert.cs: Fixed NaN/Inf checking and double/float
10647         rounding. Added ToType for IConvertible classes
10648
10649         * Double.cs: Fixed ECMA min and max values. Added IsInfinity /
10650         IsNaN methods. Changed Inf/NaN internals.
10651
10652         * IConvertible.cs: Added comments for using
10653         Convert.ToType. Changed return values to draft base values.
10654
10655         * Int16.cs: Added a missing Parse statement. Put in behavior for
10656         overloaded ToString and Parse methods.
10657
10658         * Int32.cs: Added a missing Parse statement. Put in behavior for
10659         overloaded ToString and Parse methods.
10660
10661         * Int64.cs: Added a missing Parse statement. Put in behavior for
10662         overloaded ToString and Parse methods.
10663         
10664         * Single.cs: Put in ECMA epsilon value. Added IsInfinity / IsNaN
10665         methods. Changed Inf/NaN internals.
10666
10667         * SByte.cs: Added a missing Parse method. Put in Parse and
10668         ToString behavior, still need to do the main Parse and ToString.
10669
10670         * UInt16.cs: Added a missing Parse statement. Put in behavior for
10671         overloaded ToString and Parse methods.
10672
10673         * UInt32.cs: Added a missing Parse statement. Put in behavior for
10674         overloaded ToString and Parse methods.
10675
10676         * UInt64.cs: Added a missing Parse statement. Put in behavior for
10677         overloaded ToString and Parse methods.
10678         
10679 2001-07-20  Miguel de Icaza  <miguel@ximian.com>
10680
10681         * MulticastDelegate.cs: New File.
10682
10683         * Delegate.cs: New file.
10684
10685         * Enum.cs: New file.
10686
10687         * Attribute.cs: New file.
10688
10689         * Type.cs: New file.
10690
10691         * ParamArrayAttribute.cs: New file.
10692
10693         * RuntimeTypeHandle.cs: New file.
10694
10695         * MulticastDelegate.cs: Added.
10696
10697         * DateTime.cs: Added
10698
10699         * Delegate.cs: Added
10700
10701 2001-07-18  Michael Lambert <michaellambert@email.com>
10702
10703         * AttributeTargets.cs: Add.
10704
10705 2001-07-19  Jeffrey Stedfast  <fejj@ximian.com>
10706
10707         * Char.cs: Made ToUpper and ToLower public methods.
10708
10709         * String.cs: Lots and lots of compile fixes - just need to write
10710         DateTime.cs and this should build completely now.
10711
10712 2001-07-19  Bob Smith (bob@thestuff.net)
10713
10714         * Math.cs: Implemented. 
10715
10716 2001-07-19  Miguel de Icaza  <miguel@ximian.com>
10717
10718         * String.cs: Removed tolower and toupper.
10719
10720         * Char.cs: Moved ToLower and ToUpper from string to here. 
10721
10722         * Convert.cs ToByte (float value), ToByte (double value) Use IsNan
10723         instead of comparing the value to Nan.
10724
10725 2001-07-19  Duco Fijma (duco@lorentz.xs4all.nl)
10726
10727         * TimeSpan.cs: New implementation.
10728
10729 2001-07-18  Scott Sanders <scott@stonecobra.com>
10730
10731          * UriFormatExcpetion.cs: Add - 85% complete
10732
10733 2001-07-17  Jeffrey Stedfast  <fejj@ximian.com>
10734
10735         * String.cs (IndexOf): Slight optimization that allows skipping
10736         over a few chars here and there. This isn't as good as using my
10737         Boyer-Moore implementation, however, Boyer-Moore is only really
10738         good for long strings (I plan on making the code decide which
10739         string search algorithm it should use on-the-fly at some point).
10740         (LastIndexOf): Fix to work correctly.
10741         (BoyerMoore): Took out some unneeded code and fixed an edge-case.
10742
10743 2001-07-16  Michael Lambert <michaellambert@email.com>
10744
10745         * EventArgs.cs: Add.
10746         
10747 2001-07-16  Miguel de Icaza  <miguel@ximian.com>
10748
10749         * Version.cs: Remove my buggy comment.
10750
10751 2001-07-15  Sean MacIsaac  <macisaac@ximian.com>
10752
10753         * String.cs: Spelling error of IComparable, object's
10754         MemberwiseClone cannot be overridden.  Made indexer valid for now,
10755         but not sure what to do about this in the long run.  Seems to be a
10756         couple bugs in csc.exe having to do with multiple pointer defs in
10757         the same statement, and returning subclasses of a class in the
10758         return type of an interface function implementation.  Also moved
10759         operators inside of class definition.
10760
10761 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10762
10763         * String.cs: A tom of compile fixes, although we still don't compile.
10764
10765         * IConvertible.cs: The To*Int64() methods return *Int64's, not
10766         *Int32's. Also, it's ToDateTime() not ToDateType().
10767
10768 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10769
10770         * String.cs: Apparently I needed to at least write stubs for the
10771         IConvertible interfaces. *sigh*
10772
10773 2001-07-14  Jeffrey Stedfast  <fejj@ximian.com>
10774
10775         * String.cs: Many logic/other fixes and better usage of the
10776         features of c#
10777         (tolower): New convenience method to help condense code.
10778         (toupper): Another new helper method.
10779         (Compare): Use the new helper methods.
10780         (ToLower): use tolower().
10781         (ToUpper): use toupper().
10782         (LastIndexOfAny): Implemented.
10783         (BoyerMoore): New private helper method that implements a modified
10784         version of the Boyer-Moore search algorithm. Noothing uses it yet
10785         as I'm not 100% sure it even works properly with unicode strings
10786         not to mention it uses a huge lookup-table :-)
10787         (Split): Implemented.
10788
10789 2001-07-13  Jeffrey Stedfast  <fejj@ximian.com>
10790
10791         * TODO: Added things that need to be finished in System.String
10792
10793         * String.cs: New source file implementing the System.String class
10794
10795 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
10796
10797         * TypeCode.cs: UInt64 was UInt63.
10798
10799         * Object.cs: Fixed a numer of compiler errors.
10800
10801         * Array.cs: Fixed some compiler errors.
10802
10803         * IComparable.cs: Fixed some compiler errors.
10804
10805         * ICloneable.cs: Fixed some compiler errors.
10806
10807         * IConvertible.cs: Fixed some compiler errors.
10808
10809         * IFormattable.cs: Fixed a compiler error.
10810
10811         * IFormatProvider.cs: Fixed a compiler error.
10812
10813         * IDisposable.cs: Fixed a compiler error.
10814
10815         * IFormatProvider.cs: Added public accesability type to
10816         IFormatProvider.
10817
10818         * Exception.cs: Added a using statement to remove compile time
10819         error.
10820
10821         * ApplicationException.cs: Removed a ; that was causing a compiler
10822         error.
10823
10824         * Int16.cs: Fixed some compiler errors.
10825
10826         * Int32.cs: Fixed some compiler errors.
10827
10828         * Int64.cs: Fixed some compiler errors.
10829
10830         * SystemException.cs: Fixed a compiler error.
10831
10832         * UInt16.cs: Fixed some compiler errors.
10833
10834         * UInt32.cs: Fixed some compiler errors.
10835
10836         * UInt64.cs: Fixed some compiler errors.
10837
10838         * Void.cs: Fixed a compiler error.      
10839
10840 2001-07-12  Joe Shaw  <joe@ximian.com>
10841
10842         * Array.cs: Fix backwards parameters to Array.SetValue()
10843         throughout.
10844         (BinarySearch): Fix backward logic surrounding whether to call
10845         value.CompareTo or comparer.Compare.
10846         (LastIndexOf): Stop being stupid. I am so not used to strongly
10847         bounded arrays...
10848         (Sort): Implement a quicksort.
10849
10850 2001-07-11  Joe Shaw  <joe@ximian.com>
10851
10852         * Array.cs: Change all instances of trying to access an array with
10853         the index operator to calls to GetValue and SetValue, and add
10854         InternalGetValue and InternalSetValue which are internal calls
10855         into the runtime. Ew.
10856
10857 2001-07-10  Joe Shaw  <joe@ximian.com>
10858
10859         * Array.cs: Implemented everything but Sort().
10860
10861 2001-07-09  Jeffrey Stedfast  <fejj@ximian.com>
10862
10863         * Object.cs (Object::Equals): Object variable name is `o'.
10864
10865 2001-07-06  Joe Shaw  <joe@ximian.com>
10866
10867         * Int16.cs, Int32.cs, Int64.cs, UInt16.cs, UInt32.cs, UInt64.cs:
10868         Implement the IComparable and IFormattable interfaces. Fix a typo
10869         (publig -> public)
10870
10871         * ApplicationException.cs, ArgumentException.cs,
10872         ArgumentNullException.cs, ArgumentOutOfRangeException.cs,
10873         ArtithmeticException.cs, ArrayTypeMismatchException.cs,
10874         DivideByZeroException.cs, DuplicateWaitObjectException.cs,
10875         ExecutionEngineException.cs, FormatException.cs,
10876         IndexOutOfRangeException.cs, InvalidCastException.cs,
10877         InvalidOperationException.cs, InvalidProgramException.cs,
10878         MulticateNotSupportedException.cs, NotFiniteNumberException.cs,
10879         NotSupportedException.cs, NullReferenceException.cs,
10880         OutOfMemoryException.cs, OverflowException.cs, RankException.cs,
10881         StackOverflowException.cs, SystemException.cs,
10882         TypeInitializationException.cs: Added all of the exceptions
10883         specified by the language spec. Mmmm... bloat.
10884
10885 2001-07-06  Miguel de Icaza  <miguel@ximian.com>
10886
10887         * Int64.cs, Int32.cs: Put.  Parsing and ToString missing.  Should
10888         do a generic routine all of these guys use.
10889
10890         * Int16.cs: identified missing methods.
10891
10892         * UInt16.cs, UInt32.cs, UInt64.cs: Add.
10893
10894 2001-06-26  Miguel de Icaza  <miguel@ximian.com>
10895
10896         * TypeCode.cs: Implement
10897
10898         * Void.cs: Implement.
10899
10900         * TODO: Add file to keep track of pending tasks.
10901
10902         * Object.cs, ValueType.cs: Implement.