Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | 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-14 | astyle changes (code formatting only). | John MacFarlane | |
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-05 | Reformatted code consistently with astyle. | John MacFarlane | |
2014-12-29 | Renamed a couple variables. | John MacFarlane | |
2014-12-29 | Added cmark_ prefix to functions in cmark_ctype. | John MacFarlane | |
2014-12-29 | Added cmark_ctype.h with locale-independent isspace, ispunct, etc. | John MacFarlane | |
Otherwise cmark's behavior varies unpredictably with the locale. `is_punctuation` in utf8.h has also been adjusted so that everything that counts all ASCII symbol characters count as punctuation, even though some are not in P* character classes. | |||
2014-12-26 | Optimized the change in 72a556fd3bd17feaffba2fb6faa8c8f2a3931643. | John MacFarlane | |
Thanks @Knagis. | |||
2014-12-25 | Updated C parser to handle #252. | John MacFarlane | |
Closes #252. | |||
2014-12-25 | Improved rules for emphasis and strong emphasis. | John MacFarlane | |
This improves parsing of emphasis around punctuation. Background: http://talk.commonmark.org/t/emphasis-inside-strong-broken-in-js-implementation-when-parenthesis-involved/903/6 The basic idea of the change is that if the delimiter is part of a delimiter clump that has punctuation to the left and a normal character (non-space, non-punctuation) to the right, it can only be an opener. If it has punctuation to the right and a normal character (non-space, non-punctuation) to the left, it can only be a closer. This handles cases like **Gomphocarpus (*Gomphocarpus physocarpus*, syn. *Asclepias physocarpa*)** and **foo "*bar*" foo** better than before. The spec section on Emphasis and Strong Emphasis has been extensively revised. The C and JS implementations have been brought up to date, and all tests pass. | |||
2014-12-15 | Re-added cmark_ prefix to strbuf and chunk. | John MacFarlane | |
Reverts 225d720. | |||
2014-12-14 | Added comment. | John MacFarlane | |
2014-12-14 | Use UTF-8 sensitive functions to check for spaces around emph markers. | John MacFarlane | |
2014-12-14 | Rename CMARK_NODE_INLINE_CODE -> CMARK_NODE_CODE. | John MacFarlane | |
2014-12-13 | Removed cmark_ prefix on chunk and strbuf. | John MacFarlane | |
This isn't needed any more since we don't expose these in the API. | |||
2014-12-04 | Moved source files from src/html into src. | John MacFarlane | |
The separate directory presents problems for some simple extension building systems, like luarocks. | |||
2014-11-30 | Rename member first_inline to inl_text in struct delimiter | Nick Wellnhofer | |
2014-11-30 | Eliminate delim_count in struct delimiter | Nick Wellnhofer | |
Use literal length instead. | |||
2014-11-30 | Simplify remove_delimiter | Nick Wellnhofer | |
2014-11-30 | Simplify push_delimiter | Nick Wellnhofer | |
Always modify the subject when pushing a delimiter. | |||
2014-11-30 | Rename delimiter_stack to delimiter | Nick Wellnhofer | |
The struct actually describes a delimiter. I also find it conceptually much clearer to think of a doubly linked list of delimiters than a stack. | |||
2014-11-29 | Merge pull request #227 from nwellnhof/process_emph | John MacFarlane | |
Optimize and clarify process_emph | |||
2014-11-29 | Check for `[` character in `link_label`. | John MacFarlane | |
Closes #226. | |||
2014-11-29 | Clarify code in insert_emph | Nick Wellnhofer | |
2014-11-29 | Add local variable for closer inline | Nick Wellnhofer | |
2014-11-29 | Optimize emph insertion | Nick Wellnhofer | |
Avoid unnecessary malloc/free if opener is removed. | |||
2014-11-29 | Remove redundant code | Nick Wellnhofer | |
next/prev pointers are handled by cmark_node_free. | |||
2014-11-29 | Split process_emphasis into two functions | Nick Wellnhofer | |
Makes the code more readable. | |||
2014-11-29 | Fix prev pointer of emph->first_child | Nick Wellnhofer | |
2014-11-28 | Removed cmark_free_nodes from public API. | John MacFarlane | |
Replace it with static S_free_nodes. | |||
2014-11-28 | Clarified logic in remove_delimiter. | John MacFarlane | |
Motivated by warnings from clang static analyzer. | |||
2014-11-28 | Use prefixed names for symbols from references.h | Nick Wellnhofer | |
2014-11-28 | Use prefixed names for symbols from inlines.h | Nick Wellnhofer | |
2014-11-25 | Rename NODE_STRING -> NODE_TEXT. | John MacFarlane | |
In JS, use 'Text' instead of 'Str'. In spec, use "plain textual content" instead of "strings." | |||
2014-11-22 | Fixed #214 C and JS implementations. | John MacFarlane | |
They were gobbling whitespace after shortcut reference links, e.g. [foo] bar [foo]: url Closes #214. | |||
2014-11-18 | Initialize all fields in node when creating inlines. | John MacFarlane | |
2014-11-17 | Make sure the emph inline added in process_emphasis has a parent. | John MacFarlane | |
2014-11-17 | Make parse_inlines add directly to parent. | John MacFarlane | |
Previously parse_inlines returned a list of parsed inlines. This had to be added to the parent, and fix_parents had to be called to manually add the 'parent' links to the children, and the 'last_child' link to the parent. Now parse_inlines takes the parent block as a parameter, and uses cmark_node_append_child to add the children, so that the pointers should be properly managed. This avoids the need for the fix_parents pass. | |||
2014-11-17 | Set last_child and parent in make_link | Nick Wellnhofer | |
2014-11-17 | Store link labels as children in tree structure | Nick Wellnhofer | |
2014-11-17 | Set prev, parent and last_child for inlines | Nick Wellnhofer | |
2014-11-17 | Rename ast.h to parser.h | Nick Wellnhofer | |
2014-11-17 | Move inline-related stuff to inlines.c | Nick Wellnhofer | |
2014-11-17 | Switch cmark_node_inl over to cmark_node | Nick Wellnhofer | |
2014-11-16 | Probe for stdbool.h | Nick Wellnhofer | |
Let cmake create a cmark_config.h file to deal with platforms missing stdbool.h. | |||
2014-11-16 | Rename variables named 'new' | Nick Wellnhofer | |
Needed for C++ compatibility. | |||
2014-11-16 | Cast void pointers explicitly | Nick Wellnhofer | |
Needed for C++ compatibility. | |||
2014-11-16 | Moved AST details from public header cmark.h to private ast.h. | John MacFarlane | |