2010-12-06  Jonathan Pryor  <jonpryor@vt.edu>

	[mono.options] Ensure that IEnumerators are disposed.

	It's possible that the IEnumerable<string> that
	OptionSet.ArgumentEnumerator is enumerating may be generated via
	'yield return', in which case any method `finally` blocks are
	moved into the IDisposable.Dispose() method.

	To ensure proper resource cleanup, we need to make sure that
	Dispose() is called on the IEnumerator<string>s.

2010-12-01  Jonathan Pryor  <jonpryor@vt.edu>

	Add response file suport to Mono.Options.

	Response file support is an "opt-in" feature, performed by adding
	a ResponseFileSource to the OptionSet initialization logic:

	var p = new OptionSet () { // normal options here... new
	ResponseFileSource (), };

	Response files make use of the new "ArgumentSource" support, which
	acts as a low-level argument pre-processor, allowing processing of
	arguments _before_ Option processing is performed.

2010-06-09  Jonathan Pryor  <jpryor@novell.com>

	* Options.cs: Remove use of 'var' so that C# 2.0 can be used.

2010-06-09  Jonathan Pryor  <jpryor@novell.com>

	* Options.cs: Fix RemoveItem() and SetItem() so that removing by index
	  and using the numeric indexer work as expected.

2010-06-08  Jonathan Pryor  <jpryor@novell.com>

	* Options.cs: Don't overly split option values, only split to obtain
	  the maximum number of desired values.  This better supports e.g. DOS
	  paths in multi-value values, e.g. '-DPATH=C:\tmp' would now create
	  the values {"PATH", "C:\tmp"} instead of {"PATH", "C", "\tmp"}.

2009-04-18  Jonathan Pryor  <jpryor@novell.com>

	* Options.cs: "Code sharing": Use StringCodea.WrappedLines() from
	  Cadenza for the line wrapping algorithm.  (Only fitting as
	  WrappedLines() came from Mono.Options in the first place!)
	  Patch thanks to Federico Di Gregorio.

2009-04-18  Jonathan Pryor  <jpryor@novell.com>

	* Options.cs: GetLineEnd() shouldn't skip the start character, as it
	  may contain '\n' (thus preventing the following text from being
	  properly indented).

2009-04-17  Jonathan Pryor  <jpryor@novell.com>

	* Options.cs: Viktor Lundgren reported that Option.Description text of 
	  `"aaa." . "a" x 64` (that is, "aaa." followed by 64 "a"s) would cause 
	  GetLines() to go into an infinite loop and (eventually) die from an 
	  OutOfMemoryException.  Oops.  Fix this, simplify the logic, and turn 
	  GetLines() into an IEnumerable<string>.

2008-10-23  Jonathan Pryor  <jpryor@novell.com>

	* Options.cs: Options.cs: Use the underlying target type in the error 
	  message, because "Could not convert string `' to type Nullable`1..." 
	  is not nearly as helpful as "Could not convert string `' to type 
	  Int32...".

2008-10-22  Jonathan Pryor  <jpryor@novell.com>

	* Option.cs: Add support for nullable types to Options.Parse<T>().
	  Namespace "harmonization" with NDesk.Options so that the same source 
	  file can be used in each project.

2008-10-13  Jonathan Pryor  <jpryor@novell.com>

	* ChangeLog: Started.
	* Options.cs: Added; Command line option parser.  A (renamed) copy of
	  NDesk.Options 0.2.1 (see git repo for prior history).

