New Code (and it’s a dot-zero release, too!)
Discount has been pushed up to version 2.0 with
three fixes in table-of-contents handling (it would dump
core if a header item contained a link, the labels generated
for id=
were not xhtml compatable, and if the headers included
[][]
constructs the resulting labels would be barkingly hideous,)
and (by the simple expedient of breaking the published interface
by expanding the flags field from an int to an at least 32 bit
scalar (to fit the 22-and-counting option flags that discount
now has)) restructures the code so that the only things that
are compile-time options are memory allocation debugging and
proper tab settings.
It’s a .0
release, of course, so there may be some horrible
bugs just waiting to fall out in the places I’ve not written
test cases for yet, but there are many advantages to having
the vast majority of the features be settable at runtime and
I decided that this was a good time to make the change.
This code has been tested on MacOS, FreeBSD 4.8, and FreeBSD 7.{something}, so it’s moderately stable and safe (safe enough so I could regenerate the discount web page and this post on tsfr, so it might even be safe enough for you!) Just remember that the interface has changes (so you need to recompile everything) and it should be a moderately safe and thrilling ride on this New Code! for your weekend.