15a2b4a03a6405ef705b10c6a6ef328d7071a1b5
[mono.git] / mcs / tools / mdoc / ChangeLog
1 2010-06-10  Jonathan Pryor <jpryor@novell.com>
2
3         * Mono.Documentation/monodocs2html.cs: Regenerate all index.{opts.ext}
4           files if any of the source .xml files have changed.  This allows
5           new <summary/> values to be inserted into the index.{opts.ext}
6           files, instead of the index files being "stale".  Fixes #573121.
7
8 2010-04-16  Jonathan Pryor <jpryor@novell.com>
9
10         * Makefile: Add System.Xml.Linq.dll to the referenced assemblies.
11         * Mono.Documentation/webdoc.cs: Allow .source files to be provided to
12           'mdoc export-html-webdoc', which will cause the .source files to be
13           read and all referenced .tree/.zip files to be processed.
14
15 2010-04-16  Jonathan Pryor <jpryor@novell.com>
16
17         * Mono.Documentation/monodocer.cs: Use Int64 instead of UInt64 for
18           enum values, so that we can properly capture negative values.
19
20 2010-02-28  Jonathan Pryor <jpryor@novell.com>
21
22         * Mono.Documentation/webdoc.cs: Add --use-system-sources option so
23           that 'mdoc export-html-webdoc' will use the system-installed sources
24           in addition to any -r'd sources (which was the behavior 2 commits
25           ago).
26
27 2010-02-26  Jonathan Pryor <jpryor@novell.com>
28
29         * Mono.Documentation/assembler.cs: Allow other apps to get the same
30           '--format' logic, specifically 'mdoc export-html-webdoc'.
31         * Mono.Documentation/webdoc.cs: Allow it to be more "stand-alone".
32           Previously, it would depend upon the system-wide .source files.
33           This is bad, because you might want to generate the 'cache'
34           directory for a different installation, with a different set of
35           .tree/.zip/.source files, and you might not want to replace your own
36           and/or you often forget, as is the case with me.  Instead, allow a 
37           format to be specified for .tree files, and allow additional .source 
38           files to be referenced so that extension methods will be found within
39           the specified sources.  This allows for a "stand-alone" method of 
40           operation w/o depending upon the system-wide .source files.
41
42 2010-01-11  Jonathan Pryor <jpryor@novell.com>
43
44         * Mono.Documentation/monodocs2slashdoc.cs: Fix NamespaceSummaries.xml
45           generation to look at the ns-NAMESPACE.xml files, not just
46           NAMESPACE.xml files.
47
48 2009-12-03  Jonathan Pryor <jpryor@novell.com>
49
50         * Resources/stylesheet.xsl: Add support for generating namespace links
51           for <see cref="N:..." />.
52         * Test/DocTest-v1.cs: Add namespace links for testing.
53         * Test/en.expected.importslashdoc/Mono.DocTest/Color.xml,
54           Test/en.expected.importslashdoc/NoNamespace.xml,
55           Test/html.expected/index.html,
56           Test/html.expected/Mono.DocTest/Color.html,
57           Test/html.expected/NoNamespace.html,
58           Test/msxdoc-expected.importslashdoc.xml: Flush.
59
60 2009-12-03  Jonathan Pryor <jpryor@novell.com>
61
62         * Test/html.expected/Mono.DocTest.Generic/MyList`1.html,
63           Test/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush to sync
64           with updated mdoc.  Inherited members are now shown (as they were
65           supposed to be, but a bug had prevented from being found).
66
67 2009-12-02  Jonathan Pryor <jpryor@novell.com>
68
69         * Mono.Documentation/monodocs2html.cs: Enable debug output in
70           XslCompiledTransform when --debug is specified.
71         * Resources/overview.xsl: Add xmlns, exclude-result-prefixes so that
72           .NET won't complain about the stylesheet.  (Why's it complain?)
73         * Resources/stylesheet.xsl: .NET compatibility fixes:
74           - Use msxsl:node-set() when necessary.
75           - Change XPath expressions so that they work properly everywhere.
76         * Makefile: Don't build an 'mdoc-net.exe' anymore, as the normal
77           mdoc.exe can now run normally under .NET.
78
79 2009-11-25  Jonathan Pryor <jpryor@novell.com>
80
81         * Makefile: When copying mdoc-net.exe into ./mdoc-net, rename it to
82           mdoc.exe so that .NET users continue to use the name 'mdoc'.  This
83           will make documentation easier, etc.
84
85 2009-11-25  Jonathan Pryor <jpryor@novell.com>
86
87         + Giving up on getting mdoc to fully work under .NET; specifically,
88           mdoc-export-html makes use of many Mono XSLT "extensions" (part of
89           XSLT 2.0, apparently) which .NET doesn't support.  To run mdoc under
90           .NET, use mdoc-net.exe, which is a "static" mdoc.exe, including the 
91           sources for BOTH monodoc.dll AND Mono's System.Xml.dll in the binary.
92           Yes, this makes it huge.
93
94         * . (svn:ignore): Ignore generated files.
95         * Makefile: If the NET variable is present (e.g. 'make NET=1'),
96           generate mdoc-net.exe instead of mdoc.exe, otherwise generate
97           mdoc.exe (the default, with normal dependencies).  When NET is
98           present, also create a 'mdoc-net' directory which contains
99           mdoc-net.exe and all assembly dependencies (to make it easier to
100           grab all the deps at once).
101         * mdoc-net.exe.sources: Added; sources to use for mdoc-net.exe.
102         * Mono.Documentation/monodocs2html.cs: Ensure that the "Index" XSLT
103           variable is set before generating output.
104
105 2009-11-24  Jonathan Pryor <jpryor@novell.com>
106
107         * Mono.Documentation/monodocs2html.cs: Use XslCompiledTransform, as
108           it's *significantly* faster under .NET than XslTransform -- 
109           1.7s vs ~3 minutes 7s (for a trivial test case).
110
111 2009-11-23  Jonathan Pryor <jpryor@novell.com>
112
113         * Resources/overview.xsl, Resources/stylesheet.xsl: Remove the 'ext'
114           and 'language' global <xsl:param>'s, as they cause "variable 'foo' 
115           was duplicated within the same scope" errors under .NET.
116
117 2009-11-23  Jonathan Pryor <jpryor@novell.com>
118
119         * Mono.Documentation/monodocer.cs: ".NET support": ensure that we
120           always get Unix line endings so that we can update documentation
121           under both Mono & .NET w/o continually changing the file due to
122           line-ending differences.
123
124 2009-11-06  Jonathan Pryor <jpryor@novell.com>
125
126         * Mono.Documentation/monodocer.cs: When deleting the ExtensionMethods
127           element, remove it from the correct parent XML node.  Fixes #553144.
128
129 2009-09-19  Jonathan Pryor <jpryor@novell.com>
130
131         * Mono.Documentation/monodocs2html.cs: Add --with-profile=PROFILE
132           option, which just provides a simple mapping between profile names
133           like net_3_5 to the versions used in that profile.
134
135 2009-09-19  Jonathan Pryor <jpryor@novell.com>
136
137         * Mono.Documentation/monodocs2html.cs: By request of Edd Dumbill, add
138           --with-version=VERSION option.  This will generate HTML
139           documentation for ONLY those types/members which exist within
140           VERSION.  This makes it easy to generate HTML that will show e.g.
141           only MonoTouch docs (and not the full class library docs).
142         * Makefile: Add test for 'mdoc export-html --with-version=VERSION'.
143           Somewhat brain-dead, as it only checks for added types (and not
144           added members), but better than nothing...
145
146 2009-09-09  Jonathan Pryor <jpryor@novell.com>
147
148         * Mono.Documentation/monodocs2html.cs: Fix behavior when multiple
149           source directories are provided, e.g. 'mdoc export-html -o o a b c'
150           with docs located in directories a, b, and c.  Previously this would
151           be equivalent to running aginst a, b, and c separately, resulting in
152           o/index.html being continually overwritten (and thus not showing ALL
153           available types).
154         * Resources/stylesheet.xsl: Make $Index a parameter (as monodocs2html
155           will create an in-memory index containing all types from all
156           specified directories), and various changes to cope with $Index no
157           longer being a file.  Better support files in the global namespace.
158         * Test/html.expected/NoNamespace.html: Fix assembly link.
159
160 2009-08-12  Jonathan Pryor <jpryor@novell.com>
161
162         * Test/DocTest-v1.cs: Add a comment which uses <format/>, to test html
163           escaping behavior.
164         * Resources/monodoc-ecma.xsd: Permit <format/> in various elements.
165         * Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
166           Test/html.expected/Mono.DocTest/DocAttribute.html,
167           Test/msxdoc-expected.importslashdoc.xml: Flush.
168
169 2009-08-12  Jonathan Pryor <jpryor@novell.com>
170
171         * Makefile: Add ../monodoc/Resources/mdoc-html-format.xsl as a resource.
172
173 2009-08-06  Jonathan Pryor <jpryor@novell.com>
174
175         * mdoc.exe.sources: Add ../../build/common/Consts.cs to the build.
176         * Mono.Documentation/mdoc.cs: mdoc version is Consts.MonoVersion, not
177           some hard-coded, perpetually out-of-date version.
178
179 2009-08-02  Jonathan Pryor <jpryor@novell.com>
180
181         * Mono.Documentation/monodocer.cs: Sometimes <AssemblyVersion/> is
182           found twice when it's actually present only once (!).  Attempt to
183           work around this by usinq LINQ instead of a foreach (which oddly
184           works...).
185
186 2009-07-31  Jonathan Pryor <jpryor@novell.com>
187
188         * Mono.Documentation/monodocer.cs: Record attributes that are placed
189           on property get/set and event add/remove accessors.
190         * Test/DocTest-v1.cs: Add attributes to some accessors.
191         * Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
192           Test/en.expected.since/Mono.DocTest/Widget.xml,
193           Test/en.expected/Mono.DocTest/Widget.xml,
194           Test/html.expected/Mono.DocTest/Widget.html,
195           Test/msxdoc-expected.importslashdoc.xml: Flush.
196
197 2009-06-23  Jonathan Pryor <jpryor@novell.com>
198
199         * Mono.Documentation/monodocer.cs: Don't generate an exception when an
200           enumeration contains multiple names with the same value.
201           Fixes #515030.
202         * Test/DocTest-v1.cs: Add test for #515030.
203         * Test/en.expected/Mono.DocTest/Color.xml,
204           Test/en.expected.since/Mono.DocTest/Color.xml,
205           Test/html.expected/Mono.DocTest/Color.html,
206           Test/msxdoc-expected.importslashdoc.xml,
207           Test/en.expected.importslashdoc/Mono.DocTest/Color.xml: Flush.
208
209 2009-04-18  Jonathan Pryor <jpryor@novell.com>
210
211         * Mono.Documentation/webdoc.cs: Change -o semantics to be a directory
212           prefix, e.g. `mdoc export-html-webdoc -o cache.new foo.tree` will
213           output files into `cache.new/foo` instead of directly into
214           `cache.new`.  This makes it easier to specify more than one
215           .tree/.zip file on the command line.
216
217 2009-04-16  Jonathan Pryor <jpryor@novell.com>
218
219         * Mono.Documentation/monodocs2slashdoc.cs: Code refactor; use
220           EcmaDoc.GetCref() to generate //member/@name values.
221         * Mono.Documentation/dump.cs: Add -f=FORMAT support, so that we can
222           load an appropriate HelpSource (if supplied) so that an appropriate
223           Node.PublicUrl can be displayed in the output.
224
225 2009-04-15  Jonathan Pryor <jpryor@novell.com>
226
227         * Mono.Documentation/webdoc.cs: Remove console debug spew.  If you run
228           with `mdoc -v`, each URL will be printed as it's processed.
229
230 2009-04-15  Jonathan Pryor <jpryor@novell.com>
231
232         * Mono.Documentation/webdoc.cs: When extracting files from the .zip
233           file, ensure that the output file is closed.  Properly pre-render
234           ecma namespace documentation.
235
236 2009-04-15  Jonathan Pryor <jpryor@novell.com>
237
238         * Makefile: Add reference to ICSharpCode.SharpZipLib.dll.
239         * mdoc.exe.sources: Add Mono.Rocks/ObjectRocks.cs,
240           Mono.Rocks/StreamRocks.cs.
241         * Mono.Documentation/webdoc.cs: Refactor into smaller methods.  Extract 
242           ZIP file contents in addition to generating HTML output.  Use
243           monodoc helper methods to determine cache directory.
244         * Mono.Documentation/ObjectRocks.cs: Rename to
245           Mono.Rocks/ObjectRocks.cs.
246         * Mono.Rocks/ObjectRocks.cs: Add Check.Destination().
247         * Mono.Rocks/StreamRocks.cs: Added; extension methods for Streams.
248
249 2009-04-15  Jonathan Pryor <jpryor@novell.com>
250
251         * Mono.Documentation/webdoc.cs: The timestamp logic was wrong it the
252           output directory didn't exist.  Fix.
253
254 2009-04-15  Jonathan Pryor <jpryor@novell.com>
255
256         * Mono.Documentation/webdoc.cs: Do as make(1) does: if the
257           target directory already exists and is newer than the source files, 
258           don't regenerate output.  (Greatly speeds things up if nothing has
259           changed.)  Add a --force-update option to disable this behavior.
260
261 2009-04-15  Jonathan Pryor <jpryor@novell.com>
262
263         * Mono.Documentation/webdoc.cs: Change the default -o value to
264           include a "cache" intermediate directory.  This makes it easier to
265           kill the entire cache at once.
266
267 2009-04-15  Jonathan Pryor <jpryor@novell.com>
268
269         * Mono.Documentation/webdoc.cs: Provide nice default -o value.
270
271 2009-04-15  Jonathan Pryor <jpryor@novell.com>
272
273         * Mono.Documentation/webdoc.cs: Load documentation through a
274           HelpSource, not through the RootTree, as URLs of the form
275           "ecma:0#AvoidExtensionMethodOnSystemObjectRule/" use the number (0
276           in this case) as a HelpSource-relative identifier.  Result: you get
277           the wrong documentation if you go through RootTree.
278
279 2009-04-15  Jonathan Pryor <jpryor@novell.com>
280
281         * Makefile: Add reference to System.Web.dll, for HttpUtility.
282         * mdoc.exe.sources: Add ObjectRocks.cs, webdoc.cs to the build.
283         * Mono.Documentation/mdoc.cs: Add export-html-webdoc command, which
284           "pre-renders" HTML for use by the webdoc ASP.NET renderer.
285         * Mono.Documentation/webdoc.cs: Added; MDocExportWebdocHtml
286           implementation; attempts to pre-render HTML based on .tree/.zip
287           file contents.
288         * Mono.Documentation/ObjectRocks.cs: Added; extension methods for tree
289           traversal (from Mono.Rocks).  For use in webdoc.cs.
290
291 2009-04-09  Jonathan Pryor <jpryor@novell.com>
292
293         * Mono.Documentation/monodocer.cs: Using a single IAssemblyResolver is
294           an improvement, but doesn't fix all problems.  In particular, some
295           assemblies will depend upon other assemblies to load (e.g. 3rd party
296           assemblies) but these dependent assemblies shouldn't be documented.
297           Add support for -r:ASSEMBLY and -L:DIRECTORY arguments to allow the
298           user to manually add to the assembly search path so that assemblies
299           can be found.  Assemblies added via -r will NOT be documented.
300
301 2009-04-08  Jonathan Pryor <jpryor@novell.com>
302
303         * Mono.Documentation/monodocer.cs: Use a single IAssemblyResolver
304           shared amongst all AssemblyDefinitions to resolve assembly/type
305           references with Cecil.  Otherwise, if we have deeply nested
306           directories with cross-directory assembly dependencies, then Cecil
307           won't find the necessary assemblies (e.g. b/bin/Debug/b.dll has a
308           type which inherits from a/bin/Debug/a.dll -- here, we'll have two
309           separate AssemblyDefinitions, and when b.dll's AssemblyDefinition
310           tries to resolve types from a.dll, it fails).
311           See: http://lists.ximian.com/pipermail/mono-devel-list/2009-April/031646.html
312
313 2009-03-29  Jonathan Pryor <jpryor@novell.com>
314
315         * Mono.Documentation/exceptions.cs: Add
316           ExceptionLocations.AddedMember, used for --exceptions=added support.
317         * Mono.Documentation/monodocer.cs: Add --exceptions=added, which will 
318           only add <exception/> elements for newly added elements.  This is
319           useful for updating documentation for established projects which
320           already have <exception/> corrections (e.g. *removal* of
321           <exception/> elements because the exceptions weren't actually
322           possible), so only new members should have <exception/> created.
323
324 2009-03-20  Jonathan Pryor <jpryor@novell.com>
325
326         * Mono.Documentation/monodocs2html.cs: Perform the timestamp check for
327           the top-level and namespace-level index files.
328
329 2009-03-21  Jonathan Pryor <jpryor@novell.com>
330
331         * Mono.Documentation/monodocer.cs: Be nice to make,
332           mdoc-export-html, and other apps that use file timetamps: if the 
333           file contents haven't changed after the update, don't replace the
334           "original" file.  This preserves file timestamps, thus allowing
335           other apps to behave nicely (e.g. mdoc-export-html won't update all
336           documentation after running mdoc-update, as the files won't change
337           unless something has *actually* changed).
338
339 2009-03-20  Jonathan Pryor <jpryor@novell.com>
340
341         * Mono.Documentation/monodocs2html.cs: Do as make(1) does: if the
342           target file already exists and is newer than the source file, don't
343           regenerate it.  (Greatly speeds things up if only a few .xml files
344           changed.)  Add a --force-update option to disable this behavior.
345
346 2009-02-26  Jonathan Pryor <jpryor@novell.com>
347
348         * Mono.Documentation/assembler.cs: When processing an empty directory,
349           it's possible for HelpSource.Tree to be null; avoid an NRE.
350
351 2009-02-17  Jonathan Pryor <jpryor@novell.com>
352
353         * Test/DocTest-v1.cs: Add test for #475814.
354         * Mono.Documentation/exceptions.cs, Mono.Documentation/monodocer.cs:
355           Use the new Mono.Cecil .Resolve() methods instead of (erroneously)
356           duplicating their functionality with the .GetDefinition() methods.
357           ExceptionLookup.this[IMemberReference] checks for multi-dimensional
358           arrays, as MD arrays are "special" (Cecil can't resolve them, as
359           they're internal to the runtime with no specific associated IL).
360           Fixes #475814.
361
362 2009-02-17  Jonathan Pryor <jpryor@novell.com>
363
364         * Mono.Documentation/monodocer.cs: Check that the cref attribute is
365           non-null before trying to use it when importing slashdoc sources.
366           Fixes #475852.
367         * Test/DocTest-v1.cs: Add an <exception/> doc comment with an invalid
368           attribute value for testing.
369
370 2009-02-17  Jonathan Pryor <jpryor@novell.com>
371
372         * Mono.Documentation/mdoc.cs: Set Environment.ExitCode=1 if an
373           exception occurs, so that calling code can determine that an error
374           occurred w/o resorting to parsing stderr.  Fixes #475746.
375
376 2009-02-16  Jonathan Pryor <jpryor@novell.com>
377
378         * Mono.Documentation/monodocer.cs: Support C#4 variant generics, e.g.
379           `delegate TRet Func<in TArg, out TRet>(TArg a)'.  Alas, this
380           required making MemberFormatter explicitly stateful, so any thoughts
381           of using instances w/o locking are now out the window...  (Not that
382           threads are currently used, but they're planned to be used...)
383           TODO: Add a test to Test/DocTest-v1.cs.  This wasn't done as the
384           current gmcs support doesn't like intermixing variance with generic
385           parameter attributes, and I don't want to introduce a new delegate
386           type (and the ~6 new files that would imply) just for this feature.
387
388 2009-02-10  Jonathan Pryor <jpryor@novell.com>
389
390         * Mono.Documentation/monodocer.cs: Cleanup: turn static data into
391           instance data (for future Threading changes, as only static data
392           will be tracked for thread-safety); use MDocCommand.Message() and
393           MDocCommand.Error() for message reporting; remove warnings.
394
395 2009-01-05  Jonathan Pryor <jpryor@novell.com>
396
397         * Makefile: Fix $(PROGRAM) dependencies so that mdoc.exe is rebuilt
398           when one of the dependent ../monodoc/Resources/* files is changed.
399
400 2009-01-05  Jonathan Pryor <jpryor@novell.com>
401
402         * Mono.Documentation/mdoc.cs: `mdoc' (no arguments) shouldn't print an
403           index out of range error.  Fix.
404         * Mono.Documentation/monodocer.cs: Rename -fno-member-assembly-info to
405           -fno-assembly-versions, which prevents generation of //AssemblyVersion
406           elements.  This suffers the same warning as -fno-member-assembly-info,
407           so don't use unless you can guarantee that no members will 
408           ever be removed from your public API. :-)
409           Clean up -f handling so that -f:no-assembly-versions will work as
410           expected.
411
412 2009-01-05  Jonathan Pryor <jpryor@novell.com>
413
414         * Mono.Documentation/monodocer.cs: Add -fno-member-assembly-info,
415           which remove /Type/Members/Member/AssemblyInfo elements.
416           Requested by Mike Kestner.
417           Warning: this option will break automatic version tracking, so if a
418           member is present in e.g. v1.0 and is removed in e.g. v2.0, 
419           the //Member element will be removed entirely when updating the
420           documentation against the 2.0 assembly.  Use with care.
421
422 2008-12-06  Jonathan Pryor <jpryor@novell.com>
423
424         * Mono.Documentation/monodocer.cs: Remove "exception" from DocsNodeOrder
425           so that <exception/> elements aren't grouped together.  This causes
426           `make doc-update` to result in ~0 changes in ../../class/corlib.
427           Change the sorting of --exceptions-generated <exception/> nodes so
428           that namespaces are taken into consideration, thus "properly"
429           grouping types by namespaces, as I'd usually expect...
430
431 2008-12-05  Jonathan Pryor <jpryor@novell.com>
432
433         * Mono.Documentation/monodocer.cs, Mono.Documentation/monodocs2html.cs: 
434           Reorder parameters to be in sorted order, so `mdoc help COMMAND` 
435           parameters are sorted.
436         * Mono.Documentation/monodocer.cs: Remove try/catch in
437           MDocUpdater.Run(MDocUpdaterOptions), so that any generated exceptions
438           will be handled within mdoc itself (thus allowing the normal 
439           "See `mdoc help' for more information." message).  Improve some
440           error messages so they're more useful.
441
442 2008-12-04  Jonathan Pryor <jpryor@novell.com>
443
444         * Makefile: Specify --exceptions=all in mdoc-update invocations.
445         * exceptions.cs: Add support for documenting a *subset* of all
446           possible exceptions.  Subsets include: the member itself, the member
447           and methods it calls that are in the same assembly, and all possible
448           methods across all assemblies.
449         * monodocer.cs: Allow --exceptions to take a SOURCES argument, to
450           control which location sources will be searched for exceptions.
451
452 2008-12-02  Jonathan Pryor <jpryor@novell.com>
453
454         * Makefile: Add --exceptions to `mdoc update` invocations to test
455           <exception/> generation.
456         * mdoc.exe.sources: Add Mono.Documentation/exceptions.cs to the build.
457         * Mono.Documentation/exceptions.cs: Added; searches through the
458           callgraph of an IMemberReference, recording which exception types
459           are created (and where they're created from).
460         * Mono.Documentation/monodocer.cs: Generate <exception/> elements.
461         * Test/DocTest-v1.cs: Modify some methods so that exceptions are
462           emitted (thus testing <exception/> generation).
463         * Test/DocTest-v2.patch: Update (so patch(1) doesn't complain).
464         * Test/en.expected.importecmadoc/System/Array.xml,
465           Test/en.expected.importecmadoc/System/Environment.xml,
466           Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
467           Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
468           Test/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
469           Test/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
470           Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
471           Test/en.expected.importslashdoc/System/Array.xml,
472           Test/en.expected.importslashdoc/System/Environment.xml,
473           Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
474           Test/en.expected.since/Mono.DocTest/DocAttribute.xml,
475           Test/en.expected.since/Mono.DocTest/DocValueType.xml,
476           Test/en.expected.since/Mono.DocTest/UseLists.xml,
477           Test/en.expected.since/Mono.DocTest/Widget.xml,
478           Test/en.expected.since/System/Array.xml,
479           Test/en.expected.since/System/Environment.xml,
480           Test/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
481           Test/en.expected/Mono.DocTest/DocAttribute.xml,
482           Test/en.expected/Mono.DocTest/DocValueType.xml,
483           Test/en.expected/Mono.DocTest/UseLists.xml,
484           Test/en.expected/Mono.DocTest/Widget.xml,
485           Test/en.expected/System/Array.xml,
486           Test/en.expected/System/Environment.xml,
487           Test/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
488           Test/html.expected/Mono.DocTest/DocAttribute.html,
489           Test/html.expected/Mono.DocTest/DocValueType.html,
490           Test/html.expected/Mono.DocTest/UseLists.html,
491           Test/html.expected/Mono.DocTest/Widget.html,
492           Test/html.expected/System/Array.html,
493           Test/html.expected/System/Environment.html,
494           Test/msxdoc-expected.importslashdoc.xml: Flush; adds <exception/>
495           elements (and/or HTML-rendered output of <exception/> elements).
496
497 2008-11-19  Jonathan Pryor <jpryor@novell.com>
498
499         * Mono.Documentation/monodocer.cs: Add the assembly's directory to
500           Cecil's BaseAssemblyResolver search list so that assemblies in the
501           same directory as the assembly we're processing can be found.
502           Allows mono-tools/gendarme to be built with a Cecil-using mdoc.
503
504 2008-11-15  Jonathan Pryor <jpryor@novell.com>
505
506         * Mono.Documentation/monodocer.cs: Properties on interfaces shouldn't
507           have `abstract' on them.
508         * Test/DocTest-v1.cs: Add a property to an interface to check above.
509         * Test/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
510           Test/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
511           Test/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
512           Test/html.expected/Mono.DocTest/Widget+IMenuItem.html,
513           Test/msxdoc-expected.importslashdoc.xml: Flush.
514
515 2008-11-15  Jonathan Pryor <jpryor@novell.com>
516
517         * Mono.Documentation/monodocer.cs: Fix regressions found from 
518           `make doc-update` in corlib:
519           - Ensure that custom attributes are sorted (they weren't before,
520             resulting in spurious differences between Reflection & Cecil
521             output).
522           - CecilExtensions.GetMethod() should return null if the method can't
523             be found.
524           - DocUtils.IsDelegate() should ensure that the delegate type isn't
525             abstract (otherwise it dies on System.MulticastDelegate, which is
526             an abstract type lacking an "Invoke" method).
527           - Properly count generic argument counts for nested types (fixes IOE
528             from S.C.G.Dictionary`2.KeyCollection.Enumerator).
529         * Test/DocTest-v1.cs: Add doubly-nested class under a generic class to
530           simulate S.C.G.Dictionary`2.KeyCollection.Enumerator behavior.
531         * Test/en.expected.importslashdoc/index.xml,
532           Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
533           Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
534           Test/en.expected.since/index.xml,
535           Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
536           Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
537           Test/en.expected/index.xml,
538           Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml,
539           Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml,
540           Test/html.expected/index.html,
541           Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.html,
542           Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.html,
543           Test/html.expected/Mono.DocTest.Generic/index.html,
544           Test/msxdoc-expected.importslashdoc.xml: Flush (new types/changes
545           from DocTest-v1.cs changes).
546
547
548 2008-11-14  Jb Evain  <jbevain@novell.com>
549
550         * Makefile: Use Mono.Cecil from class/lib/net_1_1, not net_2_0.
551
552 2008-11-14  Jonathan Pryor <jpryor@novell.com>
553
554         * Makefile: Don't build monodocer1.exe, and add Mono.Cecil.dll to the 
555           list of assembly references for mdoc.exe.
556         * Mono.Documentation/monodocer.cs: Migrate from System.Reflection to
557           Mono.Cecil.  This was done for two reasons:
558           1. mscorlib.dll: Reflection can load only one mscorlib.dll into an
559              AppDomain, which must be the same mscorlib.dll as the runtime
560              version.  Thus, in order to run monodocer on mscorlib.dll v1.1,
561              monodocer must be a .NET 1.1 application, and to document
562              mscorlib.dll v2.0, monodocer must be a .net 2.0 app.
563           1.a I don't think it's feasable to drop support for 
564              mscorlib.dll v1.1.
565           1.b This has been previously handled (so far) with conditional 
566              compilation, but the conditional compilation is painful to
567              maintain, and prevents use of LINQ in ongoing development.
568           1.c .NET 4.0 will be coming out "soon" (within 2 years?), and it's
569              possible that mono will maintain the same limitation, thus
570              necessitating having *three* different monodocer programs to
571              document mscorlib.dll for v1.1, v2.0, and v4.0.  Yech.
572           2. Future directions: It would be nice to parse method/property IL
573              bodies to determine which exceptions can be generated, thus
574              generating <exception cref="..."/> stubs.  Even with empty stubs,
575              I belive this would be useful within e.g. MonoDevelop to know
576              which exceptions a method is able to generate.
577              This cannot be done (at present) with System.Reflection, and
578              would require Mono.Cecil.
579           Downsides: mdoc now depends upon Mono.Cecil, which is API-unstable.
580           This will likely also complicate execution under .NET, as Mono.Cecil
581           would need to be XCOPY deployed into mdoc.exe's directory.
582         * Test/DocTest-v1.cs: Add additional tests for Custom Attribute
583           generation.
584         * Test/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
585           Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
586           Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
587           Test/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml,
588           Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
589           Test/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
590           Test/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
591           Test/en.expected.since/Mono.DocTest/DocAttribute.xml,
592           Test/en.expected.since/Mono.DocTest/Widget+Direction.xml,
593           Test/en.expected.since/Mono.DocTest/Widget.xml,
594           Test/en.expected/Mono.DocTest.Generic/Func`2.xml,
595           Test/en.expected/Mono.DocTest.Generic/MyList`2.xml,
596           Test/en.expected/Mono.DocTest/DocAttribute.xml,
597           Test/en.expected/Mono.DocTest/Widget+Direction.xml,
598           Test/en.expected/Mono.DocTest/Widget.xml,
599           Test/html.expected/Mono.DocTest.Generic/Func`2.html,
600           Test/html.expected/Mono.DocTest.Generic/MyList`2.html,
601           Test/html.expected/Mono.DocTest/DocAttribute.html,
602           Test/html.expected/Mono.DocTest/Widget+Direction.html,
603           Test/html.expected/Mono.DocTest/Widget.html,
604           Test/msxdoc-expected.importslashdoc.xml: Flush -- updated output due
605           to new custom attributes, better implemented interface detection --
606           care of the Mono.Cecil migration -- etc.
607
608 2008-11-13  Jonathan Pryor <jpryor@novell.com>
609
610         * Test/html.expected/**: Update 
611           //meta[@http-equiv='Content-Type']/@content attribute value (changed
612           due to yesterday's defaulttemplate.xsl fix).
613
614 2008-11-12  Jonathan Pryor <jpryor@novell.com>
615
616         * Resources/defaulttemplate.xsl: Update /html/head/meta/@content value
617           so that IE7 properly recognizes the file as UTF-8 encoded.
618           Fixes #444009.
619
620 2008-10-27  Jonathan Pryor <jpryor@novell.com>
621
622         * Makefile: Fix build error caused by filenames containing '`'.
623
624 2008-10-27  Jonathan Pryor <jpryor@novell.com>
625
626         * Mono.Documentation/mdoc.cs: TraceLevel.Error messages should go to
627           Console.Error, as per Unix convention.
628         * Makefile: cehck-mdoc-validate* needs to also capture standard error.
629
630 2008-10-27  Jonathan Pryor <jpryor@novell.com>
631
632         * Mono.Documentation/validate.cs: Remove warnings
633         * Test/validate.check.monodocer, Test/validate.check.monodocer.since:
634           Don't generate output if no errors are found.
635         * Test/validate.check.monodocer.importslashdoc: Prefix error messages
636           with "mdoc:", as per Unix convention.
637
638 2008-10-24  Jonathan Pryor <jpryor@novell.com>
639
640         * Makefile: Fixup mdoc.exe dependencies so that it's rebuilt if the
641           resources or monodoc.dll change.  Add tests for mdoc-validate.
642         * Mono.Documentation/assembler.cs, Mono.Documentation/mdoc.cs,
643           Mono.Documentation/monodocer.cs, Mono.Documentation/monodocs2html.cs,
644           Mono.Documentation/monodocs2slashdoc.cs,
645           Mono.Documentation/validate.cs: 
646           - Major rearchitecture; instead of having the option parsing 
647             centralized within mdoc.cs, keep option parsing within the relevant 
648             files/types.
649           - Introduce the MDocCommand abstract class to serve as the base class 
650             -- primarily done to introduce the new Message() and Error() 
651             methods, in which Message() will only show the message if the 
652             current message level is >= the message's level (thus minimizing 
653             console spew); see ../monodoc for more details.
654           - Add `-v' ("verbose") top-level argument to allow setting/adding 
655             levels, so that `mdoc -v -v assemble ...` will show *all*
656             assemble-associated messages (which can be quite voluminous).
657           - Remove compiler warnings, when able.
658         * Mono.Documentation/XhtmlWriter.cs: Remove warning about unused
659           variable.
660         * Resources/monodoc-ecma.xsd: Extend the XSD to support more
661           elements/attributes on various elements -- e.g. mdoc-update looks
662           for a //code/@src attribute, which wasn't defined in the XSD.  Oops.
663         * Test/validate.check.monodocer.importslashdoc: Flush (due to above
664           XSD changes).
665
666 2008-10-22  Jonathan Pryor <jpryor@novell.com>
667
668         * Makefile: Correct path names.
669         * Mono.Documentation/monodocer.cs: Better support nested types.
670         * Test/DocTest-v1.cs: Add 4 levels of nested types.
671         * Test/en.expected.importslashdoc/index.xml,
672           Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
673           Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
674           Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
675           Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double.xml,
676           Test/en.expected.since/index.xml,
677           Test/en.expected.since/Mono.DocTest/Widget.xml,
678           Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
679           Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
680           Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double.xml,
681           Test/en.expected/index.xml,
682           Test/en.expected/Mono.DocTest/Widget.xml,
683           Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml,
684           Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.xml,
685           Test/en.expected/Mono.DocTest/Widget+NestedClass+Double.xml,
686           Test/html.expected/index.html,
687           Test/html.expected/Mono.DocTest/index.html,
688           Test/html.expected/Mono.DocTest/Widget.html,
689           Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.html,
690           Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.html,
691           Test/html.expected/Mono.DocTest/Widget+NestedClass+Double.html,
692           Test/msxdoc-expected.importslashdoc.xml: Flush.
693
694 2008-10-17  Jonathan Pryor <jpryor@novell.com>
695
696         * Makefile: Reference the monodoc.dll from the net_1_1 profile, as 
697           that's the only one that will get built.
698
699 2008-10-17  Jonathan Pryor <jpryor@novell.com>
700
701         * Makefile: Fix $(EXTRA_DISTFILES) so that `make distcheck` doesn't
702           fail on mdoc anymore...
703
704 2008-10-18  Raja R Harinath  <harinath@hurrynot.org>
705
706         * Makefile (MCS1): Use 'class/lib/net_1_1', not 'class/lib/1.0'.
707
708 2008-10-17  Jonathan Pryor <jpryor@novell.com>
709
710         * Mono.Documentation/monodocer.cs: -overrides & -pretty should default 
711           to true.  (Not a major change, as mdoc.exe already did this, so it
712           really only impacts monodocer1.exe, which is internal...)
713
714 2008-10-17  Jonathan Pryor <jpryor@novell.com>
715
716         * Mono.Documentation/monodocer.cs: Only provide a Main() method and
717           use Mono.GetOptions when targeting .NET 1.0 (i.e. monodocer1.exe).
718
719 2008-10-16  Jonathan Pryor <jpryor@novell.com>
720
721 Migration from monodoc/tools to mcs/tools/mdoc...
722
723         * . (svn:ignore), Test (svn:ignore): Ignore generated files.
724         * assembler.cs, mdoc.cs, monodocer.cs, monodocs2html.cs,
725           monodocs2slashdoc.cs, normalize.cs, validate.cs, XhtmlWriter.cs:
726           Move to Mono.Documentation.
727         * defaulttemplate.xsl, overview.xsl, stylesheet.xsl: Moved to
728           Resources.
729         * DocTest: Moved to Test.
730         * DocTest-v1.cs, DocTest-v2.patch, TestEcmaDocs.xml: Moved to Test.
731         * mdoc.exe.sources: Added; mcs include file to build mdoc.exe.
732         * Makefile: Added; build mdoc.exe, monodocer1.exe, and unit tests for
733           mdoc.exe
734         * Mono.Documentation/assembler.cs, Mono.Documentation/normalize.cs,
735           Mono.Documentation/mdoc.cs, Mono.Documentation/monodocs2slashdoc.cs,
736           Mono.Documentation/monodocs2html.cs, Mono.Documentation/validate.cs:
737           Modify command line handling to remove Mono.GetOptions dependency.
738         * Test/DocTest-v1.cs: Update //code/@src attribute due to changed paths.
739         * Test/msxdoc-expected.importslashdoc.xml,
740         * Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml: Flush 
741           due to above DocTest-v1.cs change.
742
743 2008-10-16  Jonathan Pryor <jpryor@novell.com>
744
745         * monodocer.cs: Fixup sorting of explicitly-implement generic members.  
746           This keeps members from "bouncing around" in random orders when
747           updating documentation...
748         * DocTest-v1.cs: Explicitly implement some generic interface members on
749           MyList<A,B> to provoke the bug fixed above.
750           Dictionary<K,V>.ValueCollection in mscorlib was the original
751           example.
752         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
753           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
754           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
755           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
756           DocTest/msxdoc-expected.importslashdoc.xml: Flush.
757
758 2008-10-15  Jonathan Pryor <jpryor@novell.com>
759
760         * monodocer.cs: Ignore some attributes, because they're ~meaningless
761           for documentation purposes (e.g. who cares if we need attributes to
762           represent decimal constants, or that a method shouldn't be stepped
763           into with the debugger, or...).
764         * DocTest/en.expected/index.xml,
765         * DocTest/en.expected/Mono.DocTest/Widget.xml,
766         * DocTest/en.expected/Mono.DocTest.Generic/Extensions.xml,
767         * DocTest/en.expected.since/index.xml,
768         * DocTest/en.expected.since/Mono.DocTest/Widget.xml,
769         * DocTest/en.expected.since/Mono.DocTest.Generic/Extensions.xml,
770         * DocTest/html.expected/Mono.DocTest/Widget.html,
771         * DocTest/html.expected/Mono.DocTest.Generic/Extensions.html,
772         * DocTest/en.expected.importslashdoc/index.xml,
773         * DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
774         * DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml:
775           Flush.
776
777 2008-10-05  Jonathan Pryor <jpryor@novell.com>
778
779         * monodocer.cs: When sorting <Member/> elements elements, take generic
780           type parameters into account, so that methods with the same number
781           of type parameters are sorted together, instead of strewn across the
782           file according to the full //Member/@MemberName comparison.
783         * DocTest/**: Flush (and wtf is with the [DebuggerHidden] appearance?).
784
785 2008-09-19  Jonathan Pryor <jpryor@novell.com>
786
787         * DocTest-v1.cs: Add a member with a "deeply nested" generic parameter
788           list, so test the mdoc-html-utils.xsl fix.
789         * DocTest/msxdoc-expected.importslashdoc.xml,
790           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
791           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
792           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
793           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush.
794
795 2008-09-16  Jonathan Pryor <jpryor@novell.com>
796
797         * monodocer.cs: FieldInfo.GetValue() may throw, particularly if getting 
798           the value of a public+static+readonly field, and the constructor for 
799           the type of said field throws an exception (though DocTest-v1.cs has
800           a similar scenario).  This is bad, as it prevents monodocer from
801           completing its work.  Found by Dan Morgan.
802         * DocTest-v1.cs: Create a `public static readonly` field that will
803           generate an exception from the class constructor.
804         * DocTest/en.expected/Mono.DocTest/Widget.xml,
805           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
806           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
807           DocTest/html.expected/Mono.DocTest/Widget.html,
808           DocTest/msxdoc-expected.importslashdoc.xml: Flush.
809
810 2008-09-16  Jonathan Pryor <jpryor@novell.com>
811
812         * monodocer.cs: Allow #region/#endregion parsing to cope with blank lines.
813
814 2008-09-15  Jonathan Pryor <jpryor@novell.com>
815
816         * monodocer.cs: Strip off leading whitespace up to the indent level that
817           #region was found.  This allows controlling how much leading whitespace is
818           preserved within the documentation (as too much whitespace will cause the
819           code to be indented significantly when rendered to e.g. html).
820         * DocTest-v1.cs: Indent the #region, to test the above.
821         * DocTest/msxdoc-expected.importslashdoc.xml,
822           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
823           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml:
824           Flush.
825
826 2008-09-15  Jonathan Pryor <jpryor@novell.com>
827
828         * monodocer.cs: Allow //code/@src to include an anchor, in which the 
829           anchor specifies a #region to include, instead of including the
830           entire document.  This is currently limited to C# code.  For example,
831           `<code lang="C#" src="foo.cs#Text"/>` would look insert all text
832           between `#region Text` and `#endregion` within foo.cs.
833         * DocTest-v1.cs: Add a #region, <code/> block to test the above.
834         * DocTest/msxdoc-expected.importslashdoc.xml,
835           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
836           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml:
837           Flush.
838
839 2008-09-11  Jonathan Pryor <jpryor@novell.com>
840
841         * stylesheet.xsl: Post-process $cref so that we can use "nice" 
842           //see/@cref strings that can actually refer to the right member.
843           For example, `<see cref="P:Foo.Bar{T}.Baz"/>` is needed to get a
844           nicely rendered "Foo.Bar<T>.Baz" link text, but previously it
845           wouldn't link to anything -- you'd need 
846           `<see cref="P:Foo.Bar`1.Baz"/>` to get a functioning link for HTML
847           output.  This now works.
848
849 2008-09-04  Jonathan Pryor <jpryor@novell.com>
850
851         * monodocer.cs: You can't use FieldInfo.GetValue() on generic types.
852         * DocTestv1.cs: Add checks for static fields on generic types.
853         * DocTest/**: Flush.
854
855 2008-09-04  Jonathan Pryor <jpryor@novell.com>
856
857         * monodocer.cs: Clear out existing <value/> elements when import XML
858           documentation which also contains a <value/> element.  (This keeps us from
859           getting multiple duplicate <value/> elements every time we update while
860           importing.)
861
862 2008-08-31  Jonathan Pryor <jpryor@novell.com>
863
864         * DocTest-v1.cs: Update XML doc comment to mention correct cref.
865         * monodocer.cs: Further fixup XML documentation import and import the actual
866           *contents* of the <exception/> element (oops).  Add support for importing
867           XML documentation for explicitly implemented interface members (CSC-style,
868           not gmcs-style).
869
870 2008-08-27  Jonathan Pryor <jpryor@novell.com>
871
872         * monodocer.cs: Fixup XML documentation import to be more consistent with
873           ECMA XML import.  In particular, this fixes <exception/> import so that
874           the same element isn't imported multiple times, leading to duplicate
875           <exception/> elements the more often monodocer is run.
876         * DocTest/msxdoc-expected.importslashdoc.xml,
877           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
878           Changes order of imported XML to reflect the original element order.
879
880 2008-08-11  Jonathan Pryor <jpryor@novell.com>
881
882         * monodocer.cs: Build fix (gmcs doesn't like using-alias-directives to
883           private nested types anymore).
884
885 2008-05-06  Wade Berrier  <wberrier@novell.com>
886
887         * Makefile.am: Add Options.cs to EXTRA_DIST
888
889 2008-04-22  Jonathan Pryor <jpryor@novell.com>
890
891         * DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml,
892           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
893           DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
894           DocTest/html.expected/Mono.DocTest.Generic/Func`2.html: Flush: n377596 
895           got fixed, so we can now retrieve custom attributes on all generic type
896           parameters.
897
898 2008-04-15  Jonathan Pryor <jpryor@novell.com>
899
900         * . (svn:ignore): ignore generated files.
901         * Makefile.am: Add XmlDocUtils.cs to the build.  Add unit tests for
902           monodocs2slashdoc; other monodocs2slashdoc changes.
903         * mdoc.cs: Update the arguments accepted by monodocs2slashdoc.
904         * monodocs2slashdoc.cs: Move DocUtils class into ../engine/XmlDocUtils.cs.
905           Add support for a -o parameter which contains all output (if specified).
906         * monodocer.cs:
907           - Add special support for extension methods -- index.xml now contains an
908             /Overview/ExtensionMethods element which contains ExtensionMethod
909             elements for all extension methods within all assemblies processed.
910           - The <ExtensionMethod/> element contains a subset of the <Member/> of the
911             actual extension method (and thus will contain a useful subset of the
912             documentation the source <Member/> contains), along with a <Targets/>
913             element describing all types the extension method applies to.
914           - Consequently, if you edit the documentation of your extension method,
915             you need to re-run monodocer to get the newly written documentation
916             inserted into index.xml.
917           - //Parameter/@RefType is "overloaded" to contain the "this" modifier of
918             extension methods (as this was easiest within mdoc-html-utils.xsl).
919           - Within CSharpMemberFormatter, insert generic type constraints for 
920             methods.  (Previously constraints were only done on types due to an
921             oversight.)
922         * monodocs2html.cs: Before rendering documentation via the XSLT, insert any
923           extension methods applicable to the type so that the extension methods
924           will be displayed.
925         * DocTest-v1.cs: Add a class providing extension methods.
926         * stylesheet.xsl: Extension methods shouldn't be documented within the type,
927           just declared (and linked to the actual type's documentation).
928         * DocTest/msxdoc-expected.importslashdoc.xml: Added; expected output for
929           monodocs2slashdoc unit test.
930         * DocTest/en.expected/index.xml, 
931           DocTest/en.expected/Mono.DocTest/UseLists.xml, 
932           DocTest/en.expected/Mono.DocTest.Generic/Extensions.xml, 
933           DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml, 
934           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, 
935           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, 
936           DocTest/en.expected.since/index.xml, 
937           DocTest/en.expected.since/Mono.DocTest/UseLists.xml, 
938           DocTest/en.expected.since/Mono.DocTest.Generic/Extensions.xml, 
939           DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml, 
940           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, 
941           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, 
942           DocTest/en.expected.importslashdoc/index.xml, 
943           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
944           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml, 
945           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml, 
946           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, 
947           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml, 
948           DocTest/html.expected/index.html, 
949           DocTest/html.expected/NoNamespace.html, 
950           DocTest/html.expected/Mono.DocTest/DocAttribute.html, 
951           DocTest/html.expected/Mono.DocTest/DocValueType.html, 
952           DocTest/html.expected/Mono.DocTest/IProcess.html, 
953           DocTest/html.expected/Mono.DocTest/UseLists.html, 
954           DocTest/html.expected/Mono.DocTest/Widget.html, 
955           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html, 
956           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, 
957           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, 
958           DocTest/html.expected/Mono.DocTest.Generic/index.html, 
959           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, 
960           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html, 
961           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html, 
962           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, 
963           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, 
964           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, 
965           DocTest/html.expected/System/Array.html: Flush; also contains additional
966           <Attributes/> elements on generic type parameters due to a mono fix.
967
968 2008-04-09  Jonathan Pryor <jpryor@novell.com>
969
970         * DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Fix the
971           System.EventHandler link.
972
973 2008-04-08  Jonathan Pryor <jpryor@novell.com>
974
975         * DocTest-v1.cs: Add more attributes, generic constraints to further test
976           monodocer.
977         * Makefile.am: Add check-md-html-dir target to help with testing
978           monodocs2html w/o re-generating the DocTest/en.actual directory.
979         * monodocer.cs: Lots of changes:
980           - Format change: /Type/TypeParameters/TypeParameter doesn't store the type 
981             parameter name as it's value (e.g.  <TypeParameter>A</TypeParameter>), 
982             but instead stores the name as an attribute (e.g. 
983             <TypeParameter Name="A" />).  This was done as Generic Arguments can
984             contain both constraints and attributes which were previously
985             unrecorded. 
986           - Record constraints under a //TypeParameter/Constraints element, and 
987             attributes under a //TypeParameter/Attributes element.
988           - Generic arguments for methods are now recorded in a
989             /Type/Members/Member/TypeParameters element, with the same schema as
990             type-level arguments.
991           - Properly insert the [return:...] attributes on delegates.
992           - Modify CSharpFullMemberFormatter to generate generic argument
993             constraints on type and member signatures.
994           - Note: attributes are currently not inserted due to n#322399.
995         * stylesheet.xsl: Properly escape generic type names so that all anchors
996           are modeled after ECMA-334 CREFs, e.g. T:Foo.Bar`1, not T:Foo.Bar<T>.
997         * DocTest/en.expected/index.xml,
998           DocTest/en.expected/Mono.DocTest/UseLists.xml,
999           DocTest/en.expected/Mono.DocTest/Widget.xml,
1000           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
1001           DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml,
1002           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1003           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
1004           DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1005           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1006           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1007           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1008           DocTest/en.expected/System/Action`1.xml,
1009           DocTest/en.expected/System/Array.xml,
1010           DocTest/en.expected.since/index.xml,
1011           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1012           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1013           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1014           DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml,
1015           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1016           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
1017           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1018           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1019           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1020           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1021           DocTest/en.expected.since/System/Action`1.xml,
1022           DocTest/en.expected.since/System/Array.xml,
1023           DocTest/en.expected.importecmadoc/System/Action`1.xml,
1024           DocTest/en.expected.importecmadoc/System/Array.xml,
1025           DocTest/en.expected.importslashdoc/System/Array.xml,
1026           DocTest/en.expected.importslashdoc/System/Action`1.xml,
1027           DocTest/en.expected.importslashdoc/index.xml,
1028           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1029           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1030           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
1031           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1032           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1033           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml,
1034           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1035           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1036           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
1037           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1038           DocTest/html.expected/index.html,
1039           DocTest/html.expected/Mono.DocTest/Widget.html,
1040           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1041           DocTest/html.expected/Mono.DocTest/UseLists.html,
1042           DocTest/html.expected/Mono.DocTest.Generic/index.html,
1043           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1044           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html,
1045           DocTest/html.expected/Mono.DocTest.Generic/Func`2.html,
1046           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1047           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1048           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1049           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1050           DocTest/html.expected/System/Action`1.html,
1051           DocTest/html.expected/System/Array.html: Flush.
1052
1053 2008-04-04  Jonathan Pryor <jpryor@novell.com>
1054
1055         * DocTest-v1.cs: Add nested generic type for testing.
1056         * DocTest/en.expected/index.xml,
1057           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
1058           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1059           DocTest/en.expected.importslashdoc/index.xml,
1060           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
1061           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1062           DocTest/en.expected.since/index.xml,
1063           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml,
1064           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1065           DocTest/html.expected/index.html,
1066           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html,
1067           DocTest/html.expected/Mono.DocTest.Generic/index.html,
1068           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Flush.
1069
1070 2008-03-31  Jonathan Pryor <jpryor@novell.com>
1071
1072         * DocTest-v1.cs: Add a member returning an IEnumerator<int[]> to test n375291.
1073         * DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1074           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1075           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1076           DocTest/html.expected/Mono.DocTest/Widget.html,
1077           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html: Flush.
1078
1079 2008-03-26  Jonathan Pryor <jpryor@novell.com>
1080
1081         * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush due to 
1082           ../engine/mdoc-html-utils.xsl changes with migration of explicitly
1083           implemented interface members to a separate section.
1084
1085 2008-03-26  Jonathan Pryor <jpryor@novell.com>
1086
1087         * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1088           DocTest/html.expected/Mono.DocTest/UseLists.html: Flush due to
1089           ../engine/mdoc-html-utils.xsl changes with s/System.Collections.Generic//.
1090
1091
1092 2008-03-26  Jonathan Pryor <jpryor@novell.com>
1093
1094         * Makefile.am: Import docs for System.Action<T>.
1095         * DocTest-v1.cs: Add System.Action<T> to test generic type importing.
1096         * monodocer.cs: Misc. fixes:
1097           - Properly lookup generic types when importing ECMA docs, so that e.g.
1098             System.Collections.Generic.List<T> docs can be imported.
1099           - Fix member duplicate checking so that we don't get an exception due to
1100             seenmembers.Add(sig, "") for duplicate sigs.
1101           - Fix UpdateParameters() to handle updating <param/> nodes on delegates.
1102         * TestEcmaDocs.xml: Add docs for System.Action<T>.
1103         * DocTest/en.expected/index.xml, DocTest/en.expected/System/Action`1.xml,
1104           DocTest/en.expected.importecmadoc/System/Action`1.xml,
1105           DocTest/en.expected.importslashdoc/index.xml,
1106           DocTest/en.expected.importslashdoc/System/Action`1.xml,
1107           DocTest/en.expected.since/index.xml,
1108           DocTest/en.expected.since/System/Action`1.xml,
1109           DocTest/html.expected/index.html, DocTest/html.expected/System/index.html,
1110           DocTest/html.expected/System/Action`1.html: Flush.
1111
1112 2008-03-25  Jonathan Pryor <jpryor@novell.com>
1113
1114         * stylesheet.xsl: Implement CreateEditLink() for mdoc-html-utils.xsl.
1115
1116 2008-03-24  Jonathan Pryor <jpryor@novell.com>
1117
1118         * stylesheet.xsl: Implement CreateExpandedToggle() for
1119           mdoc-sections-css.xsl.
1120
1121 2008-03-24  Jonathan Pryor <jpryor@novell.com>
1122
1123         * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush due to
1124           changes in ID string generation in ../engine/mdoc-html-utils.xsl.
1125
1126 2008-03-17  Jonathan Pryor <jpryor@novell.com>
1127
1128         * monodocer.cs: Modify index.xml so that there's a //Type/@Kind attribute.
1129           This allows mkestner's doc engine to display the tree view (e.g. "Foo
1130           Class") w/o loading the underlying Foo.xml file, improving start time.
1131         * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
1132           DocTest/en.expected.importslashdoc/index.xml: Flush.
1133
1134 2008-03-15  Jonathan Pryor <jpryor@novell.com>
1135
1136         * monodocs2html.cs: Fix DumpTemplate() -- sending the output through an
1137           intermediate XmlDocument seems to "corrupt" the file, such that any user
1138           of the dumped file will get errors such as "Could not resolve named
1139           template create-default-style."
1140
1141 2008-03-15  Jonathan Pryor <jpryor@novell.com>
1142
1143         * defaulttemplate.xsl: Cleanup (add/remove CSS properties, etc.).
1144         * Makefile.am: monodocs2html needs to pull in resources from ../engine.
1145         * monodocs2html.cs: Use ManifestResourceResolver so that .xsl files embedded
1146           within the monodocs2html.exe assembly can refer to each other; use
1147           XhtmlWriter so that certain XHTML elements are "closed", e.g. <br/>
1148           instead of <br></br>.
1149         * XhtmlWriter.cs: Added; XmlWriter subclass which generates nicer XHTML.
1150         * stylesheet.xsl: *Major* refactor to share XSLT code with ../engine.
1151         * DocTest/html.expected/index.html, DocTest/html.expected/NoNamespace.html,
1152           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1153           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1154           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1155           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1156           DocTest/html.expected/Mono.DocTest.Generic/index.html,
1157           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1158           DocTest/html.expected/Mono.DocTest/Color.html,
1159           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
1160           DocTest/html.expected/Mono.DocTest/Widget.html,
1161           DocTest/html.expected/Mono.DocTest/Widget+Del.html,
1162           DocTest/html.expected/Mono.DocTest/DocValueType.html,
1163           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
1164           DocTest/html.expected/Mono.DocTest/IProcess.html,
1165           DocTest/html.expected/Mono.DocTest/index.html,
1166           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1167           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
1168           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
1169           DocTest/html.expected/Mono.DocTest/UseLists.html,
1170           DocTest/html.expected/System/Environment+SpecialFolder.html,
1171           DocTest/html.expected/System/Array.html,
1172           DocTest/html.expected/System/Environment.html,
1173           DocTest/html.expected/System/index.html,
1174           DocTest/html.expected/System/AsyncCallback.html: Flush.
1175
1176 2008-03-07  Jonathan Pryor <jpryor@novell.com>
1177
1178         * mdoc.cs: Rename export-slashdoc command to export-msxdoc.  Add a space
1179           between the `usage:' and command description to ease reading.
1180
1181 2008-03-07  Jonathan Pryor <jpryor@novell.com>
1182
1183         * monodocs2slashdoc.cs: Update to cope with .NET 2.0 generics.
1184         * DocTest-v1.cs: Fix CREF comments.
1185         * DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml, 
1186           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1187           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1188           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html: Flush
1189           due to above CREF changes.
1190
1191 2008-03-06  Joshua Tauberer <jit@occams.info>
1192
1193         * monodocer.cs: Use Path.Combine in a few places.
1194
1195 2008-03-03  Jonathan Pryor <jpryor@novell.com>
1196
1197         * Makefile.am: Test the new -import: monodocer option.
1198         * mdoc.cs: Make --import take only one parameter, the file to import.
1199         * monodocer.cs: Add a new -import option which auto-detects the XML format
1200           so that mdoc (and the user) doesn't need to care about file formats.
1201         * Options.cs: Flush (fixes "<>" error when parsing 2-value "i|import").
1202
1203 2008-02-29  Jonathan Pryor <jpryor@novell.com>
1204
1205         * Makefile.am: Use mcs1 to build monodocer1.exe (as mcs now targets the 2.0
1206           profile by default).
1207
1208 2008-02-29  Jonathan Pryor <jpryor@novell.com>
1209
1210         * Makefile.am: Corrections to pass distcheck.
1211
1212 2008-02-27  Jonathan Pryor <jpryor@novell.com>
1213
1214         * mdoc.cs: `mdoc assemble` should default to the "ecma" format, as that's
1215           what most of the other mdoc tools produce & consume.
1216
1217 2008-02-26  Jonathan Pryor <jpryor@novell.com>
1218
1219         * mdoc.cs: Allow multiple formats to be specified on the `mdoc assemble`
1220           command line; directories use the last specified format.  This allows more
1221           than one format to be specified at once, e.g.
1222           `mdoc assemble -o foo --format=ecma A B --format=error C D`.
1223         * Options.cs: Update to permit the above "argument run" parsing behavior.
1224
1225 2008-02-24  Jonathan Pryor <jpryor@novell.com>
1226
1227         * mdoc.cs: Remove array index out of bound exception in ExportHtml; remove
1228           debug messages.
1229         * defaulttemplate.xsl: s/<tab>/  /; add create-default-collection-title,
1230           create-default-title, create-default-summary, create-default-signature,
1231           create-default-remarks, create-default-members named templates (for use by
1232           importing XSLT files).
1233         * DocTest/html.expected/**/*.html: Flush (whitespace changes).
1234
1235 2008-02-21  Jonathan Pryor <jpryor@novell.com>
1236
1237         * Makefile.am: Add mdoc.exe to the build.
1238         * monodocer.cs: Place into the Mono.Documentation namespace; 
1239           rename Stub to Updater.
1240         * monodocs2slashdoc.cs: Place into the Mono.Documentation namespace; allow
1241           it to convert multiple directories.
1242         * mdoc.cs: Added; a unifying front-end to the various monodoc-related
1243           utilities such as monodocer, monodocs2html, mdassembler, etc.
1244         * Options.cs: An option parser; DO NOT EDIT; instead, see NDesk.Options at
1245           http://www.ndesk.org/Options.
1246
1247 2008-02-19  Jonathan Pryor <jpryor@novell.com>
1248
1249         * defaulttemplate.xsl: Insert id attributes so that an "index" can be added;
1250           Add a small "index" to the top of the page to simplify navigation -- 
1251           useful when there are lots of docs that make the "Members" section 
1252           difficult to otherwise find.  Add a http-equiv Content-Type, so that the 
1253           charset is set to UTF-8.
1254         * stylesheet.xsl: Don't use generate-id(), as the result includes the full
1255           path of the input file, which breaks unit tests if run on a different
1256           machine (and everyone runs the unit tests, right?).  Add id attributes so
1257           that defaulttemplate.xsl can create an index.
1258         * DocTest/html.expected/System/Environment+SpecialFolder.html,
1259           DocTest/html.expected/System/Array.html,
1260           DocTest/html.expected/System/Environment.html,
1261           DocTest/html.expected/System/index.html,
1262           DocTest/html.expected/System/AsyncCallback.html,
1263           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1264           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1265           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1266           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1267           DocTest/html.expected/Mono.DocTest.Generic/index.html,
1268           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1269           DocTest/html.expected/index.html,
1270           DocTest/html.expected/Mono.DocTest/Color.html,
1271           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
1272           DocTest/html.expected/Mono.DocTest/Widget.html,
1273           DocTest/html.expected/Mono.DocTest/Widget+Del.html,
1274           DocTest/html.expected/Mono.DocTest/DocValueType.html,
1275           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
1276           DocTest/html.expected/Mono.DocTest/IProcess.html,
1277           DocTest/html.expected/Mono.DocTest/index.html,
1278           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1279           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
1280           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
1281           DocTest/html.expected/Mono.DocTest/UseLists.html,
1282           DocTest/html.expected/NoNamespace.html: Flush.
1283
1284 2008-02-15  Jonathan Pryor <jpryor@novell.com>
1285
1286         * defaulttemplate.xsl: Move the <style/> and (new) <script/> into named
1287           templates so that this file can be <xsl:import/>d and the named templates
1288           invoked without clobbering the importing document; add toggle_display()
1289           JavaScript function for some bling.  Modify CSS so things look nicer.
1290         * stylesheet.xsl: Make monodocs2html output not suck (as badly):
1291           - Allow *all* headers to also act as show/hide toggles, so that e.g.
1292             Remarks, Examples, Parameters, etc. can be hidden.
1293           - Move the summary information above the member prototype (consistent 
1294             with MSDN, and I think it looks nicer).
1295           - Provide an `id' attribute for enumeration members, so that 
1296             <see cref="F:..." /> will work reasonably.
1297           - Allow the <pre/> blocks to use the `prettyprint.js' file (used by
1298             monologue for syntax coloring) -- requires setting the <pre/> class to
1299             e.g. code-csharp for C# coloring.
1300         * DocTest/html.expected/System/Environment+SpecialFolder.html,
1301           DocTest/html.expected/System/Array.html,
1302           DocTest/html.expected/System/Environment.html,
1303           DocTest/html.expected/System/index.html,
1304           DocTest/html.expected/System/AsyncCallback.html,
1305           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1306           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1307           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1308           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1309           DocTest/html.expected/Mono.DocTest.Generic/index.html,
1310           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1311           DocTest/html.expected/index.html,
1312           DocTest/html.expected/Mono.DocTest/Color.html,
1313           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
1314           DocTest/html.expected/Mono.DocTest/Widget.html,
1315           DocTest/html.expected/Mono.DocTest/Widget+Del.html,
1316           DocTest/html.expected/Mono.DocTest/DocValueType.html,
1317           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
1318           DocTest/html.expected/Mono.DocTest/IProcess.html,
1319           DocTest/html.expected/Mono.DocTest/index.html,
1320           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1321           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
1322           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
1323           DocTest/html.expected/Mono.DocTest/UseLists.html,
1324           DocTest/html.expected/NoNamespace.html: Flush (lots of HTML changes due to
1325           defaulttemplate.xsl and stylesheet.xsl changes).
1326
1327 2008-02-14  Jonathan Pryor <jpryor@novell.com>
1328
1329         * stylesheet.xsl: Support <typeparamref/>.
1330
1331 2008-02-13  Jonathan Pryor <jpryor@novell.com>
1332
1333         * DocTest-v1.cs: Add/fix doc comments; add a
1334           Widget(Converter<string,string>) constructor for testing.
1335         * stylesheet.xsl: Fix display issues:
1336           - Generic types should have GetTypeDisplayName() on their constituent
1337             parts, so System.Converter<System.String,System.String>
1338             gets converted into the nicer Converter<string, string>.
1339           - Generic types within method argument lists should be supported.
1340           - Permit constructor references to contain arguments, so that 
1341             "C:My.Full.Type(Type1,Type2)" actually works.
1342           - Fix remote type references so 
1343             <see cref="M:System.Collections.Generic.List{System.Int32}.Remove(`0)"/>
1344             properly reference the remote uri 
1345             System.Collections.Generic.List`1.Remove(`0).
1346         * DocTest/en.expected/Mono.DocTest/Widget.xml,
1347           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1348           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1349           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1350           DocTest/html.expected/System/Array.html,
1351           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1352           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1353           DocTest/html.expected/Mono.DocTest/Widget.html,
1354           DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.
1355
1356 2008-02-08  Jonathan Pryor <jpryor@novell.com>
1357
1358         * stylesheet.xsl: Allow use of both <see cref="GenericType{A}" /> and 
1359           <see cref="GenericType&lt;A&gt;" /> to be consistent wrt each other.
1360           - Canonicalize generic types within link targets so that {} is used, as 
1361             1. this is what the */@id code generates, so such links will actually 
1362                work (as opposed to <>-using links, which will fail), and 
1363             2. the {} links are shorter and easier to read due to less markup.
1364           - Canonicalize generic types within link text to use <>, so e.g. 
1365             <see cref="System.Action{`0}" /> is displayed as System.Action<`0>.
1366             This also allows output to be consistent, no matter what the see/@cref
1367             text uses.
1368           - When creating links to go-mono.com, ensure that generic type names are 
1369             of the form Type`N, not Type{...}, as go-mono.com doesn't generate 
1370             useful output for the latter form of URL.
1371         * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush.
1372
1373 2008-01-06  Jonathan Pryor <jpryor@novell.com>
1374
1375         * monodocer.cs: Yet another "if you remove a node while traversing its
1376           containing list, you skip elements" bug (in this case, if you had extra
1377           <param/> elements for non-existant parameters, only the first extra
1378           <param/> was removed, and the others were skipped).  Modify the messge
1379           displayed for undeletable <param/> nodes to provide more contextual 
1380           information.
1381
1382 2008-01-05  Jonathan Pryor <jpryor@novell.com>
1383
1384         * monodocer.cs: 
1385           - Fix duplicate and removed member checking/handling, so that duplicate 
1386             and removed members are properly warned about/removed (depending 
1387             on MemberDocsHaveUserContent()).  
1388           - Member sorting should take the return type into consideration, as I've 
1389             seen some ../class/** members which change the return type between 
1390             v1.0 and v2.0, causing the order of these members to "float" (as they 
1391             previously had the same sort order).
1392
1393 2008-01-03  Jonathan Pryor <jpryor@novell.com>
1394
1395         * monodocer.cs: XmlNodeList doesn't appear to support removing nodes while
1396           you're traversing the list.  (It doesn't complain, but it doesn't iterate
1397           over all the nodes either if you do so.)  Don't do that.
1398
1399 2008-01-02  Jonathan Pryor <jpryor@novell.com>
1400
1401         * monodocer.cs: Don't generate files that contain characters that are
1402           invalid on Win32 platforms.  These are frequently compiler-generated
1403           types, e.g. '<>c__CompilerGenerated2+<>c__CompilerGenerated13', but are
1404           occasionally public when they shouldn't be.  Fix the
1405           UpdateAssemblyVersions() logic to return true IFF there are > 0
1406           <AssemblyVersion/> elements.
1407
1408 2008-01-02  Jonathan Pryor <jpryor@novell.com>
1409
1410         * DocTest-v1.cs: Add a type to the root namespace.
1411         * monodocer.cs: Permit types to exist in the root namespace.  This is needed
1412           to properly document ../class/Npgsql, though I have no idea how `monodoc'
1413           will actually display these types...
1414         * overview.xsl: Support types within the root namespace.
1415         * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml, 
1416           DocTest/en.expected.importslashdoc/index.xml, 
1417           DocTest/html.expected/System/index.html, 
1418           DocTest/html.expected/Mono.DocTest.Generic/index.html, 
1419           DocTest/html.expected/index.html, 
1420           DocTest/html.expected/Mono.DocTest/index.html: Flush.
1421         * DocTest/en.expected/NoNamespace.xml, 
1422           DocTest/en.expected/ns-.xml, 
1423           DocTest/en.expected.importslashdoc/NoNamespace.xml, 
1424           DocTest/en.expected.importslashdoc/ns-.xml, 
1425           DocTest/en.expected.since/NoNamespace.xml, 
1426           DocTest/en.expected.since/ns-.xml, 
1427           DocTest/html.expected/NoNamespace.html: Added.
1428
1429 2008-01-02  Jonathan Pryor <jpryor@novell.com>
1430
1431         * monodocer.cs: 
1432           - Write namespace files as 'ns-<Namespace>.xml', not '<Namespace>.xml', as 
1433             the previous behavior would break monodoc checkout on Win32 (due to dir 
1434             class/System.Security/en/System.Security.Cryptography.Xml vs. file
1435             class/System.Security/en/System.Security.Cryptography.xml).
1436           - This will rename existing <Namespace>.xml to ns-<Namespace>.xml
1437             automatically.
1438           - gmcs/mcs changed Reflection names (again); cope.
1439         * DocTest/en.expected/System.xml, 
1440           DocTest/en.expected/Mono.DocTest.Generic.xml, 
1441           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, 
1442           DocTest/en.expected/Mono.DocTest.xml, DocTest/en.expected.since/System.xml, 
1443           DocTest/en.expected.since/Mono.DocTest.Generic.xml, 
1444           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, 
1445           DocTest/en.expected.since/Mono.DocTest.xml, 
1446           DocTest/en.expected.importslashdoc/System.xml, 
1447           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic.xml, 
1448           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, 
1449           DocTest/en.expected.importslashdoc/Mono.DocTest.xml: Rename to have a
1450           'ns-' prefix.
1451         * Makefile.am: Remove obsolete targets; add -show_exceptions to tests so we
1452           get more information on errors.
1453         * overview.xsl: Use the 'ns-' prefixed namespace documentation files.
1454
1455 2007-12-19  Jonathan Pryor <jpryor@novell.com>
1456
1457         * monodocer.cs: PropertyInfo.GetValue() may throw (in particular, within
1458           System.Data when trying to read ToolboxItemAttribute which references an
1459           assembly not present within the GAC).  Workaround this.
1460
1461 2007-12-19  Jonathan Pryor <jpryor@novell.com>
1462
1463         * monodocer.cs: Add a -show_exceptions argument to provide full stack traces
1464           when an error occurs (helps with debugging).  Allow VersionComparer to
1465           work on "slightly" malformed Version strings like 1.0.x.x, which some
1466           existing documentation uses.
1467
1468 2007-12-18  Jonathan Pryor <jpryor@novell.com>
1469
1470         * monodocer.cs: Don't append ';' to property declarations.
1471         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1472           DocTest/en.expected/Mono.DocTest/Widget.xml,
1473           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1474           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1475           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1476           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
1477
1478 2007-12-18  Jonathan Pryor <jpryor@novell.com>
1479
1480         * monodocer.cs: Insert [return:] custom attributes within <ReturnValue/>.
1481         * DocTest-v1.cs: Add custom attributes to various members for testing.
1482         * DocTest/en.expected/Mono.DocTest/Widget.xml,
1483           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1484           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1485           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1486           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1487           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1488           DocTest/html.expected/Mono.DocTest/Widget.html,
1489           DocTest/html.expected/Mono.DocTest/DocAttribute.html: Flush.
1490
1491 2007-12-17  Jonathan Pryor <jpryor@novell.com>
1492
1493         * monodocer.cs: Document protected events.
1494         * DocTest-v1.cs: Change the visibility of various members so we can better
1495           test the monodocs2html output.
1496         * stylesheet.xsl: Fix the `protected' check so that public members aren't
1497           displayed under the Protected [MemberType] section.
1498         * DocTest/en.expected/Mono.DocTest/Widget.xml,
1499           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1500           DocTest/html.expected/Mono.DocTest/Widget.html,
1501           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
1502
1503 2007-12-13  Jonathan Pryor  <jonpryor@vt.edu>
1504
1505         * monodocer.cs: Er, *really* sort the <AssemblyVersion/> entries.
1506
1507 2007-12-12  Jonathan Pryor  <jonpryor@vt.edu>
1508
1509         * monodocer.cs: Sort the <AssemblyVersion/> entries so that when rendering
1510           them within monodoc we show versions in increasing order.
1511
1512 2007-12-11  Jonathan Pryor  <jonpryor@vt.edu>
1513
1514         * monodocer.cs: Don't use File.OpenWrite(), as that doesn't truncate the
1515           file (resulting in invalid XML errors if the new file is smaller than the
1516           previous file).  Add a local OpenWrite() to ensure that UTF8 is used
1517           everywhere.
1518
1519 2007-12-11  Jonathan Pryor  <jonpryor@vt.edu>
1520
1521         * monodocer.cs: Generate a per-member <AssemblyInfo/> element, not an
1522           <AssemblyVersions/> element.  This makes it easeier to write the XSLT 
1523           used in the docbrowser to generate the Requirements section.
1524         * stylesheet.xsl: Use <AssemblyInfo/>, not <AssemblyVersions/>.
1525         * DocTest/en.expected/System/Environment.xml,
1526           DocTest/en.expected/System/AsyncCallback.xml,
1527           DocTest/en.expected/System/Environment+SpecialFolder.xml,
1528           DocTest/en.expected/System/Array.xml,
1529           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1530           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1531           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1532           DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1533           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1534           DocTest/en.expected/Mono.DocTest/Widget.xml,
1535           DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
1536           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
1537           DocTest/en.expected/Mono.DocTest/IProcess.xml,
1538           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
1539           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
1540           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1541           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1542           DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
1543           DocTest/en.expected/Mono.DocTest/Color.xml,
1544           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
1545           DocTest/en.expected.since/System/Environment.xml,
1546           DocTest/en.expected.since/System/AsyncCallback.xml,
1547           DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
1548           DocTest/en.expected.since/System/Array.xml,
1549           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1550           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1551           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1552           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1553           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1554           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1555           DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
1556           DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
1557           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
1558           DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
1559           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
1560           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1561           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1562           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1563           DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
1564           DocTest/en.expected.since/Mono.DocTest/Color.xml,
1565           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
1566           DocTest/en.expected.importecmadoc/System/Environment.xml,
1567           DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
1568           DocTest/en.expected.importecmadoc/System/Array.xml,
1569           DocTest/en.expected.importslashdoc/System/Environment.xml,
1570           DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
1571           DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
1572           DocTest/en.expected.importslashdoc/System/Array.xml,
1573           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1574           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1575           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1576           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1577           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1578           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
1579           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1580           DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
1581           DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
1582           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
1583           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
1584           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1585           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1586           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
1587           DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
1588           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
1589           Flush; s/AssemblyVersion/AssemblyInfo/g.
1590
1591 2007-12-10  Jonathan Pryor  <jonpryor@vt.edu>
1592
1593         * DocTest-v2.patch: Remove some members so that we can see some
1594           <AssemblyVersions/> differences in the XML output.
1595         * monodocer.cs: Add a <AssemblyVersions/> element under every type and member
1596           to better track versioning information.  The XML documentation now becomes
1597           a "version database" of sorts, in which each member lists which assembly
1598           versions it exists in.  This permits tracking which members were added or
1599           removed over time with greater fidelity than <since/>.  This also removes
1600           the need for -ignore_extra_docs, which is maintained (for compatibility)
1601           but ignored.
1602         * DocTest-v1.cs: Have differing visibility on a property to ensure it works
1603           properly.
1604         * stylesheet.xsl: Print out the per-member <AssemblyVersions/> element.
1605         * DocTest/en.expected/System/Environment.xml,
1606           DocTest/en.expected/System/AsyncCallback.xml,
1607           DocTest/en.expected/System/Environment+SpecialFolder.xml,
1608           DocTest/en.expected/System/Array.xml,
1609           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1610           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1611           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1612           DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1613           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1614           DocTest/en.expected/Mono.DocTest/Widget.xml,
1615           DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
1616           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
1617           DocTest/en.expected/Mono.DocTest/IProcess.xml,
1618           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
1619           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
1620           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1621           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1622           DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
1623           DocTest/en.expected/Mono.DocTest/Color.xml,
1624           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
1625           DocTest/en.expected.since/System/Environment.xml,
1626           DocTest/en.expected.since/System/AsyncCallback.xml,
1627           DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
1628           DocTest/en.expected.since/System/Array.xml,
1629           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1630           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1631           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1632           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1633           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1634           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1635           DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
1636           DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
1637           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
1638           DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
1639           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
1640           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1641           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1642           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1643           DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
1644           DocTest/en.expected.since/Mono.DocTest/Color.xml,
1645           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
1646           DocTest/html.expected/System/Array.html,
1647           DocTest/html.expected/System/Environment.html,
1648           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1649           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
1650           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1651           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1652           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1653           DocTest/html.expected/Mono.DocTest/Widget.html,
1654           DocTest/html.expected/Mono.DocTest/DocValueType.html,
1655           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
1656           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
1657           DocTest/html.expected/Mono.DocTest/DocAttribute.html,
1658           DocTest/html.expected/Mono.DocTest/UseLists.html,
1659           DocTest/en.expected.importecmadoc/System/Environment.xml,
1660           DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
1661           DocTest/en.expected.importecmadoc/System/Array.xml,
1662           DocTest/en.expected.importslashdoc/System/Environment.xml,
1663           DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
1664           DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
1665           DocTest/en.expected.importslashdoc/System/Array.xml,
1666           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1667           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1668           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1669           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1670           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1671           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
1672           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1673           DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
1674           DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
1675           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
1676           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
1677           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1678           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1679           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
1680           DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
1681           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
1682           Flush, inserting <AssemblyVersion/> elements as necessary.
1683
1684 2007-10-28  Jonathan Pryor  <jonpryor@vt.edu>
1685
1686         * DocTest-v1.cs: Correct doc comment.
1687         * DocTest/html.expected/System/Environment.html,
1688           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html,
1689           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
1690           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1691           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
1692           DocTest/html.expected/Mono.DocTest/UseLists.html,
1693           DocTest/en.expected.importslashdoc/System/Environment.xml,
1694           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1695           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1696           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1697           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1698           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml: mcs and gmcs 
1699           got many bug fixes with /doc support, changing many things that depend on 
1700           /doc output.
1701
1702 2007-09-27  Raja R Harinath  <rharinath@novell.com>
1703
1704         * Makefile.am (DocTest.dll-v1, DocTest.dll-v2): Pick source from $srcdir.
1705
1706 2007-07-19  Jonathan Pryor  <jonpryor@vt.edu>
1707
1708         * monodocer.cs: Always fully consume <Docs/> children.  If we have e.g.
1709           <Docs><param name="foo"><see cref="T:Bar"/></param></Docs>, but there is
1710           no existing parameter "foo", we would previously process the nested
1711           <see/> node and append it to the <Docs/> child nodes.
1712
1713 2007-07-18  Jonathan Pryor  <jonpryor@vt.edu>
1714
1715         * monodocer.cs: Change OrderDocsNodes() so that it uses
1716           XmlNode.InsertAfter() instead of XmlNode.InsertBefore().  The result is
1717           mostly the same (i.e. no regression test changes), but if you have a
1718           non-ordered node between other nodes this will force the non-ordered node
1719           to the *end* of the <Docs/> children, not the start.  For example, given
1720           the input <Docs><summary/><exception/><remarks/></Docs/>, we used to get
1721           <Docs><exception/><summary/><remarks/></Docs>, while we now get
1722           <Docs><summary/><remarks/><exception/></Docs>.
1723
1724 2007-07-17  Jonathan Pryor  <jonpryor@vt.edu>
1725
1726         * monodocer.cs: Insert the type's <Docs/> node before <Members/>.  This is
1727           consistent with ECMA documentation ordering, and makes more sense (when
1728           editing the file you can edit the Type documentation before member
1729           documentation, instead of after all members as was the case before).
1730         * DocTest/en.expected/System/Environment.xml,
1731           DocTest/en.expected/System/Environment+SpecialFolder.xml,
1732           DocTest/en.expected/System/Array.xml,
1733           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
1734           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1735           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
1736           DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1737           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1738           DocTest/en.expected/Mono.DocTest/Widget.xml,
1739           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
1740           DocTest/en.expected/Mono.DocTest/IProcess.xml,
1741           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
1742           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
1743           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
1744           DocTest/en.expected/Mono.DocTest/UseLists.xml,
1745           DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
1746           DocTest/en.expected/Mono.DocTest/Color.xml,
1747           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
1748           DocTest/en.expected.since/System/Environment.xml,
1749           DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
1750           DocTest/en.expected.since/System/Array.xml,
1751           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
1752           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1753           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1754           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1755           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1756           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
1757           DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
1758           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
1759           DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
1760           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
1761           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
1762           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
1763           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
1764           DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
1765           DocTest/en.expected.since/Mono.DocTest/Color.xml,
1766           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
1767           DocTest/en.expected.importecmadoc/System/Environment.xml,
1768           DocTest/en.expected.importecmadoc/System/Array.xml,
1769           DocTest/en.expected.importslashdoc/System/Environment.xml,
1770           DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
1771           DocTest/en.expected.importslashdoc/System/Array.xml,
1772           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
1773           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1774           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
1775           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1776           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
1777           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
1778           DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
1779           DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
1780           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
1781           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
1782           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
1783           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
1784           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
1785           DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
1786           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
1787           Update so that <Docs/> comes before <Members/>, not after.
1788
1789 2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>
1790
1791         * monodocer.cs: If a <Type/> had an empty <Members/> element, we'd start
1792           reading the <Member/> elements from the *next* <Type/>; oops.
1793         * DocTest-v1.cs: Add System.AsyncCallback, which is a delegate and thus had
1794           an empty <Members/> element.
1795         * Makefile.am: Also import docs for System.AsyncCallback.
1796         * overview.xsl: Update $max-types so that adding System.AsyncCallback
1797           doesn't trigger the alternate behavior, creating a larger diff than
1798           necessary.
1799         * TestEcmaDocs.xml: Add docs for System.AsyncCallback.
1800         * DocTest/en.expected/System/AsyncCallback.xml,
1801           DocTest/en.expected/index.xml, 
1802           DocTest/en.expected.since/System/AsyncCallback.xml
1803           DocTest/en.expected.since/index.xml,
1804           DocTest/html.expected/System/AsyncCallback.html
1805           DocTest/html.expected/System/index.html, DocTest/html.expected/index.html,
1806           DocTest/en.expected.importecmadoc/System/AsyncCallback.xml,
1807           DocTest/en.expected.importslashdoc/System/AsyncCallback.xml,
1808           DocTest/en.expected.importslashdoc/index.xml: Added; expected imported 
1809           documentation for System.AsyncCallback.
1810
1811 2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>
1812
1813         * monodocer.cs: Remove the "While Importing ECMA  <Docs/> chidren, found
1814           node..." error by ensuring that we're at the start of an actual
1815           non-whitespace element before hitting the switch statement.
1816
1817 2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>
1818
1819         * monodocer.cs: Don't call DoUpdateType() with non-public types.  This
1820           allows `monodocer -importecmadoc` to fully run and import mscorlib.dll.
1821
1822 2007-07-14  Jonathan Pryor  <jonpryor@vt.edu>
1823
1824         * monodocer.cs: Ensure that getting a MemberInfo based on the documentation
1825           that the MemberInfo was actually found...  (Allows a full mscorlib.dll
1826           import to run for > 15s before dying.)
1827
1828 2007-07-04  Jonathan Pryor  <jonpryor@vt.edu>
1829
1830         * monodocer.cs: Use XmlReader instead of XPathDocument to process the ECMA
1831           documentation import.  This cuts down a -type:System.Array import from
1832           ~10-12s to ~7-8s (not great, but better).  "Fix" the ordering of <Docs/>
1833           child elements so that importing ECMA/slashdoc documentation doesn't 
1834           change the normal ordering.
1835         * DocTest/en.expected.importecmadoc/System/Array.xml,
1836           DocTest/en.expected.importecmadoc/System/Environment.xml: Alter order of
1837           <Docs/> elements to match the normally generated order.
1838
1839 2007-06-20  Jonathan Pryor  <jonpryor@vt.edu>
1840
1841         * monodocer.cs: Sort /Type/Members/Member elements so that the order is not
1842           dependent upon Reflection order.
1843         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1844           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1845           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
1846           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1847           DocTest/en.expected.importecmadoc/System/Array.xml,
1848           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
1849           Flush (sort <Member/> elements).
1850
1851 2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>
1852
1853         * monodocer.cs: Sort <Namespace/> and <Type/> elements by their Name
1854           attribute.  This helps keep diff's smaller, as the generated order won't
1855           be dependent upon Reflection order.
1856         * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
1857           DocTest/en.expected.importslashdoc/index.xml: Flush (sort namespaces and
1858           types alphabetically).
1859
1860 2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>
1861
1862         * monodocer.cs: Cleanup Console output.
1863           - Use Console.Error for error messages, not status messages.
1864           - Error should be prefixed by "monodocer" (follows Unix conventions).
1865           - Don't print "Updating..." followed by "New Type..." for the same type.
1866           - Use __monodocer-seen__ sentinal for imported nodes so that we don't try
1867             to lookup the corresponding member later in GetDocumentationMembers().
1868
1869 2007-06-19  Jonathan Pryor  <jonpryor@vt.edu>
1870
1871         * monodocer.cs: Lots 'o fixes/improvements.
1872           - Allow multiple -type parameters to be specified.  
1873           - Remove type member enumeration from UpdateTypes() -- use DoUpdateType2().
1874           - Iterate over assembly types in Ecma Documentation order (so that we read
1875             the Ecma docs sequentially, not randomly).  
1876           - Allow -type to *create* new documentation files.
1877           - Remove unused methods.
1878         * Makefile.am: Add check-monodocer-importecmadoc,
1879           check-monodocer-importecmadoc-update targets (unit tests for
1880           -importecmadoc).
1881         * TestEcmaDocs.xml: Added; ECMA Documentation input file for use with
1882           -importecmadoc tests.
1883         * DocTest-v1.cs: Add System.Array to help test -importecmadoc behavior.
1884         * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml,
1885           DocTest/html.expected/System/index.html, DocTest/html.expected/index.html,
1886           DocTest/en.expected.importslashdoc/index.xml: Flush (add System.Array to
1887           index files).
1888         * DocTest/en.expected/System/Array.xml, 
1889           DocTest/en.expected.since/System/Array.xml,
1890           DocTest/html.expected/System/Array.html,
1891           DocTest/en.expected.importecmadoc/System/Environment.xml,
1892           DocTest/en.expected.importecmadoc/System/Array.xml,
1893           DocTest/en.expected.importslashdoc/System/Array.xml: Added; expected
1894           output for System.Array type for various tests.
1895
1896 2007-06-18  Wade Berrier  <wberrier@novell.com>
1897
1898         * monodocer.cs: Move assembly information up top because having it at the bottom
1899         fails to compile with mcs from trunk.
1900
1901 2007-06-14  Jonathan Pryor  <jonpryor@vt.edu>
1902
1903         * monodocer.cs: Use XPathDocument instead of XmlDocument to process the ECMA
1904           documentation import.  This cuts down a -type:System.Array import from
1905           ~15-20s to ~10-12s (not great, bug better).  Fix importing of <exception/>
1906           elements -- previously we would skip them if the mono docs lacked them.
1907
1908 2007-06-12  Jonathan Pryor  <jonpryor@vt.edu>
1909
1910         * monodocer.cs: The previous fix was buggy -- if the type parameters were
1911           renamed (ConvertAll<T,U> in ECMA, ConvertAll<TInput,TOutput> in Mono),
1912           then the existing element wouldn't be found, but the MemberInfo would.
1913           Result: duplicate XML elements (BOTH ConvertAll<T,U> AND 
1914           ConvertAll<TInput,TOutput>), one of which is wrong, which clearly isn't
1915           desirable.  If the Mono XML element can't be found, try looking it up
1916           based on the MemberInfo found from the ECMA docs to avoid duplication.
1917
1918 2007-06-11  Jonathan Pryor  <jonpryor@vt.edu>
1919
1920         * monodocer.cs: Add support for renaming of template parameters (useful
1921           because ECMA 335 refers to Array.ConvertAll<T,U> while Mono/.NET have
1922           Array.ConvertAll<TInput,TOutput>).  Not terribly intelligent, but smart
1923           enough that all but two System.Array members can now be imported (a
1924           private constructor, and a member with an incorrectly documented parameter
1925           type, neither of which I plan on supporting).  Cleanup some of the 
1926           `#if NET_1_0` blocks by using `using' aliases -- alas, requires moving the
1927           [assembly:...] attributes; see bugzilla #81855.
1928
1929 2007-06-11  Jonathan Pryor  <jonpryor@vt.edu>
1930
1931         * monodocer.cs: Add support for explicity-implemented interface members.
1932           Minor cleanup.  Replace catch(NotSupportedException){} blocks.
1933         * Makefile.am (clean): Cleanup monodocer.exe* files.
1934         * DocTest-v1.cs: Add IFoo<T>, explicitly implement some interfaces on
1935           MyList<A,B> to test explicitly-implemented member support.
1936         * DocTest/en.expected/index.xml,
1937           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
1938           DocTest/en.expected.since/index.xml,
1939           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
1940           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
1941           DocTest/html.expected/Mono.DocTest.Generic/index.html,
1942           DocTest/html.expected/index.html,
1943           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
1944           DocTest/en.expected.importslashdoc/index.xml,
1945           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
1946           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml:
1947           Update.
1948         * DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml,
1949           DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml,
1950           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml,
1951           DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html: Added.
1952
1953 2007-05-29  Jonathan Pryor  <jonpryor@vt.edu>
1954
1955         * monodocer.cs: Invert ECMA documentation importing -- instead of iterating
1956           over the monodoc XML and importing ECMA docs as encountered (randomly), 
1957           iterate over the ECMA docs in-order and access the monodoc types randomly.
1958           This significantly improves access as the ECMA docs are ~7.2MB in size,
1959           while the monodoc XML types 10's-100's of KB (randomly accessing a 7.2 MB
1960           XML document == BAD; randomly accessing a several hundred KB document is
1961           better).  This cuts down a -type:System.Array import from ~4 minutes to
1962           < ~20s.  Alas, it appears to miss a few members as well, so it's not done.
1963
1964 2007-05-19  Jonathan Pryor  <jonpryor@vt.edu>
1965
1966         * monodocer.cs: Create diff(1)-friendly output for -importecmadocs.
1967           Previously, we'd remove <summary/>, <remarks/>, etc., and re-add them at
1968           the end of the <Docs/> node, which results in major changes for diff(1),
1969           so instead we replace the contents of existing elements when appropriate.
1970           Remove '\r' from the imported document (also to remove diff(1)-reported
1971           changes as the line endings would change).
1972
1973 2007-05-17  Jonathan Pryor  <jonpryor@vt.edu>
1974
1975         * monodocer.cs: Add -importecmadoc flag, which will import
1976           documentation found within an ECMA documetation file (e.g. the
1977           CLILibraryTypes.xml from the ECMA-335 standard).
1978           WARNING: import is currently SLOW.
1979
1980 2007-05-17  Jonathan Pryor  <jonpryor@vt.edu>
1981
1982         * monodocer.cs: Refactor MakeDocNode() so that there's only one
1983           version, not three overloads, and use a (new) DocsNodeInfo type to
1984           pass information to the new MakeDocNode() method.  This doesn't
1985           change anything per-se, but it'll make it easier to pass new
1986           parameters to MakeDocNode() without making the rediculously long
1987           parameter list even longer...
1988
1989 2007-05-12  Joshua Tauberer  <jit@occams.info>
1990
1991         * overview.xsl: Always sort type names, since when updating
1992           docs monodocer can make the list in index.xml out of order.
1993         * monodocer.cs: When deleting duplicate member entries, delay
1994           deletion until after loop is finished.
1995         * Makefile.am, DocTest-v1.cs, DocTest/en.expected.importslashdoc,
1996           DocTest/html.expected: Revise monodocs2html tests to use
1997           the /doc file so we can test those tags too. And changed two
1998           <c> tags to <see cref=/>.
1999         * stylesheet.xsl, DocTest/html.expected: Fix see-links to methods,
2000           which didn't recognize '(' as delimiting type from args, and
2001           display nice type names for arguments.
2002
2003 2007-03-15  Lluis Sanchez Gual  <lluis@novell.com>
2004
2005         * monodocer.cs: When deleting a member, don't remove it from the
2006           parent xml element until all members are checked, since doing
2007           it breaks the loop.
2008           Properly import internal protected members.
2009
2010 2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>
2011
2012         * Makefile.am: Add check-monodocer-ignore_extra_docs-update,
2013           check-doc-tools-update, and check-update targets.
2014         * monodocer.cs: Fix generation of attribute parameters, as e.g.
2015           `AttributeUsage.Class|Struct' doesn't look right; it should 
2016           instead be `AttributeUsage.Class | AttributeUsage.Struct'.
2017         * DocTest-v1.cs: Add new public Attribute with an AttributeUsage for tests.
2018         * DocTest/en.expected/index.xml, 
2019           DocTest/en.expected/Mono.DocTest/DocAttribute.xml,
2020           DocTest/en.expected.importslashdoc/index.xml,
2021           DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml,
2022           DocTest/en.expected.since/index.xml,
2023           DocTest/en.expected.since/Mono.DocTest/DocAttribute.xml,
2024           DocTest/html.expected/index.html,
2025           DocTest/html.expected/Mono.DocTest/index.html,
2026           DocTest/html.expected/Mono.DocTest/DocAttribute.html: Added; update
2027           expected output for new tests.
2028
2029 2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>
2030
2031         * monodocer.cs: Fix C# type name generation for nested types in the System
2032           namespace.  Remove TypeCastException when dealing with custom attributes.
2033         * DocTest-v1.cs: Add System.Environment type for testing System handling.
2034         * DocTest/en.expected/index.xml, DocTest/en.expected/System.xml,
2035           DocTest/en.expected/System/Environment.xml,
2036           DocTest/en.expected/System/Environment+SpecialFolder.xml,
2037           DocTest/en.expected.since/index.xml, DocTest/en.expected.since/System.xml,
2038           DocTest/en.expected.since/System/Environment+SpecialFolder.xml,
2039           DocTest/en.expected.since/System/Environment.xml,
2040           DocTest/en.expected.importslashdoc/index.xml, 
2041           DocTest/en.expected.importslashdoc/System.xml,
2042           DocTest/en.expected.importslashdoc/System/Environment.xml,
2043           DocTest/en.expected.importslashdoc/System/Environment+SpecialFolder.xml,
2044           DocTest/html.expected/index.html, DocTest/html.expected/System/index.html, 
2045           DocTest/html.expected/System/Environment.html,
2046           DocTest/html.expected/System/Environment+SpecialFolder.html:
2047           Added; update expected output for new tests.
2048
2049 2006-12-29  Jonathan Pryor  <jonpryor@vt.edu>
2050
2051         * monodocer.cs: `abstract sealed' classes are actually `static' classes.
2052
2053 2006-12-27  Jonathan Pryor  <jonpryor@vt.edu>
2054
2055         * monodocer.cs: Re-order the attributes in <Type/> elements so that the
2056           ordering is (somewhat) well defined.  This helps with `diff' output in
2057           ../class, as it prevents "false positives" when the attributes are
2058           re-ordered.  Fix CSharpFullMemberFormatter.GetTypeDeclaration() so that
2059           when handling C# builtin types (e.g. System.Byte) it uses the real name in
2060           the declaration instead of the C# keyword (`class byte' is wrong).
2061
2062 2006-12-26  Jonathan Pryor  <jonpryor@vt.edu>
2063
2064         * Makefile.am: Add check-monodocer-ignore_extra_docs test.
2065         * monodocer.cs: Fix -ignore_extra_docs.  Previously, it would just ignore
2066           "missing" types, but it would still remove "missing" members.
2067
2068 2006-12-26  Jonathan Pryor  <jonpryor@vt.edu>
2069
2070         * monodocer.cs: Don't insert internal attributes into the documentation.
2071         * DocTest-v1.cs: Add test for use of an internal attribute.
2072
2073 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
2074
2075         * monodocer.cs: Don't include full namespace for System.* types.  *Do*
2076           include the full namespace for nested System types, e.g.
2077           System.Collections.IEnumerable.  This is what is currently in
2078           ../class/corlib/en, and making this change results in a smaller diff.
2079         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
2080           DocTest/en.expected/Mono.DocTest/UseLists.xml,
2081           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
2082           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
2083           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
2084           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
2085           Update unit tests for above monodocer.cs change.
2086
2087 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
2088
2089         * monodocer.cs: Don't include full namespace for System.* types.  This is
2090           what ECMA-335 CLILibraryTypes.xml does for C# declarations -- no
2091           namespaces within e.g. inheritance lists or parameter lists for the System
2092           namespace and namespaces nested within System.
2093           Remove unnecessary console output.
2094         * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
2095           DocTest/en.expected/Mono.DocTest/UseLists.xml,
2096           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
2097           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
2098           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, 
2099           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml:
2100           Update unit tests for above monodocer.cs change.
2101
2102 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
2103
2104         * monodocer.cs: Make sure that the types we document are *really* public.
2105           For some reason public nested types of internal types are returned by
2106           Assembly.GetTypes(), e.g. ``internal class A { public class B {} }''
2107           These types shouldn't be documented.
2108         * DocTest-v1.cs: Add test case for above.
2109
2110 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
2111
2112         * monodocer.cs: Add -ignore_extra_docs flag; when set, it will not rename
2113           .xml files for types not found to .xml.remove.  This is useful in ../class
2114           when we're processing assemblies multiple times for the 1.0 & 2.0
2115           profiles, as when processing the 1.0 profile we'll be "missing" the 2.0
2116           types, and we don't want those to be renamed.
2117
2118 2006-12-21  Jonathan Pryor  <jonpryor@vt.edu>
2119
2120         * Makefile.am: Add a monodocer1.exe target, which is a version of monodocer
2121           which runs under the 1.0 runtime.  This is necessary so that we can still
2122           generate/update docs for mscorlib.dll 1.0 (as only one mscorlib.dll can
2123           ever be loaded into a process).
2124         * monodocer.cs: Split out the .NET 2.0 functionality so that it can be built
2125           for both 1.0 and 2.0 runtimes.  1.0 support is controlled by the
2126           NET_1_0 define.
2127
2128 2006-12-20  Jonathan Pryor  <jonpryor@vt.edu>
2129
2130         * monodocer.cs: Don't try too hard in UpdateParameters().  Previously, if a
2131           the number of parameters a method accepted changed from > 1 to 1, the
2132           "easy" <param/> handling would (inadvertently?) change all <param/>s to have
2133           the @name of the method's single parameter -- so if you _had_ parameters
2134           A, B, and C but the method now only has D, then A, B, and C would all have
2135           their @name attribute changed to D.  Odd, but possibly acceptable...
2136           ...until we try to make sure that the <param/>s are in the right order, in
2137           which case we'll record the index of D as 0 (it's the 1st parameter), but
2138           find a parameter with a different index (the old B & C), causing us to
2139           reinsert the parameter to make sure it's in the proper order.  This 
2140           results in an infinite loop within System.Xml -- see Bugzilla #80331.
2141           It's safer to just ignore the extra parameters.
2142
2143 2006-12-07  Jonathan Pryor  <jonpryor@vt.edu>
2144
2145         * DocTest-v1.patch: Add an operator returning a generic parameter (triggers
2146           error fixed in monodocer.cs).
2147         * DocTest-v2.patch: Update (due to changes in DocTest-v1.cs).
2148         * monodocer.cs: CSharpFullMemberFormatter.AppendVisibility() needs to accept null 
2149           MethodBases (when called from GetEventDeclaration() and e.GetAddMethod()
2150           returns null); fix SlashDocMemberFormatter.GetMethodDeclaration() so that
2151           generic types can be the return value of methods.  These changes allow
2152           generation of documentation on Mono's 2.0 mscorlib.dll.
2153         * stylesheet.xsl: Use GetParameterType() to emit the return type of
2154           explicit/implicit operators, as they can be/use generic arguments.
2155         * DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
2156           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
2157           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml,
2158           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
2159           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html:
2160           Flush to match current output.
2161
2162 2006-11-22  Jonathan Pryor  <jonpryor@vt.edu>
2163
2164         * monodocer.cs: Don't generate documentation/prototypes for non-public 
2165           property get/set accessors.  Patch from Ivan N. Zlatev.
2166
2167 2006-11-01  Jonathan Pryor  <jonpryor@vt.edu>
2168
2169         * monodocer.cs: When importing -importslashdoc documentation, convert
2170           <seealso/> elements into <altmember/> elements (as the former is the
2171           recommended element within ECMA-334, while the latter is the actual
2172           element used for our ECMA documentation).
2173         * DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush.
2174
2175 2006-10-27  Jonathan Pryor  <jonpryor@vt.edu>
2176
2177         * stylesheet.xsl: Generate more correct string id's for "id" attribute 
2178           values, so that string ids match the output of CSC.EXE 2.0.  Changes:
2179           append ``N instead of `N for generic methods, and use the correct 0-based
2180           type parameter index, not a 1-based index.
2181         * DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
2182           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
2183           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
2184           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
2185           DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.
2186
2187 2006-10-24  Jonathan Pryor  <jonpryor@vt.edu>
2188
2189         * DocTest-v1.cs: Add /doc comments (for use with `make
2190           check-monodocer-importslashdoc`).
2191         * DocTest-v2.patch: Update (due to changes in DocTest-v1.cs).
2192         * Makefile.am: Add check-monodocer-importslashdoc,
2193           check-monodocer-importslashdoc-update targets.
2194         * monodocer.cs: Fix -importslashdoc.  Massively refactor generation of
2195           strings from MemberInfos (Type, MethodInfo, etc.) so that commonalities
2196           between DocType, C#, and /doc string IDs can be shared and easily
2197           customized (as opposed to dealing with the > 100 line FillDocTypeName()
2198           method, which was already too complex).
2199         * DocTest/en.expected.importslashdoc/index.xml,
2200           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic.xml,
2201           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml,
2202           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml,
2203           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml,
2204           DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
2205           DocTest/en.expected.importslashdoc/Mono.DocTest.xml,
2206           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml,
2207           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Del.xml, 
2208           DocTest/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml,
2209           DocTest/en.expected.importslashdoc/Mono.DocTest/IProcess.xml,
2210           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass.xml,
2211           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml,
2212           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml,
2213           DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml,
2214           DocTest/en.expected.importslashdoc/Mono.DocTest/Color.xml,
2215           DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml:
2216           Added; expected output for `make check-monodocer-importslashdoc'.
2217
2218 2006-10-19  Jonathan Pryor  <jonpryor@vt.edu>
2219
2220         * Makefile.am: Change check-monodocer target to add a `monodocer -namespace'
2221           check, as `-namespace' would use a bad filename generation algorithm.
2222         * monodocer.cs: Don't use Type.Name (or equivalent) to generate filenames,
2223           but use GetTypeFileName(), so that Foo<T> only tries to open the file
2224           Foo`1, instead of the file Foo<T> which (1) is wrong, we never generate
2225           filenames like that, and (2) fails horribly on Win32 (as '<' and '>' are
2226           invalid path characters).
2227
2228 2006-10-19  Jonathan Pryor  <jonpryor@vt.edu>
2229
2230         * monodocer.cs: Sort member ordering so that when the order of members
2231           returned by Type.GetMembers() changes (as it did between 1.1.17 and
2232           1.1.18) the order of the documentation members won't change (leading to
2233           "errors" in the regression tests).
2234         * DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
2235           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
2236           DocTest/en.expected/Mono.DocTest/Widget.xml,
2237           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
2238           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
2239           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
2240           DocTest/en.expected/Mono.DocTest/UseLists.xml,
2241           DocTest/en.expected/Mono.DocTest/Color.xml,
2242           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
2243           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
2244           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml,
2245           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
2246           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
2247           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
2248           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
2249           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
2250           DocTest/en.expected.since/Mono.DocTest/Color.xml,
2251           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
2252           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
2253           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
2254           DocTest/html.expected/Mono.DocTest/Color.html,
2255           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
2256           DocTest/html.expected/Mono.DocTest/Widget.html,
2257           DocTest/html.expected/Mono.DocTest/DocValueType.html,
2258           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
2259           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
2260           DocTest/html.expected/Mono.DocTest/UseLists.html: Flush.  Since monodocer
2261           generates a different member ordering, *everything* gets a different
2262           ordering.  <sigh>
2263
2264 2006-10-12  Jonathan Pryor  <jonpryor@vt.edu>
2265
2266         * monodocer.cs: Add support for inserting Docs/since element.  This element
2267           is *only* inserted for NEW type/members, never updated, and is only 
2268           inserted if the -since:SINCE command-line argument is provided.
2269         * DocTest.cs: Renamed to DocTest-v1.cs.
2270         * Makefile.am: Add DocTest.dll-v1, DocTest.dll-v2, check-monodocer-since,
2271           check-monodocer-since-update, check targets.
2272         * DocTest-v2.patch: Patch file applied to DocTest-v1.cs to get DocTest.dll
2273           version 2.0.0.0.
2274         * DocTest/en.expected.since/index.xml,
2275           DocTest/en.expected.since/Mono.DocTest.xml,
2276           DocTest/en.expected.since/Mono.DocTest/AddedType.xml,
2277           DocTest/en.expected.since/Mono.DocTest/Color.xml,
2278           DocTest/en.expected.since/Mono.DocTest/DocValueType.xml,
2279           DocTest/en.expected.since/Mono.DocTest/IProcess.xml,
2280           DocTest/en.expected.since/Mono.DocTest/UseLists.xml,
2281           DocTest/en.expected.since/Mono.DocTest/Widget.xml,
2282           DocTest/en.expected.since/Mono.DocTest/Widget+Del.xml,
2283           DocTest/en.expected.since/Mono.DocTest/Widget+Direction.xml,
2284           DocTest/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml,
2285           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass.xml,
2286           DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml,
2287           DocTest/en.expected.since/Mono.DocTest.Generic.xml,
2288           DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml,
2289           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml,
2290           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
2291           DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml: Added; 
2292           expected output for DocTest.dll v2.0.0.0.
2293
2294 2006-10-11  Jonathan Pryor  <jonpryor@vt.edu>
2295
2296         * stylesheet.xsl: Add /Members/Docs node in GetInheritedMembers() so that
2297           GetLinkId() sees typeparam elements for type replacement in parameters for 
2298           members of base types.  Make sure that "simple" type arguments are 
2299           replaced, e.g. T --> `1.
2300           TODO: figure out type replacements for nested types.
2301         * DocTest/html.expected/Mono.DocTest/UseLists.html, 
2302           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
2303           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
2304           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
2305           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Change link id's
2306           and targets for proper type replacements within parameters.
2307
2308 2006-10-10  Joshua Tauberer  <jit@occams.info>
2309
2310         * monodocer.cs: Fixed a bug in WriteElement that would put
2311           nodes in the wrong place if some node in the path already
2312           existed.
2313           - To prevent TypeParameters from always being put at the
2314           end on an update, don't delete that node in an update, just
2315           clear it.
2316           - Update the DisplayName attribute in index.xml on doc updates.
2317         * DocTest/*: Updated for the DisplayName fix, and also put
2318           into a pristine state (I had committed them as an update,
2319           which put the TypeParameters block at the end of the files.)
2320
2321 2006-10-09  Joshua Tauberer  <jit@occams.info>
2322
2323         * monodocer.cs: Update a type's name attributes during an update
2324           because generic argument names may change even if filename
2325           hasn't.
2326           - Added a Type/TypeParameters section which includes type
2327           parameters that come from the declaring type, for nested types.
2328           - When inheriting from a generic type, added a BaseTypeArguments
2329           section which maps type parameters on the base type's type
2330           definition to types instantiating those parameters.  i.e.:
2331             class X<T> { }
2332             class Y<U> : X<U> { }
2333           Y gets a mapping in its BaseType node from T to U.
2334         * stylesheet.xsl: Don't attempt to link to a generic type
2335           parameter, just display it in italics.  And when displaying
2336           inherited members, try to replace generic type parameters
2337           in the base type with the types that have instantiated them
2338           in this type.
2339         * The DocTests are updated to show off these things.
2340
2341 2006-10-08  Joshua Tauberer  <jit@occams.info>
2342
2343         * monodocer.cs: Track which members have been seen in the XML file
2344           not by putting MemberInfos into a hashtable, which seems to
2345           not always work right, but instead by their (string) signature.
2346           - Get custom attribute data with the new 2.0 CustomAttributeData
2347           classes, so that we can reconstruct what the constructor actually
2348           looked like.
2349           - Hide System.Runtime.InteropServices.Out attributes since it is
2350           fake and already in the RefType XML attribute.
2351           - Structs weren't getting their interfaces listed in their C# type
2352           signatures.
2353         * monodocs2html.cs: Don't override the default XSLT URI resolver anymore.
2354         * stylesheet.xsl: Get the index.xml document at the start while we're
2355           sure we have the right base path (the XML document being transformed).
2356           - Display inherited members in a type's member list when the base type
2357           is documented in the same monodocer document set.
2358           - Make sure there's a space between a method's parameters and return
2359           value type in the member list.
2360         * DocTest: Updated to test these things.
2361
2362 2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>
2363
2364         * overview.xsl: When generating a Namespace/index.html file, we should
2365           insert the namespace remarks as well.  (This *should* have been done, but
2366           the remarks selection was relative to '.', not to the provided $ns. :-(
2367         * DocTest/html.expected/Mono.DocTest.Generic/index.html,
2368           DocTest/html.expected/Mono.DocTest/index.html: Flush.
2369
2370 2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>
2371
2372         * Makefile.am: Fix -update targets so they don't delete .svn/*.
2373         * monodocer.cs: Don't key off of DisplayName to insert new <Type> elements,
2374           as this will result in updating all existing documentation (rather silly).
2375           Key off of Name instead, and only create a DisplayName attribute if it
2376           differs from Name.
2377         * DocTest/en.expected/index.xml: Update to latest monodocer output.
2378         * monodocs2html.cs: If DisplayName doesn't exist, fall back to 
2379           Name ("legacy" behavior, now made current due to change in monodocer.cs).
2380         * stylesheet.xsl: For "Name [Generic ] [MemberType]" descriptions, make the
2381           2nd space part of "Generic".  Otherwise we get double spaces for
2382           non-generic members, e.g. "Name  [MemberType]".
2383         * overview.xsl: Fallback to @Name if @DisplayName doesn't exist.
2384         * DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
2385           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
2386           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
2387           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
2388           DocTest/html.expected/Mono.DocTest/Widget.html,
2389           DocTest/html.expected/Mono.DocTest/DocValueType.html,
2390           DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
2391           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
2392           DocTest/html.expected/Mono.DocTest/UseLists.html: Update to latest
2393           monodocs2html output.
2394
2395 2006-10-06  Jonathan Pryor  <jonpryor@vt.edu>
2396
2397         * Makefile.am: Build with gmcs; add `-debug' to compile lines; add
2398           DocTest.dll, check-monodocer, check-monodocer-update, check-monodocs2html/
2399           check-monodocs2html-update targets for unit tests.
2400         * monodocer.cs: Major overhaul for Generics support.  Documentation
2401           generated follows the pattern used in CLILibraryTypes.xml from ECMA-335.
2402           - Remove some warnings about unused variables.
2403           - Don't assume that Type.FullName is always what we want, but instead
2404             build a C# typename from the Type information.  This is needed to nicely
2405             deal with generics, as the FullName for Foo<int> would be
2406             Foo[[System.Int32, mscorlib]], while we really want Foo<int>.
2407           - For index.xml files, insert a File attribute, as the Type name won't
2408             match the filename for generic types (Foo<T> is the file Foo`1.xml).
2409           - For GetMember(), remove generic parameters before using Type.GetMember()
2410             with the member name.
2411           - Code refactoring so that <param/> and <typeparam/> generation & updating
2412             is consistent.
2413           - Properly use `this' for method name on indexers.
2414         * monodocs2html.cs: Add Generics support -- use the @File attribute instead
2415           of assuming that @Name contains the proper filename.
2416         * defaulttemplate.xsl: Use <h1> instead of <div>; add CSS for
2417           `.InnerSignatureTable tr' and `.TypePermissionTable tr'.
2418         * overview.xsl: If there are fewer than $max-types (20) types in the
2419           assembly, show them all in the top-level index.html, no matter how many
2420           namespaces are present.  Otherwise, provide links to the
2421           Namespace/index.html files, so that things don't suddenly look different
2422           as soon as you go from 1 namespace to > 1 namespaces in an assembly.
2423           Use <h2/> instead of <div/>.
2424         * stylesheet.xsl: Major overhaul for Generics support, some re-indentation.
2425           - Use <h2/>...<h4/> instead of <div/>
2426           - Allow output to validate against XHTML.
2427           - Don't use generate-id(), but instead generate member ID's manually so
2428             that we can properly refer to them from outside the current page.
2429           - Add support for <see cref=""/> translation to non-types --
2430             constructors, methods, properties, fields, events.  These can refer to
2431             members from a different file, since generate-id() is no longer used.
2432                 - Update the mono-docs site so links to System.* types work.
2433                 - Add support for additional Mono.* namespaces on the mono-docs site.
2434           - Properly display C# indexers ("type this [params]", not 
2435             "type Item [params]").
2436           - Generate documentation for <typeparam/> elements.
2437         * DocTest.cs: Added; Source for DocTest.dll, used by unit tests.
2438         * DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html,
2439           DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html,
2440           DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html,
2441           DocTest/html.expected/Mono.DocTest/DocValueType.html,
2442           DocTest/html.expected/Mono.DocTest/IProcess.html,
2443           DocTest/html.expected/Mono.DocTest/index.html,
2444           DocTest/html.expected/Mono.DocTest/Widget+Direction.html,
2445           DocTest/html.expected/Mono.DocTest/Color.html,
2446           DocTest/html.expected/Mono.DocTest/Widget+Del.html,
2447           DocTest/html.expected/Mono.DocTest/UseLists.html,
2448           DocTest/html.expected/Mono.DocTest/Widget.html,
2449           DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html,
2450           DocTest/html.expected/Mono.DocTest.Generic/index.html,
2451           DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html,
2452           DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html,
2453           DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html,
2454           DocTest/html.expected/index.html,
2455           DocTest/en.expected/Mono.DocTest.Generic.xml,
2456           DocTest/en.expected/Mono.DocTest/Widget+IMenuItem.xml,
2457           DocTest/en.expected/Mono.DocTest/IProcess.xml,
2458           DocTest/en.expected/Mono.DocTest/Widget.xml,
2459           DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml,
2460           DocTest/en.expected/Mono.DocTest/DocValueType.xml,
2461           DocTest/en.expected/Mono.DocTest/Widget+Direction.xml,
2462           DocTest/en.expected/Mono.DocTest/Widget+NestedClass.xml,
2463           DocTest/en.expected/Mono.DocTest/Widget+Del.xml,
2464           DocTest/en.expected/Mono.DocTest/UseLists.xml,
2465           DocTest/en.expected/Mono.DocTest/Color.xml,
2466           DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml,
2467           DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml,
2468           DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml,
2469           DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml,
2470           DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest.xml:
2471           Added.  Expected output for monodocer (en.expected) and 
2472           monodocs2html (html.expected).
2473
2474 2006-04-01  Joshua Tauberer  <tauberer@for.net>
2475
2476         * monodocs2html.cs: Skip files that are missing.
2477
2478 2006-03-09  Joshua Tauberer  <tauberer@for.net>
2479
2480         * monodocer.cs: Reverted all of the Cecil changes.  Ah well.
2481
2482 2006-03-04  Joshua Tauberer  <tauberer@for.net>
2483
2484         * monodocer.cs: Using Cecil now!  (Some Cecil fixes
2485           need to be committed.)
2486
2487 2006-03-03  Joshua Tauberer  <tauberer@for.net>
2488
2489         * monodocer.cs: Don't change up whitespace unless user says so.
2490           That makes it hard to see differences against svn.
2491
2492 2006-01-12  Jonathan Pryor  <jonpryor@vt.edu>
2493
2494         * bsd-man-to-ecma.pl, bsd-man-to-exception.pl: Added; scripts to help
2495           convert BSD man pages into ECMA XML formats.  Run `perldoc PROGRAM` for
2496           program documentation.
2497         * Makefile.am: Add bsd-man-to-ecma.pl and bsd-man-to-exception.pl to
2498           EXTRA_DIST.
2499
2500 2005-08-11  Dan Winship  <danw@novell.com>
2501
2502         * monodocer.cs: Don't preserve whitespace when reading the old
2503         doc, and don't add any whitespace when creating the new doc. Just
2504         let the XmlTextWriter handle indentation and it will all just
2505         work.
2506
2507 2005-08-03  Atsushi Enomoto  <atsushi@ximian.com>
2508
2509         * monodocer.cs : update name attribute in paramref elements in sync
2510           with that of param element.
2511
2512 2005-07-09  Joshua Tauberer <tauberer@for.net>
2513
2514         From Rodolfo Campero <rodolfo.campero@gmail.com>
2515         (more or less):
2516         * monodocs2slashdoc.cs: Updated for changes in
2517         index.xml for documenting multiple assemblies.
2518         This app now writes out XML files for each assembly
2519         as well as NamespaceSummaries.xml to the working
2520         directory.
2521
2522 2005-06-12  Joshua Tauberer  <tauberer@for.net>
2523
2524         * monodocer.cs: Added --importslashdoc option to
2525           import the contents of /doc-generated xml docs
2526           into the generated files.
2527
2528 2005-06-09  Joshua Tauberer  <tauberer@for.net>
2529
2530         * monodocer.cs : When documenting a single assembly,
2531           default the Title in index.xml to the name of the
2532           assembly.
2533
2534 2005-06-04  Eric Butler  <eric@extremeboredom.net>
2535
2536         (copied from ChangeLog in parent directory)
2537     * monodocer.cs
2538                 - Now exits with an exit code of 1 in the event of an error
2539                 - Added '-name' command line argument
2540                 - Use above argument for <Title> element
2541
2542 2005-06-01  Joshua Tauberer <tauberer@for.net>
2543
2544         * monodocer.cs : Old index.xml files need to have new nodes
2545           created for multiple assemblies, and the old Assembly and
2546           Attributes nodes removed.  Added a Title element for 2html.
2547           
2548         * overview.xsl : Revised monodocs2html to use the Title
2549           element in index.xml for page titles, rather than the
2550           assembly name, which isn't available anymore since there
2551           may be more than one assembly.
2552
2553 2005-05-23  Mike Kestner <mkestner@novell.com>
2554
2555         * monodocer.cs : add multiple assembly updating. 
2556
2557 2005-05-09  Joshua Tauberer <tauberer@for.net>
2558
2559         * Thanks for pushing me to use a ChangeLog.
2560         * Disallow documenting types in the root namespace (type.Namespace ==
2561           null).
2562         * When a <code> tag has a 'src' attribute, monodocer will replace
2563           the contents of the element with the text in the indicated file.
2564           the path is relative to the path given as the --path option.
2565         * Properties that have different access modifiers on their accessors
2566           are now given signatures that reflect that.  (But Monodoc doesn't
2567           recognize this properly.  A format change is needed.)
2568         * monodocs2html: Create the destination directory if it doesn't exist.
2569
2570 2005-01-29  Jonathan Pryor <jonpryor@vt.edu>
2571
2572         * ChangeLog: Added
2573         * monodocer.cs (GetTypeFileName): Add check for type.Namespace == null.
2574           Fixes NullReferenceException when trying to update Mono.Posix.dll.
2575