Remove the obsolete workaround of directly building mktags
and running it in Plan9/mkfile. The upstairs configure.sh
and make no longer fails to generate the blocktags file.
Update Plan9/README.md generally.
Relaxed-emphasis is now always built, then controlled with a runtime off switch. This commit manually follows upstream commit b787bc3459 to synchronize (about relax) with the discount source root one directory up.
The Makefile we end up with on Plan 9 doesn't know how to build mktags.
So where a *NIX make does something like:
cc mktags.c -o mktags && ./mktags > blocktags
on Plan 9 we don't compile mktags.c at all, and build Stops there.
Plan9/mkfile now includes script to build mktags and deliver its output to the blocktags file before building markdown binary.
>[...] changes to the APE environment had broken Discount builds
>there. The compiler is being choosy in a new way about *snprintf,
>and no longer liked Csio.c:29.
>
>Working around this takes a one-line edit in Plan9/mkfile, as shown
>in the attached patch, and results in a clean build, passes tests,
>etc.
>
>Long form explanation from the APE docs, for curiosity's sake:
>
>>_C99_SNPRINTF_EXTENSION
>>This extension permits the use of the return values of .I snprintf
>>and .I vsnprintf . Before C99, the 1999 C standard, these functions
>>usually returned the number of bytes, excluding terminating NUL,
>>actually stored in the target string. (GNU, as usual, had to be
>>different and returned -1 if the target string was too small.) C99
>>requires them to instead return the number of bytes, excluding
>>terminating NUL, that would have been written into the target string
>>if it were infinitely large or a negative value if an `encoding
>>error' occurs, so old programs compiled under C99 rules will be
>>prone to overrunning their buffers. This extension is a way for the
>>programmer to declare that he or she understands the situation and
>>has adjusted the code being compiled to compensate.
2. Tweak the paragraph wrapping in `generate()` so that all
paragraphs in a multiple-paragraph item/blockquote will
be properly wrapped with `<p>`...`</p>` (or whatever is
appropriate.)
3. Attempt to follow indentation better inside lists, so
a list item with multiple paragraphs is parsed correctly
when the second (& up) paragraphs are indented the same
as the first paragraph.