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