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