From 45473b333445d590b35db95982f750c5e30ce671 Mon Sep 17 00:00:00 2001 From: Silvio Tomatis Date: Thu, 7 Jul 2016 12:06:55 +0200 Subject: [PATCH 1/5] Make javascript search work in more contexts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The meaning of `\w` changed from python 2 to python 3. > $ python3.5 -c "import re; print(re.compile(r'[a-zA-Z]\w*$').match(u'a\xe8'));" > <_sre.SRE_Match object; span=(0, 2), match='aè'> > python -c "import re; print(re.compile(r'[a-zA-Z]\w*$').match(u'a\xe8'));" > None but the definition of what's an acceptable javascript identifier should not vary from case to case. --- CHANGES | 1 + sphinx/util/jsdump.py | 2 +- tests/test_util_jsdump.py | 9 +++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 tests/test_util_jsdump.py diff --git a/CHANGES b/CHANGES index 4a4b74c04..e4ef4d3e2 100644 --- a/CHANGES +++ b/CHANGES @@ -23,6 +23,7 @@ Features added Bugs fixed ---------- +* jsdump fix for python 3: fixes the HTML search on python > 3 * #2676: (latex) Error with verbatim text in captions since Sphinx 1.4.4 * #2629: memoir class crashes LaTeX. Fixed ``by latex_keep_old_macro_names=False`` (ref 2675) * #2684: `sphinx.ext.intersphinx` crashes with six-1.4.1 diff --git a/sphinx/util/jsdump.py b/sphinx/util/jsdump.py index fd553bd40..43c2962f1 100644 --- a/sphinx/util/jsdump.py +++ b/sphinx/util/jsdump.py @@ -19,7 +19,7 @@ from sphinx.util.pycompat import u _str_re = re.compile(r'"(\\\\|\\"|[^"])*"') _int_re = re.compile(r'\d+') _name_re = re.compile(r'[a-zA-Z]\w*') -_nameonly_re = re.compile(r'[a-zA-Z]\w*$') +_nameonly_re = re.compile(r'[a-zA-Z_][a-zA-Z0-9_]*$') # escape \, ", control characters and everything outside ASCII ESCAPE_ASCII = re.compile(r'([\\"]|[^\ -~])') diff --git a/tests/test_util_jsdump.py b/tests/test_util_jsdump.py new file mode 100644 index 000000000..f8d31568d --- /dev/null +++ b/tests/test_util_jsdump.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +def test_jsdump(): + from sphinx.util.jsdump import dumps + + assert dumps({'1a': 1}) == '{"1a":1}' + assert dumps({'a1': 1}) == '{a1:1}' + + assert dumps({u'a\xe8': 1}) == '{"a\\u00e8":1}' From edfdd3ec786d2b39ab04ad39d7bf154a2fa13f3c Mon Sep 17 00:00:00 2001 From: mixmastamyk Date: Fri, 8 Jul 2016 18:26:42 -0700 Subject: [PATCH 2/5] Fix #2763, add default alt attribute to svg images Add uri as default alt attribute to images in svg format --- sphinx/writers/html.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py index 7b666aa52..5558b7fec 100644 --- a/sphinx/writers/html.py +++ b/sphinx/writers/html.py @@ -458,15 +458,14 @@ class HTMLTranslator(BaseTranslator): node['uri'] = posixpath.join(self.builder.imgpath, self.builder.images[olduri]) - if node['uri'].lower().endswith('svg') or \ - node['uri'].lower().endswith('svgz'): - atts = {'src': node['uri']} + uri = node['uri'] + if uri.lower().endswith('svg') or uri.lower().endswith('svgz'): + atts = {'src': uri} if 'width' in node: atts['width'] = node['width'] if 'height' in node: atts['height'] = node['height'] - if 'alt' in node: - atts['alt'] = node['alt'] + atts['alt'] = node.get('alt', uri) if 'align' in node: self.body.append('
' % (node['align'], node['align'])) From cd09b6c609ccb7891eb24edc05e2c769280dd844 Mon Sep 17 00:00:00 2001 From: mixmastamyk Date: Fri, 8 Jul 2016 18:30:41 -0700 Subject: [PATCH 3/5] Fix #2763, add default alt attribute to svg images --- CHANGES | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 836ea50ed..42f895b55 100644 --- a/CHANGES +++ b/CHANGES @@ -47,7 +47,8 @@ Bugs fixed * #2723: extra spaces in latex pdf output from multirow cell * #2735: latexpdf ``Underfull \hbox (badness 10000)`` warnings from title page * #2667: latex crashes if resized images appeared in section title - +* #2763: (html) Provide default value for required ``alt`` attribute for image + tags of SVG source, required to validate and now consistent w/ other formats. Release 1.4.4 (released Jun 12, 2016) ===================================== From effc597cb5ba054c0ea0b917e33c6dabd005a319 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Wed, 13 Jul 2016 21:20:14 +0900 Subject: [PATCH 4/5] Bump to 1.4.5 final --- CHANGES | 4 ++-- sphinx/__init__.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 42f895b55..531d7c30f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,5 @@ -Release 1.4.5 (in development) -============================== +Release 1.4.5 (released Jul 13, 2016) +===================================== Incompatible changes -------------------- diff --git a/sphinx/__init__.py b/sphinx/__init__.py index b79961c39..ae5c11f44 100644 --- a/sphinx/__init__.py +++ b/sphinx/__init__.py @@ -15,13 +15,13 @@ import sys from os import path -__version__ = '1.4.4+' -__released__ = '1.4.4' # used when Sphinx builds its own docs +__version__ = '1.4.5' +__released__ = '1.4.5' # used when Sphinx builds its own docs # version info for better programmatic use # possible values for 3rd element: 'alpha', 'beta', 'rc', 'final' # 'final' has 0 as the last element -version_info = (1, 4, 5, 'beta', 1) +version_info = (1, 4, 5, 'final', 0) package_dir = path.abspath(path.dirname(__file__)) From e3fa9b720959f751c8d80d1d0457751d9eb172fd Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Wed, 13 Jul 2016 21:26:41 +0900 Subject: [PATCH 5/5] Bump version --- CHANGES | 8 ++++++++ sphinx/__init__.py | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 531d7c30f..50a736c0c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,10 @@ +Release 1.4.6 (in development) +============================== + +Bugs fixed +---------- + + Release 1.4.5 (released Jul 13, 2016) ===================================== @@ -50,6 +57,7 @@ Bugs fixed * #2763: (html) Provide default value for required ``alt`` attribute for image tags of SVG source, required to validate and now consistent w/ other formats. + Release 1.4.4 (released Jun 12, 2016) ===================================== diff --git a/sphinx/__init__.py b/sphinx/__init__.py index ae5c11f44..b4f8345ec 100644 --- a/sphinx/__init__.py +++ b/sphinx/__init__.py @@ -15,13 +15,13 @@ import sys from os import path -__version__ = '1.4.5' +__version__ = '1.4.5+' __released__ = '1.4.5' # used when Sphinx builds its own docs # version info for better programmatic use # possible values for 3rd element: 'alpha', 'beta', 'rc', 'final' # 'final' has 0 as the last element -version_info = (1, 4, 5, 'final', 0) +version_info = (1, 4, 6, 'beta', 1) package_dir = path.abspath(path.dirname(__file__))