Subtle bug in ddox vs. ddoc macro handling

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 17 05:09:38 PDT 2016


On 9/17/16 2:53 AM, Sönke Ludwig wrote:
> 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

Cool beans, thanks. Do you think we should unify the implementations? 
Perhaps by moving your code (assuming we get semantic convergence) into 
dmd so we get the benefit of hyphenation? Say e.g. we want to add 
markdown input, should we continue with two codebases or unify? Thanks! 
-- Andrei



More information about the Digitalmars-d mailing list