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