digitalmars.D.bugs - [Issue 193] New: DDoc generates incorrect expansion for template decls; breaks CandyDoc
- d-bugmail puremagic.com (28/28) Jun 14 2006 http://d.puremagic.com/issues/show_bug.cgi?id=193
- d-bugmail puremagic.com (9/9) Jun 30 2006 http://d.puremagic.com/issues/show_bug.cgi?id=193
- d-bugmail puremagic.com (16/16) Aug 11 2006 http://d.puremagic.com/issues/show_bug.cgi?id=193
- d-bugmail puremagic.com (37/37) Aug 14 2006 http://d.puremagic.com/issues/show_bug.cgi?id=193
- kris (2/50) Aug 16 2006 Aye, sorry ... my bad
http://d.puremagic.com/issues/show_bug.cgi?id=193
           Summary: DDoc generates incorrect expansion for template decls;
                    breaks CandyDoc
           Product: D
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: critical
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: someidiot earthlink.net
When DDoc is presented with a templated decl, it produces multiple expansions
of D_PSYMBOL instead of just one. For example, using the default -D settings:
class Foo(T) : Bar
becomes:
<dt><big>class <u><u>Foo</u></u>(T): Bar;
</big></dt>
The double <u> has no adverse effect in this case, but the multiple expansions
can wreak havoc for other D_PSYMBOL definitions such as the one used by
CandyDoc (which emit script calls, etc)
In contrast, a non templated:
class Foo : Bar
becomes:
<dt><big>class <u>Foo</u>: Bar;
</big></dt>
-- 
 Jun 14 2006
http://d.puremagic.com/issues/show_bug.cgi?id=193
bugzilla digitalmars.com changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
Fixed DMD 0.162
-- 
 Jun 30 2006
http://d.puremagic.com/issues/show_bug.cgi?id=193
someidiot earthlink.net changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |
Hrm ... this does not appear to be fixed. There seems to be no change in the
generated output, e.g.
struct TextT(T)
becomes:
<dl><dt><big>struct <u><u>TextT</u></u>;
</big></dt>
Still the same double underline, due to twin expansion of D_PSYMBOL (or
whatever). CandyDoc truly does not like this
-- 
 Aug 11 2006
http://d.puremagic.com/issues/show_bug.cgi?id=193
bugzilla digitalmars.com changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |WORKSFORME
Works for me:
-----------------------
C:\mars>type test.d
class Bar { }
/// foo
struct Foo(T)
{
}
C:\mars>dmd -D -c -o- test
C:\mars>type test.html
<html><head>
        <META http-equiv="content-type" content="text/html; charset=utf-8">
        <title>test</title>
        </head><body>
        <h1>test</h1>
        <!-- Generated by Ddoc from test.d -->
<br><br>
<dl><dt><big>struct <u>Foo</u>(T);
</big></dt>
<dd>foo
<br><br>
<dl></dl>
</dd>
</dl>
        <hr><small>Page generated by <a
href="http://www.digitalmars.com/d/ddoc.html">Ddoc</a>. </small>
        </body></html>
C:\mars>
------------------------------
-- 
 Aug 14 2006
d-bugmail puremagic.com wrote:
 http://d.puremagic.com/issues/show_bug.cgi?id=193
 
 
 bugzilla digitalmars.com changed:
 
            What    |Removed                     |Added
 ----------------------------------------------------------------------------
              Status|REOPENED                    |RESOLVED
          Resolution|                            |WORKSFORME
 
 
 
 
 Works for me:
 -----------------------
 C:\mars>type test.d
 class Bar { }
 
 /// foo
 struct Foo(T)
 {
 }
 
 C:\mars>dmd -D -c -o- test
 
 C:\mars>type test.html
 <html><head>
         <META http-equiv="content-type" content="text/html; charset=utf-8">
         <title>test</title>
         </head><body>
         <h1>test</h1>
         <!-- Generated by Ddoc from test.d -->
 <br><br>
 <dl><dt><big>struct <u>Foo</u>(T);
 </big></dt>
 <dd>foo
 <br><br>
 
 <dl></dl>
 </dd>
 </dl>
 
         <hr><small>Page generated by <a
 href="http://www.digitalmars.com/d/ddoc.html">Ddoc</a>. </small>
         </body></html>
 
 C:\mars>
Aye, sorry ... my bad
 Aug 16 2006








 
  
  
 
 d-bugmail puremagic.com
 d-bugmail puremagic.com 