1. (bugfix) when splitting a line, null terminate the new line; also
don’t inherit the dle from the previous line
2. (bugfix) fix the broken footnote code; allow multi-paragraph
footnotes, not just one line of footnote.
3. (feature) support github checkbox list items (static configuration option)
a. --github-checkbox does the checkbox with html check entities
b. --github-checkbox=input does them with html <input> elements (set
to disabled so that people can’t check and uncheck willy-nilly)
4. (feature) on systems that support it, use the ‘destructor’
attribute on mkd_shlib_destructor() so it will run automatically when
the library unloads.
5. (feature) add --cxx-binding option to configure.sh to generate a
mkdio.h that’s got an extern "C" wrapper around it.
6. (tweak)delete HGROUP from the list of html5 elements, because the w3c
working group decided to punt it
The bugfix for not null-terminating a split line was reported by Github
user fCorleone, who was running a input mangler program (afl) to stress
discount by feeding random garbage to it. It saw that the splitline()
function (used when breaking out embedded chunks of html) was not
null-terminating the split line chunks, and was throwing errors on that.
(this is something that clang on modern macos catches if you use the
-fsanitize=address option.)
I never actually use footnotes, so I’d been running for about a decade
assuming that footnotes were one or maybe two lines, but github user
somasis pointed out that this was wrong wrong wrong! Ooops; at least it
was fixable w/o much pain and suffering.
HGROUP was caught by github user Crypto-Anarchist in their own branch of
discount, so I cherry-picked that changeset and pulled it back into the
mainline discount.