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