* Add some comments.
* Make complex hastable buckets start at 2 records instead of 4.
Some experiments show there may be about 20% collisions in documents
with too many reference links but the buckets rarely need more then
the 2 records so it is just a memory wasting.
The function was calling md_ascii_case_eq() incorrectly with a number of
bytes instead of characters. This could lead to invalid memory accesses
and/or mis-detection of raw HTML blocks in the special MD4C_USE_UTF16
builds on Windows.
It was already the default when building with our CMakeLists.txt but it
seems that for projectswich are just embedding our sources into their
build so this change only affects projects embedding direcly our source
files into their project.
Errorneously, we have called md_resolve_range() with mark chain derived
from the closer mark. In the case that the opener and closer marks
differ in length (and we have split one or the other), we pass in an
incorrect chain, which may lead to strange behavior in subsequent
analysis.
Fixes#98.
With a new flag MD_FLAG_WIKILINKS, recoginize wiki-style links
as [[foo]] and [[foo|bar]].
Update also the HTML renderer accordingly, to output a custom
HTML tag <x-wikilink> when seeing it.
We do so by removing the function md_is_table_row().
md_is_table_row() did some crazy inline parsing to detect whether the
line contains at least one pipe which is not inside a code span or other
high-priority inline element.
This was very complicated under the hood and to was actually breaking
the clean design which separates block analysis parse and inline analysis
of each block contents.
We now just use the table underline for determining the block is table
and its properties like e.g. the column count.
This means a paragraph now cannot interrupt a table. This is a change in
a behavior but likely acceptable one as it actually brings the behavior
closer to behavior of tables in cmark-gfm in this regard.
Last but not least, it seems to prevent adoption of other useful
features, for about that, see the discussion in PR #92.
* md_link_label_cmp: To match the labels, the loop has to reach ends of
the labels for both of them.
* md_link_label_cmp_load_fold_info: Collapse consequtive whitespace
into a single ' ' for the label comparison purposes.
Fixes#96.