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

	* Mono.Documentation/monodocs2html.cs: Regenerate all index.{opts.ext}
	  files if any of the source .xml files have changed.  This allows
	  new <summary/> values to be inserted into the index.{opts.ext}
	  files, instead of the index files being "stale".  Fixes #573121.

2010-04-16  Jonathan Pryor <jpryor@novell.com>

	* Makefile: Add System.Xml.Linq.dll to the referenced assemblies.
	* Mono.Documentation/webdoc.cs: Allow .source files to be provided to
	  'mdoc export-html-webdoc', which will cause the .source files to be
	  read and all referenced .tree/.zip files to be processed.

2010-04-16  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Use Int64 instead of UInt64 for
	  enum values, so that we can properly capture negative values.

2010-02-28  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/webdoc.cs: Add --use-system-sources option so
	  that 'mdoc export-html-webdoc' will use the system-installed sources
	  in addition to any -r'd sources (which was the behavior 2 commits
	  ago).

2010-02-26  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/assembler.cs: Allow other apps to get the same
	  '--format' logic, specifically 'mdoc export-html-webdoc'.
	* Mono.Documentation/webdoc.cs: Allow it to be more "stand-alone".
	  Previously, it would depend upon the system-wide .source files.
	  This is bad, because you might want to generate the 'cache'
	  directory for a different installation, with a different set of
	  .tree/.zip/.source files, and you might not want to replace your own
	  and/or you often forget, as is the case with me.  Instead, allow a 
	  format to be specified for .tree files, and allow additional .source 
	  files to be referenced so that extension methods will be found within
	  the specified sources.  This allows for a "stand-alone" method of 
	  operation w/o depending upon the system-wide .source files.

2010-01-11  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocs2slashdoc.cs: Fix NamespaceSummaries.xml
	  generation to look at the ns-NAMESPACE.xml files, not just
	  NAMESPACE.xml files.

2009-12-03  Jonathan Pryor <jpryor@novell.com>

	* Resources/stylesheet.xsl: Add support for generating namespace links
	  for <see cref="N:..." />.
	* Test/DocTest-v1.cs: Add namespace links for testing.
	* Test/en.expected.importslashdoc/Mono.DocTest/Color.xml,
	  Test/en.expected.importslashdoc/NoNamespace.xml,
	  Test/html.expected/index.html,
	  Test/html.expected/Mono.DocTest/Color.html,
	  Test/html.expected/NoNamespace.html,
	  Test/msxdoc-expected.importslashdoc.xml: Flush.

2009-12-03  Jonathan Pryor <jpryor@novell.com>

	* Test/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  Test/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush to sync
	  with updated mdoc.  Inherited members are now shown (as they were
	  supposed to be, but a bug had prevented from being found).

2009-12-02  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocs2html.cs: Enable debug output in
	  XslCompiledTransform when --debug is specified.
	* Resources/overview.xsl: Add xmlns, exclude-result-prefixes so that
	  .NET won't complain about the stylesheet.  (Why's it complain?)
	* Resources/stylesheet.xsl: .NET compatibility fixes:
	  - Use msxsl:node-set() when necessary.
	  - Change XPath expressions so that they work properly everywhere.
	* Makefile: Don't build an 'mdoc-net.exe' anymore, as the normal
	  mdoc.exe can now run normally under .NET.

2009-11-25  Jonathan Pryor <jpryor@novell.com>

	* Makefile: When copying mdoc-net.exe into ./mdoc-net, rename it to
	  mdoc.exe so that .NET users continue to use the name 'mdoc'.  This
	  will make documentation easier, etc.

2009-11-25  Jonathan Pryor <jpryor@novell.com>

	+ Giving up on getting mdoc to fully work under .NET; specifically,
	  mdoc-export-html makes use of many Mono XSLT "extensions" (part of
	  XSLT 2.0, apparently) which .NET doesn't support.  To run mdoc under
	  .NET, use mdoc-net.exe, which is a "static" mdoc.exe, including the 
	  sources for BOTH monodoc.dll AND Mono's System.Xml.dll in the binary.
	  Yes, this makes it huge.

	* . (svn:ignore): Ignore generated files.
	* Makefile: If the NET variable is present (e.g. 'make NET=1'),
	  generate mdoc-net.exe instead of mdoc.exe, otherwise generate
	  mdoc.exe (the default, with normal dependencies).  When NET is
	  present, also create a 'mdoc-net' directory which contains
	  mdoc-net.exe and all assembly dependencies (to make it easier to
	  grab all the deps at once).
	* mdoc-net.exe.sources: Added; sources to use for mdoc-net.exe.
	* Mono.Documentation/monodocs2html.cs: Ensure that the "Index" XSLT
	  variable is set before generating output.

2009-11-24  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocs2html.cs: Use XslCompiledTransform, as
	  it's *significantly* faster under .NET than XslTransform -- 
	  1.7s vs ~3 minutes 7s (for a trivial test case).

2009-11-23  Jonathan Pryor <jpryor@novell.com>

	* Resources/overview.xsl, Resources/stylesheet.xsl: Remove the 'ext'
	  and 'language' global <xsl:param>'s, as they cause "variable 'foo' 
	  was duplicated within the same scope" errors under .NET.

2009-11-23  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: ".NET support": ensure that we
	  always get Unix line endings so that we can update documentation
	  under both Mono & .NET w/o continually changing the file due to
	  line-ending differences.

2009-11-06  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: When deleting the ExtensionMethods
	  element, remove it from the correct parent XML node.  Fixes #553144.

2009-09-19  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocs2html.cs: Add --with-profile=PROFILE
	  option, which just provides a simple mapping between profile names
	  like net_3_5 to the versions used in that profile.

2009-09-19  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocs2html.cs: By request of Edd Dumbill, add
	  --with-version=VERSION option.  This will generate HTML
	  documentation for ONLY those types/members which exist within
	  VERSION.  This makes it easy to generate HTML that will show e.g.
	  only MonoTouch docs (and not the full class library docs).
	* Makefile: Add test for 'mdoc export-html --with-version=VERSION'.
	  Somewhat brain-dead, as it only checks for added types (and not
	  added members), but better than nothing...

2009-09-09  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocs2html.cs: Fix behavior when multiple
	  source directories are provided, e.g. 'mdoc export-html -o o a b c'
	  with docs located in directories a, b, and c.  Previously this would
	  be equivalent to running aginst a, b, and c separately, resulting in
	  o/index.html being continually overwritten (and thus not showing ALL
	  available types).
	* Resources/stylesheet.xsl: Make $Index a parameter (as monodocs2html
	  will create an in-memory index containing all types from all
	  specified directories), and various changes to cope with $Index no
	  longer being a file.  Better support files in the global namespace.
	* Test/html.expected/NoNamespace.html: Fix assembly link.

2009-08-12  Jonathan Pryor <jpryor@novell.com>

	* Test/DocTest-v1.cs: Add a comment which uses <format/>, to test html
	  escaping behavior.
	* Resources/monodoc-ecma.xsd: Permit <format/> in various elements.
	* Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
	  Test/html.expected/Mono.DocTest/DocAttribute.html,
	  Test/msxdoc-expected.importslashdoc.xml: Flush.

2009-08-12  Jonathan Pryor <jpryor@novell.com>

	* Makefile: Add ../monodoc/Resources/mdoc-html-format.xsl as a resource.

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

	* mdoc.exe.sources: Add ../../build/common/Consts.cs to the build.
	* Mono.Documentation/mdoc.cs: mdoc version is Consts.MonoVersion, not
	  some hard-coded, perpetually out-of-date version.

2009-08-02  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Sometimes <AssemblyVersion/> is
	  found twice when it's actually present only once (!).  Attempt to
	  work around this by usinq LINQ instead of a foreach (which oddly
	  works...).

2009-07-31  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Record attributes that are placed
	  on property get/set and event add/remove accessors.
	* Test/DocTest-v1.cs: Add attributes to some accessors.
	* Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  Test/en.expected.since/Mono.DocTest/Widget.xml,
	  Test/en.expected/Mono.DocTest/Widget.xml,
	  Test/html.expected/Mono.DocTest/Widget.html,
	  Test/msxdoc-expected.importslashdoc.xml: Flush.

2009-06-23  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Don't generate an exception when an
	  enumeration contains multiple names with the same value.
	  Fixes #515030.
	* Test/DocTest-v1.cs: Add test for #515030.
	* Test/en.expected/Mono.DocTest/Color.xml,
	  Test/en.expected.since/Mono.DocTest/Color.xml,
	  Test/html.expected/Mono.DocTest/Color.html,
	  Test/msxdoc-expected.importslashdoc.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/Color.xml: Flush.

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

	* Mono.Documentation/webdoc.cs: Change -o semantics to be a directory
	  prefix, e.g. `mdoc export-html-webdoc -o cache.new foo.tree` will
	  output files into `cache.new/foo` instead of directly into
	  `cache.new`.  This makes it easier to specify more than one
	  .tree/.zip file on the command line.

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

	* Mono.Documentation/monodocs2slashdoc.cs: Code refactor; use
	  EcmaDoc.GetCref() to generate //member/@name values.
	* Mono.Documentation/dump.cs: Add -f=FORMAT support, so that we can
	  load an appropriate HelpSource (if supplied) so that an appropriate
	  Node.PublicUrl can be displayed in the output.

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

	* Mono.Documentation/webdoc.cs: Remove console debug spew.  If you run
	  with `mdoc -v`, each URL will be printed as it's processed.

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

	* Mono.Documentation/webdoc.cs: When extracting files from the .zip
	  file, ensure that the output file is closed.  Properly pre-render
	  ecma namespace documentation.

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

	* Makefile: Add reference to ICSharpCode.SharpZipLib.dll.
	* mdoc.exe.sources: Add Mono.Rocks/ObjectRocks.cs,
	  Mono.Rocks/StreamRocks.cs.
	* Mono.Documentation/webdoc.cs: Refactor into smaller methods.  Extract 
	  ZIP file contents in addition to generating HTML output.  Use
	  monodoc helper methods to determine cache directory.
	* Mono.Documentation/ObjectRocks.cs: Rename to
	  Mono.Rocks/ObjectRocks.cs.
	* Mono.Rocks/ObjectRocks.cs: Add Check.Destination().
	* Mono.Rocks/StreamRocks.cs: Added; extension methods for Streams.

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

	* Mono.Documentation/webdoc.cs: The timestamp logic was wrong it the
	  output directory didn't exist.  Fix.

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

	* Mono.Documentation/webdoc.cs: Do as make(1) does: if the
	  target directory already exists and is newer than the source files, 
	  don't regenerate output.  (Greatly speeds things up if nothing has
	  changed.)  Add a --force-update option to disable this behavior.

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

	* Mono.Documentation/webdoc.cs: Change the default -o value to
	  include a "cache" intermediate directory.  This makes it easier to
	  kill the entire cache at once.

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

	* Mono.Documentation/webdoc.cs: Provide nice default -o value.

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

	* Mono.Documentation/webdoc.cs: Load documentation through a
	  HelpSource, not through the RootTree, as URLs of the form
	  "ecma:0#AvoidExtensionMethodOnSystemObjectRule/" use the number (0
	  in this case) as a HelpSource-relative identifier.  Result: you get
	  the wrong documentation if you go through RootTree.

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

	* Makefile: Add reference to System.Web.dll, for HttpUtility.
	* mdoc.exe.sources: Add ObjectRocks.cs, webdoc.cs to the build.
	* Mono.Documentation/mdoc.cs: Add export-html-webdoc command, which
	  "pre-renders" HTML for use by the webdoc ASP.NET renderer.
	* Mono.Documentation/webdoc.cs: Added; MDocExportWebdocHtml
	  implementation; attempts to pre-render HTML based on .tree/.zip
	  file contents.
	* Mono.Documentation/ObjectRocks.cs: Added; extension methods for tree
	  traversal (from Mono.Rocks).  For use in webdoc.cs.

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

	* Mono.Documentation/monodocer.cs: Using a single IAssemblyResolver is
	  an improvement, but doesn't fix all problems.  In particular, some
	  assemblies will depend upon other assemblies to load (e.g. 3rd party
	  assemblies) but these dependent assemblies shouldn't be documented.
	  Add support for -r:ASSEMBLY and -L:DIRECTORY arguments to allow the
	  user to manually add to the assembly search path so that assemblies
	  can be found.  Assemblies added via -r will NOT be documented.

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

	* Mono.Documentation/monodocer.cs: Use a single IAssemblyResolver
	  shared amongst all AssemblyDefinitions to resolve assembly/type
	  references with Cecil.  Otherwise, if we have deeply nested
	  directories with cross-directory assembly dependencies, then Cecil
	  won't find the necessary assemblies (e.g. b/bin/Debug/b.dll has a
	  type which inherits from a/bin/Debug/a.dll -- here, we'll have two
	  separate AssemblyDefinitions, and when b.dll's AssemblyDefinition
	  tries to resolve types from a.dll, it fails).
	  See: http://lists.ximian.com/pipermail/mono-devel-list/2009-April/031646.html

2009-03-29  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/exceptions.cs: Add
	  ExceptionLocations.AddedMember, used for --exceptions=added support.
	* Mono.Documentation/monodocer.cs: Add --exceptions=added, which will 
	  only add <exception/> elements for newly added elements.  This is
	  useful for updating documentation for established projects which
	  already have <exception/> corrections (e.g. *removal* of
	  <exception/> elements because the exceptions weren't actually
	  possible), so only new members should have <exception/> created.

2009-03-20  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocs2html.cs: Perform the timestamp check for
	  the top-level and namespace-level index files.

2009-03-21  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Be nice to make,
	  mdoc-export-html, and other apps that use file timetamps: if the 
	  file contents haven't changed after the update, don't replace the
	  "original" file.  This preserves file timestamps, thus allowing
	  other apps to behave nicely (e.g. mdoc-export-html won't update all
	  documentation after running mdoc-update, as the files won't change
	  unless something has *actually* changed).

2009-03-20  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocs2html.cs: Do as make(1) does: if the
	  target file already exists and is newer than the source file, don't
	  regenerate it.  (Greatly speeds things up if only a few .xml files
	  changed.)  Add a --force-update option to disable this behavior.

2009-02-26  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/assembler.cs: When processing an empty directory,
	  it's possible for HelpSource.Tree to be null; avoid an NRE.

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

	* Test/DocTest-v1.cs: Add test for #475814.
	* Mono.Documentation/exceptions.cs, Mono.Documentation/monodocer.cs:
	  Use the new Mono.Cecil .Resolve() methods instead of (erroneously)
	  duplicating their functionality with the .GetDefinition() methods.
	  ExceptionLookup.this[IMemberReference] checks for multi-dimensional
	  arrays, as MD arrays are "special" (Cecil can't resolve them, as
	  they're internal to the runtime with no specific associated IL).
	  Fixes #475814.

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

	* Mono.Documentation/monodocer.cs: Check that the cref attribute is
	  non-null before trying to use it when importing slashdoc sources.
	  Fixes #475852.
	* Test/DocTest-v1.cs: Add an <exception/> doc comment with an invalid
	  attribute value for testing.

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

	* Mono.Documentation/mdoc.cs: Set Environment.ExitCode=1 if an
	  exception occurs, so that calling code can determine that an error
	  occurred w/o resorting to parsing stderr.  Fixes #475746.

2009-02-16  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Support C#4 variant generics, e.g.
	  `delegate TRet Func<in TArg, out TRet>(TArg a)'.  Alas, this
	  required making MemberFormatter explicitly stateful, so any thoughts
	  of using instances w/o locking are now out the window...  (Not that
	  threads are currently used, but they're planned to be used...)
	  TODO: Add a test to Test/DocTest-v1.cs.  This wasn't done as the
	  current gmcs support doesn't like intermixing variance with generic
	  parameter attributes, and I don't want to introduce a new delegate
	  type (and the ~6 new files that would imply) just for this feature.

2009-02-10  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Cleanup: turn static data into
	  instance data (for future Threading changes, as only static data
	  will be tracked for thread-safety); use MDocCommand.Message() and
	  MDocCommand.Error() for message reporting; remove warnings.

2009-01-05  Jonathan Pryor <jpryor@novell.com>

	* Makefile: Fix $(PROGRAM) dependencies so that mdoc.exe is rebuilt
	  when one of the dependent ../monodoc/Resources/* files is changed.

2009-01-05  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/mdoc.cs: `mdoc' (no arguments) shouldn't print an
	  index out of range error.  Fix.
	* Mono.Documentation/monodocer.cs: Rename -fno-member-assembly-info to
	  -fno-assembly-versions, which prevents generation of //AssemblyVersion
	  elements.  This suffers the same warning as -fno-member-assembly-info,
	  so don't use unless you can guarantee that no members will 
	  ever be removed from your public API. :-)
	  Clean up -f handling so that -f:no-assembly-versions will work as
	  expected.

2009-01-05  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Add -fno-member-assembly-info,
	  which remove /Type/Members/Member/AssemblyInfo elements.
	  Requested by Mike Kestner.
	  Warning: this option will break automatic version tracking, so if a
	  member is present in e.g. v1.0 and is removed in e.g. v2.0, 
	  the //Member element will be removed entirely when updating the
	  documentation against the 2.0 assembly.  Use with care.

2008-12-06  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Remove "exception" from DocsNodeOrder
	  so that <exception/> elements aren't grouped together.  This causes
	  `make doc-update` to result in ~0 changes in ../../class/corlib.
	  Change the sorting of --exceptions-generated <exception/> nodes so
	  that namespaces are taken into consideration, thus "properly"
	  grouping types by namespaces, as I'd usually expect...

2008-12-05  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs, Mono.Documentation/monodocs2html.cs: 
	  Reorder parameters to be in sorted order, so `mdoc help COMMAND` 
	  parameters are sorted.
	* Mono.Documentation/monodocer.cs: Remove try/catch in
	  MDocUpdater.Run(MDocUpdaterOptions), so that any generated exceptions
	  will be handled within mdoc itself (thus allowing the normal 
	  "See `mdoc help' for more information." message).  Improve some
	  error messages so they're more useful.

2008-12-04  Jonathan Pryor <jpryor@novell.com>

	* Makefile: Specify --exceptions=all in mdoc-update invocations.
	* exceptions.cs: Add support for documenting a *subset* of all
	  possible exceptions.  Subsets include: the member itself, the member
	  and methods it calls that are in the same assembly, and all possible
	  methods across all assemblies.
	* monodocer.cs: Allow --exceptions to take a SOURCES argument, to
	  control which location sources will be searched for exceptions.

2008-12-02  Jonathan Pryor <jpryor@novell.com>

	* Makefile: Add --exceptions to `mdoc update` invocations to test
	  <exception/> generation.
	* mdoc.exe.sources: Add Mono.Documentation/exceptions.cs to the build.
	* Mono.Documentation/exceptions.cs: Added; searches through the
	  callgraph of an IMemberReference, recording which exception types
	  are created (and where they're created from).
	* Mono.Documentation/monodocer.cs: Generate <exception/> elements.
	* Test/DocTest-v1.cs: Modify some methods so that exceptions are
	  emitted (thus testing <exception/> generation).
	* Test/DocTest-v2.patch: Update (so patch(1) doesn't complain).
	* Test/en.expected.importecmadoc/System/Array.xml,
	  Test/en.expected.importecmadoc/System/Environment.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  Test/en.expected.importslashdoc/System/Array.xml,
	  Test/en.expected.importslashdoc/System/Environment.xml,
	  Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  Test/en.expected.since/Mono.DocTest/DocAttribute.xml,
	  Test/en.expected.since/Mono.DocTest/DocValueType.xml,
	  Test/en.expected.since/Mono.DocTest/UseLists.xml,
	  Test/en.expected.since/Mono.DocTest/Widget.xml,
	  Test/en.expected.since/System/Array.xml,
	  Test/en.expected.since/System/Environment.xml,
	  Test/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
	  Test/en.expected/Mono.DocTest/DocAttribute.xml,
	  Test/en.expected/Mono.DocTest/DocValueType.xml,
	  Test/en.expected/Mono.DocTest/UseLists.xml,
	  Test/en.expected/Mono.DocTest/Widget.xml,
	  Test/en.expected/System/Array.xml,
	  Test/en.expected/System/Environment.xml,
	  Test/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  Test/html.expected/Mono.DocTest/DocAttribute.html,
	  Test/html.expected/Mono.DocTest/DocValueType.html,
	  Test/html.expected/Mono.DocTest/UseLists.html,
	  Test/html.expected/Mono.DocTest/Widget.html,
	  Test/html.expected/System/Array.html,
	  Test/html.expected/System/Environment.html,
	  Test/msxdoc-expected.importslashdoc.xml: Flush; adds <exception/>
	  elements (and/or HTML-rendered output of <exception/> elements).

2008-11-19  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Add the assembly's directory to
	  Cecil's BaseAssemblyResolver search list so that assemblies in the
	  same directory as the assembly we're processing can be found.
	  Allows mono-tools/gendarme to be built with a Cecil-using mdoc.

2008-11-15  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Properties on interfaces shouldn't
	  have `abstract' on them.
	* Test/DocTest-v1.cs: Add a property to an interface to check above.
	* Test/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
	  Test/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
	  Test/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
	  Test/html.expected/Mono.DocTest/Widget+IMenuItem.html,
	  Test/msxdoc-expected.importslashdoc.xml: Flush.

2008-11-15  Jonathan Pryor <jpryor@novell.com>

	* Mono.Documentation/monodocer.cs: Fix regressions found from 
	  `make doc-update` in corlib:
	  - Ensure that custom attributes are sorted (they weren't before,
	    resulting in spurious differences between Reflection & Cecil
	    output).
	  - CecilExtensions.GetMethod() should return null if the method can't
	    be found.
	  - DocUtils.IsDelegate() should ensure that the delegate type isn't
	    abstract (otherwise it dies on System.MulticastDelegate, which is
	    an abstract type lacking an "Invoke" method).
	  - Properly count generic argument counts for nested types (fixes IOE
	    from S.C.G.Dictionary`2.KeyCollection.Enumerator).
	* Test/DocTest-v1.cs: Add doubly-nested class under a generic class to
	  simulate S.C.G.Dictionary`2.KeyCollection.Enumerator behavior.
	* Test/en.expected.importslashdoc/index.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
	  Test/en.expected.since/index.xml,
	  Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
	  Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
	  Test/en.expected/index.xml,
	  Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
	  Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
	  Test/html.expected/index.html,
	  Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.html,
	  Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.html,
	  Test/html.expected/Mono.DocTest.Generic/index.html,
	  Test/msxdoc-expected.importslashdoc.xml: Flush (new types/changes
	  from DocTest-v1.cs changes).


2008-11-14  Jb Evain  <jbevain@novell.com>

	* Makefile: Use Mono.Cecil from class/lib/net_1_1, not net_2_0.

2008-11-14  Jonathan Pryor <jpryor@novell.com>

	* Makefile: Don't build monodocer1.exe, and add Mono.Cecil.dll to the 
	  list of assembly references for mdoc.exe.
	* Mono.Documentation/monodocer.cs: Migrate from System.Reflection to
	  Mono.Cecil.  This was done for two reasons:
	  1. mscorlib.dll: Reflection can load only one mscorlib.dll into an
	     AppDomain, which must be the same mscorlib.dll as the runtime
	     version.  Thus, in order to run monodocer on mscorlib.dll v1.1,
	     monodocer must be a .NET 1.1 application, and to document
	     mscorlib.dll v2.0, monodocer must be a .net 2.0 app.
	  1.a I don't think it's feasable to drop support for 
	     mscorlib.dll v1.1.
	  1.b This has been previously handled (so far) with conditional 
	     compilation, but the conditional compilation is painful to
	     maintain, and prevents use of LINQ in ongoing development.
	  1.c .NET 4.0 will be coming out "soon" (within 2 years?), and it's
	     possible that mono will maintain the same limitation, thus
	     necessitating having *three* different monodocer programs to
	     document mscorlib.dll for v1.1, v2.0, and v4.0.  Yech.
	  2. Future directions: It would be nice to parse method/property IL
	     bodies to determine which exceptions can be generated, thus
	     generating <exception cref="..."/> stubs.  Even with empty stubs,
	     I belive this would be useful within e.g. MonoDevelop to know
	     which exceptions a method is able to generate.
	     This cannot be done (at present) with System.Reflection, and
	     would require Mono.Cecil.
	  Downsides: mdoc now depends upon Mono.Cecil, which is API-unstable.
	  This will likely also complicate execution under .NET, as Mono.Cecil
	  would need to be XCOPY deployed into mdoc.exe's directory.
	* Test/DocTest-v1.cs: Add additional tests for Custom Attribute
	  generation.
	* Test/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  Test/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
	  Test/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  Test/en.expected.since/Mono.DocTest/DocAttribute.xml,
	  Test/en.expected.since/Mono.DocTest/Widget+Direction.xml,
	  Test/en.expected.since/Mono.DocTest/Widget.xml,
	  Test/en.expected/Mono.DocTest.Generic/Func`2.xml,
	  Test/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  Test/en.expected/Mono.DocTest/DocAttribute.xml,
	  Test/en.expected/Mono.DocTest/Widget+Direction.xml,
	  Test/en.expected/Mono.DocTest/Widget.xml,
	  Test/html.expected/Mono.DocTest.Generic/Func`2.html,
	  Test/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  Test/html.expected/Mono.DocTest/DocAttribute.html,
	  Test/html.expected/Mono.DocTest/Widget+Direction.html,
	  Test/html.expected/Mono.DocTest/Widget.html,
	  Test/msxdoc-expected.importslashdoc.xml: Flush -- updated output due
	  to new custom attributes, better implemented interface detection --
	  care of the Mono.Cecil migration -- etc.

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

	* Test/html.expected/**: Update 
	  //meta[@http-equiv='Content-Type']/@content attribute value (changed
	  due to yesterday's defaulttemplate.xsl fix).

2008-11-12  Jonathan Pryor <jpryor@novell.com>

	* Resources/defaulttemplate.xsl: Update /html/head/meta/@content value
	  so that IE7 properly recognizes the file as UTF-8 encoded.
	  Fixes #444009.

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

	* Makefile: Fix build error caused by filenames containing '`'.

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

	* Mono.Documentation/mdoc.cs: TraceLevel.Error messages should go to
	  Console.Error, as per Unix convention.
	* Makefile: cehck-mdoc-validate* needs to also capture standard error.

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

	* Mono.Documentation/validate.cs: Remove warnings
	* Test/validate.check.monodocer, Test/validate.check.monodocer.since:
	  Don't generate output if no errors are found.
	* Test/validate.check.monodocer.importslashdoc: Prefix error messages
	  with "mdoc:", as per Unix convention.

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

	* Makefile: Fixup mdoc.exe dependencies so that it's rebuilt if the
	  resources or monodoc.dll change.  Add tests for mdoc-validate.
	* Mono.Documentation/assembler.cs, Mono.Documentation/mdoc.cs,
	  Mono.Documentation/monodocer.cs, Mono.Documentation/monodocs2html.cs,
	  Mono.Documentation/monodocs2slashdoc.cs,
	  Mono.Documentation/validate.cs: 
	  - Major rearchitecture; instead of having the option parsing 
	    centralized within mdoc.cs, keep option parsing within the relevant 
	    files/types.
	  - Introduce the MDocCommand abstract class to serve as the base class 
	    -- primarily done to introduce the new Message() and Error() 
	    methods, in which Message() will only show the message if the 
	    current message level is >= the message's level (thus minimizing 
	    console spew); see ../monodoc for more details.
	  - Add `-v' ("verbose") top-level argument to allow setting/adding 
	    levels, so that `mdoc -v -v assemble ...` will show *all*
	    assemble-associated messages (which can be quite voluminous).
	  - Remove compiler warnings, when able.
	* Mono.Documentation/XhtmlWriter.cs: Remove warning about unused
	  variable.
	* Resources/monodoc-ecma.xsd: Extend the XSD to support more
	  elements/attributes on various elements -- e.g. mdoc-update looks
	  for a //code/@src attribute, which wasn't defined in the XSD.  Oops.
	* Test/validate.check.monodocer.importslashdoc: Flush (due to above
	  XSD changes).

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

	* Makefile: Correct path names.
	* Mono.Documentation/monodocer.cs: Better support nested types.
	* Test/DocTest-v1.cs: Add 4 levels of nested types.
	* Test/en.expected.importslashdoc/index.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
	  Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double.xml,
	  Test/en.expected.since/index.xml,
	  Test/en.expected.since/Mono.DocTest/Widget.xml,
	  Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
	  Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
	  Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double.xml,
	  Test/en.expected/index.xml,
	  Test/en.expected/Mono.DocTest/Widget.xml,
	  Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
	  Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
	  Test/en.expected/Mono.DocTest/Widget+NestedClass+Double.xml,
	  Test/html.expected/index.html,
	  Test/html.expected/Mono.DocTest/index.html,
	  Test/html.expected/Mono.DocTest/Widget.html,
	  Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.html,
	  Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.html,
	  Test/html.expected/Mono.DocTest/Widget+NestedClass+Double.html,
	  Test/msxdoc-expected.importslashdoc.xml: Flush.

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

	* Makefile: Reference the monodoc.dll from the net_1_1 profile, as 
	  that's the only one that will get built.

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

	* Makefile: Fix $(EXTRA_DISTFILES) so that `make distcheck` doesn't
	  fail on mdoc anymore...

2008-10-18  Raja R Harinath  <harinath@hurrynot.org>

	* Makefile (MCS1): Use 'class/lib/net_1_1', not 'class/lib/1.0'.

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

	* Mono.Documentation/monodocer.cs: -overrides & -pretty should default 
	  to true.  (Not a major change, as mdoc.exe already did this, so it
	  really only impacts monodocer1.exe, which is internal...)

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

	* Mono.Documentation/monodocer.cs: Only provide a Main() method and
	  use Mono.GetOptions when targeting .NET 1.0 (i.e. monodocer1.exe).

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

Migration from monodoc/tools to mcs/tools/mdoc...

	* . (svn:ignore), Test (svn:ignore): Ignore generated files.
	* assembler.cs, mdoc.cs, monodocer.cs, monodocs2html.cs,
	  monodocs2slashdoc.cs, normalize.cs, validate.cs, XhtmlWriter.cs:
	  Move to Mono.Documentation.
	* defaulttemplate.xsl, overview.xsl, stylesheet.xsl: Moved to
	  Resources.
	* DocTest: Moved to Test.
	* DocTest-v1.cs, DocTest-v2.patch, TestEcmaDocs.xml: Moved to Test.
	* mdoc.exe.sources: Added; mcs include file to build mdoc.exe.
	* Makefile: Added; build mdoc.exe, monodocer1.exe, and unit tests for
	  mdoc.exe
	* Mono.Documentation/assembler.cs, Mono.Documentation/normalize.cs,
	  Mono.Documentation/mdoc.cs, Mono.Documentation/monodocs2slashdoc.cs,
	  Mono.Documentation/monodocs2html.cs, Mono.Documentation/validate.cs:
	  Modify command line handling to remove Mono.GetOptions dependency.
	* Test/DocTest-v1.cs: Update //code/@src attribute due to changed paths.
	* Test/msxdoc-expected.importslashdoc.xml,
	* Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml: Flush 
	  due to above DocTest-v1.cs change.

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

	* monodocer.cs: Fixup sorting of explicitly-implement generic members.  
	  This keeps members from "bouncing around" in random orders when
	  updating documentation...
	* DocTest-v1.cs: Explicitly implement some generic interface members on
	  MyList<A,B> to provoke the bug fixed above.
	  Dictionary<K,V>.ValueCollection in mscorlib was the original
	  example.
	* DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/msxdoc-expected.importslashdoc.xml: Flush.

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

	* monodocer.cs: Ignore some attributes, because they're ~meaningless
	  for documentation purposes (e.g. who cares if we need attributes to
	  represent decimal constants, or that a method shouldn't be stepped
	  into with the debugger, or...).
	* DocTest/en.expected/index.xml,
	* DocTest/en.expected/Mono.DocTest/Widget.xml,
	* DocTest/en.expected/Mono.DocTest.Generic/Extensions.xml,
	* DocTest/en.expected.since/index.xml,
	* DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	* DocTest/en.expected.since/Mono.DocTest.Generic/Extensions.xml,
	* DocTest/html.expected/Mono.DocTest/Widget.html,
	* DocTest/html.expected/Mono.DocTest.Generic/Extensions.html,
	* DocTest/en.expected.importslashdoc/index.xml,
	* DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	* DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml:
	  Flush.

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

	* monodocer.cs: When sorting <Member/> elements elements, take generic
	  type parameters into account, so that methods with the same number
	  of type parameters are sorted together, instead of strewn across the
	  file according to the full //Member/@MemberName comparison.
	* DocTest/**: Flush (and wtf is with the [DebuggerHidden] appearance?).

2008-09-19  Jonathan Pryor <jpryor@novell.com>

	* DocTest-v1.cs: Add a member with a "deeply nested" generic parameter
	  list, so test the mdoc-html-utils.xsl fix.
	* DocTest/msxdoc-expected.importslashdoc.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush.

2008-09-16  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: FieldInfo.GetValue() may throw, particularly if getting 
	  the value of a public+static+readonly field, and the constructor for 
	  the type of said field throws an exception (though DocTest-v1.cs has
	  a similar scenario).  This is bad, as it prevents monodocer from
	  completing its work.  Found by Dan Morgan.
	* DocTest-v1.cs: Create a `public static readonly` field that will
	  generate an exception from the class constructor.
	* DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/msxdoc-expected.importslashdoc.xml: Flush.

2008-09-16  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Allow #region/#endregion parsing to cope with blank lines.

2008-09-15  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Strip off leading whitespace up to the indent level that
	  #region was found.  This allows controlling how much leading whitespace is
	  preserved within the documentation (as too much whitespace will cause the
	  code to be indented significantly when rendered to e.g. html).
	* DocTest-v1.cs: Indent the #region, to test the above.
	* DocTest/msxdoc-expected.importslashdoc.xml,
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml:
	  Flush.

2008-09-15  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Allow //code/@src to include an anchor, in which the 
	  anchor specifies a #region to include, instead of including the
	  entire document.  This is currently limited to C# code.  For example,
	  `<code lang="C#" src="foo.cs#Text"/>` would look insert all text
	  between `#region Text` and `#endregion` within foo.cs.
	* DocTest-v1.cs: Add a #region, <code/> block to test the above.
	* DocTest/msxdoc-expected.importslashdoc.xml,
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml:
	  Flush.

2008-09-11  Jonathan Pryor <jpryor@novell.com>

	* stylesheet.xsl: Post-process $cref so that we can use "nice" 
	  //see/@cref strings that can actually refer to the right member.
	  For example, `<see cref="P:Foo.Bar{T}.Baz"/>` is needed to get a
	  nicely rendered "Foo.Bar<T>.Baz" link text, but previously it
	  wouldn't link to anything -- you'd need 
	  `<see cref="P:Foo.Bar`1.Baz"/>` to get a functioning link for HTML
	  output.  This now works.

2008-09-04  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: You can't use FieldInfo.GetValue() on generic types.
	* DocTestv1.cs: Add checks for static fields on generic types.
	* DocTest/**: Flush.

2008-09-04  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Clear out existing <value/> elements when import XML
	  documentation which also contains a <value/> element.  (This keeps us from
	  getting multiple duplicate <value/> elements every time we update while
	  importing.)

2008-08-31  Jonathan Pryor <jpryor@novell.com>

	* DocTest-v1.cs: Update XML doc comment to mention correct cref.
	* monodocer.cs: Further fixup XML documentation import and import the actual
	  *contents* of the <exception/> element (oops).  Add support for importing
	  XML documentation for explicitly implemented interface members (CSC-style,
	  not gmcs-style).

2008-08-27  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Fixup XML documentation import to be more consistent with
	  ECMA XML import.  In particular, this fixes <exception/> import so that
	  the same element isn't imported multiple times, leading to duplicate
	  <exception/> elements the more often monodocer is run.
	* DocTest/msxdoc-expected.importslashdoc.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
	  Changes order of imported XML to reflect the original element order.

2008-08-11  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Build fix (gmcs doesn't like using-alias-directives to
	  private nested types anymore).

2008-05-06  Wade Berrier  <wberrier@novell.com>

	* Makefile.am: Add Options.cs to EXTRA_DIST

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

	* DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/Func`2.html: Flush: n377596 
	  got fixed, so we can now retrieve custom attributes on all generic type
	  parameters.

2008-04-15  Jonathan Pryor <jpryor@novell.com>

	* . (svn:ignore): ignore generated files.
	* Makefile.am: Add XmlDocUtils.cs to the build.  Add unit tests for
	  monodocs2slashdoc; other monodocs2slashdoc changes.
	* mdoc.cs: Update the arguments accepted by monodocs2slashdoc.
	* monodocs2slashdoc.cs: Move DocUtils class into ../engine/XmlDocUtils.cs.
	  Add support for a -o parameter which contains all output (if specified).
	* monodocer.cs:
	  - Add special support for extension methods -- index.xml now contains an
	    /Overview/ExtensionMethods element which contains ExtensionMethod
	    elements for all extension methods within all assemblies processed.
	  - The <ExtensionMethod/> element contains a subset of the <Member/> of the
	    actual extension method (and thus will contain a useful subset of the
	    documentation the source <Member/> contains), along with a <Targets/>
	    element describing all types the extension method applies to.
	  - Consequently, if you edit the documentation of your extension method,
	    you need to re-run monodocer to get the newly written documentation
	    inserted into index.xml.
	  - //Parameter/@RefType is "overloaded" to contain the "this" modifier of
	    extension methods (as this was easiest within mdoc-html-utils.xsl).
	  - Within CSharpMemberFormatter, insert generic type constraints for 
	    methods.  (Previously constraints were only done on types due to an
	    oversight.)
	* monodocs2html.cs: Before rendering documentation via the XSLT, insert any
	  extension methods applicable to the type so that the extension methods
	  will be displayed.
	* DocTest-v1.cs: Add a class providing extension methods.
	* stylesheet.xsl: Extension methods shouldn't be documented within the type,
	  just declared (and linked to the actual type's documentation).
	* DocTest/msxdoc-expected.importslashdoc.xml: Added; expected output for
	  monodocs2slashdoc unit test.
	* DocTest/en.expected/index.xml, 
	  DocTest/en.expected/Mono.DocTest/UseLists.xml, 
	  DocTest/en.expected/Mono.DocTest.Generic/Extensions.xml, 
	  DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml, 
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, 
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, 
	  DocTest/en.expected.since/index.xml, 
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml, 
	  DocTest/en.expected.since/Mono.DocTest.Generic/Extensions.xml, 
	  DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml, 
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, 
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, 
	  DocTest/en.expected.importslashdoc/index.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml, 
	  DocTest/html.expected/index.html, 
	  DocTest/html.expected/NoNamespace.html, 
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html, 
	  DocTest/html.expected/Mono.DocTest/DocValueType.html, 
	  DocTest/html.expected/Mono.DocTest/IProcess.html, 
	  DocTest/html.expected/Mono.DocTest/UseLists.html, 
	  DocTest/html.expected/Mono.DocTest/Widget.html, 
	  DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html, 
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, 
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/index.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, 
	  DocTest/html.expected/System/Array.html: Flush; also contains additional
	  <Attributes/> elements on generic type parameters due to a mono fix.

2008-04-09  Jonathan Pryor <jpryor@novell.com>

	* DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Fix the
	  System.EventHandler link.

2008-04-08  Jonathan Pryor <jpryor@novell.com>

	* DocTest-v1.cs: Add more attributes, generic constraints to further test
	  monodocer.
	* Makefile.am: Add check-md-html-dir target to help with testing
	  monodocs2html w/o re-generating the DocTest/en.actual directory.
	* monodocer.cs: Lots of changes:
	  - Format change: /Type/TypeParameters/TypeParameter doesn't store the type 
	    parameter name as it's value (e.g.  <TypeParameter>A</TypeParameter>), 
	    but instead stores the name as an attribute (e.g. 
	    <TypeParameter Name="A" />).  This was done as Generic Arguments can
	    contain both constraints and attributes which were previously
	    unrecorded. 
	  - Record constraints under a //TypeParameter/Constraints element, and 
	    attributes under a //TypeParameter/Attributes element.
	  - Generic arguments for methods are now recorded in a
	    /Type/Members/Member/TypeParameters element, with the same schema as
	    type-level arguments.
	  - Properly insert the [return:...] attributes on delegates.
	  - Modify CSharpFullMemberFormatter to generate generic argument
	    constraints on type and member signatures.
	  - Note: attributes are currently not inserted due to n#322399.
	* stylesheet.xsl: Properly escape generic type names so that all anchors
	  are modeled after ECMA-334 CREFs, e.g. T:Foo.Bar`1, not T:Foo.Bar<T>.
	* DocTest/en.expected/index.xml,
	  DocTest/en.expected/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/System/Action`1.xml,
	  DocTest/en.expected/System/Array.xml,
	  DocTest/en.expected.since/index.xml,
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/System/Action`1.xml,
	  DocTest/en.expected.since/System/Array.xml,
	  DocTest/en.expected.importecmadoc/System/Action`1.xml,
	  DocTest/en.expected.importecmadoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/System/Action`1.xml,
	  DocTest/en.expected.importslashdoc/index.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
	  DocTest/html.expected/index.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html,
	  DocTest/html.expected/Mono.DocTest.Generic/index.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html,
	  DocTest/html.expected/Mono.DocTest.Generic/Func`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/System/Action`1.html,
	  DocTest/html.expected/System/Array.html: Flush.

2008-04-04  Jonathan Pryor <jpryor@novell.com>

	* DocTest-v1.cs: Add nested generic type for testing.
	* DocTest/en.expected/index.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/index.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.since/index.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/html.expected/index.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html,
	  DocTest/html.expected/Mono.DocTest.Generic/index.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Flush.

2008-03-31  Jonathan Pryor <jpryor@novell.com>

	* DocTest-v1.cs: Add a member returning an IEnumerator<int[]> to test n375291.
	* DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html: Flush.

2008-03-26  Jonathan Pryor <jpryor@novell.com>

	* DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush due to 
	  ../engine/mdoc-html-utils.xsl changes with migration of explicitly
	  implemented interface members to a separate section.

2008-03-26  Jonathan Pryor <jpryor@novell.com>

	* DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html: Flush due to
	  ../engine/mdoc-html-utils.xsl changes with s/System.Collections.Generic//.


2008-03-26  Jonathan Pryor <jpryor@novell.com>

	* Makefile.am: Import docs for System.Action<T>.
	* DocTest-v1.cs: Add System.Action<T> to test generic type importing.
	* monodocer.cs: Misc. fixes:
	  - Properly lookup generic types when importing ECMA docs, so that e.g.
	    System.Collections.Generic.List<T> docs can be imported.
	  - Fix member duplicate checking so that we don't get an exception due to
	    seenmembers.Add(sig, "") for duplicate sigs.
	  - Fix UpdateParameters() to handle updating <param/> nodes on delegates.
	* TestEcmaDocs.xml: Add docs for System.Action<T>.
	* DocTest/en.expected/index.xml, DocTest/en.expected/System/Action`1.xml,
	  DocTest/en.expected.importecmadoc/System/Action`1.xml,
	  DocTest/en.expected.importslashdoc/index.xml,
	  DocTest/en.expected.importslashdoc/System/Action`1.xml,
	  DocTest/en.expected.since/index.xml,
	  DocTest/en.expected.since/System/Action`1.xml,
	  DocTest/html.expected/index.html, DocTest/html.expected/System/index.html,
	  DocTest/html.expected/System/Action`1.html: Flush.

2008-03-25  Jonathan Pryor <jpryor@novell.com>

	* stylesheet.xsl: Implement CreateEditLink() for mdoc-html-utils.xsl.

2008-03-24  Jonathan Pryor <jpryor@novell.com>

	* stylesheet.xsl: Implement CreateExpandedToggle() for
	  mdoc-sections-css.xsl.

2008-03-24  Jonathan Pryor <jpryor@novell.com>

	* DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush due to
	  changes in ID string generation in ../engine/mdoc-html-utils.xsl.

2008-03-17  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Modify index.xml so that there's a //Type/@Kind attribute.
	  This allows mkestner's doc engine to display the tree view (e.g. "Foo
	  Class") w/o loading the underlying Foo.xml file, improving start time.
	* DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
	  DocTest/en.expected.importslashdoc/index.xml: Flush.

2008-03-15  Jonathan Pryor <jpryor@novell.com>

	* monodocs2html.cs: Fix DumpTemplate() -- sending the output through an
	  intermediate XmlDocument seems to "corrupt" the file, such that any user
	  of the dumped file will get errors such as "Could not resolve named
	  template create-default-style."

2008-03-15  Jonathan Pryor <jpryor@novell.com>

	* defaulttemplate.xsl: Cleanup (add/remove CSS properties, etc.).
	* Makefile.am: monodocs2html needs to pull in resources from ../engine.
	* monodocs2html.cs: Use ManifestResourceResolver so that .xsl files embedded
	  within the monodocs2html.exe assembly can refer to each other; use
	  XhtmlWriter so that certain XHTML elements are "closed", e.g. <br/>
	  instead of <br></br>.
	* XhtmlWriter.cs: Added; XmlWriter subclass which generates nicer XHTML.
	* stylesheet.xsl: *Major* refactor to share XSLT code with ../engine.
	* DocTest/html.expected/index.html, DocTest/html.expected/NoNamespace.html,
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/index.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/Mono.DocTest/Color.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Del.html,
	  DocTest/html.expected/Mono.DocTest/DocValueType.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
	  DocTest/html.expected/Mono.DocTest/IProcess.html,
	  DocTest/html.expected/Mono.DocTest/index.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html,
	  DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html,
	  DocTest/html.expected/System/Environment+SpecialFolder.html,
	  DocTest/html.expected/System/Array.html,
	  DocTest/html.expected/System/Environment.html,
	  DocTest/html.expected/System/index.html,
	  DocTest/html.expected/System/AsyncCallback.html: Flush.

2008-03-07  Jonathan Pryor <jpryor@novell.com>

	* mdoc.cs: Rename export-slashdoc command to export-msxdoc.  Add a space
	  between the `usage:' and command description to ease reading.

2008-03-07  Jonathan Pryor <jpryor@novell.com>

	* monodocs2slashdoc.cs: Update to cope with .NET 2.0 generics.
	* DocTest-v1.cs: Fix CREF comments.
	* DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html: Flush
	  due to above CREF changes.

2008-03-06  Joshua Tauberer <jit@occams.info>

	* monodocer.cs: Use Path.Combine in a few places.

2008-03-03  Jonathan Pryor <jpryor@novell.com>

	* Makefile.am: Test the new -import: monodocer option.
	* mdoc.cs: Make --import take only one parameter, the file to import.
	* monodocer.cs: Add a new -import option which auto-detects the XML format
	  so that mdoc (and the user) doesn't need to care about file formats.
	* Options.cs: Flush (fixes "<>" error when parsing 2-value "i|import").

2008-02-29  Jonathan Pryor <jpryor@novell.com>

	* Makefile.am: Use mcs1 to build monodocer1.exe (as mcs now targets the 2.0
	  profile by default).

2008-02-29  Jonathan Pryor <jpryor@novell.com>

	* Makefile.am: Corrections to pass distcheck.

2008-02-27  Jonathan Pryor <jpryor@novell.com>

	* mdoc.cs: `mdoc assemble` should default to the "ecma" format, as that's
	  what most of the other mdoc tools produce & consume.

2008-02-26  Jonathan Pryor <jpryor@novell.com>

	* mdoc.cs: Allow multiple formats to be specified on the `mdoc assemble`
	  command line; directories use the last specified format.  This allows more
	  than one format to be specified at once, e.g.
	  `mdoc assemble -o foo --format=ecma A B --format=error C D`.
	* Options.cs: Update to permit the above "argument run" parsing behavior.

2008-02-24  Jonathan Pryor <jpryor@novell.com>

	* mdoc.cs: Remove array index out of bound exception in ExportHtml; remove
	  debug messages.
	* defaulttemplate.xsl: s/<tab>/  /; add create-default-collection-title,
	  create-default-title, create-default-summary, create-default-signature,
	  create-default-remarks, create-default-members named templates (for use by
	  importing XSLT files).
	* DocTest/html.expected/**/*.html: Flush (whitespace changes).

2008-02-21  Jonathan Pryor <jpryor@novell.com>

	* Makefile.am: Add mdoc.exe to the build.
	* monodocer.cs: Place into the Mono.Documentation namespace; 
	  rename Stub to Updater.
	* monodocs2slashdoc.cs: Place into the Mono.Documentation namespace; allow
	  it to convert multiple directories.
	* mdoc.cs: Added; a unifying front-end to the various monodoc-related
	  utilities such as monodocer, monodocs2html, mdassembler, etc.
	* Options.cs: An option parser; DO NOT EDIT; instead, see NDesk.Options at
	  http://www.ndesk.org/Options.

2008-02-19  Jonathan Pryor <jpryor@novell.com>

	* defaulttemplate.xsl: Insert id attributes so that an "index" can be added;
	  Add a small "index" to the top of the page to simplify navigation -- 
	  useful when there are lots of docs that make the "Members" section 
	  difficult to otherwise find.  Add a http-equiv Content-Type, so that the 
	  charset is set to UTF-8.
	* stylesheet.xsl: Don't use generate-id(), as the result includes the full
	  path of the input file, which breaks unit tests if run on a different
	  machine (and everyone runs the unit tests, right?).  Add id attributes so
	  that defaulttemplate.xsl can create an index.
	* DocTest/html.expected/System/Environment+SpecialFolder.html,
	  DocTest/html.expected/System/Array.html,
	  DocTest/html.expected/System/Environment.html,
	  DocTest/html.expected/System/index.html,
	  DocTest/html.expected/System/AsyncCallback.html,
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/index.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/index.html,
	  DocTest/html.expected/Mono.DocTest/Color.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Del.html,
	  DocTest/html.expected/Mono.DocTest/DocValueType.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
	  DocTest/html.expected/Mono.DocTest/IProcess.html,
	  DocTest/html.expected/Mono.DocTest/index.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html,
	  DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html,
	  DocTest/html.expected/NoNamespace.html: Flush.

2008-02-15  Jonathan Pryor <jpryor@novell.com>

	* defaulttemplate.xsl: Move the <style/> and (new) <script/> into named
	  templates so that this file can be <xsl:import/>d and the named templates
	  invoked without clobbering the importing document; add toggle_display()
	  JavaScript function for some bling.  Modify CSS so things look nicer.
	* stylesheet.xsl: Make monodocs2html output not suck (as badly):
	  - Allow *all* headers to also act as show/hide toggles, so that e.g.
	    Remarks, Examples, Parameters, etc. can be hidden.
	  - Move the summary information above the member prototype (consistent 
	    with MSDN, and I think it looks nicer).
	  - Provide an `id' attribute for enumeration members, so that 
	    <see cref="F:..." /> will work reasonably.
	  - Allow the <pre/> blocks to use the `prettyprint.js' file (used by
	    monologue for syntax coloring) -- requires setting the <pre/> class to
	    e.g. code-csharp for C# coloring.
	* DocTest/html.expected/System/Environment+SpecialFolder.html,
	  DocTest/html.expected/System/Array.html,
	  DocTest/html.expected/System/Environment.html,
	  DocTest/html.expected/System/index.html,
	  DocTest/html.expected/System/AsyncCallback.html,
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/index.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/index.html,
	  DocTest/html.expected/Mono.DocTest/Color.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Del.html,
	  DocTest/html.expected/Mono.DocTest/DocValueType.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
	  DocTest/html.expected/Mono.DocTest/IProcess.html,
	  DocTest/html.expected/Mono.DocTest/index.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html,
	  DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html,
	  DocTest/html.expected/NoNamespace.html: Flush (lots of HTML changes due to
	  defaulttemplate.xsl and stylesheet.xsl changes).

2008-02-14  Jonathan Pryor <jpryor@novell.com>

	* stylesheet.xsl: Support <typeparamref/>.

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

	* DocTest-v1.cs: Add/fix doc comments; add a
	  Widget(Converter<string,string>) constructor for testing.
	* stylesheet.xsl: Fix display issues:
	  - Generic types should have GetTypeDisplayName() on their constituent
	    parts, so System.Converter<System.String,System.String>
	    gets converted into the nicer Converter<string, string>.
	  - Generic types within method argument lists should be supported.
	  - Permit constructor references to contain arguments, so that 
	    "C:My.Full.Type(Type1,Type2)" actually works.
	  - Fix remote type references so 
	    <see cref="M:System.Collections.Generic.List{System.Int32}.Remove(`0)"/>
	    properly reference the remote uri 
	    System.Collections.Generic.List`1.Remove(`0).
	* DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/html.expected/System/Array.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.

2008-02-08  Jonathan Pryor <jpryor@novell.com>

	* stylesheet.xsl: Allow use of both <see cref="GenericType{A}" /> and 
	  <see cref="GenericType&lt;A&gt;" /> to be consistent wrt each other.
	  - Canonicalize generic types within link targets so that {} is used, as 
	    1. this is what the */@id code generates, so such links will actually 
	       work (as opposed to <>-using links, which will fail), and 
	    2. the {} links are shorter and easier to read due to less markup.
	  - Canonicalize generic types within link text to use <>, so e.g. 
	    <see cref="System.Action{`0}" /> is displayed as System.Action<`0>.
	    This also allows output to be consistent, no matter what the see/@cref
	    text uses.
	  - When creating links to go-mono.com, ensure that generic type names are 
	    of the form Type`N, not Type{...}, as go-mono.com doesn't generate 
	    useful output for the latter form of URL.
	* DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush.

2008-01-06  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Yet another "if you remove a node while traversing its
	  containing list, you skip elements" bug (in this case, if you had extra
	  <param/> elements for non-existant parameters, only the first extra
	  <param/> was removed, and the others were skipped).  Modify the messge
	  displayed for undeletable <param/> nodes to provide more contextual 
	  information.

2008-01-05  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: 
	  - Fix duplicate and removed member checking/handling, so that duplicate 
	    and removed members are properly warned about/removed (depending 
	    on MemberDocsHaveUserContent()).  
	  - Member sorting should take the return type into consideration, as I've 
	    seen some ../class/** members which change the return type between 
	    v1.0 and v2.0, causing the order of these members to "float" (as they 
	    previously had the same sort order).

2008-01-03  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: XmlNodeList doesn't appear to support removing nodes while
	  you're traversing the list.  (It doesn't complain, but it doesn't iterate
	  over all the nodes either if you do so.)  Don't do that.

2008-01-02  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Don't generate files that contain characters that are
	  invalid on Win32 platforms.  These are frequently compiler-generated
	  types, e.g. '<>c__CompilerGenerated2+<>c__CompilerGenerated13', but are
	  occasionally public when they shouldn't be.  Fix the
	  UpdateAssemblyVersions() logic to return true IFF there are > 0
	  <AssemblyVersion/> elements.

2008-01-02  Jonathan Pryor <jpryor@novell.com>

	* DocTest-v1.cs: Add a type to the root namespace.
	* monodocer.cs: Permit types to exist in the root namespace.  This is needed
	  to properly document ../class/Npgsql, though I have no idea how `monodoc'
	  will actually display these types...
	* overview.xsl: Support types within the root namespace.
	* DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml, 
	  DocTest/en.expected.importslashdoc/index.xml, 
	  DocTest/html.expected/System/index.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/index.html, 
	  DocTest/html.expected/index.html, 
	  DocTest/html.expected/Mono.DocTest/index.html: Flush.
	* DocTest/en.expected/NoNamespace.xml, 
	  DocTest/en.expected/ns-.xml, 
	  DocTest/en.expected.importslashdoc/NoNamespace.xml, 
	  DocTest/en.expected.importslashdoc/ns-.xml, 
	  DocTest/en.expected.since/NoNamespace.xml, 
	  DocTest/en.expected.since/ns-.xml, 
	  DocTest/html.expected/NoNamespace.html: Added.

2008-01-02  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: 
	  - Write namespace files as 'ns-<Namespace>.xml', not '<Namespace>.xml', as 
	    the previous behavior would break monodoc checkout on Win32 (due to dir 
	    class/System.Security/en/System.Security.Cryptography.Xml vs. file
	    class/System.Security/en/System.Security.Cryptography.xml).
	  - This will rename existing <Namespace>.xml to ns-<Namespace>.xml
	    automatically.
	  - gmcs/mcs changed Reflection names (again); cope.
	* DocTest/en.expected/System.xml, 
	  DocTest/en.expected/Mono.DocTest.Generic.xml, 
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, 
	  DocTest/en.expected/Mono.DocTest.xml, DocTest/en.expected.since/System.xml, 
	  DocTest/en.expected.since/Mono.DocTest.Generic.xml, 
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, 
	  DocTest/en.expected.since/Mono.DocTest.xml, 
	  DocTest/en.expected.importslashdoc/System.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.xml: Rename to have a
	  'ns-' prefix.
	* Makefile.am: Remove obsolete targets; add -show_exceptions to tests so we
	  get more information on errors.
	* overview.xsl: Use the 'ns-' prefixed namespace documentation files.

2007-12-19  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: PropertyInfo.GetValue() may throw (in particular, within
	  System.Data when trying to read ToolboxItemAttribute which references an
	  assembly not present within the GAC).  Workaround this.

2007-12-19  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Add a -show_exceptions argument to provide full stack traces
	  when an error occurs (helps with debugging).  Allow VersionComparer to
	  work on "slightly" malformed Version strings like 1.0.x.x, which some
	  existing documentation uses.

2007-12-18  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Don't append ';' to property declarations.
	* DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.

2007-12-18  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Insert [return:] custom attributes within <ReturnValue/>.
	* DocTest-v1.cs: Add custom attributes to various members for testing.
	* DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html: Flush.

2007-12-17  Jonathan Pryor <jpryor@novell.com>

	* monodocer.cs: Document protected events.
	* DocTest-v1.cs: Change the visibility of various members so we can better
	  test the monodocs2html output.
	* stylesheet.xsl: Fix the `protected' check so that public members aren't
	  displayed under the Protected [MemberType] section.
	* DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.

2007-12-13  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Er, *really* sort the <AssemblyVersion/> entries.

2007-12-12  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Sort the <AssemblyVersion/> entries so that when rendering
	  them within monodoc we show versions in increasing order.

2007-12-11  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Don't use File.OpenWrite(), as that doesn't truncate the
	  file (resulting in invalid XML errors if the new file is smaller than the
	  previous file).  Add a local OpenWrite() to ensure that UTF8 is used
	  everywhere.

2007-12-11  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Generate a per-member <AssemblyInfo/> element, not an
	  <AssemblyVersions/> element.  This makes it easeier to write the XSLT 
	  used in the docbrowser to generate the Requirements section.
	* stylesheet.xsl: Use <AssemblyInfo/>, not <AssemblyVersions/>.
	* DocTest/en.expected/System/Environment.xml,
	  DocTest/en.expected/System/AsyncCallback.xml,
	  DocTest/en.expected/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected/System/Array.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected/Mono.DocTest/Color.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
	  DocTest/en.expected.since/System/Environment.xml,
	  DocTest/en.expected.since/System/AsyncCallback.xml,
	  DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected.since/System/Array.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected.since/Mono.DocTest/Color.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
	  DocTest/en.expected.importecmadoc/System/Environment.xml,
	  DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
	  DocTest/en.expected.importecmadoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/System/Environment.xml,
	  DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
	  DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected.importslashdoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
	  Flush; s/AssemblyVersion/AssemblyInfo/g.

2007-12-10  Jonathan Pryor  <jonpryor@vt.edu>

	* DocTest-v2.patch: Remove some members so that we can see some
	  <AssemblyVersions/> differences in the XML output.
	* monodocer.cs: Add a <AssemblyVersions/> element under every type and member
	  to better track versioning information.  The XML documentation now becomes
	  a "version database" of sorts, in which each member lists which assembly
	  versions it exists in.  This permits tracking which members were added or
	  removed over time with greater fidelity than <since/>.  This also removes
	  the need for -ignore_extra_docs, which is maintained (for compatibility)
	  but ignored.
	* DocTest-v1.cs: Have differing visibility on a property to ensure it works
	  properly.
	* stylesheet.xsl: Print out the per-member <AssemblyVersions/> element.
	* DocTest/en.expected/System/Environment.xml,
	  DocTest/en.expected/System/AsyncCallback.xml,
	  DocTest/en.expected/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected/System/Array.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected/Mono.DocTest/Color.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
	  DocTest/en.expected.since/System/Environment.xml,
	  DocTest/en.expected.since/System/AsyncCallback.xml,
	  DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected.since/System/Array.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected.since/Mono.DocTest/Color.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
	  DocTest/html.expected/System/Array.html,
	  DocTest/html.expected/System/Environment.html,
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/DocValueType.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html,
	  DocTest/en.expected.importecmadoc/System/Environment.xml,
	  DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
	  DocTest/en.expected.importecmadoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/System/Environment.xml,
	  DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
	  DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected.importslashdoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
	  Flush, inserting <AssemblyVersion/> elements as necessary.

2007-10-28  Jonathan Pryor  <jonpryor@vt.edu>

	* DocTest-v1.cs: Correct doc comment.
	* DocTest/html.expected/System/Environment.html,
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html,
	  DocTest/en.expected.importslashdoc/System/Environment.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml: mcs and gmcs 
	  got many bug fixes with /doc support, changing many things that depend on 
	  /doc output.

2007-09-27  Raja R Harinath  <rharinath@novell.com>

	* Makefile.am (DocTest.dll-v1, DocTest.dll-v2): Pick source from $srcdir.

2007-07-19  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Always fully consume <Docs/> children.  If we have e.g.
	  <Docs><param name="foo"><see cref="T:Bar"/></param></Docs>, but there is
	  no existing parameter "foo", we would previously process the nested
	  <see/> node and append it to the <Docs/> child nodes.

2007-07-18  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Change OrderDocsNodes() so that it uses
	  XmlNode.InsertAfter() instead of XmlNode.InsertBefore().  The result is
	  mostly the same (i.e. no regression test changes), but if you have a
	  non-ordered node between other nodes this will force the non-ordered node
	  to the *end* of the <Docs/> children, not the start.  For example, given
	  the input <Docs><summary/><exception/><remarks/></Docs/>, we used to get
	  <Docs><exception/><summary/><remarks/></Docs>, while we now get
	  <Docs><summary/><remarks/><exception/></Docs>.

2007-07-17  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Insert the type's <Docs/> node before <Members/>.  This is
	  consistent with ECMA documentation ordering, and makes more sense (when
	  editing the file you can edit the Type documentation before member
	  documentation, instead of after all members as was the case before).
	* DocTest/en.expected/System/Environment.xml,
	  DocTest/en.expected/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected/System/Array.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected/Mono.DocTest/Color.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
	  DocTest/en.expected.since/System/Environment.xml,
	  DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected.since/System/Array.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected.since/Mono.DocTest/Color.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
	  DocTest/en.expected.importecmadoc/System/Environment.xml,
	  DocTest/en.expected.importecmadoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/System/Environment.xml,
	  DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected.importslashdoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
	  Update so that <Docs/> comes before <Members/>, not after.

2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: If a <Type/> had an empty <Members/> element, we'd start
	  reading the <Member/> elements from the *next* <Type/>; oops.
	* DocTest-v1.cs: Add System.AsyncCallback, which is a delegate and thus had
	  an empty <Members/> element.
	* Makefile.am: Also import docs for System.AsyncCallback.
	* overview.xsl: Update $max-types so that adding System.AsyncCallback
	  doesn't trigger the alternate behavior, creating a larger diff than
	  necessary.
	* TestEcmaDocs.xml: Add docs for System.AsyncCallback.
	* DocTest/en.expected/System/AsyncCallback.xml,
	  DocTest/en.expected/index.xml, 
	  DocTest/en.expected.since/System/AsyncCallback.xml
	  DocTest/en.expected.since/index.xml,
	  DocTest/html.expected/System/AsyncCallback.html
	  DocTest/html.expected/System/index.html, DocTest/html.expected/index.html,
	  DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
	  DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
	  DocTest/en.expected.importslashdoc/index.xml: Added; expected imported 
	  documentation for System.AsyncCallback.

2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Remove the "While Importing ECMA  <Docs/> chidren, found
	  node..." error by ensuring that we're at the start of an actual
	  non-whitespace element before hitting the switch statement.

2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Don't call DoUpdateType() with non-public types.  This
	  allows `monodocer -importecmadoc` to fully run and import mscorlib.dll.

2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Ensure that getting a MemberInfo based on the documentation
	  that the MemberInfo was actually found...  (Allows a full mscorlib.dll
	  import to run for > 15s before dying.)

2007-07-04  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Use XmlReader instead of XPathDocument to process the ECMA
	  documentation import.  This cuts down a -type:System.Array import from
	  ~10-12s to ~7-8s (not great, but better).  "Fix" the ordering of <Docs/>
	  child elements so that importing ECMA/slashdoc documentation doesn't 
	  change the normal ordering.
	* DocTest/en.expected.importecmadoc/System/Array.xml,
	  DocTest/en.expected.importecmadoc/System/Environment.xml: Alter order of
	  <Docs/> elements to match the normally generated order.

2007-06-20  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Sort /Type/Members/Member elements so that the order is not
	  dependent upon Reflection order.
	* DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/en.expected.importecmadoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
	  Flush (sort <Member/> elements).

2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Sort <Namespace/> and <Type/> elements by their Name
	  attribute.  This helps keep diff's smaller, as the generated order won't
	  be dependent upon Reflection order.
	* DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
	  DocTest/en.expected.importslashdoc/index.xml: Flush (sort namespaces and
	  types alphabetically).

2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Cleanup Console output.
	  - Use Console.Error for error messages, not status messages.
	  - Error should be prefixed by "monodocer" (follows Unix conventions).
	  - Don't print "Updating..." followed by "New Type..." for the same type.
	  - Use __monodocer-seen__ sentinal for imported nodes so that we don't try
	    to lookup the corresponding member later in GetDocumentationMembers().

2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Lots 'o fixes/improvements.
	  - Allow multiple -type parameters to be specified.  
	  - Remove type member enumeration from UpdateTypes() -- use DoUpdateType2().
	  - Iterate over assembly types in Ecma Documentation order (so that we read
	    the Ecma docs sequentially, not randomly).  
	  - Allow -type to *create* new documentation files.
	  - Remove unused methods.
	* Makefile.am: Add check-monodocer-importecmadoc,
	  check-monodocer-importecmadoc-update targets (unit tests for
	  -importecmadoc).
	* TestEcmaDocs.xml: Added; ECMA Documentation input file for use with
	  -importecmadoc tests.
	* DocTest-v1.cs: Add System.Array to help test -importecmadoc behavior.
	* DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
	  DocTest/html.expected/System/index.html, DocTest/html.expected/index.html,
	  DocTest/en.expected.importslashdoc/index.xml: Flush (add System.Array to
	  index files).
	* DocTest/en.expected/System/Array.xml, 
	  DocTest/en.expected.since/System/Array.xml,
	  DocTest/html.expected/System/Array.html,
	  DocTest/en.expected.importecmadoc/System/Environment.xml,
	  DocTest/en.expected.importecmadoc/System/Array.xml,
	  DocTest/en.expected.importslashdoc/System/Array.xml: Added; expected
	  output for System.Array type for various tests.

2007-06-18  Wade Berrier  <wberrier@novell.com>

	* monodocer.cs: Move assembly information up top because having it at the bottom
	fails to compile with mcs from trunk.

2007-06-14  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Use XPathDocument instead of XmlDocument to process the ECMA
	  documentation import.  This cuts down a -type:System.Array import from
	  ~15-20s to ~10-12s (not great, bug better).  Fix importing of <exception/>
	  elements -- previously we would skip them if the mono docs lacked them.

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

	* monodocer.cs: The previous fix was buggy -- if the type parameters were
	  renamed (ConvertAll<T,U> in ECMA, ConvertAll<TInput,TOutput> in Mono),
	  then the existing element wouldn't be found, but the MemberInfo would.
	  Result: duplicate XML elements (BOTH ConvertAll<T,U> AND 
	  ConvertAll<TInput,TOutput>), one of which is wrong, which clearly isn't
	  desirable.  If the Mono XML element can't be found, try looking it up
	  based on the MemberInfo found from the ECMA docs to avoid duplication.

2007-06-11  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Add support for renaming of template parameters (useful
	  because ECMA 335 refers to Array.ConvertAll<T,U> while Mono/.NET have
	  Array.ConvertAll<TInput,TOutput>).  Not terribly intelligent, but smart
	  enough that all but two System.Array members can now be imported (a
	  private constructor, and a member with an incorrectly documented parameter
	  type, neither of which I plan on supporting).  Cleanup some of the 
	  `#if NET_1_0` blocks by using `using' aliases -- alas, requires moving the
	  [assembly:...] attributes; see bugzilla #81855.

2007-06-11  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Add support for explicity-implemented interface members.
	  Minor cleanup.  Replace catch(NotSupportedException){} blocks.
	* Makefile.am (clean): Cleanup monodocer.exe* files.
	* DocTest-v1.cs: Add IFoo<T>, explicitly implement some interfaces on
	  MyList<A,B> to test explicitly-implemented member support.
	* DocTest/en.expected/index.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/index.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/index.html,
	  DocTest/html.expected/index.html,
	  DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
	  DocTest/en.expected.importslashdoc/index.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml:
	  Update.
	* DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html: Added.

2007-05-29  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Invert ECMA documentation importing -- instead of iterating
	  over the monodoc XML and importing ECMA docs as encountered (randomly), 
	  iterate over the ECMA docs in-order and access the monodoc types randomly.
	  This significantly improves access as the ECMA docs are ~7.2MB in size,
	  while the monodoc XML types 10's-100's of KB (randomly accessing a 7.2 MB
	  XML document == BAD; randomly accessing a several hundred KB document is
	  better).  This cuts down a -type:System.Array import from ~4 minutes to
	  < ~20s.  Alas, it appears to miss a few members as well, so it's not done.

2007-05-19  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Create diff(1)-friendly output for -importecmadocs.
	  Previously, we'd remove <summary/>, <remarks/>, etc., and re-add them at
	  the end of the <Docs/> node, which results in major changes for diff(1),
	  so instead we replace the contents of existing elements when appropriate.
	  Remove '\r' from the imported document (also to remove diff(1)-reported
	  changes as the line endings would change).

2007-05-17  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Add -importecmadoc flag, which will import
	  documentation found within an ECMA documetation file (e.g. the
	  CLILibraryTypes.xml from the ECMA-335 standard).
	  WARNING: import is currently SLOW.

2007-05-17  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Refactor MakeDocNode() so that there's only one
	  version, not three overloads, and use a (new) DocsNodeInfo type to
	  pass information to the new MakeDocNode() method.  This doesn't
	  change anything per-se, but it'll make it easier to pass new
	  parameters to MakeDocNode() without making the rediculously long
	  parameter list even longer...

2007-05-12  Joshua Tauberer  <jit@occams.info>

	* overview.xsl: Always sort type names, since when updating
	  docs monodocer can make the list in index.xml out of order.
	* monodocer.cs: When deleting duplicate member entries, delay
	  deletion until after loop is finished.
	* Makefile.am, DocTest-v1.cs, DocTest/en.expected.importslashdoc,
	  DocTest/html.expected: Revise monodocs2html tests to use
	  the /doc file so we can test those tags too. And changed two
	  <c> tags to <see cref=/>.
	* stylesheet.xsl, DocTest/html.expected: Fix see-links to methods,
	  which didn't recognize '(' as delimiting type from args, and
	  display nice type names for arguments.

2007-03-15  Lluis Sanchez Gual  <lluis@novell.com>

	* monodocer.cs: When deleting a member, don't remove it from the
	  parent xml element until all members are checked, since doing
	  it breaks the loop.
	  Properly import internal protected members.

2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>

	* Makefile.am: Add check-monodocer-ignore_extra_docs-update,
	  check-doc-tools-update, and check-update targets.
	* monodocer.cs: Fix generation of attribute parameters, as e.g.
	  `AttributeUsage.Class|Struct' doesn't look right; it should 
	  instead be `AttributeUsage.Class | AttributeUsage.Struct'.
	* DocTest-v1.cs: Add new public Attribute with an AttributeUsage for tests.
	* DocTest/en.expected/index.xml, 
	  DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.importslashdoc/index.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
	  DocTest/en.expected.since/index.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
	  DocTest/html.expected/index.html,
	  DocTest/html.expected/Mono.DocTest/index.html,
	  DocTest/html.expected/Mono.DocTest/DocAttribute.html: Added; update
	  expected output for new tests.

2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Fix C# type name generation for nested types in the System
	  namespace.  Remove TypeCastException when dealing with custom attributes.
	* DocTest-v1.cs: Add System.Environment type for testing System handling.
	* DocTest/en.expected/index.xml, DocTest/en.expected/System.xml,
	  DocTest/en.expected/System/Environment.xml,
	  DocTest/en.expected/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected.since/index.xml, DocTest/en.expected.since/System.xml,
	  DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
	  DocTest/en.expected.since/System/Environment.xml,
	  DocTest/en.expected.importslashdoc/index.xml, 
	  DocTest/en.expected.importslashdoc/System.xml,
	  DocTest/en.expected.importslashdoc/System/Environment.xml,
	  DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
	  DocTest/html.expected/index.html, DocTest/html.expected/System/index.html, 
	  DocTest/html.expected/System/Environment.html,
	  DocTest/html.expected/System/Environment+SpecialFolder.html:
	  Added; update expected output for new tests.

2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: `abstract sealed' classes are actually `static' classes.

2006-12-27  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Re-order the attributes in <Type/> elements so that the
	  ordering is (somewhat) well defined.  This helps with `diff' output in
	  ../class, as it prevents "false positives" when the attributes are
	  re-ordered.  Fix CSharpFullMemberFormatter.GetTypeDeclaration() so that
	  when handling C# builtin types (e.g. System.Byte) it uses the real name in
	  the declaration instead of the C# keyword (`class byte' is wrong).

2006-12-26  Jonathan Pryor  <jonpryor@vt.edu>

	* Makefile.am: Add check-monodocer-ignore_extra_docs test.
	* monodocer.cs: Fix -ignore_extra_docs.  Previously, it would just ignore
	  "missing" types, but it would still remove "missing" members.

2006-12-26  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Don't insert internal attributes into the documentation.
	* DocTest-v1.cs: Add test for use of an internal attribute.

2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Don't include full namespace for System.* types.  *Do*
	  include the full namespace for nested System types, e.g.
	  System.Collections.IEnumerable.  This is what is currently in
	  ../class/corlib/en, and making this change results in a smaller diff.
	* DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
	  Update unit tests for above monodocer.cs change.

2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Don't include full namespace for System.* types.  This is
	  what ECMA-335 CLILibraryTypes.xml does for C# declarations -- no
	  namespaces within e.g. inheritance lists or parameter lists for the System
	  namespace and namespaces nested within System.
	  Remove unnecessary console output.
	* DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
	  Update unit tests for above monodocer.cs change.

2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Make sure that the types we document are *really* public.
	  For some reason public nested types of internal types are returned by
	  Assembly.GetTypes(), e.g. ``internal class A { public class B {} }''
	  These types shouldn't be documented.
	* DocTest-v1.cs: Add test case for above.

2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Add -ignore_extra_docs flag; when set, it will not rename
	  .xml files for types not found to .xml.remove.  This is useful in ../class
	  when we're processing assemblies multiple times for the 1.0 & 2.0
	  profiles, as when processing the 1.0 profile we'll be "missing" the 2.0
	  types, and we don't want those to be renamed.

2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>

	* Makefile.am: Add a monodocer1.exe target, which is a version of monodocer
	  which runs under the 1.0 runtime.  This is necessary so that we can still
	  generate/update docs for mscorlib.dll 1.0 (as only one mscorlib.dll can
	  ever be loaded into a process).
	* monodocer.cs: Split out the .NET 2.0 functionality so that it can be built
	  for both 1.0 and 2.0 runtimes.  1.0 support is controlled by the
	  NET_1_0 define.

2006-12-20  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Don't try too hard in UpdateParameters().  Previously, if a
	  the number of parameters a method accepted changed from > 1 to 1, the
	  "easy" <param/> handling would (inadvertently?) change all <param/>s to have
	  the @name of the method's single parameter -- so if you _had_ parameters
	  A, B, and C but the method now only has D, then A, B, and C would all have
	  their @name attribute changed to D.  Odd, but possibly acceptable...
	  ...until we try to make sure that the <param/>s are in the right order, in
	  which case we'll record the index of D as 0 (it's the 1st parameter), but
	  find a parameter with a different index (the old B & C), causing us to
	  reinsert the parameter to make sure it's in the proper order.  This 
	  results in an infinite loop within System.Xml -- see Bugzilla #80331.
	  It's safer to just ignore the extra parameters.

2006-12-07  Jonathan Pryor  <jonpryor@vt.edu>

	* DocTest-v1.patch: Add an operator returning a generic parameter (triggers
	  error fixed in monodocer.cs).
	* DocTest-v2.patch: Update (due to changes in DocTest-v1.cs).
	* monodocer.cs: CSharpFullMemberFormatter.AppendVisibility() needs to accept null 
	  MethodBases (when called from GetEventDeclaration() and e.GetAddMethod()
	  returns null); fix SlashDocMemberFormatter.GetMethodDeclaration() so that
	  generic types can be the return value of methods.  These changes allow
	  generation of documentation on Mono's 2.0 mscorlib.dll.
	* stylesheet.xsl: Use GetParameterType() to emit the return type of
	  explicit/implicit operators, as they can be/use generic arguments.
	* DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html:
	  Flush to match current output.

2006-11-22  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Don't generate documentation/prototypes for non-public 
	  property get/set accessors.  Patch from Ivan N. Zlatev.

2006-11-01  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: When importing -importslashdoc documentation, convert
	  <seealso/> elements into <altmember/> elements (as the former is the
	  recommended element within ECMA-334, while the latter is the actual
	  element used for our ECMA documentation).
	* DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.

2006-10-27  Jonathan Pryor  <jonpryor@vt.edu>

	* stylesheet.xsl: Generate more correct string id's for "id" attribute 
	  values, so that string ids match the output of CSC.EXE 2.0.  Changes:
	  append ``N instead of `N for generic methods, and use the correct 0-based
	  type parameter index, not a 1-based index.
	* DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.

2006-10-24  Jonathan Pryor  <jonpryor@vt.edu>

	* DocTest-v1.cs: Add /doc comments (for use with `make
	  check-monodocer-importslashdoc`).
	* DocTest-v2.patch: Update (due to changes in DocTest-v1.cs).
	* Makefile.am: Add check-monodocer-importslashdoc,
	  check-monodocer-importslashdoc-update targets.
	* monodocer.cs: Fix -importslashdoc.  Massively refactor generation of
	  strings from MemberInfos (Type, MethodInfo, etc.) so that commonalities
	  between DocType, C#, and /doc string IDs can be shared and easily
	  customized (as opposed to dealing with the > 100 line FillDocTypeName()
	  method, which was already too complex).
	* DocTest/en.expected.importslashdoc/index.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml, 
	  DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
	  DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
	  Added; expected output for `make check-monodocer-importslashdoc'.

2006-10-19  Jonathan Pryor  <jonpryor@vt.edu>

	* Makefile.am: Change check-monodocer target to add a `monodocer -namespace'
	  check, as `-namespace' would use a bad filename generation algorithm.
	* monodocer.cs: Don't use Type.Name (or equivalent) to generate filenames,
	  but use GetTypeFileName(), so that Foo<T> only tries to open the file
	  Foo`1, instead of the file Foo<T> which (1) is wrong, we never generate
	  filenames like that, and (2) fails horribly on Win32 (as '<' and '>' are
	  invalid path characters).

2006-10-19  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Sort member ordering so that when the order of members
	  returned by Type.GetMembers() changes (as it did between 1.1.17 and
	  1.1.18) the order of the documentation members won't change (leading to
	  "errors" in the regression tests).
	* DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected/Mono.DocTest/Color.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest/Color.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest/Color.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/DocValueType.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.  Since monodocer
	  generates a different member ordering, *everything* gets a different
	  ordering.  <sigh>

2006-10-12  Jonathan Pryor  <jonpryor@vt.edu>

	* monodocer.cs: Add support for inserting Docs/since element.  This element
	  is *only* inserted for NEW type/members, never updated, and is only 
	  inserted if the -since:SINCE command-line argument is provided.
	* DocTest.cs: Renamed to DocTest-v1.cs.
	* Makefile.am: Add DocTest.dll-v1, DocTest.dll-v2, check-monodocer-since,
	  check-monodocer-since-update, check targets.
	* DocTest-v2.patch: Patch file applied to DocTest-v1.cs to get DocTest.dll
	  version 2.0.0.0.
	* DocTest/en.expected.since/index.xml,
	  DocTest/en.expected.since/Mono.DocTest.xml,
	  DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
	  DocTest/en.expected.since/Mono.DocTest/Color.xml,
	  DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml: Added; 
	  expected output for DocTest.dll v2.0.0.0.

2006-10-11  Jonathan Pryor  <jonpryor@vt.edu>

	* stylesheet.xsl: Add /Members/Docs node in GetInheritedMembers() so that
	  GetLinkId() sees typeparam elements for type replacement in parameters for 
	  members of base types.  Make sure that "simple" type arguments are 
	  replaced, e.g. T --> `1.
	  TODO: figure out type replacements for nested types.
	* DocTest/html.expected/Mono.DocTest/UseLists.html, 
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Change link id's
	  and targets for proper type replacements within parameters.

2006-10-10  Joshua Tauberer  <jit@occams.info>

	* monodocer.cs: Fixed a bug in WriteElement that would put
	  nodes in the wrong place if some node in the path already
	  existed.
	  - To prevent TypeParameters from always being put at the
	  end on an update, don't delete that node in an update, just
	  clear it.
	  - Update the DisplayName attribute in index.xml on doc updates.
	* DocTest/*: Updated for the DisplayName fix, and also put
	  into a pristine state (I had committed them as an update,
	  which put the TypeParameters block at the end of the files.)

2006-10-09  Joshua Tauberer  <jit@occams.info>

	* monodocer.cs: Update a type's name attributes during an update
	  because generic argument names may change even if filename
	  hasn't.
	  - Added a Type/TypeParameters section which includes type
	  parameters that come from the declaring type, for nested types.
	  - When inheriting from a generic type, added a BaseTypeArguments
	  section which maps type parameters on the base type's type
	  definition to types instantiating those parameters.  i.e.:
	    class X<T> { }
	    class Y<U> : X<U> { }
	  Y gets a mapping in its BaseType node from T to U.
	* stylesheet.xsl: Don't attempt to link to a generic type
	  parameter, just display it in italics.  And when displaying
	  inherited members, try to replace generic type parameters
	  in the base type with the types that have instantiated them
	  in this type.
	* The DocTests are updated to show off these things.

2006-10-08  Joshua Tauberer  <jit@occams.info>

	* monodocer.cs: Track which members have been seen in the XML file
	  not by putting MemberInfos into a hashtable, which seems to
	  not always work right, but instead by their (string) signature.
	  - Get custom attribute data with the new 2.0 CustomAttributeData
	  classes, so that we can reconstruct what the constructor actually
	  looked like.
	  - Hide System.Runtime.InteropServices.Out attributes since it is
	  fake and already in the RefType XML attribute.
	  - Structs weren't getting their interfaces listed in their C# type
	  signatures.
	* monodocs2html.cs: Don't override the default XSLT URI resolver anymore.
	* stylesheet.xsl: Get the index.xml document at the start while we're
	  sure we have the right base path (the XML document being transformed).
	  - Display inherited members in a type's member list when the base type
	  is documented in the same monodocer document set.
	  - Make sure there's a space between a method's parameters and return
	  value type in the member list.
	* DocTest: Updated to test these things.

2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>

	* overview.xsl: When generating a Namespace/index.html file, we should
	  insert the namespace remarks as well.  (This *should* have been done, but
	  the remarks selection was relative to '.', not to the provided $ns. :-(
	* DocTest/html.expected/Mono.DocTest.Generic/index.html,
	  DocTest/html.expected/Mono.DocTest/index.html: Flush.

2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>

	* Makefile.am: Fix -update targets so they don't delete .svn/*.
	* monodocer.cs: Don't key off of DisplayName to insert new <Type> elements,
	  as this will result in updating all existing documentation (rather silly).
	  Key off of Name instead, and only create a DisplayName attribute if it
	  differs from Name.
	* DocTest/en.expected/index.xml: Update to latest monodocer output.
	* monodocs2html.cs: If DisplayName doesn't exist, fall back to 
	  Name ("legacy" behavior, now made current due to change in monodocer.cs).
	* stylesheet.xsl: For "Name [Generic ] [MemberType]" descriptions, make the
	  2nd space part of "Generic".  Otherwise we get double spaces for
	  non-generic members, e.g. "Name  [MemberType]".
	* overview.xsl: Fallback to @Name if @DisplayName doesn't exist.
	* DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest/DocValueType.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html: Update to latest
	  monodocs2html output.

2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>

	* Makefile.am: Build with gmcs; add `-debug' to compile lines; add
	  DocTest.dll, check-monodocer, check-monodocer-update, check-monodocs2html/
	  check-monodocs2html-update targets for unit tests.
	* monodocer.cs: Major overhaul for Generics support.  Documentation
	  generated follows the pattern used in CLILibraryTypes.xml from ECMA-335.
	  - Remove some warnings about unused variables.
	  - Don't assume that Type.FullName is always what we want, but instead
	    build a C# typename from the Type information.  This is needed to nicely
	    deal with generics, as the FullName for Foo<int> would be
	    Foo[[System.Int32, mscorlib]], while we really want Foo<int>.
	  - For index.xml files, insert a File attribute, as the Type name won't
	    match the filename for generic types (Foo<T> is the file Foo`1.xml).
	  - For GetMember(), remove generic parameters before using Type.GetMember()
	    with the member name.
	  - Code refactoring so that <param/> and <typeparam/> generation & updating
	    is consistent.
	  - Properly use `this' for method name on indexers.
	* monodocs2html.cs: Add Generics support -- use the @File attribute instead
	  of assuming that @Name contains the proper filename.
	* defaulttemplate.xsl: Use <h1> instead of <div>; add CSS for
	  `.InnerSignatureTable tr' and `.TypePermissionTable tr'.
	* overview.xsl: If there are fewer than $max-types (20) types in the
	  assembly, show them all in the top-level index.html, no matter how many
	  namespaces are present.  Otherwise, provide links to the
	  Namespace/index.html files, so that things don't suddenly look different
	  as soon as you go from 1 namespace to > 1 namespaces in an assembly.
	  Use <h2/> instead of <div/>.
	* stylesheet.xsl: Major overhaul for Generics support, some re-indentation.
	  - Use <h2/>...<h4/> instead of <div/>
	  - Allow output to validate against XHTML.
	  - Don't use generate-id(), but instead generate member ID's manually so
	    that we can properly refer to them from outside the current page.
	  - Add support for <see cref=""/> translation to non-types --
	    constructors, methods, properties, fields, events.  These can refer to
	    members from a different file, since generate-id() is no longer used.
		- Update the mono-docs site so links to System.* types work.
		- Add support for additional Mono.* namespaces on the mono-docs site.
	  - Properly display C# indexers ("type this [params]", not 
	    "type Item [params]").
	  - Generate documentation for <typeparam/> elements.
	* DocTest.cs: Added; Source for DocTest.dll, used by unit tests.
	* DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
	  DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
	  DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
	  DocTest/html.expected/Mono.DocTest/DocValueType.html,
	  DocTest/html.expected/Mono.DocTest/IProcess.html,
	  DocTest/html.expected/Mono.DocTest/index.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
	  DocTest/html.expected/Mono.DocTest/Color.html,
	  DocTest/html.expected/Mono.DocTest/Widget+Del.html,
	  DocTest/html.expected/Mono.DocTest/UseLists.html,
	  DocTest/html.expected/Mono.DocTest/Widget.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/index.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
	  DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
	  DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
	  DocTest/html.expected/index.html,
	  DocTest/en.expected/Mono.DocTest.Generic.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
	  DocTest/en.expected/Mono.DocTest/IProcess.xml,
	  DocTest/en.expected/Mono.DocTest/Widget.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
	  DocTest/en.expected/Mono.DocTest/DocValueType.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
	  DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
	  DocTest/en.expected/Mono.DocTest/UseLists.xml,
	  DocTest/en.expected/Mono.DocTest/Color.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
	  DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
	  DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest.xml:
	  Added.  Expected output for monodocer (en.expected) and 
	  monodocs2html (html.expected).

2006-04-01  Joshua Tauberer  <tauberer@for.net>

	* monodocs2html.cs: Skip files that are missing.

2006-03-09  Joshua Tauberer  <tauberer@for.net>

	* monodocer.cs: Reverted all of the Cecil changes.  Ah well.

2006-03-04  Joshua Tauberer  <tauberer@for.net>

	* monodocer.cs: Using Cecil now!  (Some Cecil fixes
	  need to be committed.)

2006-03-03  Joshua Tauberer  <tauberer@for.net>

	* monodocer.cs: Don't change up whitespace unless user says so.
	  That makes it hard to see differences against svn.

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

	* bsd-man-to-ecma.pl, bsd-man-to-exception.pl: Added; scripts to help
	  convert BSD man pages into ECMA XML formats.  Run `perldoc PROGRAM` for
	  program documentation.
	* Makefile.am: Add bsd-man-to-ecma.pl and bsd-man-to-exception.pl to
	  EXTRA_DIST.

2005-08-11  Dan Winship  <danw@novell.com>

	* monodocer.cs: Don't preserve whitespace when reading the old
	doc, and don't add any whitespace when creating the new doc. Just
	let the XmlTextWriter handle indentation and it will all just
	work.

2005-08-03  Atsushi Enomoto  <atsushi@ximian.com>

	* monodocer.cs : update name attribute in paramref elements in sync
	  with that of param element.

2005-07-09  Joshua Tauberer <tauberer@for.net>

	From Rodolfo Campero <rodolfo.campero@gmail.com>
	(more or less):
	* monodocs2slashdoc.cs: Updated for changes in
	index.xml for documenting multiple assemblies.
	This app now writes out XML files for each assembly
	as well as NamespaceSummaries.xml to the working
	directory.

2005-06-12  Joshua Tauberer  <tauberer@for.net>

	* monodocer.cs: Added --importslashdoc option to
	  import the contents of /doc-generated xml docs
	  into the generated files.

2005-06-09  Joshua Tauberer  <tauberer@for.net>

	* monodocer.cs : When documenting a single assembly,
	  default the Title in index.xml to the name of the
	  assembly.

2005-06-04  Eric Butler  <eric@extremeboredom.net>

	(copied from ChangeLog in parent directory)
    * monodocer.cs
		- Now exits with an exit code of 1 in the event of an error
		- Added '-name' command line argument
		- Use above argument for <Title> element

2005-06-01  Joshua Tauberer <tauberer@for.net>

	* monodocer.cs : Old index.xml files need to have new nodes
	  created for multiple assemblies, and the old Assembly and
	  Attributes nodes removed.  Added a Title element for 2html.
	  
	* overview.xsl : Revised monodocs2html to use the Title
	  element in index.xml for page titles, rather than the
	  assembly name, which isn't available anymore since there
	  may be more than one assembly.

2005-05-23  Mike Kestner <mkestner@novell.com>

	* monodocer.cs : add multiple assembly updating. 

2005-05-09  Joshua Tauberer <tauberer@for.net>

	* Thanks for pushing me to use a ChangeLog.
	* Disallow documenting types in the root namespace (type.Namespace ==
	  null).
	* When a <code> tag has a 'src' attribute, monodocer will replace
	  the contents of the element with the text in the indicated file.
	  the path is relative to the path given as the --path option.
	* Properties that have different access modifiers on their accessors
	  are now given signatures that reflect that.  (But Monodoc doesn't
	  recognize this properly.  A format change is needed.)
	* monodocs2html: Create the destination directory if it doesn't exist.

2005-01-29  Jonathan Pryor <jonpryor@vt.edu>

	* ChangeLog: Added
	* monodocer.cs (GetTypeFileName): Add check for type.Namespace == null.
	  Fixes NullReferenceException when trying to update Mono.Posix.dll.

