Commit Graph

2998 Commits

Author SHA1 Message Date
Alexey Izbyshev a9122d183b [3.7] bpo-35147: Fix _Py_NO_RETURN for GCC (GH-10300) (GH-10301)
Use `__GNUC__` instead of non-existing `__GNUC_MAJOR__`.

(cherry picked from commit e2ed5adcb5)


https://bugs.python.org/issue35147
2018-11-02 18:30:11 -07:00
Victor Stinner 21220bbe65
bpo-34403: Fix initfsencoding() for ASCII (GH-10233)
* Add _Py_GetForceASCII(): check if Python forces the usage of ASCII
  in Py_DecodeLocale() and Py_EncodeLocale().
* initfsencoding() now uses ASCII if _Py_GetForceASCII() is true.
2018-10-30 12:59:20 +01:00
Ned Deily a5f6882be0 Post release bump 2018-10-20 12:56:38 -04:00
Ned Deily 08eae4fa4c Python 3.7.1
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEDZbfTUEQ5cQ/v7F/LTR+pqplQh0FAlvKxbwACgkQLTR+pqpl
 Qh1gIxAAs6/Ry7GirNwzVrKv6HG/GYFB61OaqmO2BMRRuFB226iQjdM1Amaw5I3m
 Dbe4rPrQWXPaI7UIMrbA/oK1BH5AZgpKcVr5YbXF3uAb3AN05E9iNGVbR+qQMlsd
 +3ydWrDcKzRJnVZxaUlLVZdEpaDXsAkAJTfOBNvwdfncBtPXa1+tbuT0SY6yGFwb
 NNq+BvYZJJKuWQ3s10zv5dnUiUlLJMLiVP0pZjwVS2d/gG2gs/rEzz2fBJKygjYR
 TTGhS69KGpqYOLq9USmUzI7DJNts7YeNhhiwF/X7qOx4y2n2dRz721SGlG+Nkxt6
 kvRv3LaLRKsBlPjoVHFyRwIlr4uc3JfwFL3ngswfUNgChrqxkEZgV4oouxeSVQ5o
 Yi/GGBA+c9xvdgufnaKgt8Ep30XRS7vfQZ8KeFwH2xWNCIglVHdBffwwlbwUWft5
 t3/udHDXdeUu7Yb7hfamaA5pafH5lwoQMlbSwOl9gg94sNNuERhocoi8IpMDhzDs
 cI7Jw8sAPWipn6F7k2rn8Z8RFWZEJr4XtgZs/+jTxS3DVfuV3EDYIlM2V/4SXK/b
 KCJ/4NqDjGEFyrSZ0/d5GnmE3dvWrYztUebotFvv2q2aPEv9u8n66BxH/pSLNFTJ
 CtITqOsRwU8IdeOIET0246Oi8Ha4ZU/qQdnPqv5bktD69qAxSOQ=
 =qLkl
 -----END PGP SIGNATURE-----

Merge tag 'v3.7.1' into 3.7
2018-10-20 12:54:48 -04:00
Ned Deily 260ec2c36a 3.7.1final 2018-10-20 02:04:19 -04:00
Miss Islington (bot) 178d1c0777
bpo-24658: Fix read/write greater than 2 GiB on macOS (GH-1705)
On macOS, fix reading from and writing into a file with a size larger than 2 GiB.
(cherry picked from commit 74a8b6ea7e)

Co-authored-by: Stéphane Wirtel <stephane@wirtel.be>
2018-10-17 23:58:40 -07:00
Ned Deily 6a1238cb44 Post release bump 2018-10-13 16:45:49 -04:00
Ned Deily 6c06ef7dc3 3.7.1rc2 2018-10-13 03:01:13 -04:00
Ned Deily 2bdba6b429 Post release bump 2018-09-26 20:12:10 -04:00
Ned Deily 2064bcf6ce 3.7.1rc1 2018-09-26 02:16:09 -04:00
Miss Islington (bot) 187f2dd256
bpo-34762: Fix contextvars C API to use PyObject* pointer types. (GH-9473)
(cherry picked from commit 2ec872b31e)

Co-authored-by: Yury Selivanov <yury@magic.io>
2018-09-21 12:48:10 -07:00
Victor Stinner 95cc3ee00c
Revert "[3.7] bpo-34589: Add -X coerce_c_locale option; C locale coercion off by default (GH-9379)" (GH-9416)
This reverts commit 144f1e2c6f.
2018-09-19 12:01:52 -07:00
Miss Islington (bot) 470a435f3b
bpo-34623: Use XML_SetHashSalt in _elementtree (GH-9146)
The C accelerated _elementtree module now initializes hash randomization
salt from _Py_HashSecret instead of libexpat's default CPRNG.

Signed-off-by: Christian Heimes <christian@python.org>

https://bugs.python.org/issue34623
(cherry picked from commit cb5778f00c)

Co-authored-by: Christian Heimes <christian@python.org>
2018-09-18 06:11:09 -07:00
Victor Stinner 144f1e2c6f
[3.7] bpo-34589: Add -X coerce_c_locale option; C locale coercion off by default (GH-9379)
* bpo-34589: Make _PyCoreConfig.coerce_c_locale private (GH-9371)

_PyCoreConfig:

* Rename coerce_c_locale to _coerce_c_locale
* Rename coerce_c_locale_warn to _coerce_c_locale_warn

These fields are now private (name prefixed by "_").

(cherry picked from commit 188ebfa475)

* bpo-34589: C locale coercion off by default (GH-9073)

Py_Initialize() and Py_Main() cannot enable the C locale coercion
(PEP 538) anymore: it is always disabled. It can now only be enabled
by the Python program ("python3).

test_embed: get_filesystem_encoding() doesn't have to set PYTHONUTF8
nor PYTHONCOERCECLOCALE, these variables are already set in the
parent.

(cherry picked from commit 7a0791b699)

* bpo-34589: Add -X coerce_c_locale command line option (GH-9378)

Add a new -X coerce_c_locale command line option to control C locale
coercion (PEP 538).

(cherry picked from commit dbdee0073c)
2018-09-17 18:01:39 -07:00
Victor Stinner 0c90d6f759
[3.7] bpo-34247: Fix Python 3.7 initialization (#8659)
* -X dev: it is now possible to override the memory allocator using
  PYTHONMALLOC even if the developer mode is enabled.
* Add _Py_InitializeFromConfig()
* Add _Py_Initialize_ReadEnvVars() to set global configuration
  variables from environment variables
* Fix the code to initialize Python: Py_Initialize() now also reads
  environment variables
* _Py_InitializeCore() can now be called twice: the second call
  only replaces the configuration.
* Write unit tests on Py_Initialize() and the different ways to
  configure Python
* The isolated mode now always sets Py_IgnoreEnvironmentFlag and
  Py_NoUserSiteDirectory to 1.
* pymain_read_conf() now saves/restores the configuration
  if the encoding changed
2018-08-05 12:31:59 +02:00
Miss Islington (bot) c919252a28
Fix redundant declaration of _PyImport_AddModuleObject (GH-7992)
(cherry picked from commit f874bd1f06)

Co-authored-by: Jeremy Cline <jeremy@jcline.org>
2018-06-29 16:03:07 -07:00
Ned Deily 4f69a297a9 start 3.7.0+ 2018-06-27 18:29:26 -04:00
Ned Deily 1bf9cc5093 3.7.0 final 2018-06-26 23:07:35 -04:00
Ned Deily dfad352267 3.7.0rc1 2018-06-12 00:46:50 -04:00
Ned Deily d8bc353aa1 Bump to 3.7.0b5+ 2018-05-30 20:53:43 -04:00
Ned Deily abb8802389 3.7.0b5 2018-05-30 19:50:49 -04:00
Serhiy Storchaka 2641ee5040
bpo-32911: Revert bpo-29463. (GH-7121)
Remove the docstring attribute of AST types and restore docstring
expression as a first stmt in their body.

Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
2018-05-29 10:49:10 +03:00
Serhiy Storchaka 1f22a3003e
[3.7] Add missed details of the C API introduced in 3.7. (GH-7047) (GH-7061)
* Set the limited API version for PyImport_GetModule and PyOS_*Fork
  functions.
* Add PyImport_GetModule and Py_UTF8Mode in PC/python3.def.
* Add several functions in Doc/data/refcounts.dat.
(cherry picked from commit 4e29f566e8)
2018-05-22 22:26:42 +03:00
Miss Islington (bot) e1a78cacf6
bpo-5945: Improve mappings and sequences C API docs. (GH-7029)
(cherry picked from commit f5b1183610)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-05-22 01:23:20 -07:00
Serhiy Storchaka b32f8897ea
[3.7] bpo-33475: Fix and improve converting annotations to strings. (GH-6774). (GH-6927)
(cherry picked from commit 64fddc423f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-05-20 18:06:08 +03:00
Eric Snow 6bd0c476c5
bpo-32604: Remove xid registry. (#6813)
Remove the interpreters testing helper (and xid registry).
2018-05-15 09:56:18 -04:00
Ned Deily 01e19f8fed bump to 3.7.0b4+ 2018-05-02 05:01:31 -04:00
Ned Deily eb96c37699 3.7.0b4 2018-05-02 03:41:45 -04:00
Miss Islington (bot) 32955299b4
Spelling fixes to docs, docstrings, and comments (GH-6374)
(cherry picked from commit 61f82e0e33)

Co-authored-by: Ville Skyttä <ville.skytta@iki.fi>
2018-04-20 14:00:41 -07:00
Ned Deily e557b5c479 bump to 3.7.0b3+ 2018-03-29 08:57:23 -04:00
Ned Deily 4e7efa9c6f 3.7.0b3 2018-03-29 07:57:55 -04:00
Miss Islington (bot) 5506d60302
bpo-32836: Remove obsolete code from symtable pass (GH-5680)
When comprehensions switched to using a nested scope, the old
code for generating a temporary name to hold the accumulation
target became redundant, but was never actually removed.

Patch by Nitish Chandra.
(cherry picked from commit 3a087beddd)

Co-authored-by: Nitish Chandra <nitishchandrachinta@gmail.com>
2018-03-10 15:11:47 -08:00
Ned Deily b2df4a006a Moving on to 3.7.0b2+ 2018-02-28 00:03:17 -05:00
Ned Deily b0ef5c979b Update NEWS, docs, and patchlevel for 3.7.0b2 2018-02-27 19:49:18 -05:00
Miss Islington (bot) 3db05a3a9c bpo-32604: Clean up created subinterpreters before runtime finalization. (gh-5710)
(cherry picked from commit 4c6955e2b0)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2018-02-16 19:15:24 -07:00
Miss Islington (bot) 972edd91cf
Fix typo in Include/objimpl.h, the word "has" was missing (GH-5568) (GH-5569)
It now reads: ...be aware that Python has no control over...
(cherry picked from commit 517da1e58f)

Co-authored-by: Alexey <forestbiiird@gmail.com>
2018-02-11 23:33:11 -08:00
Miss Islington (bot) 2bb0bfafb0 bpo-32777: Fix _Py_set_inheritable async-safety in subprocess (GH-5560) (GH-5562)
Fix a rare but potential pre-exec child process deadlock in subprocess on POSIX systems when marking file descriptors inheritable on exec in the child process.  This bug appears to have been introduced in 3.4 with the inheritable file descriptors support.

This also changes Python/fileutils.c `set_inheritable` to use the "slow" two `fcntl` syscall path instead of the "fast" single `ioctl` syscall path when asked to be async signal safe (by way of being asked not to raise exceptions).  `ioctl` is not a POSIX async-signal-safe approved function.

ref: http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html
(cherry picked from commit c1e46e94de)

Co-authored-by: Alexey Izbyshev <izbyshev@users.noreply.github.com>
2018-02-05 22:31:22 -08:00
Miss Islington (bot) 29fd9eae43 Revert "bpo-31356: Add context manager to temporarily disable GC GH-5495 (#5496)
This reverts commit 72a0d218dc.

The reverted commit had a few issues so it was unanimously decided
to undo it. See the bpo issue for details.
(cherry picked from commit 383b32fe10)

Co-authored-by: Yury Selivanov <yury@magic.io>
2018-02-02 10:04:32 -05:00
Ned Deily f5f8a74356 finished 3.7.0b1 - on to b1+ 2018-01-31 17:00:52 -05:00
Ned Deily 9561d7f501 Update NEWS, docs, and patchlevel for 3.7.0b1 2018-01-30 18:48:26 -05:00
Eric Snow 7f8bfc9b9a
bpo-32604: Expose the subinterpreters C-API in a "private" stdlib module. (gh-1748)
The module is primarily intended for internal use in the test suite.  Building the module under Windows will come in a follow-up PR.
2018-01-29 18:23:44 -07:00
Mark Shannon 332cd5ee4f bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181) 2018-01-29 16:41:04 -08:00
Pablo Galindo 72a0d218dc bpo-31356: Add context manager to temporarily disable GC (GH-4224) 2018-01-29 12:37:09 -08:00
Benjamin Peterson c65ef772c3
rename _imp initialization function to follow conventions (#5432)
When the C imp module became _imp in 6f44d66bc4, the initialization function should have been renamed from PyInit_imp to PyInit__imp.
2018-01-29 11:33:57 -08:00
INADA Naoki a49ac99029
bpo-32677: Add .isascii() to str, bytes and bytearray (GH-5342) 2018-01-27 14:06:21 +09:00
Guido van Rossum 95e4d58913 String annotations [PEP 563] (#4390)
* Document `from __future__ import annotations`
* Provide plumbing and tests for `from __future__ import annotations`
* Implement unparsing the AST back to string form

This is required for PEP 563 and as such only implements a part of the
unparsing process that covers expressions.
2018-01-26 08:20:18 -08:00
Serhiy Storchaka f320be77ff bpo-32571: Avoid raising unneeded AttributeError and silencing it in C code (GH-5222)
Add two new private APIs: _PyObject_LookupAttr() and _PyObject_LookupAttrId()
2018-01-25 17:49:40 +09:00
Paul Ganssle 04af5b1ba9 bpo-10381: Add timezone to datetime C API (#5032)
* Add timezone to datetime C API

* Add documentation for timezone C API macros

* Add dedicated tests for datetime type check macros

* Remove superfluous C API test

* Drop support for TimeZoneType in datetime C API

* Expose UTC singleton to the datetime C API

* Update datetime C-API documentation to include links

* Add reference count information for timezone constructors
2018-01-24 17:29:30 -05:00
Victor Stinner 8ded5b8037
bpo-32030: Add _PyCoreConfig.module_search_paths (#4954)
_PyCoreConfig_Read() is now responsible to compute sys.path.
So sys.path is now computed before calling _Py_InitializeCore().

Changes:

* Add module_search_path, module_search_paths, executable, prefix,
  base_prefix, exec_prefix and base_exec_prefix to _PyCoreConfig.
* _PyMainInterpreterConfig_Read() now only converts wchar_t** lists
  into a Python list, it doesn't compute sys.path anymore.
2018-01-24 17:03:28 +01:00
stratakis e768c86ef4 bpo-32635: Fix a segfault when importing the crypt module with libxcrypt. (#5284)
glibc is deprecating libcrypt in favor of libxcrypt, however python assumes
that crypt.h will always be included. This change makes the header inclusion
explicit when libxcrypt is present on the system.
2018-01-23 16:11:24 +01:00