summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcmark-gfm-extensions/README-DEV16
-rw-r--r--libcmark-gfm-extensions/fix-core-extensions-header.patch22
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.c1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.h1
-rw-r--r--libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h61
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h.orig1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/core-extensions.c1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.c1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.h1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.c1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.h1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.c1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.h1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.c1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.h1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.c1
l---------libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.h1
18 files changed, 112 insertions, 2 deletions
diff --git a/libcmark-gfm-extensions/README-DEV b/libcmark-gfm-extensions/README-DEV
index d350c92..b3460c2 100644
--- a/libcmark-gfm-extensions/README-DEV
+++ b/libcmark-gfm-extensions/README-DEV
@@ -5,7 +5,21 @@ upstream version. See ../README-DEV for general notes on cmark-gfm packaging.
Symlink the required upstream files and directories into
libcmark-gfm-extensions/:
-$ ln -s ../../upstream/extensions libcmark-gfm-extensions
+$ mkdir -p libcmark-gfm-extensions/extensions
+$ pushd libcmark-gfm-extensions/extensions
+$ ln -s ../../../upstream/extensions/*.{c,h} ./
+
+Also patch the broken cmark-gfm-core-extensions.h header (see the reported
+issue #244 for details):
+
+$ mv cmark-gfm-core-extensions.h cmark-gfm-core-extensions.h.orig
+$ cp cmark-gfm-core-extensions.h.orig cmark-gfm-core-extensions.h
+$ git apply fix-core-extensions-header.patch
+$ popd
+
+Note that patches are produced by commands similar to the following:
+
+$ git diff >fix-core-extensions-header.patch
Create cmark-gfm-extensions_export.h defining CMARK_GFM_EXTENSIONS_EXPORT
macro.
diff --git a/libcmark-gfm-extensions/fix-core-extensions-header.patch b/libcmark-gfm-extensions/fix-core-extensions-header.patch
new file mode 100644
index 0000000..1400617
--- /dev/null
+++ b/libcmark-gfm-extensions/fix-core-extensions-header.patch
@@ -0,0 +1,22 @@
+diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h
+index 0645915..69f1f31 100644
+--- a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h
++++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h
+@@ -7,9 +7,16 @@ extern "C" {
+
+ #include "cmark-gfm-extension_api.h"
+ #include "cmark-gfm-extensions_export.h"
+-#include "config.h" // for bool
+ #include <stdint.h>
+
++/* Fix the issue #244, including stdbool.h instead of (private) config.h.
++ *
++ * Note that here we assume that stdbool.h is available regardless if the C99
++ * standard is specified for the C compiler or not, which is true for all the
++ * platforms/compilers that we currently support.
++ */
++#include <stdbool.h>
++
+ CMARK_GFM_EXTENSIONS_EXPORT
+ void cmark_gfm_core_extensions_ensure_registered(void);
+
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions
deleted file mode 120000
index b42e4e2..0000000
--- a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions
+++ /dev/null
@@ -1 +0,0 @@
-../../upstream/extensions \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.c
new file mode 120000
index 0000000..b4cc9e2
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.c
@@ -0,0 +1 @@
+../../../upstream/extensions/autolink.c \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.h
new file mode 120000
index 0000000..6e2825e
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/autolink.h
@@ -0,0 +1 @@
+../../../upstream/extensions/autolink.h \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h
new file mode 100644
index 0000000..69f1f31
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h
@@ -0,0 +1,61 @@
+#ifndef CMARK_GFM_CORE_EXTENSIONS_H
+#define CMARK_GFM_CORE_EXTENSIONS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "cmark-gfm-extension_api.h"
+#include "cmark-gfm-extensions_export.h"
+#include <stdint.h>
+
+/* Fix the issue #244, including stdbool.h instead of (private) config.h.
+ *
+ * Note that here we assume that stdbool.h is available regardless if the C99
+ * standard is specified for the C compiler or not, which is true for all the
+ * platforms/compilers that we currently support.
+ */
+#include <stdbool.h>
+
+CMARK_GFM_EXTENSIONS_EXPORT
+void cmark_gfm_core_extensions_ensure_registered(void);
+
+CMARK_GFM_EXTENSIONS_EXPORT
+uint16_t cmark_gfm_extensions_get_table_columns(cmark_node *node);
+
+/** Sets the number of columns for the table, returning 1 on success and 0 on error.
+ */
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_set_table_columns(cmark_node *node, uint16_t n_columns);
+
+CMARK_GFM_EXTENSIONS_EXPORT
+uint8_t *cmark_gfm_extensions_get_table_alignments(cmark_node *node);
+
+/** Sets the alignments for the table, returning 1 on success and 0 on error.
+ */
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_set_table_alignments(cmark_node *node, uint16_t ncols, uint8_t *alignments);
+
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_get_table_row_is_header(cmark_node *node);
+
+/** Sets whether the node is a table header row, returning 1 on success and 0 on error.
+ */
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_set_table_row_is_header(cmark_node *node, int is_header);
+
+CMARK_GFM_EXTENSIONS_EXPORT
+bool cmark_gfm_extensions_get_tasklist_item_checked(cmark_node *node);
+/* For backwards compatibility */
+#define cmark_gfm_extensions_tasklist_is_checked cmark_gfm_extensions_get_tasklist_item_checked
+
+/** Sets whether a tasklist item is "checked" (completed), returning 1 on success and 0 on error.
+ */
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_set_tasklist_item_checked(cmark_node *node, bool is_checked);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h.orig b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h.orig
new file mode 120000
index 0000000..e92ae79
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h.orig
@@ -0,0 +1 @@
+../../../upstream/extensions/cmark-gfm-core-extensions.h \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/core-extensions.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/core-extensions.c
new file mode 120000
index 0000000..fb29477
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/core-extensions.c
@@ -0,0 +1 @@
+../../../upstream/extensions/core-extensions.c \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.c
new file mode 120000
index 0000000..3897e85
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.c
@@ -0,0 +1 @@
+../../../upstream/extensions/ext_scanners.c \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.h
new file mode 120000
index 0000000..8428501
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/ext_scanners.h
@@ -0,0 +1 @@
+../../../upstream/extensions/ext_scanners.h \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.c
new file mode 120000
index 0000000..25bbeea
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.c
@@ -0,0 +1 @@
+../../../upstream/extensions/strikethrough.c \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.h
new file mode 120000
index 0000000..b4a5b91
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/strikethrough.h
@@ -0,0 +1 @@
+../../../upstream/extensions/strikethrough.h \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.c
new file mode 120000
index 0000000..cf9d4dd
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.c
@@ -0,0 +1 @@
+../../../upstream/extensions/table.c \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.h
new file mode 120000
index 0000000..eb40a56
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/table.h
@@ -0,0 +1 @@
+../../../upstream/extensions/table.h \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.c
new file mode 120000
index 0000000..c30d93c
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.c
@@ -0,0 +1 @@
+../../../upstream/extensions/tagfilter.c \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.h
new file mode 120000
index 0000000..3e0fc4c
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tagfilter.h
@@ -0,0 +1 @@
+../../../upstream/extensions/tagfilter.h \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.c b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.c
new file mode 120000
index 0000000..b7a6a18
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.c
@@ -0,0 +1 @@
+../../../upstream/extensions/tasklist.c \ No newline at end of file
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.h
new file mode 120000
index 0000000..33145a7
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/tasklist.h
@@ -0,0 +1 @@
+../../../upstream/extensions/tasklist.h \ No newline at end of file