From d1d4d8ab995b8deaf100cafe609ab55bf5cac46e Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sun, 28 Jun 2015 17:11:51 +0300 Subject: Issue #24336: Backported test for contextmanager. Patch by Martin Panter. --- Lib/test/test_contextlib.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py index f28c95e..301564b 100644 --- a/Lib/test/test_contextlib.py +++ b/Lib/test/test_contextlib.py @@ -106,6 +106,14 @@ class ContextManagerTestCase(unittest.TestCase): baz = self._create_contextmanager_attribs() self.assertEqual(baz.__doc__, "Whee!") + def test_keywords(self): + # Ensure no keyword arguments are inhibited + @contextmanager + def woohoo(self, func, args, kwds): + yield (self, func, args, kwds) + with woohoo(self=11, func=22, args=33, kwds=44) as target: + self.assertEqual(target, (11, 22, 33, 44)) + class NestedTestCase(unittest.TestCase): # XXX This needs more work -- cgit v0.12 From 84af51d1b3a55ea3a0c860bb2f2ff99039d621cd Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sun, 28 Jun 2015 17:51:40 +0300 Subject: Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() functions of the audioop module. Fixed SystemError when the state is not a tuple. Fixed possible memory leak. --- Lib/test/test_audioop.py | 15 +++++++++++++++ Misc/NEWS | 4 ++++ Modules/audioop.c | 38 ++++++++++++++++++++++++++++++-------- 3 files changed, 49 insertions(+), 8 deletions(-) diff --git a/Lib/test/test_audioop.py b/Lib/test/test_audioop.py index ceaf2a3..4af7350 100644 --- a/Lib/test/test_audioop.py +++ b/Lib/test/test_audioop.py @@ -210,6 +210,21 @@ class TestAudioop(unittest.TestCase): self.assertEqual(audioop.lin2adpcm(b'\0' * w * 10, w, None), (b'\0' * 5, (0, 0))) + def test_invalid_adpcm_state(self): + # state must be a tuple or None, not an integer + self.assertRaises(TypeError, audioop.adpcm2lin, b'\0', 1, 555) + self.assertRaises(TypeError, audioop.lin2adpcm, b'\0', 1, 555) + # Issues #24456, #24457: index out of range + self.assertRaises(ValueError, audioop.adpcm2lin, b'\0', 1, (0, -1)) + self.assertRaises(ValueError, audioop.adpcm2lin, b'\0', 1, (0, 89)) + self.assertRaises(ValueError, audioop.lin2adpcm, b'\0', 1, (0, -1)) + self.assertRaises(ValueError, audioop.lin2adpcm, b'\0', 1, (0, 89)) + # value out of range + self.assertRaises(ValueError, audioop.adpcm2lin, b'\0', 1, (-0x8001, 0)) + self.assertRaises(ValueError, audioop.adpcm2lin, b'\0', 1, (0x8000, 0)) + self.assertRaises(ValueError, audioop.lin2adpcm, b'\0', 1, (-0x8001, 0)) + self.assertRaises(ValueError, audioop.lin2adpcm, b'\0', 1, (0x8000, 0)) + def test_lin2alaw(self): self.assertEqual(audioop.lin2alaw(datas[1], 1), b'\xd5\x87\xa4\x24\xaa\x2a\x5a') diff --git a/Misc/NEWS b/Misc/NEWS index 1496398..9418ad2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -30,6 +30,10 @@ Core and Builtins Library ------- +- Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() + functions of the audioop module. Fixed SystemError when the state is not a + tuple. Fixed possible memory leak. + - Issue #24481: Fix possible memory corruption with large profiler info strings in hotshot. diff --git a/Modules/audioop.c b/Modules/audioop.c index 0282c7e..4d3b679 100644 --- a/Modules/audioop.c +++ b/Modules/audioop.c @@ -1420,18 +1420,29 @@ audioop_lin2adpcm(PyObject *self, PyObject *args) if (!audioop_check_parameters(len, size)) return NULL; - str = PyString_FromStringAndSize(NULL, len/(size*2)); - if ( str == 0 ) - return 0; - ncp = (signed char *)PyString_AsString(str); - /* Decode state, should have (value, step) */ if ( state == Py_None ) { /* First time, it seems. Set defaults */ valpred = 0; index = 0; - } else if ( !PyArg_ParseTuple(state, "ii", &valpred, &index) ) + } + else if (!PyTuple_Check(state)) { + PyErr_SetString(PyExc_TypeError, "state must be a tuple or None"); + return NULL; + } + else if (!PyArg_ParseTuple(state, "ii", &valpred, &index)) { + return NULL; + } + else if (valpred >= 0x8000 || valpred < -0x8000 || + (size_t)index >= sizeof(stepsizeTable)/sizeof(stepsizeTable[0])) { + PyErr_SetString(PyExc_ValueError, "bad state"); + return NULL; + } + + str = PyString_FromStringAndSize(NULL, len/(size*2)); + if ( str == 0 ) return 0; + ncp = (signed char *)PyString_AsString(str); step = stepsizeTable[index]; bufferstep = 1; @@ -1529,8 +1540,19 @@ audioop_adpcm2lin(PyObject *self, PyObject *args) /* First time, it seems. Set defaults */ valpred = 0; index = 0; - } else if ( !PyArg_ParseTuple(state, "ii", &valpred, &index) ) - return 0; + } + else if (!PyTuple_Check(state)) { + PyErr_SetString(PyExc_TypeError, "state must be a tuple or None"); + return NULL; + } + else if (!PyArg_ParseTuple(state, "ii", &valpred, &index)) { + return NULL; + } + else if (valpred >= 0x8000 || valpred < -0x8000 || + (size_t)index >= sizeof(stepsizeTable)/sizeof(stepsizeTable[0])) { + PyErr_SetString(PyExc_ValueError, "bad state"); + return NULL; + } if (len > (INT_MAX/2)/size) { PyErr_SetString(PyExc_MemoryError, -- cgit v0.12 From 33b24f5c09f683ade642b758f8a625706cad6ad1 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 28 Jun 2015 13:03:26 -0400 Subject: Issue #20387: Backport test from Python 3.4 --- Lib/test/test_tokenize.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_tokenize.py b/Lib/test/test_tokenize.py index 850aa9c..01ef839 100644 --- a/Lib/test/test_tokenize.py +++ b/Lib/test/test_tokenize.py @@ -559,7 +559,7 @@ Pathological whitespace (http://bugs.python.org/issue16152) from test import test_support from tokenize import (untokenize, generate_tokens, NUMBER, NAME, OP, - STRING, ENDMARKER, tok_name, Untokenizer) + STRING, ENDMARKER, tok_name, Untokenizer, tokenize) from StringIO import StringIO import os from unittest import TestCase @@ -650,12 +650,30 @@ class UntokenizeTest(TestCase): self.assertEqual(u.untokenize(iter([token])), 'Hello ') +class TestRoundtrip(TestCase): + def roundtrip(self, code): + if isinstance(code, str): + code = code.encode('utf-8') + tokens = generate_tokens(StringIO(code).readline) + return untokenize(tokens).decode('utf-8') + + def test_indentation_semantics_retained(self): + """ + Ensure that although whitespace might be mutated in a roundtrip, + the semantic meaning of the indentation remains consistent. + """ + code = "if False:\n\tx=3\n\tx=3\n" + codelines = self.roundtrip(code).split('\n') + self.assertEqual(codelines[1], codelines[2]) + + __test__ = {"doctests" : doctests, 'decistmt': decistmt} def test_main(): from test import test_tokenize test_support.run_doctest(test_tokenize, True) test_support.run_unittest(UntokenizeTest) + test_support.run_unittest(TestRoundtrip) if __name__ == "__main__": test_main() -- cgit v0.12 From eabfe8cc0e061081d1cbcef4895a99cf7520e8d1 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sun, 28 Jun 2015 13:05:19 -0400 Subject: Issue #20387: Backport fix from Python 3.4 --- Lib/tokenize.py | 17 +++++++++++++++++ Misc/NEWS | 3 +++ 2 files changed, 20 insertions(+) diff --git a/Lib/tokenize.py b/Lib/tokenize.py index 661ddeb..d426cd2 100644 --- a/Lib/tokenize.py +++ b/Lib/tokenize.py @@ -198,6 +198,8 @@ class Untokenizer: def untokenize(self, iterable): it = iter(iterable) + indents = [] + startline = False for t in it: if len(t) == 2: self.compat(t, it) @@ -205,6 +207,21 @@ class Untokenizer: tok_type, token, start, end, line = t if tok_type == ENDMARKER: break + if tok_type == INDENT: + indents.append(token) + continue + elif tok_type == DEDENT: + indents.pop() + self.prev_row, self.prev_col = end + continue + elif tok_type in (NEWLINE, NL): + startline = True + elif startline and indents: + indent = indents[-1] + if start[1] >= len(indent): + self.tokens.append(indent) + self.prev_col = len(indent) + startline = False self.add_whitespace(start) self.tokens.append(token) self.prev_row, self.prev_col = end diff --git a/Misc/NEWS b/Misc/NEWS index 9418ad2..92e08a9 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -30,6 +30,9 @@ Core and Builtins Library ------- +- Issue #20387: Restore semantic round-trip correctness in tokenize/untokenize + for tab-indented blocks. + - Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() functions of the audioop module. Fixed SystemError when the state is not a tuple. Fixed possible memory leak. -- cgit v0.12 From ab766350b665ff2cafb92191a7cd720a1ebf6fe7 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Mon, 29 Jun 2015 21:13:54 +0300 Subject: Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray object now always allocates place for trailing null byte and it's buffer now is always null-terminated. --- Lib/test/test_bytes.py | 19 ++++++++++++++++++- Misc/NEWS | 4 ++++ Objects/bytearrayobject.c | 4 +++- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py index 988b931..02fba38 100644 --- a/Lib/test/test_bytes.py +++ b/Lib/test/test_bytes.py @@ -722,10 +722,27 @@ class ByteArrayTest(BaseBytesTest): for i in range(100): b += b"x" alloc = b.__alloc__() - self.assertTrue(alloc >= len(b)) + self.assertGreater(alloc, len(b)) # including trailing null byte if alloc not in seq: seq.append(alloc) + def test_init_alloc(self): + b = bytearray() + def g(): + for i in range(1, 100): + yield i + a = list(b) + self.assertEqual(a, list(range(1, len(a)+1))) + self.assertEqual(len(b), len(a)) + self.assertLessEqual(len(b), i) + alloc = b.__alloc__() + self.assertGreater(alloc, len(b)) # including trailing null byte + b.__init__(g()) + self.assertEqual(list(b), list(range(1, 100))) + self.assertEqual(len(b), 99) + alloc = b.__alloc__() + self.assertGreater(alloc, len(b)) + def test_extend(self): orig = b'hello' a = bytearray(orig) diff --git a/Misc/NEWS b/Misc/NEWS index 92e08a9..e6240e2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,10 @@ What's New in Python 2.7.11? Core and Builtins ----------------- +- Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray + object now always allocates place for trailing null byte and it's buffer now + is always null-terminated. + - Issue #19543: encode() and decode() methods and constructors of str, unicode and bytearray classes now emit deprecation warning for known non-text encodings when Python is ran with the -3 option. diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c index 5f57580..5276da5 100644 --- a/Objects/bytearrayobject.c +++ b/Objects/bytearrayobject.c @@ -897,8 +897,10 @@ bytearray_init(PyByteArrayObject *self, PyObject *args, PyObject *kwds) goto error; /* Append the byte */ - if (Py_SIZE(self) < self->ob_alloc) + if (Py_SIZE(self) + 1 < self->ob_alloc) { Py_SIZE(self)++; + PyByteArray_AS_STRING(self)[Py_SIZE(self)] = '\0'; + } else if (PyByteArray_Resize((PyObject *)self, Py_SIZE(self)+1) < 0) goto error; self->ob_bytes[Py_SIZE(self)-1] = value; -- cgit v0.12 From 97cceac3bd8fab9481deeaaafe82ce3de27e7e3f Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Wed, 1 Jul 2015 11:29:34 -0400 Subject: Update setuptools to 18.0.1 and pip to 7.1.0 --- Lib/ensurepip/__init__.py | 4 ++-- Lib/ensurepip/_bundled/pip-7.0.3-py2.py3-none-any.whl | Bin 1118548 -> 0 bytes Lib/ensurepip/_bundled/pip-7.1.0-py2.py3-none-any.whl | Bin 0 -> 1111835 bytes .../_bundled/setuptools-17.0-py2.py3-none-any.whl | Bin 461737 -> 0 bytes .../_bundled/setuptools-18.0.1-py2.py3-none-any.whl | Bin 0 -> 461607 bytes 5 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 Lib/ensurepip/_bundled/pip-7.0.3-py2.py3-none-any.whl create mode 100644 Lib/ensurepip/_bundled/pip-7.1.0-py2.py3-none-any.whl delete mode 100644 Lib/ensurepip/_bundled/setuptools-17.0-py2.py3-none-any.whl create mode 100644 Lib/ensurepip/_bundled/setuptools-18.0.1-py2.py3-none-any.whl diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py index ccf46f7..75494c1 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py @@ -12,9 +12,9 @@ import tempfile __all__ = ["version", "bootstrap"] -_SETUPTOOLS_VERSION = "17.0" +_SETUPTOOLS_VERSION = "18.0.1" -_PIP_VERSION = "7.0.3" +_PIP_VERSION = "7.1.0" # pip currently requires ssl support, so we try to provide a nicer # error message when that is missing (http://bugs.python.org/issue19744) diff --git a/Lib/ensurepip/_bundled/pip-7.0.3-py2.py3-none-any.whl b/Lib/ensurepip/_bundled/pip-7.0.3-py2.py3-none-any.whl deleted file mode 100644 index bb0cb31..0000000 Binary files a/Lib/ensurepip/_bundled/pip-7.0.3-py2.py3-none-any.whl and /dev/null differ diff --git a/Lib/ensurepip/_bundled/pip-7.1.0-py2.py3-none-any.whl b/Lib/ensurepip/_bundled/pip-7.1.0-py2.py3-none-any.whl new file mode 100644 index 0000000..76fcad1 Binary files /dev/null and b/Lib/ensurepip/_bundled/pip-7.1.0-py2.py3-none-any.whl differ diff --git a/Lib/ensurepip/_bundled/setuptools-17.0-py2.py3-none-any.whl b/Lib/ensurepip/_bundled/setuptools-17.0-py2.py3-none-any.whl deleted file mode 100644 index a1d3561..0000000 Binary files a/Lib/ensurepip/_bundled/setuptools-17.0-py2.py3-none-any.whl and /dev/null differ diff --git a/Lib/ensurepip/_bundled/setuptools-18.0.1-py2.py3-none-any.whl b/Lib/ensurepip/_bundled/setuptools-18.0.1-py2.py3-none-any.whl new file mode 100644 index 0000000..67aaca5 Binary files /dev/null and b/Lib/ensurepip/_bundled/setuptools-18.0.1-py2.py3-none-any.whl differ -- cgit v0.12 From d048003d909360faf716c84459ed7067bdee5f08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gust=C3=A4bel?= Date: Thu, 2 Jul 2015 19:37:08 +0200 Subject: Issue #24514: tarfile now tolerates number fields consisting of only whitespace. --- Lib/tarfile.py | 2 +- Lib/test/test_tarfile.py | 9 +++++++++ Misc/NEWS | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 082f361..d7c1500 100644 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -186,7 +186,7 @@ def nti(s): # itn() below. if s[0] != chr(0200): try: - n = int(nts(s) or "0", 8) + n = int(nts(s).strip() or "0", 8) except ValueError: raise InvalidHeaderError("invalid header") else: diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py index ff3265f..a92d371 100644 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@ -1566,6 +1566,14 @@ class LimitsTest(unittest.TestCase): tarinfo.tobuf(tarfile.PAX_FORMAT) +class MiscTest(unittest.TestCase): + + def test_read_number_fields(self): + # Issue 24514: Test if empty number fields are converted to zero. + self.assertEqual(tarfile.nti("\0"), 0) + self.assertEqual(tarfile.nti(" \0"), 0) + + class ContextManagerTest(unittest.TestCase): def test_basic(self): @@ -1730,6 +1738,7 @@ def test_main(): PaxUnicodeTest, AppendTest, LimitsTest, + MiscTest, ContextManagerTest, ] diff --git a/Misc/NEWS b/Misc/NEWS index e6240e2..e46b701 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -34,6 +34,9 @@ Core and Builtins Library ------- +- Issue #24514: tarfile now tolerates number fields consisting of only + whitespace. + - Issue #20387: Restore semantic round-trip correctness in tokenize/untokenize for tab-indented blocks. -- cgit v0.12 From 99e36b9a8475b3659194716e38a86832a508f2ac Mon Sep 17 00:00:00 2001 From: Stefan Krah Date: Fri, 3 Jul 2015 15:30:54 +0200 Subject: Issue #24543: Use AC_LINK instead of AC_COMPILE in order to prevent false positives with the -flto option (gcc >= 4.9.0 and clang). --- configure | 5 +++-- configure.ac | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 7ab0a46..7127871 100755 --- a/configure +++ b/configure @@ -12747,12 +12747,13 @@ main () return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_link "$LINENO"; then : have_gcc_asm_for_x87=yes else have_gcc_asm_for_x87=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gcc_asm_for_x87" >&5 $as_echo "$have_gcc_asm_for_x87" >&6; } if test "$have_gcc_asm_for_x87" = yes diff --git a/configure.ac b/configure.ac index c2a1830..2c998b1 100644 --- a/configure.ac +++ b/configure.ac @@ -3723,7 +3723,7 @@ fi # so we try it on all platforms. AC_MSG_CHECKING(whether we can use gcc inline assembler to get and set x87 control word) -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ +AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ unsigned short cw; __asm__ __volatile__ ("fnstcw %0" : "=m" (cw)); __asm__ __volatile__ ("fldcw %0" : : "m" (cw)); -- cgit v0.12 From 3dd3d7c620f52b441e2eddc6fe0faac42c2a15e6 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Fri, 3 Jul 2015 15:19:38 -0700 Subject: Issue #24432: Update Windows builds to use OpenSSL 1.0.2c. --- Misc/NEWS | 6 ++++++ PCbuild/get_externals.bat | 2 +- PCbuild/pyproject.vsprops | 2 +- PCbuild/readme.txt | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index e46b701..01537d4 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -92,6 +92,12 @@ Library - Issue #24134: Reverted issue #24134 changes. +Build +----- + +- Issue #24432: Update Windows builds to use OpenSSL 1.0.2c. + + IDLE ---- diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat index f81f58a..3a7ba10 100644 --- a/PCbuild/get_externals.bat +++ b/PCbuild/get_externals.bat @@ -55,7 +55,7 @@ for %%e in ( bzip2-1.0.6 db-4.7.25.0 nasm-2.11.06 - openssl-1.0.2a + openssl-1.0.2c tcl-8.5.15.0 tk-8.5.15.0 tix-8.4.3.5 diff --git a/PCbuild/pyproject.vsprops b/PCbuild/pyproject.vsprops index 0af1df7..d704e0b 100644 --- a/PCbuild/pyproject.vsprops +++ b/PCbuild/pyproject.vsprops @@ -82,7 +82,7 @@ /> Date: Fri, 3 Jul 2015 19:10:14 -0400 Subject: Issue #24525: Add missing word. Patch by Vincent Legoll. --- Doc/library/urllib.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/urllib.rst b/Doc/library/urllib.rst index d0cc548..927696a 100644 --- a/Doc/library/urllib.rst +++ b/Doc/library/urllib.rst @@ -296,7 +296,7 @@ Utility functions .. note:: urllib also exposes certain utility functions like splittype, splithost and others parsing url into various components. But it is recommended to use - :mod:`urlparse` for parsing urls than using these functions directly. + :mod:`urlparse` for parsing urls rather than using these functions directly. Python 3 does not expose these helper functions from :mod:`urllib.parse` module. -- cgit v0.12 From 14f233e64ada4e5007c75bc08fcb4c612bdbeba8 Mon Sep 17 00:00:00 2001 From: Ned Deily Date: Fri, 3 Jul 2015 23:32:44 -0700 Subject: Issue #24432: Update OS X 10.5+ installer builds to use OpenSSL 1.0.2c. --- Mac/BuildScript/build-installer.py | 6 +++--- Mac/BuildScript/openssl_sdk_makedepend.patch | 2 +- Misc/NEWS | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py index 8728289..7fe5512 100755 --- a/Mac/BuildScript/build-installer.py +++ b/Mac/BuildScript/build-installer.py @@ -237,9 +237,9 @@ def library_recipes(): result.extend([ dict( - name="OpenSSL 1.0.2a", - url="https://www.openssl.org/source/openssl-1.0.2a.tar.gz", - checksum='a06c547dac9044161a477211049f60ef', + name="OpenSSL 1.0.2c", + url="https://www.openssl.org/source/openssl-1.0.2c.tar.gz", + checksum='8c8d81a9ae7005276e486702edbcd4b6', patches=[ "openssl_sdk_makedepend.patch", ], diff --git a/Mac/BuildScript/openssl_sdk_makedepend.patch b/Mac/BuildScript/openssl_sdk_makedepend.patch index 5903afd..74d7121 100644 --- a/Mac/BuildScript/openssl_sdk_makedepend.patch +++ b/Mac/BuildScript/openssl_sdk_makedepend.patch @@ -2,7 +2,7 @@ # Parent 25a9af415e8c3faf591c360d5f0e361d049b2b43 # openssl_sdk_makedepend.patch # -# using openssl 1.0.2a +# using openssl 1.0.2c # # - support building with an OS X SDK # - allow "make depend" to use compilers with names other than "gcc" diff --git a/Misc/NEWS b/Misc/NEWS index 01537d4..8b23811 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -95,8 +95,8 @@ Library Build ----- -- Issue #24432: Update Windows builds to use OpenSSL 1.0.2c. - +- Issue #24432: Update Windows builds and OS X 10.5 installer to use OpenSSL + 1.0.2c. IDLE ---- -- cgit v0.12 From 3995421228c487e7e923a656c236a11a468fccca Mon Sep 17 00:00:00 2001 From: R David Murray Date: Sat, 4 Jul 2015 15:50:30 -0400 Subject: #24548: replace dead link with pointer to archive.org. --- Doc/library/unittest.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst index bc3046a..a082200 100644 --- a/Doc/library/unittest.rst +++ b/Doc/library/unittest.rst @@ -83,7 +83,7 @@ need to derive from a specific class. discovery. unittest2 allows you to use these features with earlier versions of Python. - `Simple Smalltalk Testing: With Patterns `_ + `Simple Smalltalk Testing: With Patterns `_ Kent Beck's original paper on testing frameworks using the pattern shared by :mod:`unittest`. -- cgit v0.12 From b2f949aafb62bc591f0ff4f832a4e8874d7ca1aa Mon Sep 17 00:00:00 2001 From: Ned Deily Date: Sat, 4 Jul 2015 15:04:42 -0700 Subject: =?UTF-8?q?Issue=20#24330:=20Update=20IDLE=20doc=20and=20help=20to?= =?UTF-8?q?=20note=20"Configure=20IDLE"=20difference=20on=20OS=20X.=20=20O?= =?UTF-8?q?riginal=20patch=20by=20Andr=C3=A9=20Freitas.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/library/idle.rst | 3 ++- Lib/idlelib/help.txt | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Doc/library/idle.rst b/Doc/library/idle.rst index c842b26..24e22c1 100644 --- a/Doc/library/idle.rst +++ b/Doc/library/idle.rst @@ -248,7 +248,8 @@ Configure IDLE help sources can be specified. Non-default user setting are saved in a .idlerc directory in the user's home directory. Problems caused by bad user configuration files are solved by editing or deleting one or more of the - files in .idlerc. + files in .idlerc. On OS X, open the configuration dialog by selecting + Preferences in the application menu. Configure Extensions Open a configuration dialog for setting preferences for extensions diff --git a/Lib/idlelib/help.txt b/Lib/idlelib/help.txt index 6b1c002..c4d7155 100644 --- a/Lib/idlelib/help.txt +++ b/Lib/idlelib/help.txt @@ -90,10 +90,9 @@ Options Menu: Configure IDLE -- Open a configuration dialog. Fonts, indentation, keybindings, and color themes may be altered. Startup Preferences may be set, and Additional Help - Sources can be specified. - - On OS X this menu is not present, use - menu 'IDLE -> Preferences...' instead. + Sources can be specified. On OS X, open the + configuration dialog by selecting Preferences + in the application menu. --- Code Context -- Open a pane at the top of the edit window which shows the block context of the section of code -- cgit v0.12