for other platforms then Linux. glibc has well-optimized implementation
which provides good boost, but (as measured one Windows), it can be also
relatively small to our own path below.
We can always enable that path for more platforms, if we get some data
showing it has good impact.
* scipts/build_*_map.py: Implement helper pythonic scripts used to
generate some Unicode search maps and data for helper Unicode
functions used in MD4C.
This should simplify updating to future Unicode versions.
* md_get_unicode_fold_info: Use data generated by the scripts.
* md_is_unicode_whitespace__: Ditto.
* md_is_unicode_punct__: Ditto.
Spec. version 0.29 limits the decimal character length to at most
7 decimal digits and hexadecimal character length to at most 6
hexadecimal digits.
Fixes#77.
* md_analyze_line: Use while() loop instead of bunch of gotos.
* Remove some manual optimizations. The optimizing skills of
compilers have improved in the recent years. With gcc 8.3
at -O3 there is no measurable change.
* Fix domain recognition so that it has to have at least two
dot-delimited components.
* Fix handling if parenthesis so that they have to form balanced
pairs; i.e. the first ')' not having a preceding opener ends the
path.
Fixes#76.
This will fix a couple of issues where the GCC compiler (in strict
mode) is complaining with "error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]".
* Isolate some common code for scanning HTML closer into a new function
so most HTML scanner functions reuse the same code.
* Improve the scanning for the closer so that on failure we remember
the range where no closer is present. So any later scanning attempts
may fail early.
Fixes#73.
See #71.
This forces us to be more conservative in the future code changes,
and make us more friendly mainly to some embedded compilers who are
often behind the current state of art.
Fix also related warnings and errors, as provided by gcc 8.1.0.
The updated specification now explicitly requests the behavior we
implemented before fixing #24.
This reverts commit 2e0a74ba99.
Also remove associated regression test as it is no longer valid.