Hello community,

here is the log from the commit of package python-Markdown for openSUSE:Factory 
checked in at 2017-08-19 10:56:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Markdown (Old)
 and      /work/SRC/openSUSE:Factory/.python-Markdown.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Markdown"

Sat Aug 19 10:56:37 2017 rev:23 rq:517620 version:2.6.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Markdown/python-Markdown.changes  
2017-05-22 10:48:45.954069046 +0200
+++ /work/SRC/openSUSE:Factory/.python-Markdown.new/python-Markdown.changes     
2017-08-19 10:56:40.118333210 +0200
@@ -1,0 +2,5 @@
+Fri Aug 18 19:10:35 UTC 2017 - benoit.mo...@gmx.fr
+
+- update to version 2.6.9: bugfix release
+
+-------------------------------------------------------------------

Old:
----
  Markdown-2.6.8.tar.gz

New:
----
  Markdown-2.6.9.tar.gz

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

Other differences:
------------------
++++++ python-Markdown.spec ++++++
--- /var/tmp/diff_new_pack.qMkJhK/_old  2017-08-19 10:56:41.330162351 +0200
+++ /var/tmp/diff_new_pack.qMkJhK/_new  2017-08-19 10:56:41.346160094 +0200
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define oldpython python
 Name:           python-Markdown
-Version:        2.6.8
+Version:        2.6.9
 Release:        0
 Summary:        Python implementation of Markdown
 License:        BSD-3-Clause

++++++ Markdown-2.6.8.tar.gz -> Markdown-2.6.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/PKG-INFO new/Markdown-2.6.9/PKG-INFO
--- old/Markdown-2.6.8/PKG-INFO 2017-01-26 00:07:04.000000000 +0100
+++ new/Markdown-2.6.9/PKG-INFO 2017-08-18 02:07:22.000000000 +0200
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: Markdown
-Version: 2.6.8
+Version: 2.6.9
 Summary: Python implementation of Markdown.
 Home-page: https://pythonhosted.org/Markdown/
 Author: Waylan Limberg
-Author-email: waylan.limberg [at] icloud.com
+Author-email: waylan.limb...@icloud.com
 License: BSD License
-Download-URL: 
http://pypi.python.org/packages/source/M/Markdown/Markdown-2.6.8.tar.gz
+Download-URL: 
http://pypi.python.org/packages/source/M/Markdown/Markdown-2.6.9.tar.gz
 Description: 
         This is a Python implementation of John Gruber's Markdown_.
         It is almost completely compliant with the reference implementation,
@@ -25,7 +25,7 @@
         `mailing list`_ and report bugs on the `bug tracker`_.
         
         .. _`mailing list`: 
http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss
-        .. _`bug tracker`: http://github.com/waylan/Python-Markdown/issues
+        .. _`bug tracker`: http://github.com/Python-Markdown/markdown/issues
         
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/README.md new/Markdown-2.6.9/README.md
--- old/Markdown-2.6.8/README.md        2016-11-11 23:41:48.000000000 +0100
+++ new/Markdown-2.6.9/README.md        2017-08-18 01:05:53.000000000 +0200
@@ -1,12 +1,12 @@
 [Python-Markdown][]
 ===================
 
-[![Build 
Status](http://img.shields.io/travis/waylan/Python-Markdown.svg)](https://travis-ci.org/waylan/Python-Markdown)
-[![Coverage 
Status](https://img.shields.io/coveralls/waylan/Python-Markdown.svg)](https://coveralls.io/r/waylan/Python-Markdown?branch=master)
-[![Downloads](http://img.shields.io/pypi/dm/Markdown.svg)](https://pypi.python.org/pypi/Markdown#downloads)
+[![Build 
Status](http://img.shields.io/travis/Python-Markdown/markdown.svg)](https://travis-ci.org/Python-Markdown/markdown)
+[![Coverage 
Status](https://img.shields.io/coveralls/Python-Markdown/markdown.svg)](https://coveralls.io/r/Python-Markdown/markdown?branch=master)
 [![Latest 
Version](http://img.shields.io/pypi/v/Markdown.svg)](http://pypi.python.org/pypi/Markdown)
+[![Python 
Versions](http://img.shields.io/pypi/pyversions/Markdown.svg)](http://pypi.python.org/pypi/Markdown)
 [![BSD 
License](http://img.shields.io/badge/license-BSD-yellow.svg)](http://opensource.org/licenses/BSD-3-Clause)
-[![Issue 
Stats](http://issuestats.com/github/waylan/Python-Markdown/badge/issue?style=flat)](http://issuestats.com/github/waylan/Python-Markdown)
+[![Code of 
Conduct](https://img.shields.io/badge/code%20of%20conduct-contributor%20covenant-green.svg?style=flat-square)][Code
 of Conduct]
 
 This is a Python implementation of John Gruber's [Markdown][]. 
 It is almost completely compliant with the reference implementation,
@@ -35,4 +35,11 @@
 You may ask for help and discuss various other issues on the [mailing list][] 
and report bugs on the [bug tracker][].
 
 [mailing list]: 
http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss
-[bug tracker]: http://github.com/waylan/Python-Markdown/issues 
+[bug tracker]: http://github.com/Python-Markdown/markdown/issues 
+
+Code of Conduct
+---------------
+
+Everyone interacting in the Python-Markdown project's codebases, issue 
trackers, and mailing lists is expected to follow the [Code of Conduct].
+
+[Code of Conduct]: 
https://github.com/Python-Markdown/markdown/blob/master/CODE_OF_CONDUCT.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/_template.html 
new/Markdown-2.6.9/docs/_template.html
--- old/Markdown-2.6.8/docs/_template.html      2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/_template.html      2017-08-18 00:41:00.000000000 
+0200
@@ -47,7 +47,7 @@
          title="next chapter">%(next_title)s</a></p>
     <h3>This Page</h3>
     <ul class="this-page-menu">
-      <li><a href="https://github.com/waylan/Python-Markdown/issues";
+      <li><a href="https://github.com/Python-Markdown/markdown/issues";
              >Report a Bug</a></li>
       <li><a href="%(source)s"
              rel="nofollow">Show Source</a></li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/change_log.txt 
new/Markdown-2.6.9/docs/change_log.txt
--- old/Markdown-2.6.8/docs/change_log.txt      2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/change_log.txt      2017-08-18 01:29:11.000000000 
+0200
@@ -7,6 +7,10 @@
 Python-Markdown Change Log
 =========================
 
+Aug 17, 2017: Released version 2.6.9 (a bug-fix release).
+
+Jan 25, 2017: Released version 2.6.8 (a bug-fix release).
+
 Sept 23, 2016: Released version 2.6.7 (a bug-fix release).
 
 Mar 20, 2016: Released version 2.6.6 (a bug-fix release).
@@ -21,7 +25,7 @@
 
 Mar 8, 2015: Released version 2.6.1 (a bug-fix release). The (new)
 `yaml` option has been removed from the Meta-Data Extension as it was buggy
-(see [#390](https://github.com/waylan/Python-Markdown/issues/390)).
+(see [#390](https://github.com/Python-Markdown/markdown/issues/390)).
 
 Feb 19, 2015: Released version 2.6 ([Notes](release-2.6.html)).
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/extensions/api.txt 
new/Markdown-2.6.9/docs/extensions/api.txt
--- old/Markdown-2.6.8/docs/extensions/api.txt  2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/extensions/api.txt  2017-03-21 04:33:42.000000000 
+0100
@@ -463,7 +463,7 @@
 
 * **`value`**: The object instance stored in this item.
 
-* **`location`**: Optional. The items location in relation to other items. 
+* **`location`**: The items location in relation to other items. 
 
     Note that the location can consist of a few different values:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/extensions/index.txt 
new/Markdown-2.6.9/docs/extensions/index.txt
--- old/Markdown-2.6.8/docs/extensions/index.txt        2016-11-11 
23:41:48.000000000 +0100
+++ new/Markdown-2.6.9/docs/extensions/index.txt        2017-08-18 
00:50:35.000000000 +0200
@@ -84,4 +84,4 @@
 offers no official support for these extensions. Please see the developer of
 each extension for support.
 
-[list]: https://github.com/waylan/Python-Markdown/wiki/Third-Party-Extensions
+[list]: https://github.com/Python-Markdown/markdown/wiki/Third-Party-Extensions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/index.txt 
new/Markdown-2.6.9/docs/index.txt
--- old/Markdown-2.6.8/docs/index.txt   2016-11-11 23:41:48.000000000 +0100
+++ new/Markdown-2.6.9/docs/index.txt   2017-08-18 00:42:56.000000000 +0200
@@ -112,4 +112,4 @@
 and report bugs on the [bug tracker][].
 
 [mailing list]: 
http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss
-[bug tracker]: http://github.com/waylan/Python-Markdown/issues 
+[bug tracker]: http://github.com/Python-Markdown/markdown/issues 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/install.txt 
new/Markdown-2.6.9/docs/install.txt
--- old/Markdown-2.6.8/docs/install.txt 2016-11-11 23:41:48.000000000 +0100
+++ new/Markdown-2.6.9/docs/install.txt 2017-08-18 00:44:12.000000000 +0200
@@ -62,6 +62,6 @@
 get a copy of Python-Markdown from the repository do the following from the
 command line:
 
-    git clone git://github.com/waylan/Python-Markdown.git python-markdown
+    git clone git://github.com/Python-Markdown/markdown.git python-markdown
     cd python-markdown
     python setup.py install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.1.0.txt 
new/Markdown-2.6.9/docs/release-2.1.0.txt
--- old/Markdown-2.6.8/docs/release-2.1.0.txt   2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/release-2.1.0.txt   2017-08-18 00:45:22.000000000 
+0200
@@ -118,5 +118,5 @@
 behavior. See the [Test Suite](test_suite.html) documentation for details.
 
 Various bug fixes have been made, which are too numerous to list here. See the 
-[commit log](https://github.com/waylan/Python-Markdown/commits/master) for a 
+[commit log](https://github.com/Python-Markdown/markdown/commits/master) for a 
 complete history of the changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.2.0.txt 
new/Markdown-2.6.9/docs/release-2.2.0.txt
--- old/Markdown-2.6.8/docs/release-2.2.0.txt   2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/release-2.2.0.txt   2017-08-18 00:45:52.000000000 
+0200
@@ -64,5 +64,5 @@
 within any Blockprocessor instance.
 
 Various bug fixes have been made. See the 
-[commit log](https://github.com/waylan/Python-Markdown/commits/master) 
+[commit log](https://github.com/Python-Markdown/markdown/commits/master) 
 for a complete history of the changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.3.txt 
new/Markdown-2.6.9/docs/release-2.3.txt
--- old/Markdown-2.6.8/docs/release-2.3.txt     2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/release-2.3.txt     2017-08-18 00:46:19.000000000 
+0200
@@ -84,5 +84,5 @@
 [rST]: 
http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions
 
 * Various bug fixes have been made.  See the
-[commit log](https://github.com/waylan/Python-Markdown/commits/master)
+[commit log](https://github.com/Python-Markdown/markdown/commits/master)
 for a complete history of the changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.4.txt 
new/Markdown-2.6.9/docs/release-2.4.txt
--- old/Markdown-2.6.8/docs/release-2.4.txt     2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/release-2.4.txt     2017-08-18 00:46:37.000000000 
+0200
@@ -73,5 +73,5 @@
 [A. Jesse Jiryu Davis]: https://github.com/ajdavis
 
 * Various bug fixes have been made.  See the
-[commit log](https://github.com/waylan/Python-Markdown/commits/master)
+[commit log](https://github.com/Python-Markdown/markdown/commits/master)
 for a complete history of the changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.5.txt 
new/Markdown-2.6.9/docs/release-2.5.txt
--- old/Markdown-2.6.8/docs/release-2.5.txt     2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/release-2.5.txt     2017-08-18 00:47:00.000000000 
+0200
@@ -183,5 +183,5 @@
     benefit everyone.
 
 *   Various bug fixes have been made.  See the
-    [commit log](https://github.com/waylan/Python-Markdown/commits/master)
+    [commit log](https://github.com/Python-Markdown/markdown/commits/master)
     for a complete history of the changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/release-2.6.txt 
new/Markdown-2.6.9/docs/release-2.6.txt
--- old/Markdown-2.6.8/docs/release-2.6.txt     2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/release-2.6.txt     2017-08-18 00:48:10.000000000 
+0200
@@ -206,7 +206,7 @@
 [MultiMarkdown]: http://fletcherpenney.net/MultiMarkdown_Syntax_Guide#metadata
 [Meta-Data]: extensions/meta_data.html
 [YAML]: http://yaml.org/
-[#390]: https://github.com/waylan/Python-Markdown/issues/390
+[#390]: https://github.com/Python-Markdown/markdown/issues/390
 
 ### Table of Contents Extension Refactored
 
@@ -259,5 +259,5 @@
 [flake8]: https://flake8.readthedocs.io/en/latest/
 
 Various bug fixes have been made.  See the
-[commit log](https://github.com/waylan/Python-Markdown/commits/master)
+[commit log](https://github.com/Python-Markdown/markdown/commits/master)
 for a complete history of the changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/docs/test_suite.txt 
new/Markdown-2.6.9/docs/test_suite.txt
--- old/Markdown-2.6.8/docs/test_suite.txt      2016-11-11 23:41:48.000000000 
+0100
+++ new/Markdown-2.6.9/docs/test_suite.txt      2017-08-18 00:49:01.000000000 
+0200
@@ -134,5 +134,5 @@
 [PHP]: http://michelf.com/projects/php-markdown/ 
 [PyTidyLib]: http://countergram.com/open-source/pytidylib/
 [tox]: http://testrun.org/tox/latest/
-[setting up a testing environment]: 
https://github.com/waylan/Python-Markdown/wiki/Test-Environment-Setup
+[setting up a testing environment]: 
https://github.com/Python-Markdown/markdown/wiki/Test-Environment-Setup
 [YAML]: http://yaml.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/makefile new/Markdown-2.6.9/makefile
--- old/Markdown-2.6.8/makefile 2016-11-11 23:41:48.000000000 +0100
+++ new/Markdown-2.6.9/makefile 2017-08-18 01:44:42.000000000 +0200
@@ -20,7 +20,6 @@
 
 .PHONY : deploy
 deploy:
-       python setup.py register
        python setup.py sdist --manifest-only
        python setup.py sdist --formats zip,gztar upload
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/markdown/__version__.py 
new/Markdown-2.6.9/markdown/__version__.py
--- old/Markdown-2.6.8/markdown/__version__.py  2017-01-26 00:02:19.000000000 
+0100
+++ new/Markdown-2.6.9/markdown/__version__.py  2017-08-18 01:29:03.000000000 
+0200
@@ -5,7 +5,7 @@
 # (major, minor, micro, alpha/beta/rc/final, #)
 # (1, 1, 2, 'alpha', 0) => "1.1.2.dev"
 # (1, 2, 0, 'beta', 2) => "1.2b2"
-version_info = (2, 6, 8, 'final', 0)
+version_info = (2, 6, 9, 'final', 0)
 
 
 def _get_version():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/markdown/blockprocessors.py 
new/Markdown-2.6.9/markdown/blockprocessors.py
--- old/Markdown-2.6.8/markdown/blockprocessors.py      2017-01-25 
23:05:42.000000000 +0100
+++ new/Markdown-2.6.9/markdown/blockprocessors.py      2017-08-18 
00:35:08.000000000 +0200
@@ -391,7 +391,7 @@
                 # Check first item for the start index
                 if not items and self.TAG == 'ol':
                     # Detect the integer value of first list item
-                    INTEGER_RE = re.compile('(\d+)')
+                    INTEGER_RE = re.compile(r'(\d+)')
                     self.STARTSWITH = INTEGER_RE.match(m.group(1)).group()
                 # Append to the list
                 items.append(m.group(3))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/markdown/extensions/admonition.py 
new/Markdown-2.6.9/markdown/extensions/admonition.py
--- old/Markdown-2.6.8/markdown/extensions/admonition.py        2016-11-11 
23:41:48.000000000 +0100
+++ new/Markdown-2.6.9/markdown/extensions/admonition.py        2017-03-21 
04:33:42.000000000 +0100
@@ -41,7 +41,7 @@
 
     CLASSNAME = 'admonition'
     CLASSNAME_TITLE = 'admonition-title'
-    RE = re.compile(r'(?:^|\n)!!!\ ?([\w\-]+)(?:\ "(.*?)")?')
+    RE = re.compile(r'(?:^|\n)!!! ?([\w\-]+)(?: +"(.*?)")? *(?:\n|$)')
 
     def test(self, parent, block):
         sibling = self.lastChild(parent)
@@ -55,7 +55,7 @@
         m = self.RE.search(block)
 
         if m:
-            block = block[m.end() + 1:]  # removes the first line
+            block = block[m.end():]  # removes the first line
 
         block, theRest = self.detab(block)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/markdown/extensions/tables.py 
new/Markdown-2.6.9/markdown/extensions/tables.py
--- old/Markdown-2.6.8/markdown/extensions/tables.py    2017-01-25 
23:05:42.000000000 +0100
+++ new/Markdown-2.6.9/markdown/extensions/tables.py    2017-03-21 
04:33:42.000000000 +0100
@@ -21,6 +21,9 @@
 from ..blockprocessors import BlockProcessor
 from ..util import etree
 import re
+PIPE_NONE = 0
+PIPE_LEFT = 1
+PIPE_RIGHT = 2
 
 
 class TableProcessor(BlockProcessor):
@@ -41,17 +44,33 @@
         Keep border check and separator row do avoid repeating the work.
         """
         is_table = False
-        header = [row.strip() for row in block.split('\n')[0:2]]
-        if len(header) == 2:
-            self.border = header[0].startswith('|')
-            row = self._split_row(header[0])
-            is_table = len(row) > 1
+        rows = [row.strip() for row in block.split('\n')]
+        if len(rows) > 1:
+            header0 = rows[0]
+            self.border = PIPE_NONE
+            if header0.startswith('|'):
+                self.border |= PIPE_LEFT
+            if self.RE_END_BORDER.search(header0) is not None:
+                self.border |= PIPE_RIGHT
+            row = self._split_row(header0)
+            row0_len = len(row)
+            is_table = row0_len > 1
+
+            # Each row in a single column table needs at least one pipe.
+            if not is_table and row0_len == 1 and self.border:
+                for index in range(1, len(rows)):
+                    is_table = rows[index].startswith('|')
+                    if not is_table:
+                        is_table = self.RE_END_BORDER.search(rows[index]) is 
not None
+                    if not is_table:
+                        break
 
             if is_table:
-                row = self._split_row(header[1])
-                is_table = len(row) > 1 and set(''.join(row)) <= set('|:- ')
+                row = self._split_row(rows[1])
+                is_table = (len(row) == row0_len) and set(''.join(row)) <= 
set('|:- ')
                 if is_table:
                     self.separator = row
+
         return is_table
 
     def run(self, parent, blocks):
@@ -78,8 +97,20 @@
         thead = etree.SubElement(table, 'thead')
         self._build_row(header, thead, align)
         tbody = etree.SubElement(table, 'tbody')
-        for row in rows:
-            self._build_row(row.strip(), tbody, align)
+        if len(rows) == 0:
+            # Handle empty table
+            self._build_empty_row(tbody, align)
+        else:
+            for row in rows:
+                self._build_row(row.strip(), tbody, align)
+
+    def _build_empty_row(self, parent, align):
+        """Build an empty row."""
+        tr = etree.SubElement(parent, 'tr')
+        count = len(align)
+        while count:
+            etree.SubElement(tr, 'td')
+            count -= 1
 
     def _build_row(self, row, parent, align):
         """ Given a row of text, build table cells. """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/markdown/inlinepatterns.py 
new/Markdown-2.6.9/markdown/inlinepatterns.py
--- old/Markdown-2.6.8/markdown/inlinepatterns.py       2017-01-25 
23:05:42.000000000 +0100
+++ new/Markdown-2.6.9/markdown/inlinepatterns.py       2017-08-18 
00:35:08.000000000 +0200
@@ -140,7 +140,7 @@
 SHORT_REF_RE = NOIMG + r'\[([^\]]+)\]'
 
 # ![alt text][2]
-IMAGE_REFERENCE_RE = r'\!' + BRK + '\s?\[([^\]]*)\]'
+IMAGE_REFERENCE_RE = r'\!' + BRK + r'\s?\[([^\]]*)\]'
 
 # stand-alone * or _
 NOT_STRONG_RE = r'((^| )(\*|_)( |$))'
@@ -170,7 +170,7 @@
         return string
 
 
-ATTR_RE = re.compile("\{@([^\}]*)=([^\}]*)}")  # {@id=123}
+ATTR_RE = re.compile(r"\{@([^\}]*)=([^\}]*)}")  # {@id=123}
 
 
 def handleAttributes(text, parent):
@@ -351,7 +351,7 @@
                 try:
                     return self.markdown.serializer(value)
                 except:
-                    return '\%s' % value
+                    return r'\%s' % value
 
         return util.INLINE_PLACEHOLDER_RE.sub(get_stash, text)
 
@@ -458,7 +458,7 @@
         except IndexError:
             id = None
         if not id:
-            # if we got something like "[Google][]" or "[Goggle]"
+            # if we got something like "[Google][]" or "[Google]"
             # we'll use "google" as the id
             id = m.group(2).lower()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/markdown/postprocessors.py 
new/Markdown-2.6.9/markdown/postprocessors.py
--- old/Markdown-2.6.8/markdown/postprocessors.py       2016-11-11 
23:41:48.000000000 +0100
+++ new/Markdown-2.6.9/markdown/postprocessors.py       2017-08-18 
00:35:08.000000000 +0200
@@ -102,7 +102,7 @@
 class UnescapePostprocessor(Postprocessor):
     """ Restore escaped chars """
 
-    RE = re.compile('%s(\d+)%s' % (util.STX, util.ETX))
+    RE = re.compile(r'%s(\d+)%s' % (util.STX, util.ETX))
 
     def unescape(self, m):
         return util.int2str(int(m.group(1)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/setup.py new/Markdown-2.6.9/setup.py
--- old/Markdown-2.6.8/setup.py 2017-01-04 06:33:56.000000000 +0100
+++ new/Markdown-2.6.9/setup.py 2017-08-18 02:07:03.000000000 +0200
@@ -230,7 +230,7 @@
 `mailing list`_ and report bugs on the `bug tracker`_.
 
 .. _`mailing list`: 
http://lists.sourceforge.net/lists/listinfo/python-markdown-discuss
-.. _`bug tracker`: http://github.com/waylan/Python-Markdown/issues
+.. _`bug tracker`: http://github.com/Python-Markdown/markdown/issues
 '''
 
 setup(
@@ -241,9 +241,9 @@
     description='Python implementation of Markdown.',
     long_description=long_description,
     author='Manfred Stienstra, Yuri takhteyev and Waylan limberg',
-    author_email='waylan.limberg [at] icloud.com',
+    author_email='waylan.limb...@icloud.com',
     maintainer='Waylan Limberg',
-    maintainer_email='waylan.limberg [at] icloud.com',
+    maintainer_email='waylan.limb...@icloud.com',
     license='BSD License',
     packages=['markdown', 'markdown.extensions'],
     scripts=['bin/%s' % SCRIPT_NAME],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/tests/extensions/admonition.html 
new/Markdown-2.6.9/tests/extensions/admonition.html
--- old/Markdown-2.6.8/tests/extensions/admonition.html 2015-08-28 
05:42:04.000000000 +0200
+++ new/Markdown-2.6.9/tests/extensions/admonition.html 2017-03-21 
04:33:42.000000000 +0100
@@ -28,4 +28,12 @@
 </div>
 <div class="admonition tip">
 <p>An explicitly empty string prevents the title from being rendered.</p>
+</div>
+<p>No body:</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+</div>
+<p>Extra whitespace after the title should not alter output:</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
 </div>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/tests/extensions/admonition.txt 
new/Markdown-2.6.9/tests/extensions/admonition.txt
--- old/Markdown-2.6.8/tests/extensions/admonition.txt  2015-08-28 
05:42:04.000000000 +0200
+++ new/Markdown-2.6.9/tests/extensions/admonition.txt  2017-03-21 
04:33:42.000000000 +0100
@@ -27,3 +27,11 @@
 
 !!! tip ""
     An explicitly empty string prevents the title from being rendered.
+
+No body:
+
+!!! note
+
+Extra whitespace after the title should not alter output:
+
+!!! note             
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/tests/extensions/extra/tables.html 
new/Markdown-2.6.9/tests/extensions/extra/tables.html
--- old/Markdown-2.6.8/tests/extensions/extra/tables.html       2017-01-25 
23:05:42.000000000 +0100
+++ new/Markdown-2.6.9/tests/extensions/extra/tables.html       2017-03-21 
04:33:42.000000000 +0100
@@ -167,7 +167,12 @@
 <th>Second Header</th>
 </tr>
 </thead>
-<tbody></tbody>
+<tbody>
+<tr>
+<td></td>
+<td></td>
+</tr>
+</tbody>
 </table>
 <p>More inline code block tests</p>
 <table>
@@ -375,4 +380,87 @@
 <td>\\<code>code</code></td>
 </tr>
 </tbody>
-</table>
\ No newline at end of file
+</table>
+<p>Single column tables</p>
+<table>
+<thead>
+<tr>
+<th>Is a Table</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td></td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>Is a Table</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td></td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>Is a Table</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td></td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>Is a Table</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>row</td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>Is a Table</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>row</td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>Is a Table</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>row</td>
+</tr>
+</tbody>
+</table>
+<h2>| Is not a Table</h2>
+<p>| row</p>
+<h2>Is not a Table |</h2>
+<p>row            |</p>
+<p>| Is not a Table
+| --------------
+row</p>
+<p>Is not a Table |
+-------------- |
+row</p>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/tests/extensions/extra/tables.txt 
new/Markdown-2.6.9/tests/extensions/extra/tables.txt
--- old/Markdown-2.6.8/tests/extensions/extra/tables.txt        2017-01-25 
23:05:42.000000000 +0100
+++ new/Markdown-2.6.9/tests/extensions/extra/tables.txt        2017-03-21 
04:33:42.000000000 +0100
@@ -128,3 +128,42 @@
 ------------------ | --------------
 \`Not code\`       | \\`code`
 \\\`Not code\\\`   | \\\\`code`
+
+Single column tables
+
+| Is a Table |
+| ---------- |
+
+| Is a Table
+| ----------
+
+Is a Table |
+---------- |
+
+| Is a Table |
+| ---------- |
+| row        |
+
+| Is a Table
+| ----------
+| row
+
+Is a Table |
+---------- |
+row        |
+
+| Is not a Table
+--------------
+| row
+
+Is not a Table |
+--------------
+row            |
+
+| Is not a Table
+| --------------
+row
+
+Is not a Table |
+-------------- |
+row
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Markdown-2.6.8/tests/test_extensions.py 
new/Markdown-2.6.9/tests/test_extensions.py
--- old/Markdown-2.6.8/tests/test_extensions.py 2016-11-11 23:41:49.000000000 
+0100
+++ new/Markdown-2.6.9/tests/test_extensions.py 2017-03-21 04:33:42.000000000 
+0100
@@ -932,3 +932,27 @@
 is the &sbquo;mdash&lsquo;: \u2014
 Must not be confused with &sbquo;ndash&lsquo;  (\u2013) \u2026 ]</p>"""
         self.assertEqual(self.md.convert(text), correct)
+
+
+class TestFootnotes(unittest.TestCase):
+    """ Test Footnotes extension. """
+
+    def testBacklinkText(self):
+        md = markdown.Markdown(
+            extensions=['markdown.extensions.footnotes'],
+            extension_configs={'markdown.extensions.footnotes': 
{'BACKLINK_TEXT': 'back'}}
+        )
+        text = 'paragraph[^1]\n\n[^1]: A Footnote'
+        self.assertEqual(
+            md.convert(text),
+            '<p>paragraph<sup id="fnref:1"><a class="footnote-ref" 
href="#fn:1" rel="footnote">1</a></sup></p>\n'
+            '<div class="footnote">\n'
+            '<hr />\n'
+            '<ol>\n'
+            '<li id="fn:1">\n'
+            '<p>A Footnote&#160;<a class="footnote-backref" href="#fnref:1" 
rev="footnote"'
+            ' title="Jump back to footnote 1 in the text">back</a></p>\n'
+            '</li>\n'
+            '</ol>\n'
+            '</div>'
+        )


Reply via email to