What I did
Upgraded from 3.20180105 to 3.20180228 (from pkgsrc). No change to installed Text::Markdown::Discount (0.11nb4 from pkgsrc, using upstream's bundled Discount library).
What I expected to happen
Markdown-style links to continue being rendered as before.
What actually happened
Markdown-style links stopped being links. Instead, they render the part in square brackets as ordinary text.
Proximate cause
In f46e429, if I comment out the MKD_GITHUBTAGS
if block, the problem goes away.
Further causes and possible solutions
Some guesses:
- Sufficiently old versions of the Discount library may break when passed unrecognized flags, in which case ikiwiki might want to version-check before passing flags
- The version of the Discount library bundled with upstream Text::Markdown::Discount may be extremely old, in which case pkgsrc might want to make it depend instead on an external Discount package
This appears to be because
MKD_GITHUBTAGS
andMKD_LATEX
both have numeric values that were previously used for the internal flagIS_LABEL
, which strips HTML (its value has changed a couple of times).Having thought about this a bit, I realise I can probe for the values of these flags by processing HTML that should have different results with the flag set or unset, which would be safer than just blindly using them.
Orthogonally, pkgsrc should probably use an up-to-date version of Discount, and we already know that Text::Markdown::Discount needs updating. --smcv
This should be fixed in current git. The mdwn module now detects what your version of Discount supports by trying several short HTML fragments that render differently under the different flags. --smcv