summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-05Cleaned up setting of lower bounds for openers.John MacFarlane
We now use a much smaller array.
2017-01-03Fixes #178, quadratic parsing bug.John MacFarlane
2017-01-03Added pathological test for #178 (quadratic).John MacFarlane
The new "multiple of 3" rule defeats one of our optimizations.
2017-01-03Slight improvement of clarity of logic in emph matching.John MacFarlane
2017-01-03Added regression test for #177.John MacFarlane
2017-01-03Revert "More sourcepos! (#169)"John MacFarlane
This reverts commit 9e643720ec903f3b448bd2589a0c02c2514805ae.
2017-01-03Revert "wrapper.py: remove unused (and faulty) libc instantiation (#175)"John MacFarlane
This reverts commit c4c1d59ca29aceb1c5919908ac97d9476264fd96.
2017-01-03Revert "Update cmark.3 man page."John MacFarlane
This reverts commit 26182bb868d3da7dd8a3389729bea79d489855b7.
2017-01-03Revert "Change types for source map offsets (#174)"John MacFarlane
This reverts commit 4fbe344df43ed7f60a3d3a53981088334cb709fc.
2017-01-03Fix "multiple of 3" determination in emph/strong parsing.John MacFarlane
We need to store the length of the original delimiter run, instead of using the length of the remaining delimiters after some have been subtracted. Test case: a***b* c* Thanks to Raph Levin for reporting.
2016-12-30Update cmark.3 man page.John MacFarlane
2016-12-30Change types for source map offsets (#174)Nick Wellnhofer
* Improve strbuf guarantees Introduce BUFSIZE_MAX macro and make sure that the strbuf implementation can handle strings up to this size. * Abort early if document size exceeds internal limit * Change types for source map offsets Switch to size_t for the public API, making the public headers C89-compatible again. Switch to bufsize_t internally, reducing memory usage and improving performance on 32-bit platforms. * Make parser return NULL on internal index overflow Make S_parser_feed set an error and ignore subsequent chunks if the total input document size exceeds an internal limit. Make cmark_parser_finish return NULL if an error was encountered. Add public API functions to retrieve error code and error message. strbuf overflow in renderers and OOM in parser or renderers still cause an abort.
2016-12-24wrapper.py: remove unused (and faulty) libc instantiation (#175)Mathieu Duponchelle
2016-12-20More sourcepos! (#169)Mathieu Duponchelle
* open_new_blocks: always create child before advancing offset * Source map * Extent's typology * In-depth python bindings
2016-12-09Correctly initialize chunk in S_process_line (#170)Nick Wellnhofer
The `alloc` member wasn't initialized. This also allows to add an assertion in `chunk_rtrim` which doesn't work for alloced chunks.
2016-12-06Added 'make newbench'.John MacFarlane
2016-12-05scanners.c generated with re2c 0.16 (68K smaller!).John MacFarlane
2016-12-05scanners.re - fixed warnings; use * for fallback.John MacFarlane
2016-12-05Makefile: use warnings with re2c.John MacFarlane
2016-12-05Fixed some warnings in scanners.re.John MacFarlane
2016-12-03Update CaseFolding to latest (#168)Kevin Wojniak
1. Downloaded CaseFolding.txt from http://unicode.org/Public/UCD/latest/ucd/CaseFolding.txt 2. Deleted src/case_fold_switch.inc 3. Ran `make src/case_fold_switch.inc`
2016-12-01Allow balanced nested parens in link destinations (#166)Yuki Izumi
2016-11-26Allocate enough bytes for backticks array.John MacFarlane
2016-11-26Added pathological test for backticks.John MacFarlane
Currently aborts.
2016-11-26Inlines: Ensure that the delimiter stack is freed in subject.John MacFarlane
2016-11-26Fixed pathological cases with backtick code spans:John MacFarlane
- Removed recursion in scan_to_closing_backticks - Added an array of pointers to potential backtick closers to subject - This array is used to avoid traversing the subject again when we've already seen all the potential backtick closers. - Added a max bound of 1000 for backtick code span delimiters. - This helps with pathological cases like: x x ` x `` x ``` x ```` ... Thanks to Martin Mitáš for identifying the problem and for discussion of solutions.
2016-11-24Remove redundant cmake_minimum_required.John MacFarlane
Closes #163, thanks to @kainjow.
2016-11-19Bump version to 0.27.1, update changelog.John MacFarlane
2016-11-19Use VERSION_GREATER to clean up cmake version test.John MacFarlane
2016-11-19Put set_policy under cmake version test.John MacFarlane
Otherwise we get errors in older versions of cmake.
2016-11-18Improve afl target. Use afl-clang by default. Set default for path.John MacFarlane
2016-11-18Set policy for CMP0063 to avoid a warning.John MacFarlane
See #162.
2016-11-18Update changelog.John MacFarlane
2016-11-18Bump to 0.27.0.John MacFarlane
2016-11-18Update man 3 page.John MacFarlane
2016-11-18Update spec.John MacFarlane
2016-11-13Fix warnings building with MSVC on Windows (#165)Hugh Bellamy
2016-11-09Fix CMAKE_C_VISIBILITY_PRESET for cmake versions greater than 1.8 (e.g. ↵Hugh Bellamy
3.6.2) (#162) This lets us build swift-cmark on Windows, using clang-cl This was an oversight: CMAKE_C_VISIBILITY_PRESET is only available on CMAKE 1.8 or greater. However, the current check doesn't work for a version such as CMAKE 3.6.2, for example ```bash mkdir "C:/Users/hughb/Documents/GitHub/my-swift/build/Ninja-DebugAssert/cmark-windows-amd64" pushd "C:/Users/hughb/Documents/GitHub/my-swift/build/Ninja-DebugAssert/cmark-windows-amd64" cmake -G Ninja -DCMAKE_C_COMPILER="C:/Program Files/LLVM/msbuild-bin/cl.exe" -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/msbuild-bin/cl.exe" -DCMAKE_CXX_FLAGS="-Xclang -std=c++14" "C:/Users/hughb/Documents/GitHub/my-swift/cmark" popd cmake --build "C:/Users/hughb/Documents/GitHub/my-swift/build/Ninja-DebugAssert/cmark-windows-amd64/" -- -j6 all ```
2016-11-04Fix for non-matching entities (#161)Yuki Izumi
* Add test to illustrate issue * Provide some test fixes * Don't neglect CounterClockwiseContourIntegral * Fix ~10% of cases not matching strncmp returns 0 if the first 'len' bytes of cmark_entities[i].entity match s; we check equal length in the first if by checking if cmark_entities[i].entity[len] == 0, but we neglect the case where cmp == 0 && cmark_entities[i].entity[len] != 0. This should be treated as the same as cmp < 0, because strcmp("abc", "abcd") < 0. * Don't depend on py3.3 in tests
2016-10-30Modified print_delimiters (commented out) so it compiles again.John MacFarlane
2016-10-11Ran 'make format' to reformat code.John MacFarlane
2016-10-11'make format': don't change order of includes.John MacFarlane
2016-10-11Changed logic for null/eol checks.John MacFarlane
- only check once for "not at end of line" - check for null before we check for newline characters (the previous patch would fail for NULL + CR) See #160.
2016-10-11Merge pull request #160 from kivikakk/kivikakk/fix-nul-lf-sequenceJohn MacFarlane
Fix NUL-LF sequence lex
2016-10-11Fix by not advancing past both \0 and \nYuki Izumi
2016-10-11Add test for NUL-LF sequenceYuki Izumi
2016-09-27Merge pull request #158 from kivikakk/one-more-memJohn MacFarlane
One more cmark_mem use
2016-09-27One more cmark_mem useYuki Izumi
2016-09-26Merge pull request #157 from kivikakk/list-parse-mem-leakJohn MacFarlane
Fix memory leak in list parsing
2016-09-26Merge pull request #156 from kivikakk/use-mem-to-freeJohn MacFarlane
Use cmark_mem to free where used to alloc