Subtle bug in ddox vs. ddoc macro handling

Sönke Ludwig via Digitalmars-d digitalmars-d at puremagic.com
Fri Sep 16 23:53:57 PDT 2016


There is indeed a separate macro engine [1] contained in the ddox repo. 
Neither DDMD, nor libddoc existed at the time and DMD's implementation 
was written in, from a D POV, very alien C style, with no suitable 
structure to extract high level information, so instead of porting it, I 
instead tried to implement a processor from the spec [1]. However, it 
turned out that the spec is not sufficient at all, so a lot of changes 
were necessary over time to work out those small differences. I'd like 
to improve the docs, but I'm still not confident that my 
implementation's behavior is always equivalent (as this issue shows).

I've opened a GitHub ticket now [2] and will have a look at it shortly.

[1]: https://github.com/rejectedsoftware/ddox/blob/master/source/ddox/ddoc.d
[2]: http://dlang.org/spec/ddoc.html#phases_of_processing
[3]: https://github.com/rejectedsoftware/ddox/issues/130


More information about the Digitalmars-d mailing list