commonmarker 0.17.11 → 0.17.12
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of commonmarker might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ext/commonmarker/arena.c +2 -2
- data/ext/commonmarker/autolink.h +3 -3
- data/ext/commonmarker/blocks.c +1 -1
- data/ext/commonmarker/buffer.h +23 -23
- data/ext/commonmarker/chunk.h +1 -1
- data/ext/commonmarker/cmark-gfm-core-extensions.h +25 -0
- data/ext/commonmarker/{cmark_extension_api.h → cmark-gfm-extension_api.h} +67 -67
- data/ext/commonmarker/cmark-gfm-extensions_export.h +42 -0
- data/ext/commonmarker/{cmark.h → cmark-gfm.h} +88 -88
- data/ext/commonmarker/cmark-gfm_export.h +42 -0
- data/ext/commonmarker/cmark-gfm_version.h +7 -0
- data/ext/commonmarker/cmark.c +3 -3
- data/ext/commonmarker/cmark_ctype.h +6 -6
- data/ext/commonmarker/commonmark.c +2 -2
- data/ext/commonmarker/commonmarker.c +5 -5
- data/ext/commonmarker/commonmarker.h +1 -1
- data/ext/commonmarker/core-extensions.c +2 -2
- data/ext/commonmarker/ext_scanners.h +1 -1
- data/ext/commonmarker/footnotes.c +1 -1
- data/ext/commonmarker/houdini.h +6 -6
- data/ext/commonmarker/houdini_href_e.c +2 -2
- data/ext/commonmarker/html.c +1 -1
- data/ext/commonmarker/inlines.c +1 -1
- data/ext/commonmarker/inlines.h +1 -1
- data/ext/commonmarker/iterator.c +1 -1
- data/ext/commonmarker/iterator.h +1 -1
- data/ext/commonmarker/latex.c +1 -1
- data/ext/commonmarker/linked_list.c +1 -1
- data/ext/commonmarker/man.c +1 -1
- data/ext/commonmarker/node.h +4 -4
- data/ext/commonmarker/plugin.h +2 -2
- data/ext/commonmarker/references.c +1 -1
- data/ext/commonmarker/registry.c +1 -1
- data/ext/commonmarker/registry.h +4 -4
- data/ext/commonmarker/render.c +1 -1
- data/ext/commonmarker/scanners.h +1 -1
- data/ext/commonmarker/strikethrough.c +1 -2
- data/ext/commonmarker/strikethrough.h +3 -3
- data/ext/commonmarker/syntax_extension.c +1 -1
- data/ext/commonmarker/syntax_extension.h +2 -2
- data/ext/commonmarker/table.c +10 -5
- data/ext/commonmarker/table.h +3 -3
- data/ext/commonmarker/tagfilter.h +3 -3
- data/ext/commonmarker/utf8.h +6 -6
- data/ext/commonmarker/xml.c +1 -1
- data/lib/commonmarker/renderer/html_renderer.rb +5 -5
- data/lib/commonmarker/version.rb +1 -2
- data/test/test_extensions.rb +3 -1
- metadata +8 -8
- data/ext/commonmarker/cmark_export.h +0 -42
- data/ext/commonmarker/cmark_version.h +0 -8
- data/ext/commonmarker/cmarkextensions_export.h +0 -42
- data/ext/commonmarker/core-extensions.h +0 -25
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
#ifndef CMARK_GFM_EXPORT_H
|
3
|
+
#define CMARK_GFM_EXPORT_H
|
4
|
+
|
5
|
+
#ifdef CMARK_GFM_STATIC_DEFINE
|
6
|
+
# define CMARK_GFM_EXPORT
|
7
|
+
# define CMARK_GFM_NO_EXPORT
|
8
|
+
#else
|
9
|
+
# ifndef CMARK_GFM_EXPORT
|
10
|
+
# ifdef libcmark_gfm_EXPORTS
|
11
|
+
/* We are building this library */
|
12
|
+
# define CMARK_GFM_EXPORT __attribute__((visibility("default")))
|
13
|
+
# else
|
14
|
+
/* We are using this library */
|
15
|
+
# define CMARK_GFM_EXPORT __attribute__((visibility("default")))
|
16
|
+
# endif
|
17
|
+
# endif
|
18
|
+
|
19
|
+
# ifndef CMARK_GFM_NO_EXPORT
|
20
|
+
# define CMARK_GFM_NO_EXPORT __attribute__((visibility("hidden")))
|
21
|
+
# endif
|
22
|
+
#endif
|
23
|
+
|
24
|
+
#ifndef CMARK_GFM_DEPRECATED
|
25
|
+
# define CMARK_GFM_DEPRECATED __attribute__ ((__deprecated__))
|
26
|
+
#endif
|
27
|
+
|
28
|
+
#ifndef CMARK_GFM_DEPRECATED_EXPORT
|
29
|
+
# define CMARK_GFM_DEPRECATED_EXPORT CMARK_GFM_EXPORT CMARK_GFM_DEPRECATED
|
30
|
+
#endif
|
31
|
+
|
32
|
+
#ifndef CMARK_GFM_DEPRECATED_NO_EXPORT
|
33
|
+
# define CMARK_GFM_DEPRECATED_NO_EXPORT CMARK_GFM_NO_EXPORT CMARK_GFM_DEPRECATED
|
34
|
+
#endif
|
35
|
+
|
36
|
+
#if 0 /* DEFINE_NO_DEPRECATED */
|
37
|
+
# ifndef CMARK_GFM_NO_DEPRECATED
|
38
|
+
# define CMARK_GFM_NO_DEPRECATED
|
39
|
+
# endif
|
40
|
+
#endif
|
41
|
+
|
42
|
+
#endif /* CMARK_GFM_EXPORT_H */
|
data/ext/commonmarker/cmark.c
CHANGED
@@ -4,15 +4,15 @@
|
|
4
4
|
#include "registry.h"
|
5
5
|
#include "node.h"
|
6
6
|
#include "houdini.h"
|
7
|
-
#include "cmark.h"
|
7
|
+
#include "cmark-gfm.h"
|
8
8
|
#include "buffer.h"
|
9
9
|
|
10
10
|
cmark_node_type CMARK_NODE_LAST_BLOCK = CMARK_NODE_FOOTNOTE_DEFINITION;
|
11
11
|
cmark_node_type CMARK_NODE_LAST_INLINE = CMARK_NODE_FOOTNOTE_REFERENCE;
|
12
12
|
|
13
|
-
int cmark_version() { return
|
13
|
+
int cmark_version() { return CMARK_GFM_VERSION; }
|
14
14
|
|
15
|
-
const char *cmark_version_string() { return
|
15
|
+
const char *cmark_version_string() { return CMARK_GFM_VERSION_STRING; }
|
16
16
|
|
17
17
|
static void *xcalloc(size_t nmem, size_t size) {
|
18
18
|
void *ptr = calloc(nmem, size);
|
@@ -5,25 +5,25 @@
|
|
5
5
|
extern "C" {
|
6
6
|
#endif
|
7
7
|
|
8
|
-
#include "
|
8
|
+
#include "cmark-gfm_export.h"
|
9
9
|
|
10
10
|
/** Locale-independent versions of functions from ctype.h.
|
11
11
|
* We want cmark to behave the same no matter what the system locale.
|
12
12
|
*/
|
13
13
|
|
14
|
-
|
14
|
+
CMARK_GFM_EXPORT
|
15
15
|
int cmark_isspace(char c);
|
16
16
|
|
17
|
-
|
17
|
+
CMARK_GFM_EXPORT
|
18
18
|
int cmark_ispunct(char c);
|
19
19
|
|
20
|
-
|
20
|
+
CMARK_GFM_EXPORT
|
21
21
|
int cmark_isalnum(char c);
|
22
22
|
|
23
|
-
|
23
|
+
CMARK_GFM_EXPORT
|
24
24
|
int cmark_isdigit(char c);
|
25
25
|
|
26
|
-
|
26
|
+
CMARK_GFM_EXPORT
|
27
27
|
int cmark_isalpha(char c);
|
28
28
|
|
29
29
|
#ifdef __cplusplus
|
@@ -5,7 +5,7 @@
|
|
5
5
|
#include <assert.h>
|
6
6
|
|
7
7
|
#include "config.h"
|
8
|
-
#include "cmark.h"
|
8
|
+
#include "cmark-gfm.h"
|
9
9
|
#include "node.h"
|
10
10
|
#include "buffer.h"
|
11
11
|
#include "utf8.h"
|
@@ -35,7 +35,7 @@ static CMARK_INLINE void outc(cmark_renderer *renderer, cmark_node *node,
|
|
35
35
|
c < 0x80 && escape != LITERAL &&
|
36
36
|
((escape == NORMAL &&
|
37
37
|
(c == '*' || c == '_' || c == '[' || c == ']' || c == '#' || c == '<' ||
|
38
|
-
c == '>' || c == '\\' || c == '`' || c == '!' ||
|
38
|
+
c == '>' || c == '\\' || c == '`' || c == '~' || c == '!' ||
|
39
39
|
(c == '&' && cmark_isalpha(nextc)) || (c == '!' && nextc == '[') ||
|
40
40
|
(renderer->begin_content && (c == '-' || c == '+' || c == '=') &&
|
41
41
|
// begin_content doesn't get set to false til we've passed digits
|
@@ -1,11 +1,11 @@
|
|
1
1
|
#include "commonmarker.h"
|
2
|
-
#include "cmark.h"
|
2
|
+
#include "cmark-gfm.h"
|
3
3
|
#include "houdini.h"
|
4
4
|
#include "node.h"
|
5
5
|
#include "registry.h"
|
6
6
|
#include "parser.h"
|
7
7
|
#include "syntax_extension.h"
|
8
|
-
#include "core-extensions.h"
|
8
|
+
#include "cmark-gfm-core-extensions.h"
|
9
9
|
|
10
10
|
static VALUE rb_mNodeError;
|
11
11
|
static VALUE rb_mNode;
|
@@ -1041,8 +1041,8 @@ static VALUE rb_node_get_table_alignments(VALUE self) {
|
|
1041
1041
|
VALUE ary;
|
1042
1042
|
Data_Get_Struct(self, cmark_node, node);
|
1043
1043
|
|
1044
|
-
column_count =
|
1045
|
-
alignments =
|
1044
|
+
column_count = cmark_gfm_extensions_get_table_columns(node);
|
1045
|
+
alignments = cmark_gfm_extensions_get_table_alignments(node);
|
1046
1046
|
|
1047
1047
|
if (!column_count || !alignments) {
|
1048
1048
|
rb_raise(rb_mNodeError, "could not get column_count or alignments");
|
@@ -1193,5 +1193,5 @@ __attribute__((visibility("default"))) void Init_commonmarker() {
|
|
1193
1193
|
rb_define_method(rb_mNode, "html_escape_href", rb_html_escape_href, 1);
|
1194
1194
|
rb_define_method(rb_mNode, "html_escape_html", rb_html_escape_html, 1);
|
1195
1195
|
|
1196
|
-
|
1196
|
+
cmark_gfm_core_extensions_ensure_registered();
|
1197
1197
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#include "core-extensions.h"
|
1
|
+
#include "cmark-gfm-core-extensions.h"
|
2
2
|
#include "autolink.h"
|
3
3
|
#include "strikethrough.h"
|
4
4
|
#include "table.h"
|
@@ -15,7 +15,7 @@ static int core_extensions_registration(cmark_plugin *plugin) {
|
|
15
15
|
return 1;
|
16
16
|
}
|
17
17
|
|
18
|
-
void
|
18
|
+
void cmark_gfm_core_extensions_ensure_registered(void) {
|
19
19
|
static int registered = 0;
|
20
20
|
|
21
21
|
if (!registered) {
|
data/ext/commonmarker/houdini.h
CHANGED
@@ -31,22 +31,22 @@ extern "C" {
|
|
31
31
|
#define HOUDINI_ESCAPED_SIZE(x) (((x)*12) / 10)
|
32
32
|
#define HOUDINI_UNESCAPED_SIZE(x) (x)
|
33
33
|
|
34
|
-
|
34
|
+
CMARK_GFM_EXPORT
|
35
35
|
bufsize_t houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src,
|
36
36
|
bufsize_t size);
|
37
|
-
|
37
|
+
CMARK_GFM_EXPORT
|
38
38
|
int houdini_escape_html(cmark_strbuf *ob, const uint8_t *src,
|
39
39
|
bufsize_t size);
|
40
|
-
|
40
|
+
CMARK_GFM_EXPORT
|
41
41
|
int houdini_escape_html0(cmark_strbuf *ob, const uint8_t *src,
|
42
42
|
bufsize_t size, int secure);
|
43
|
-
|
43
|
+
CMARK_GFM_EXPORT
|
44
44
|
int houdini_unescape_html(cmark_strbuf *ob, const uint8_t *src,
|
45
45
|
bufsize_t size);
|
46
|
-
|
46
|
+
CMARK_GFM_EXPORT
|
47
47
|
void houdini_unescape_html_f(cmark_strbuf *ob, const uint8_t *src,
|
48
48
|
bufsize_t size);
|
49
|
-
|
49
|
+
CMARK_GFM_EXPORT
|
50
50
|
int houdini_escape_href(cmark_strbuf *ob, const uint8_t *src,
|
51
51
|
bufsize_t size);
|
52
52
|
|
@@ -7,7 +7,7 @@
|
|
7
7
|
/*
|
8
8
|
* The following characters will not be escaped:
|
9
9
|
*
|
10
|
-
* -_.+!*'()
|
10
|
+
* -_.+!*'(),%#@?=;:/,+&$~ alphanum
|
11
11
|
*
|
12
12
|
* Note that this character set is the addition of:
|
13
13
|
*
|
@@ -35,7 +35,7 @@ static const char HREF_SAFE[] = {
|
|
35
35
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
36
36
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
|
37
37
|
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
38
|
-
1, 1, 1, 0, 0, 0,
|
38
|
+
1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
39
39
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
40
40
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
41
41
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
data/ext/commonmarker/html.c
CHANGED
data/ext/commonmarker/inlines.c
CHANGED
data/ext/commonmarker/inlines.h
CHANGED
@@ -10,7 +10,7 @@ extern "C" {
|
|
10
10
|
cmark_chunk cmark_clean_url(cmark_mem *mem, cmark_chunk *url);
|
11
11
|
cmark_chunk cmark_clean_title(cmark_mem *mem, cmark_chunk *title);
|
12
12
|
|
13
|
-
|
13
|
+
CMARK_GFM_EXPORT
|
14
14
|
void cmark_parse_inlines(cmark_parser *parser,
|
15
15
|
cmark_node *parent,
|
16
16
|
cmark_map *refmap,
|
data/ext/commonmarker/iterator.c
CHANGED
data/ext/commonmarker/iterator.h
CHANGED
data/ext/commonmarker/latex.c
CHANGED
data/ext/commonmarker/man.c
CHANGED
data/ext/commonmarker/node.h
CHANGED
@@ -8,8 +8,8 @@ extern "C" {
|
|
8
8
|
#include <stdio.h>
|
9
9
|
#include <stdint.h>
|
10
10
|
|
11
|
-
#include "cmark.h"
|
12
|
-
#include "
|
11
|
+
#include "cmark-gfm.h"
|
12
|
+
#include "cmark-gfm-extension_api.h"
|
13
13
|
#include "buffer.h"
|
14
14
|
#include "chunk.h"
|
15
15
|
|
@@ -89,7 +89,7 @@ struct cmark_node {
|
|
89
89
|
static CMARK_INLINE cmark_mem *cmark_node_mem(cmark_node *node) {
|
90
90
|
return node->content.mem;
|
91
91
|
}
|
92
|
-
|
92
|
+
CMARK_GFM_EXPORT int cmark_node_check(cmark_node *node, FILE *out);
|
93
93
|
|
94
94
|
static CMARK_INLINE bool CMARK_NODE_TYPE_BLOCK_P(cmark_node_type node_type) {
|
95
95
|
return (node_type & CMARK_NODE_TYPE_MASK) == CMARK_NODE_TYPE_BLOCK;
|
@@ -107,7 +107,7 @@ static CMARK_INLINE bool CMARK_NODE_INLINE_P(cmark_node *node) {
|
|
107
107
|
return node != NULL && CMARK_NODE_TYPE_INLINE_P((cmark_node_type) node->type);
|
108
108
|
}
|
109
109
|
|
110
|
-
|
110
|
+
CMARK_GFM_EXPORT bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type);
|
111
111
|
|
112
112
|
#ifdef __cplusplus
|
113
113
|
}
|
data/ext/commonmarker/plugin.h
CHANGED
data/ext/commonmarker/registry.c
CHANGED
data/ext/commonmarker/registry.h
CHANGED
@@ -5,16 +5,16 @@
|
|
5
5
|
extern "C" {
|
6
6
|
#endif
|
7
7
|
|
8
|
-
#include "cmark.h"
|
8
|
+
#include "cmark-gfm.h"
|
9
9
|
#include "plugin.h"
|
10
10
|
|
11
|
-
|
11
|
+
CMARK_GFM_EXPORT
|
12
12
|
void cmark_register_plugin(cmark_plugin_init_func reg_fn);
|
13
13
|
|
14
|
-
|
14
|
+
CMARK_GFM_EXPORT
|
15
15
|
void cmark_release_plugins(void);
|
16
16
|
|
17
|
-
|
17
|
+
CMARK_GFM_EXPORT
|
18
18
|
cmark_llist *cmark_list_syntax_extensions(cmark_mem *mem);
|
19
19
|
|
20
20
|
#ifdef __cplusplus
|
data/ext/commonmarker/render.c
CHANGED
data/ext/commonmarker/scanners.h
CHANGED
@@ -51,7 +51,6 @@ static delimiter *insert(cmark_syntax_extension *self, cmark_parser *parser,
|
|
51
51
|
|
52
52
|
cmark_node_set_syntax_extension(strikethrough, self);
|
53
53
|
|
54
|
-
cmark_node_set_string_content(strikethrough, "~");
|
55
54
|
tmp = cmark_node_next(opener->inl_text);
|
56
55
|
|
57
56
|
while (tmp) {
|
@@ -94,7 +93,7 @@ static int can_contain(cmark_syntax_extension *extension, cmark_node *node,
|
|
94
93
|
static void commonmark_render(cmark_syntax_extension *extension,
|
95
94
|
cmark_renderer *renderer, cmark_node *node,
|
96
95
|
cmark_event_type ev_type, int options) {
|
97
|
-
renderer->out(renderer, node,
|
96
|
+
renderer->out(renderer, node, "~~", false, LITERAL);
|
98
97
|
}
|
99
98
|
|
100
99
|
static void latex_render(cmark_syntax_extension *extension,
|
@@ -1,7 +1,7 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef CMARK_GFM_STRIKETHROUGH_H
|
2
|
+
#define CMARK_GFM_STRIKETHROUGH_H
|
3
3
|
|
4
|
-
#include "core-extensions.h"
|
4
|
+
#include "cmark-gfm-core-extensions.h"
|
5
5
|
|
6
6
|
extern cmark_node_type CMARK_NODE_STRIKETHROUGH;
|
7
7
|
cmark_syntax_extension *create_strikethrough_extension(void);
|