Eelis/cxxdraft-htmlgen

Problems Generating HTML for Older Drafts

Closed this issue · 1 comments

I was trying to build various versions of the C++ standard draft with cxxdraft-htmlgen on a Liinux system (Fedora 29). Things seem to work fine when I use the tool to generate HTML for the most recent commit on the master branch of the cplusplus/draft repository. When I try to build older versions, however, I get various errors, as follows:

n3337 (c++11)
undefined command: "vfill" at: \pagebreak
CallStack (from HasCallStack):
error, called at ./LaTeXParser.hs:336:28 in main:LaTeXParser

n4140 (c++14)
undefined command: "vfill" at: \pagebreak
CallStack (from HasCallStack):
error, called at ./LaTeXParser.hs:336:28 in main:LaTeXParser

n4659 (c++17)
undefined command: "widowpenalties" at: 1 10000
\frenchspacing
\BnfNontermshape
\begi
CallStack (from HasCallStack):
error, called at ./LaTeXParser.hs:336:28 in main:LaTeXParser

In the case of n4659. I tried commenting out the \frenchspacing macro to see what would happen. The error goes away but no HTML files are generated due to a failure with a different error message.

Eelis commented

Sorry, but cxxdraft-htmlgen only targets upstream master. Maintaining compatibility with historical versions of the sources (which differ not only in content but also in how they use environments/macros) is too much work and the code is complex enough as it is.

If you're interested in running cxxdraft-htmlgen on historical versions of the sources, you'll have to maintain the branches yourself, the way Tim Song does at https://github.com/timsong-cpp/cppwp.