Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-11-06 | Reformatted code consistently. | John MacFarlane | |
2014-11-06 | HTML renderer: render alt text as plain, unformatted string. | John MacFarlane | |
2014-11-06 | Use render stack for inline links. | John MacFarlane | |
2014-11-05 | Use regular strings for literal in render_stack. | John MacFarlane | |
2014-11-05 | Use stack approach for rendering strong, emph. | John MacFarlane | |
2014-11-05 | Added basic infrastructure for render_stack. | John MacFarlane | |
2014-11-05 | Give warning on unknown inline type. | John MacFarlane | |
2014-11-05 | Improved free_inlines. | John MacFarlane | |
2014-11-05 | Made block-freeing slightly more efficient by using last_child. | John MacFarlane | |
2014-11-05 | Made cmark_free_nodes non-recursive. | John MacFarlane | |
See #187. | |||
2014-11-05 | Removed stack limits in inline parsing. | John MacFarlane | |
This brings back segfaults, but we're now aiming for a better solution, revising the renderer so it doesn't use recursion, and using a stack approach for nested brackets. Removing these limits will allow us to know when we've got it right. See #166, #187. | |||
2014-11-05 | free_inlines: use non-recursive algorithm. | John MacFarlane | |
This will help avoid stack overflows in deeply nested structures. Partially addresses #187 (still need to do renderers). | |||
2014-11-05 | Removed recursive call to handle_strong_emph. | John MacFarlane | |
Closes #186 - in a somewhat different way than in the PR. This is simpler and I don't see any significant impact on performance in my tests. | |||
2014-11-03 | Removed artificial rule for emph/strong markers. | John MacFarlane | |
Previously there was a rule that nothing in a string of more than 3 `*` or `_` characters could close or start emphasis. This was artifical and led to strange asymmetries, e.g. you could have `*a *b**` emph within emph but not `**a **b****` strong within strong. The new parsing strategy makes it easy to remove this limitation. Spec, js, and c implementations have been updated. Spec might need some further grooming. | |||
2014-10-28 | Disallow bracketed labels nested more than 1000 deep. | John MacFarlane | |
For performance reasons. See #166. | |||
2014-10-28 | Changed EMPHASIS_STACK_LIMIT -> STACK_LIMIT. | John MacFarlane | |
We'll also use it in parsing bracketed link labels. | |||
2014-10-28 | Rename number_of_emphasis_openers -> emphasis_nestlevel. | John MacFarlane | |
2014-10-26 | Require space before closing # sequence in ATX header. | John MacFarlane | |
Closes #169. | |||
2014-10-26 | Add EMPHASIS_STACK_LIMIT. | John MacFarlane | |
If we get more than 1000 deep in potential emphasis/strong emphasis openers, we refuse to add more to the stack. This prevents the sort of stack overflow we previously got with python -c 'print "*a **a " * 100000; print " a** a*" * 100000' | ./cmark Partially addresses #166. | |||
2014-10-24 | Renamed c program and library stmd -> cmark. | John MacFarlane | |
Also renamed internal library functions accordingly. | |||
2014-10-24 | Only define MIN if it's undefined. | John MacFarlane | |
Note: it is defined in GNU libc (Linux) and FreeBSD and OSX sys/param.h. | |||
2014-10-24 | Merge branch 'master' of https://github.com/abduelhamit/stmd into ↵ | John MacFarlane | |
abduelhamit-master | |||
2014-10-24 | Add a newline to a line that doesn't end with one. | John MacFarlane | |
Closes #115. | |||
2014-10-24 | Fixed regex for processing instruction. | John MacFarlane | |
We now handle properly `<?php echo '>'; ?>`. Closes #117. | |||
2014-10-24 | Merge branch 'master' of https://github.com/tchetch/stmd into tchetch-master | John MacFarlane | |
Conflicts: src/inlines.c | |||
2014-10-24 | Use unsigned char, not char, throughout. | John MacFarlane | |
Closes #43. | |||
2014-10-24 | Fixed a memory allocation error. | John MacFarlane | |
2014-10-24 | Fixed memory leak by freeing all unused emphasis openers. | John MacFarlane | |
2014-10-24 | Renamed subj->last_emphasis to subj->emphasis_openers. | John MacFarlane | |
2014-10-19 | Removed now-undeeded 'first' parameter in parse_inline. | John MacFarlane | |
2014-10-19 | Whitespace changes. | John MacFarlane | |
2014-10-18 | parse_inline: Correctly move to last inline. | John MacFarlane | |
2014-10-18 | Fixed performance regression. | John MacFarlane | |
See discussion under #157. | |||
2014-10-18 | Don't emit empty str elements in handle_strong_emph. | John MacFarlane | |
2014-10-18 | Reindented c sources. | John MacFarlane | |
2014-10-13 | Add missing MIN directive | Abdülhamit Yilmaz | |
It's needed in strbuf_cmp(). | |||
2014-10-09 | After inline parsing free any remaining InlineStack instances. | user | |
2014-10-09 | Modified inline parsing to keep track of two pointers - the head of the list ↵ | user | |
and the tail. | |||
2014-10-09 | Revert "Modified inline parsing to keep track of two pointers - the head of ↵ | Knagis | |
the list and the tail." This reverts commit bc78ad0a182bd322552fd081e30e552c18a87455. | |||
2014-10-09 | Modified inline parsing to keep track of two pointers - the head of the list ↵ | Knagis | |
and the tail. | |||
2014-10-08 | Implemented stack-based algorithm for matching emphasis | Knagis | |
2014-10-06 | - Use of calloc instead of malloc | tchetch | |
- Test for NULL after allocation | |||
2014-09-18 | Fix memory leak when rendering images as HTML | Jordan Milne | |
2014-09-18 | Use a lookup table for subject_find_special_char | Jordan Milne | |
2014-09-18 | Add missing header | Vicent Marti | |
2014-09-17 | Better handle trailing backslashes in ATX-style headers | Jordan Milne | |
Previously something like '# `\' would hang the parser while it waited for an extra character that wasn't there. | |||
2014-09-15 | Cleanup external APIs | Vicent Marti | |
2014-09-10 | Handle overflows in the codepoint parser | Vicent Marti | |
2014-09-10 | Do not create references with empty names | Vicent Marti | |
2014-09-10 | Do not use strchr for span searches | Vicent Marti | |
Strchr will return a valid pointer for '\0' when searching a static string, as the NULL byte is part of the string. |