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