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