Hello community,

here is the log from the commit of package cmark for openSUSE:Factory checked 
in at 2017-11-04 19:29:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cmark (Old)
 and      /work/SRC/openSUSE:Factory/.cmark.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cmark"

Sat Nov  4 19:29:56 2017 rev:8 rq:538801 version:0.28.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/cmark/cmark.changes      2017-10-01 
17:02:06.760193144 +0200
+++ /work/SRC/openSUSE:Factory/.cmark.new/cmark.changes 2017-11-04 
19:30:22.466741836 +0100
@@ -1,0 +2,10 @@
+Fri Nov  3 16:07:37 UTC 2017 - mimi...@gmail.com
+
+- update to 0.28.3
+ * -smart: open quote can never occur right after ] or ) 
+ * Include GNUInstallDirs in src/CMakeLists.txt
+ * Fix quadratic behavior in finalize
+ * Don't use CMAKE_INSTALL_LIBDIR to create libcmark.pc
+ - drop cmark-install_libdir_is_abs.patch
+
+-------------------------------------------------------------------

Old:
----
  cmark-0.28.0.tar.gz
  cmark-install_libdir_is_abs.patch

New:
----
  cmark-0.28.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cmark.spec ++++++
--- /var/tmp/diff_new_pack.CmBZ9j/_old  2017-11-04 19:30:25.554629010 +0100
+++ /var/tmp/diff_new_pack.CmBZ9j/_new  2017-11-04 19:30:25.558628865 +0100
@@ -16,16 +16,15 @@
 #
 
 
-%define libname libcmark0_28_0
+%define libname libcmark0_28_3
 Name:           cmark
-Version:        0.28.0
+Version:        0.28.3
 Release:        0
 Summary:        CommonMark parsing and rendering library and program in C
 License:        BSD-2-Clause AND MIT AND CC-BY-SA-4.0
 Group:          Productivity/Text/Utilities
 Url:            https://github.com/jgm/cmark
 Source:         
https://github.com/jgm/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
-Patch0:         cmark-install_libdir_is_abs.patch
 BuildRequires:  cmake >= 3.0.2
 BuildRequires:  gcc-c++
 BuildRequires:  pkgconfig
@@ -63,7 +62,6 @@
 
 %prep
 %setup -q
-%patch0 -p1
 
 %build
 %cmake -DCMARK_TESTS=OFF -DCMARK_STATIC=OFF

++++++ cmark-0.28.0.tar.gz -> cmark-0.28.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/CMakeLists.txt 
new/cmark-0.28.3/CMakeLists.txt
--- old/cmark-0.28.0/CMakeLists.txt     2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/CMakeLists.txt     2017-10-21 18:06:00.000000000 +0200
@@ -18,7 +18,7 @@
 
 set(PROJECT_VERSION_MAJOR 0)
 set(PROJECT_VERSION_MINOR 28)
-set(PROJECT_VERSION_PATCH 0)
+set(PROJECT_VERSION_PATCH 3)
 set(PROJECT_VERSION 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} )
 
 option(CMARK_TESTS "Build cmark tests and enable testing" ON)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/README.md new/cmark-0.28.3/README.md
--- old/cmark-0.28.0/README.md  2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/README.md  2017-10-21 18:06:00.000000000 +0200
@@ -110,9 +110,9 @@
 
     make leakcheck
 
-To reformat source code using `astyle`:
+To reformat source code using `clang-format`:
 
-    make astyle
+    make format
 
 To run a "fuzz test" against ten long randomly generated inputs:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/changelog.txt 
new/cmark-0.28.3/changelog.txt
--- old/cmark-0.28.0/changelog.txt      2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/changelog.txt      2017-10-21 18:06:00.000000000 +0200
@@ -1,4 +1,27 @@
-[0.28]
+[0.28.3]
+
+  * Include GNUInstallDirs in src/CMakeLists.txt (Nick Wellnhofer, #240).
+    This fixes build problems on some cmake versions (#241).
+
+[0.28.2]
+
+  * Fixed regression in install dest for static library (#238).
+    Due to a mistake, 0.28.1 installed libcmark.a into include/.
+
+[0.28.1]
+
+  * `--smart`: open quote can never occur right after `]` or `)` (#227).
+  * Fix quadratic behavior in `finalize` (Vicent Marti).
+  * Don't use `CMAKE_INSTALL_LIBDIR` to create `libcmark.pc` (#236).
+    This wasn't getting set in processing `libcmark.pc.in`, and we
+    were getting the wrong entry in `libcmark.pc`.
+    The new approach sets an internal `libdir` variable to
+    `lib${LIB_SUFFIX}`.  This variable is used both to set the
+    install destination and in the libcmark.pc.in template.
+  * Update README.md, replace `make astyle` with `make format`
+    (Nguyễn Thái Ngọc Duy).
+
+[0.28.0]
 
   * Update spec.
   * Use unsigned integer when shifting (Phil Turnbull).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/src/CMakeLists.txt 
new/cmark-0.28.3/src/CMakeLists.txt
--- old/cmark-0.28.0/src/CMakeLists.txt 2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/src/CMakeLists.txt 2017-10-21 18:06:00.000000000 +0200
@@ -2,6 +2,8 @@
     cmake_policy(SET CMP0063 NEW)
 endif()
 
+include(GNUInstallDirs)
+
 set(LIBRARY "libcmark")
 set(STATICLIBRARY "libcmark_static")
 set(HEADERS
@@ -123,19 +125,21 @@
 
 set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
 
+set(libdir lib${LIB_SUFFIX})
+
 include (InstallRequiredSystemLibraries)
 install(TARGETS ${PROGRAM} ${CMARK_INSTALL}
   EXPORT cmark
   RUNTIME DESTINATION bin
-  LIBRARY DESTINATION lib${LIB_SUFFIX}
-  ARCHIVE DESTINATION lib${LIB_SUFFIX}
+  LIBRARY DESTINATION ${libdir}
+  ARCHIVE DESTINATION ${libdir}
   )
 
 if(CMARK_SHARED OR CMARK_STATIC)
   configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libcmark.pc.in
     ${CMAKE_CURRENT_BINARY_DIR}/libcmark.pc @ONLY)
   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libcmark.pc
-    DESTINATION lib${LIB_SUFFIX}/pkgconfig)
+    DESTINATION ${libdir}/pkgconfig)
 
   install(FILES
     cmark.h
@@ -144,7 +148,7 @@
     DESTINATION include
     )
 
-  install(EXPORT cmark DESTINATION lib${LIB_SUFFIX}/cmake)
+  install(EXPORT cmark DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
 endif()
 
 # Feature tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/src/blocks.c 
new/cmark-0.28.3/src/blocks.c
--- old/cmark-0.28.0/src/blocks.c       2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/src/blocks.c       2017-10-21 18:06:00.000000000 +0200
@@ -255,17 +255,21 @@
 
   switch (S_type(b)) {
   case CMARK_NODE_PARAGRAPH:
-    while (cmark_strbuf_at(node_content, 0) == '[' &&
-           (pos = cmark_parse_reference_inline(parser->mem, node_content,
-                                               parser->refmap))) {
+  {
+    cmark_chunk chunk = {node_content->ptr, node_content->size, 0};
+    while (chunk.len && chunk.data[0] == '[' &&
+           (pos = cmark_parse_reference_inline(parser->mem, &chunk, 
parser->refmap))) {
 
-      cmark_strbuf_drop(node_content, pos);
+      chunk.data += pos;
+      chunk.len -= pos;
     }
+    cmark_strbuf_drop(node_content, (node_content->size - chunk.len));
     if (is_blank(node_content, 0)) {
       // remove blank node (former reference def)
       cmark_node_free(b);
     }
     break;
+  }
 
   case CMARK_NODE_CODE_BLOCK:
     if (!b->as.code.fenced) { // indented code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/src/inlines.c 
new/cmark-0.28.3/src/inlines.c
--- old/cmark-0.28.0/src/inlines.c      2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/src/inlines.c      2017-10-21 18:06:00.000000000 +0200
@@ -72,7 +72,7 @@
 
 static int parse_inline(subject *subj, cmark_node *parent, int options);
 
-static void subject_from_buf(cmark_mem *mem, subject *e, cmark_strbuf *buffer,
+static void subject_from_buf(cmark_mem *mem, subject *e, cmark_chunk *chunk,
                              cmark_reference_map *refmap);
 static bufsize_t subject_find_special_char(subject *subj, int options);
 
@@ -149,13 +149,11 @@
   return link;
 }
 
-static void subject_from_buf(cmark_mem *mem, subject *e, cmark_strbuf *buffer,
+static void subject_from_buf(cmark_mem *mem, subject *e, cmark_chunk *chunk,
                              cmark_reference_map *refmap) {
   int i;
   e->mem = mem;
-  e->input.data = buffer->ptr;
-  e->input.len = buffer->size;
-  e->input.alloc = 0;
+  e->input = *chunk;
   e->pos = 0;
   e->refmap = refmap;
   e->last_delim = NULL;
@@ -345,7 +343,8 @@
     *can_close = right_flanking &&
                  (!left_flanking || cmark_utf8proc_is_punctuation(after_char));
   } else if (c == '\'' || c == '"') {
-    *can_open = left_flanking && !right_flanking;
+    *can_open = left_flanking && !right_flanking &&
+                before_char != ']' && before_char != ')';
     *can_close = right_flanking;
   } else {
     *can_open = left_flanking;
@@ -615,7 +614,7 @@
   cmark_node *tmp, *tmpnext, *emph;
 
   // calculate the actual number of characters used from this closer
-  use_delims = (closer_num_chars >= 2 && opener_num_chars >=2) ? 2 : 1;
+  use_delims = (closer_num_chars >= 2 && opener_num_chars >= 2) ? 2 : 1;
 
   // remove used characters from associated inlines.
   opener_num_chars -= use_delims;
@@ -707,7 +706,7 @@
     return result;
   }
 
-  houdini_unescape_html_f(&buf, url->data, url->len);
+    houdini_unescape_html_f(&buf, url->data, url->len);
 
   cmark_strbuf_unescape(&buf);
   return cmark_chunk_buf_detach(&buf);
@@ -821,28 +820,29 @@
   return 0;
 }
 
-static bufsize_t manual_scan_link_url_2(cmark_chunk *input, bufsize_t offset, 
cmark_chunk *output) {
+static bufsize_t manual_scan_link_url_2(cmark_chunk *input, bufsize_t offset,
+                                        cmark_chunk *output) {
   bufsize_t i = offset;
   size_t nb_p = 0;
 
-  while (i < input->len) {
-    if (input->data[i] == '\\' &&
-        i + 1 < input-> len &&
-        cmark_ispunct(input->data[i+1]))
-      i += 2;
-    else if (input->data[i] == '(') {
-      ++nb_p;
-      ++i;
-    } else if (input->data[i] == ')') {
-      if (nb_p == 0)
+    while (i < input->len) {
+      if (input->data[i] == '\\' &&
+         i + 1 < input-> len &&
+          cmark_ispunct(input->data[i+1]))
+        i += 2;
+      else if (input->data[i] == '(') {
+        ++nb_p;
+        ++i;
+      } else if (input->data[i] == ')') {
+        if (nb_p == 0)
+          break;
+        --nb_p;
+        ++i;
+      } else if (cmark_isspace(input->data[i]))
         break;
-      --nb_p;
-      ++i;
-    } else if (cmark_isspace(input->data[i]))
-      break;
-    else
-      ++i;
-  }
+      else
+        ++i;
+    }
 
   if (i >= input->len)
     return -1;
@@ -854,7 +854,8 @@
   return i - offset;
 }
 
-static bufsize_t manual_scan_link_url(cmark_chunk *input, bufsize_t offset, 
cmark_chunk *output) {
+static bufsize_t manual_scan_link_url(cmark_chunk *input, bufsize_t offset,
+                                      cmark_chunk *output) {
   bufsize_t i = offset;
 
   if (i < input->len && input->data[i] == '<') {
@@ -924,7 +925,8 @@
   // First, look for an inline link.
   if (peek_char(subj) == '(' &&
       ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) &&
-      ((n = manual_scan_link_url(&subj->input, subj->pos + 1 + sps, 
&url_chunk)) > -1)) {
+      ((n = manual_scan_link_url(&subj->input, subj->pos + 1 + sps,
+                                 &url_chunk)) > -1)) {
 
     // try to parse an explicit link:
     endurl = subj->pos + 1 + sps + n;
@@ -1174,7 +1176,8 @@
 extern void cmark_parse_inlines(cmark_mem *mem, cmark_node *parent,
                                 cmark_reference_map *refmap, int options) {
   subject subj;
-  subject_from_buf(mem, &subj, &parent->content, refmap);
+  cmark_chunk content = {parent->content.ptr, parent->content.size, 0};
+  subject_from_buf(mem, &subj, &content, refmap);
   cmark_chunk_rtrim(&subj.input);
 
   while (!is_eof(&subj) && parse_inline(&subj, parent, options))
@@ -1202,7 +1205,7 @@
 // Modify refmap if a reference is encountered.
 // Return 0 if no reference found, otherwise position of subject
 // after reference is parsed.
-bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_strbuf *input,
+bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_chunk *input,
                                        cmark_reference_map *refmap) {
   subject subj;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/src/inlines.h 
new/cmark-0.28.3/src/inlines.h
--- old/cmark-0.28.0/src/inlines.h      2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/src/inlines.h      2017-10-21 18:06:00.000000000 +0200
@@ -11,7 +11,7 @@
 void cmark_parse_inlines(cmark_mem *mem, cmark_node *parent,
                          cmark_reference_map *refmap, int options);
 
-bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_strbuf *input,
+bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_chunk *input,
                                        cmark_reference_map *refmap);
 
 #ifdef __cplusplus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/src/latex.c new/cmark-0.28.3/src/latex.c
--- old/cmark-0.28.0/src/latex.c        2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/src/latex.c        2017-10-21 18:06:00.000000000 +0200
@@ -252,24 +252,24 @@
       CR();
       list_number = cmark_node_get_list_start(node);
       if (list_number > 1) {
-       enumlevel = S_get_enumlevel(node);
-       // latex normally supports only five levels
-       if (enumlevel >= 1 && enumlevel <= 5) {
+        enumlevel = S_get_enumlevel(node);
+        // latex normally supports only five levels
+        if (enumlevel >= 1 && enumlevel <= 5) {
           snprintf(list_number_string, LIST_NUMBER_STRING_SIZE, "%d",
                    list_number);
           LIT("\\setcounter{enum");
-          switch(enumlevel) {
-         case 1: LIT("i"); break;
-         case 2: LIT("ii"); break;
-         case 3: LIT("iii"); break;
-         case 4: LIT("iv"); break;
-         case 5: LIT("v"); break;
-         default: LIT("i"); break;
+          switch (enumlevel) {
+          case 1: LIT("i"); break;
+          case 2: LIT("ii"); break;
+          case 3: LIT("iii"); break;
+          case 4: LIT("iv"); break;
+          case 5: LIT("v"); break;
+          default: LIT("i"); break;
          }
           LIT("}{");
           OUT(list_number_string, false, NORMAL);
           LIT("}");
-       }
+        }
         CR();
       }
     } else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/src/libcmark.pc.in 
new/cmark-0.28.3/src/libcmark.pc.in
--- old/cmark-0.28.0/src/libcmark.pc.in 2017-08-02 16:06:54.000000000 +0200
+++ new/cmark-0.28.3/src/libcmark.pc.in 2017-10-21 18:06:00.000000000 +0200
@@ -1,6 +1,6 @@
 prefix=@CMAKE_INSTALL_PREFIX@
 exec_prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+libdir=@CMAKE_INSTALL_PREFIX@/@libdir@
 includedir=@CMAKE_INSTALL_PREFIX@/include
 
 Name: libcmark
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmark-0.28.0/test/smart_punct.txt 
new/cmark-0.28.3/test/smart_punct.txt
--- old/cmark-0.28.0/test/smart_punct.txt       2017-08-02 16:06:54.000000000 
+0200
+++ new/cmark-0.28.3/test/smart_punct.txt       2017-10-21 18:06:00.000000000 
+0200
@@ -78,6 +78,15 @@
 <p>“Second paragraph by same speaker, in fiction.”</p>
 ````````````````````````````````
 
+A quote following a `]` or `)` character cannot
+be an open quote:
+
+```````````````````````````````` example
+[a]'s b'
+.
+<p>[a]’s b’</p>
+````````````````````````````````
+
 Quotes that are escaped come out as literal straight
 quotes:
 


Reply via email to