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.

