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