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