summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-02-23Add Makefile target to fuzz with AFLNick Wellnhofer
Also add a compact test case. As far as I understand, a good test case should exercise many code paths while being as small as possible. There's probably still room for improvement. The variable $AFL_PATH must point to the directory containing the AFL binaries. It can be set as an environment variable or passed to make on the command line.
2015-02-20Cleaned up some comments.John MacFarlane
2015-02-19Fixed use-after-free error.John MacFarlane
Closes #9, confirmed with ASAN. Avoid using `parser->current` in the loop that creates new blocks, since `finalize` in `add_child` may have removed the current parser (if it contains only reference definitions). This isn't a great solution; in the long run we need to rewrite to make the logic clearer and to make it harder to make mistakes like this one.
2015-02-19Added 'Asan' build type.John MacFarlane
`make asan` will link against ASan; the resulting executable will do checks for memory access issues. Thanks @JordanMilne for the suggestion.
2015-02-19Fixed use-after-free bug.John MacFarlane
This arose when a paragraph containing only reference links and blank space was finalized. Finalization would remove the node. `finalize` returns the parent node, but the problem arose because we had both `cur` and `parser->current`, and only one was being updated. Solution: remove `cur`, which is a holdover from before we had `parser->current`. I believe this will close #9 -- @JordanMilne can you test and confirm?
2015-02-18Repacked delimiter struct to avoid hole.John MacFarlane
2015-02-18Updated benchmarks.John MacFarlane
2015-02-18Packed cmark_node struct to fit into 128 bytes.John MacFarlane
This gives a small performance boost (0.37 to 0.36).
2015-02-17Moved a test outside a loop.John MacFarlane
2015-02-16Added more --smart test cases.John MacFarlane
2015-02-16Rename CMARK_OPT_SMARTPUNCT -> CMARK_OPT_SMART.John MacFarlane
2015-02-16Made 'options' an int rather than a long.John MacFarlane
For consistency with the API.
2015-02-16Use ascii escapes for punctuation characters for portability.John MacFarlane
2015-02-16Don't require python3 to make cmark.3 man page.John MacFarlane
2015-02-16Move normalization step from main to cmark_parser_finish.John MacFarlane
2015-02-16Properly handle " with no matching close quote with --smart.John MacFarlane
This occurs in fiction: when a speaker has dialogue with multiple paragraphs, a close quote is used only on the final one. Added test cases.
2015-02-15Fixed man escaping for unicode characters.John MacFarlane
2015-02-15Proper escaping of smart punctuation in man writer.John MacFarlane
2015-02-15Removed unneeded include.John MacFarlane
2015-02-15Removed outdated statement in man page.John MacFarlane
`--smart` now affects XML output too.
2015-02-15Moved handling of --smart from renderer to parser.John MacFarlane
This allows backslash escapes to disable smart quote transformations in particular cases. Closes #8.
2015-02-15Added options parameter to cmark_parse_document, cmark_parse_file.John MacFarlane
Also to some non-exported functions in blocks and inlines.
2015-02-15Moved normalization step from XML renderer to main.John MacFarlane
2015-02-15Fixed segfault with --normalize (closes #7).John MacFarlane
This bug was introduced after the modification in 009c3847f004fda437dd5376a9452973b1cb913e.
2015-02-15Man page updates.John MacFarlane
2015-02-15Implemented --smart for man output.John MacFarlane
2015-02-15Further improvements and small optimizations in smart punctuation code.John MacFarlane
2015-02-15Optimized --smart.John MacFarlane
Previously we had 0.24s on the benchmark without `--smart`, 0.38s with it. Now we have 0.27s with `--smart`, so `--smart` has only a small performance impact.
2015-02-14Added smart.c, smart.h with function abstracting smart punct rendering.John MacFarlane
Also fixed some bugs in earlier smart handling. Now handles UTF-8.
2015-02-14astyle changes (code formatting only).John MacFarlane
2015-02-14Updated man page for --smart.John MacFarlane
2015-02-14Improved smart quote recognition.John MacFarlane
All tests now pass.
2015-02-14Added test for --smart option.John MacFarlane
Currently one test fails.
2015-02-14Added CMARK_OPT_SMARTPUNCT and --smart option.John MacFarlane
So far this is only implemented for the HTML renderer. Ultimately some of this should be factored out into a form that can be used in other renderers.
2015-02-13Updated scanners for new whitespace definition.John MacFarlane
2015-02-13Updated test/spec.txt.John MacFarlane
2015-02-04Use try.commonmark.org for dingus address.John MacFarlane
2015-02-02Merge pull request #5 from nwellnhof/zap_strnlenJohn MacFarlane
Don't rely on strnlen being available
2015-02-02Don't rely on strnlen being availableNick Wellnhofer
2015-01-31Updated spec.txt from CommonMark repo.John MacFarlane
2015-01-31Fixed autolink scanner to conform to the spec.John MacFarlane
Backslash escapes not allowed in autolinks.
2015-01-28Update cmark.3 man page.John MacFarlane
Only the date changed, but this is needed to avoid building the page on a git checkout.
2015-01-28Added Profile build type, 'make prof' target.John MacFarlane
2015-01-25Adjust benchmarks for commonmark.js.John MacFarlane
2015-01-25Fixed license in README.md.John MacFarlane
2015-01-25Fixed link to spec.John MacFarlane
2015-01-25COPYING - added license for test/spec.txt and python code in test/.John MacFarlane
2015-01-25Use 2-clause BSD license.John MacFarlane
The legal implications of the 3rd clause seem too unclear.
2015-01-25Removed JavaScript specific licenses in COPYING.John MacFarlane
2015-01-24Improved README with note on wrappers.John MacFarlane