Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-03-03 | astyle changes. | John MacFarlane | |
2015-02-20 | Cleaned up some comments. | John MacFarlane | |
2015-02-19 | Fixed 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-19 | Fixed 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-18 | Repacked delimiter struct to avoid hole. | John MacFarlane | |
2015-02-18 | Packed cmark_node struct to fit into 128 bytes. | John MacFarlane | |
This gives a small performance boost (0.37 to 0.36). | |||
2015-02-17 | Moved a test outside a loop. | John MacFarlane | |
2015-02-16 | Rename CMARK_OPT_SMARTPUNCT -> CMARK_OPT_SMART. | John MacFarlane | |
2015-02-16 | Made 'options' an int rather than a long. | John MacFarlane | |
For consistency with the API. | |||
2015-02-16 | Use ascii escapes for punctuation characters for portability. | John MacFarlane | |
2015-02-16 | Move normalization step from main to cmark_parser_finish. | John MacFarlane | |
2015-02-16 | Properly 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-15 | Fixed man escaping for unicode characters. | John MacFarlane | |
2015-02-15 | Proper escaping of smart punctuation in man writer. | John MacFarlane | |
2015-02-15 | Removed unneeded include. | John MacFarlane | |
2015-02-15 | Moved 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-15 | Added options parameter to cmark_parse_document, cmark_parse_file. | John MacFarlane | |
Also to some non-exported functions in blocks and inlines. | |||
2015-02-15 | Moved normalization step from XML renderer to main. | John MacFarlane | |
2015-02-15 | Fixed segfault with --normalize (closes #7). | John MacFarlane | |
This bug was introduced after the modification in 009c3847f004fda437dd5376a9452973b1cb913e. | |||
2015-02-15 | Implemented --smart for man output. | John MacFarlane | |
2015-02-15 | Further improvements and small optimizations in smart punctuation code. | John MacFarlane | |
2015-02-15 | Optimized --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-14 | Added 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-14 | astyle changes (code formatting only). | John MacFarlane | |
2015-02-14 | Improved smart quote recognition. | John MacFarlane | |
All tests now pass. | |||
2015-02-14 | Added 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-13 | Updated scanners for new whitespace definition. | John MacFarlane | |
2015-02-02 | Don't rely on strnlen being available | Nick Wellnhofer | |
2015-01-31 | Fixed autolink scanner to conform to the spec. | John MacFarlane | |
Backslash escapes not allowed in autolinks. | |||
2015-01-28 | Added Profile build type, 'make prof' target. | John MacFarlane | |
2015-01-23 | Add version information to shared library | Nick Wellnhofer | |
2015-01-23 | Let cmake update version | Nick Wellnhofer | |
Add a new template cmark_version.h.in to generate cmark_version.h containing version information. | |||
2015-01-23 | Improve version information | Nick Wellnhofer | |
Add version number and string as macros and symbols. Version numbers can be easily compared, for example in the C preprocessor: #include <cmark.h> #if CMARK_VERSION < 0x020200 #error Requires libcmark 2.2.0 or higher #endif Storing the version in a global variable allows to check the library version at runtime. For example: if (CMARK_VERSION != cmark_version) { warn("Compiled against libcmark %s, but using %s", CMARK_VERSION_STRING, cmark_version_string); } The version should be updated whenever the public API is changed. | |||
2015-01-21 | Avoid free(0) for link titles and URLs. | John MacFarlane | |
2015-01-21 | Removed unnecessary strbuf_free's. | John MacFarlane | |
2015-01-21 | Avoid trying to free string_contents for inlines. | John MacFarlane | |
This avoids an unnecessary free(0) -- and perhaps free(???). However, ltrace reveals that there is still a free(0) happening, with some other source. | |||
2015-01-20 | Accessor for iterator's root node | Nick Wellnhofer | |
2015-01-20 | Add user data field for nodes | Nick Wellnhofer | |
2015-01-19 | Man writer: ensure we properly escape multiline strings. | John MacFarlane | |
2015-01-18 | Readjust parser->current after closing fenced block. | John MacFarlane | |
Added assertion to raise an error if finalize is called on a closed block (as was happening undetected because of the fallback behavior). | |||
2015-01-18 | Changed rule for `_` emphasis and strong emphasis. | John MacFarlane | |
To prevent intra-word emphasis, we used to check to see if the delimiter was followed/preceded by an ASCII alphanumeric. We now do something more elegant: whereas an opening `*` must be left-flanking, an opening `_` must be left-flanking *and not right-flanking*. And so on for the other cases. All the original tests passed except some tests with Russian text with internal `_`, which formerly created emphasis but no longer do with the new rule. These tests have been adjusted. A few new test cases have been added to illustrate the rule. The C and JS implementations have both been updated. | |||
2015-01-17 | Removed some unneeded tests (code clarity). | John MacFarlane | |
2015-01-17 | Small code clarification. | John MacFarlane | |
2015-01-17 | Put check for fence close with the other checks for end-of-block. | John MacFarlane | |
This is a more logical arrangement and follows recent changes to the JS implementation. | |||
2015-01-16 | Fixed #285 in cmark. | John MacFarlane | |
2015-01-16 | Nonrecursive rewrite of ends_with_blank_line. | John MacFarlane | |
Closes #286. | |||
2015-01-16 | Renamed parameters cmark_node -> node. | John MacFarlane | |
Minor code reformatting: This corrects an overzealous global replace from earlier. | |||
2015-01-12 | Some astyle reformatting. | John MacFarlane | |
2015-01-11 | xml.c: Include level attribute in header. | John MacFarlane | |
2015-01-11 | xml format: use 'destination' instead of 'url', like the spec. | John MacFarlane | |