cmark 0.5.3.1 → 0.5.4
raw patch · 13 files changed
+360/−459 lines, 13 filesdep ~HUnitPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: HUnit
API changes (from Hackage documentation)
Files
- README.md +2/−2
- cbits/blocks.c +18/−12
- cbits/chunk.h +4/−4
- cbits/cmark.h +2/−2
- cbits/cmark_export.h +4/−3
- cbits/cmark_version.h +2/−2
- cbits/entities.inc +1/−1
- cbits/houdini_html_u.c +1/−1
- cbits/inlines.c +9/−7
- cbits/latex.c +1/−1
- cbits/references.c +3/−3
- cbits/scanners.c +310/−418
- cmark.cabal +3/−3
README.md view
@@ -3,8 +3,8 @@ This package provides Haskell bindings for [libcmark], the reference parser for [CommonMark], a fully specified variant of Markdown.-It includes sources for [libcmark] (version 0.26.0, implementing-version 0.26 of the spec) and does not require prior installation of+It includes sources for [libcmark] (version 0.27.0, implementing+version 0.27 of the spec) and does not require prior installation of the C library. cmark provides the following advantages over existing Markdown
cbits/blocks.c view
@@ -563,21 +563,27 @@ cmark_strbuf_put(&parser->linebuf, buffer, chunk_len); // add replacement character cmark_strbuf_put(&parser->linebuf, repl, 3);- chunk_len += 1; // so we advance the buffer past NULL } else { cmark_strbuf_put(&parser->linebuf, buffer, chunk_len); } } buffer += chunk_len;- // skip over line ending characters:- if (buffer < end && *buffer == '\r') {- buffer++;- if (buffer == end)- parser->last_buffer_ended_with_cr = true;+ if (buffer < end) {+ if (*buffer == '\0') {+ // skip over NULL+ buffer++;+ } else {+ // skip over line ending characters+ if (*buffer == '\r') {+ buffer++;+ if (buffer == end)+ parser->last_buffer_ended_with_cr = true;+ }+ if (*buffer == '\n')+ buffer++;+ } }- if (buffer < end && *buffer == '\n')- buffer++; } } @@ -933,10 +939,10 @@ *container = add_child(parser, *container, CMARK_NODE_THEMATIC_BREAK, parser->first_nonspace + 1); S_advance_offset(parser, input, input->len - 1 - parser->offset, false);- } else if ((matched = parse_list_marker(+ } else if ((!indented || cont_type == CMARK_NODE_LIST) &&+ (matched = parse_list_marker( parser->mem, input, parser->first_nonspace,- (*container)->type == CMARK_NODE_PARAGRAPH, &data)) &&- (!indented || cont_type == CMARK_NODE_LIST)) {+ (*container)->type == CMARK_NODE_PARAGRAPH, &data))) { // Note that we can have new list items starting with >= 4 // spaces indent, as long as the list container is still open.@@ -989,7 +995,7 @@ parser->first_nonspace + 1); /* TODO: static */ memcpy(&((*container)->as.list), data, sizeof(*data));- free(data);+ parser->mem->free(data); } else if (indented && !maybe_lazy && !parser->blank) { S_advance_offset(parser, input, CODE_INDENT, true); *container = add_child(parser, *container, CMARK_NODE_CODE_BLOCK,
cbits/chunk.h view
@@ -50,8 +50,8 @@ cmark_chunk_rtrim(c); } -static CMARK_INLINE bufsize_t- cmark_chunk_strchr(cmark_chunk *ch, int c, bufsize_t offset) {+static CMARK_INLINE bufsize_t cmark_chunk_strchr(cmark_chunk *ch, int c,+ bufsize_t offset) { const unsigned char *p = (unsigned char *)memchr(ch->data + offset, c, ch->len - offset); return p ? (bufsize_t)(p - ch->data) : ch->len;@@ -99,8 +99,8 @@ return c; } -static CMARK_INLINE cmark_chunk- cmark_chunk_dup(const cmark_chunk *ch, bufsize_t pos, bufsize_t len) {+static CMARK_INLINE cmark_chunk cmark_chunk_dup(const cmark_chunk *ch,+ bufsize_t pos, bufsize_t len) { cmark_chunk c = {ch->data + pos, len, 0}; return c; }
cbits/cmark.h view
@@ -590,13 +590,13 @@ * In hexadecimal format, the number 0x010203 represents version 1.2.3. */ CMARK_EXPORT-int cmark_version();+int cmark_version(void); /** The library version string for runtime checks. Also available as * macro CMARK_VERSION_STRING for compile time checks. */ CMARK_EXPORT-const char *cmark_version_string();+const char *cmark_version_string(void); /** # AUTHORS *
cbits/cmark_export.h view
@@ -33,9 +33,10 @@ # define CMARK_DEPRECATED_NO_EXPORT CMARK_NO_EXPORT CMARK_DEPRECATED #endif -#define DEFINE_NO_DEPRECATED 0-#if DEFINE_NO_DEPRECATED-# define CMARK_NO_DEPRECATED+#if 0 /* DEFINE_NO_DEPRECATED */+# ifndef CMARK_NO_DEPRECATED+# define CMARK_NO_DEPRECATED+# endif #endif #endif
cbits/cmark_version.h view
@@ -1,7 +1,7 @@ #ifndef CMARK_VERSION_H #define CMARK_VERSION_H -#define CMARK_VERSION ((0 << 16) | (26 << 8) | 0)-#define CMARK_VERSION_STRING "0.26.0"+#define CMARK_VERSION ((0 << 16) | (27 << 8) | 0)+#define CMARK_VERSION_STRING "0.27.0" #endif
cbits/entities.inc view
@@ -6,7 +6,7 @@ }; #define CMARK_ENTITY_MIN_LENGTH 2-#define CMARK_ENTITY_MAX_LENGTH 31+#define CMARK_ENTITY_MAX_LENGTH 32 #define CMARK_NUM_ENTITIES 2125 static const struct cmark_entity_node cmark_entities[] = {
cbits/houdini_html_u.c view
@@ -16,7 +16,7 @@ strncmp((const char *)s, (const char *)cmark_entities[i].entity, len); if (cmp == 0 && cmark_entities[i].entity[len] == 0) { return (const unsigned char *)cmark_entities[i].bytes;- } else if (cmp < 0 && i > low) {+ } else if (cmp <= 0 && i > low) { j = i - ((i - low) / 2); if (j == i) j -= 1;
cbits/inlines.c view
@@ -330,9 +330,8 @@ delimiter *delim; delim = subj->last_delim; while (delim != NULL) {- printf("Item at stack pos %p, text pos %d: %d %d %d next(%p)-prev(%p)\n",- (void*)delim, delim->position, delim->delim_char,+ printf("Item at stack pos %p: %d %d %d next(%p) prev(%p)\n",+ (void*)delim, delim->delim_char, delim->can_open, delim->can_close, (void*)delim->next, (void*)delim->previous); delim = delim->previous;@@ -353,7 +352,7 @@ if (delim->previous != NULL) { delim->previous->next = delim->next; }- free(delim);+ subj->mem->free(delim); } static void pop_bracket(subject *subj) {@@ -362,7 +361,7 @@ return; b = subj->last_bracket; subj->last_bracket = subj->last_bracket->previous;- free(b);+ subj->mem->free(b); } static void push_delimiter(subject *subj, unsigned char c, bool can_open,@@ -799,7 +798,7 @@ // Return a link, an image, or a literal close bracket. static cmark_node *handle_close_bracket(subject *subj) {- bufsize_t initial_pos;+ bufsize_t initial_pos, after_link_text_pos; bufsize_t starturl, endurl, starttitle, endtitle, endall; bufsize_t n; bufsize_t sps;@@ -833,6 +832,8 @@ // Now we check to see if it's a link/image. is_image = opener->image; + after_link_text_pos = subj->pos;+ // First, look for an inline link. if (peek_char(subj) == '(' && ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) &&@@ -863,7 +864,8 @@ goto match; } else {- goto noMatch;+ // it could still be a shortcut reference link+ subj->pos = after_link_text_pos; } }
cbits/latex.c view
@@ -180,7 +180,7 @@ link_text = node->first_child; cmark_consolidate_text_nodes(link_text); realurl = (char *)url;- realurllen = url_len;+ realurllen = (int)url_len; if (strncmp(realurl, "mailto:", 7) == 0) { realurl += 7; realurllen -= 7;
cbits/references.c view
@@ -46,7 +46,7 @@ assert(result); if (result[0] == '\0') {- free(result);+ mem->free(result); return NULL; } @@ -114,7 +114,7 @@ ref = ref->next; } - free(norm);+ map->mem->free(norm); return ref; } @@ -135,7 +135,7 @@ } } - free(map);+ map->mem->free(map); } cmark_reference_map *cmark_reference_map_new(cmark_mem *mem) {
cbits/scanners.c view
@@ -1,7 +1,7 @@ /* Generated by re2c 0.15.3 */-#include <stdlib.h>-#include "chunk.h" #include "scanners.h"+#include "chunk.h"+#include <stdlib.h> bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset) {@@ -29,38 +29,30 @@ { unsigned char yych; yych = *(marker = p);- if (yych <= 0x7F) {- if (yych <= ' ') {+ if (yych <= 0xC1) {+ if (yych <= 'Z') { if (yych == '\n') goto yy2;- if (yych <= 0x1F)+ if (yych <= '@') goto yy4; goto yy3; } else {- if (yych <= 'Z') {- if (yych <= '@')- goto yy4;+ if (yych <= '`')+ goto yy4;+ if (yych <= 'z') goto yy3;- } else {- if (yych <= '`')- goto yy4;- if (yych <= 'z')- goto yy3;+ if (yych <= 0x7F) goto yy4;- } } } else { if (yych <= 0xED) {- if (yych <= 0xDF) {- if (yych >= 0xC2)- goto yy5;- } else {- if (yych <= 0xE0)- goto yy7;- if (yych <= 0xEC)- goto yy8;- goto yy12;- }+ if (yych <= 0xDF)+ goto yy5;+ if (yych <= 0xE0)+ goto yy7;+ if (yych <= 0xEC)+ goto yy8;+ goto yy12; } else { if (yych <= 0xF0) { if (yych <= 0xEF)@@ -77,14 +69,22 @@ yy2 : { return 0; } yy3: yych = *(marker = ++p);- if (yych <= '.') {- if (yych == '+')+ if (yych <= '/') {+ if (yych <= '+') {+ if (yych <= '*')+ goto yy2; goto yy13;- if (yych <= ',')+ } else {+ if (yych <= ',')+ goto yy2;+ if (yych <= '.')+ goto yy13; goto yy2;- goto yy13;+ } } else { if (yych <= 'Z') {+ if (yych <= '9')+ goto yy13; if (yych <= '@') goto yy2; goto yy13;@@ -153,16 +153,14 @@ yy13: yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')- goto yy6;- goto yy16;- } else {- if (yych <= ',')- goto yy6;- if (yych <= '.')+ if (yych <= ',') {+ if (yych == '+') goto yy16; goto yy6;+ } else {+ if (yych == '/')+ goto yy6;+ goto yy16; } } else { if (yych <= 'Z') {@@ -185,13 +183,11 @@ yy16: yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -209,13 +205,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -233,13 +227,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -257,13 +249,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -281,13 +271,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -305,13 +293,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -329,13 +315,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -353,13 +337,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -377,13 +359,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -401,13 +381,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -425,13 +403,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -449,13 +425,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -473,13 +447,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -497,13 +469,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -521,13 +491,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -545,13 +513,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -569,13 +535,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -593,13 +557,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -617,13 +579,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -641,13 +601,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -665,13 +623,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -689,13 +645,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -713,13 +667,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -737,13 +689,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -761,13 +711,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -785,13 +733,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -809,13 +755,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -833,13 +777,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -857,13 +799,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy6; } else {- if (yych <= ',')- goto yy6;- if (yych >= '/')+ if (yych == '/') goto yy6; } } else {@@ -915,38 +855,30 @@ 0, 0, 0, 0, }; yych = *(marker = p);- if (yych <= 0x7F) {- if (yych <= ' ') {+ if (yych <= 0xC1) {+ if (yych <= 'Z') { if (yych == '\n') goto yy48;- if (yych <= 0x1F)+ if (yych <= '@') goto yy50; goto yy49; } else {- if (yych <= 'Z') {- if (yych <= '@')- goto yy50;+ if (yych <= '`')+ goto yy50;+ if (yych <= 'z') goto yy49;- } else {- if (yych <= '`')- goto yy50;- if (yych <= 'z')- goto yy49;+ if (yych <= 0x7F) goto yy50;- } } } else { if (yych <= 0xED) {- if (yych <= 0xDF) {- if (yych >= 0xC2)- goto yy51;- } else {- if (yych <= 0xE0)- goto yy53;- if (yych <= 0xEC)- goto yy54;- goto yy58;- }+ if (yych <= 0xDF)+ goto yy51;+ if (yych <= 0xE0)+ goto yy53;+ if (yych <= 0xEC)+ goto yy54;+ goto yy58; } else { if (yych <= 0xF0) { if (yych <= 0xEF)@@ -963,14 +895,22 @@ yy48 : { return 0; } yy49: yych = *(marker = ++p);- if (yych <= '.') {- if (yych == '+')+ if (yych <= '/') {+ if (yych <= '+') {+ if (yych <= '*')+ goto yy48; goto yy59;- if (yych <= ',')+ } else {+ if (yych <= ',')+ goto yy48;+ if (yych <= '.')+ goto yy59; goto yy48;- goto yy59;+ } } else { if (yych <= 'Z') {+ if (yych <= '9')+ goto yy59; if (yych <= '@') goto yy48; goto yy59;@@ -1039,16 +979,14 @@ yy59: yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')- goto yy52;- goto yy62;- } else {- if (yych <= ',')- goto yy52;- if (yych <= '.')+ if (yych <= ',') {+ if (yych == '+') goto yy62; goto yy52;+ } else {+ if (yych == '/')+ goto yy52;+ goto yy62; } } else { if (yych <= 'Z') {@@ -1103,13 +1041,11 @@ yy62: yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1127,13 +1063,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1151,13 +1085,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1175,13 +1107,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1199,13 +1129,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1223,13 +1151,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1247,13 +1173,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1271,13 +1195,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1295,13 +1217,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1319,13 +1239,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1343,13 +1261,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1367,13 +1283,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1391,13 +1305,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1415,13 +1327,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1439,13 +1349,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1463,13 +1371,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1487,13 +1393,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1511,13 +1415,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1535,13 +1437,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1559,13 +1459,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1583,13 +1481,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1607,13 +1503,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1631,13 +1525,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1655,13 +1547,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1679,13 +1569,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1703,13 +1591,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1727,13 +1613,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1751,13 +1635,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -1775,13 +1657,11 @@ } yych = *++p; if (yych <= '9') {- if (yych <= '+') {- if (yych <= '*')+ if (yych <= ',') {+ if (yych != '+') goto yy52; } else {- if (yych <= ',')- goto yy52;- if (yych >= '/')+ if (yych == '/') goto yy52; } } else {@@ -8258,45 +8138,37 @@ unsigned char yych; static const unsigned char yybm[] = { /* table 1 .. 8: 0 */- 0, 230, 230, 230, 230, 230, 230, 230, 230, 199, 199, 199, 199, 199,+ 0, 230, 230, 230, 230, 230, 230, 230, 230, 199, 199, 199, 199, 199, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,- 230, 230, 230, 230, 199, 230, 70, 230, 230, 230, 230, 134, 230, 230,- 230, 230, 230, 254, 246, 230, 254, 254, 254, 254, 254, 254, 254, 254,- 254, 254, 246, 230, 198, 198, 196, 230, 230, 254, 254, 254, 254, 254,+ 230, 230, 230, 199, 230, 70, 230, 230, 230, 230, 134, 230, 230, 230,+ 230, 230, 254, 246, 230, 254, 254, 254, 254, 254, 254, 254, 254, 254,+ 254, 246, 230, 198, 198, 196, 230, 230, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,- 254, 254, 254, 254, 254, 254, 254, 230, 230, 226, 230, 246, 198, 254,+ 254, 254, 254, 254, 254, 254, 230, 230, 226, 230, 246, 198, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,- 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 230, 230, 230,- 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0,+ 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 230, 230, 230, 230,+ 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* table 9 .. 11: 256 */- 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+ 0, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,- 160, 160, 160, 32, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,- 160, 160, 160, 160, 160, 160, 160, 128, 160, 224, 224, 224, 224, 224,+ 160, 160, 32, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,+ 160, 160, 160, 160, 160, 160, 128, 160, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,- 224, 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 160, 160, 160,+ 224, 224, 224, 224, 224, 224, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,- 160, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0,+ 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *(marker = p); if (yych <= '`') {@@ -10582,7 +10454,9 @@ yych = *++p; if (yych <= 'S') { if (yych <= 'D') {- if (yych == '1')+ if (yych <= '0')+ goto yy525;+ if (yych <= '6') goto yy564; goto yy525; } else {@@ -18464,18 +18338,18 @@ { unsigned char yych; static const unsigned char yybm[] = {- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *(marker = p); if (yych <= 0xC1) {@@ -18520,30 +18394,34 @@ goto yy1201; } if (yych <= '\f') {- if (yych == '\n')- goto yy1199;+ if (yych <= 0x08)+ goto yy1179;+ if (yych <= '\n')+ goto yy1198; goto yy1179; } else { if (yych <= '\r')- goto yy1199;+ goto yy1198; if (yych == ' ')- goto yy1197;+ goto yy1198; goto yy1179; } yy1181: yych = *(marker = ++p);- if (yybm[0 + yych] & 32) {- goto yy1191;+ if (yybm[0 + yych] & 64) {+ goto yy1195; } if (yych <= '\f') {- if (yych == '\n')- goto yy1193;+ if (yych <= 0x08)+ goto yy1179;+ if (yych <= '\n')+ goto yy1192; goto yy1179; } else { if (yych <= '\r')- goto yy1193;- if (yych == '-')- goto yy1195;+ goto yy1192;+ if (yych == ' ')+ goto yy1192; goto yy1179; } yy1182:@@ -18603,10 +18481,13 @@ yy1191: ++p; yych = *p;+ yy1192: if (yybm[0 + yych] & 32) { goto yy1191; }- if (yych == '\n')+ if (yych <= 0x08)+ goto yy1184;+ if (yych <= '\n') goto yy1193; if (yych != '\r') goto yy1184;@@ -18620,7 +18501,9 @@ goto yy1191; } if (yych <= '\f') {- if (yych == '\n')+ if (yych <= 0x08)+ goto yy1184;+ if (yych <= '\n') goto yy1193; goto yy1184; } else {@@ -18633,9 +18516,14 @@ yy1197: ++p; yych = *p;+ yy1198: if (yych <= '\f') {- if (yych != '\n')+ if (yych <= 0x08) goto yy1184;+ if (yych <= '\t')+ goto yy1197;+ if (yych >= '\v')+ goto yy1184; } else { if (yych <= '\r') goto yy1199;@@ -18653,7 +18541,11 @@ goto yy1201; } if (yych <= '\f') {- if (yych == '\n')+ if (yych <= 0x08)+ goto yy1184;+ if (yych <= '\t')+ goto yy1197;+ if (yych <= '\n') goto yy1199; goto yy1184; } else {
cmark.cabal view
@@ -1,5 +1,5 @@ name: cmark-version: 0.5.3.1+version: 0.5.4 synopsis: Fast, accurate CommonMark (Markdown) parser and renderer description: This package provides Haskell bindings for@@ -9,7 +9,7 @@ libcmark (0.26.0) and does not require prior installation of the C library. -homepage: https://github.com/jgm/commonmark-hs+homepage: https://github.com/jgm/cmark-hs license: BSD3 license-file: LICENSE author: John MacFarlane@@ -104,6 +104,6 @@ type: exitcode-stdio-1.0 main-is: test-cmark.hs hs-source-dirs: test- build-depends: base, cmark, text, HUnit >= 1.2 && < 1.4+ build-depends: base, cmark, text, HUnit >= 1.2 && < 1.6 ghc-options: -Wall -fno-warn-unused-do-bind -threaded default-language: Haskell98