Commit Graph

214 Commits

Author SHA1 Message Date
Miss Islington (bot) 3ac152948d bpo-37759: Add examples for the new typing features (GH-16763) (GH-16764)
(cherry picked from commit a3291531ea)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-10-13 23:45:45 -07:00
Miss Islington (bot) c09379bd6e bpo-38461 and bpo-38463: Minor fixes to Whatsnew 3.8 (GH-16761) (GH-16762)
* bpo-38461: ncurses misspelled as curses

* bpo-38463: Fix broken link
(cherry picked from commit 61a6db5e79)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-10-13 21:54:05 -07:00
Raymond Hettinger 75d8a75295
Fix minor typos in Whatsnew (GH-16759) 2019-10-13 20:35:11 -07:00
Miss Islington (bot) 02d6f4f9bc Rebased version of what's new PR (GH-16745) (#16748)
* Use Unicode character for accent
* Various grammar fixes
* Sort library modules alphabetically; remove duplicated idlelib/IDLE section
(cherry picked from commit bb78f6cfa6)

Co-authored-by: Andrew Kuchling <amk@amk.ca>
2019-10-13 22:35:10 +02:00
Miss Islington (bot) fdc7cbeedc
Announce the change in the CancelledError inheritance (GH-16730)
This is a fairly noticeable change that requires adjustments in
existing asyncio code. It should therefore be announced.
(cherry picked from commit e634da2747)

Co-authored-by: Phil Jones <philip.graham.jones@googlemail.com>
2019-10-12 10:53:32 -07:00
Miss Islington (bot) 294c5229b1
Fix typo in the "Porting to Python 3.8" section. (GH-16435)
(cherry picked from commit dd6117c6d7)

Co-authored-by: bariod <35639254+bariod@users.noreply.github.com>
2019-10-11 14:09:44 -07:00
Victor Stinner 96c8475362
[3.8] bpo-38234: Backport init path config changes from master (GH-16423)
* bpo-38234: Py_SetPath() uses the program full path (GH-16357)

Py_SetPath() now sets sys.executable to the program full path
(Py_GetProgramFullPath()), rather than to the program name
(Py_GetProgramName()).

Fix also memory leaks in pathconfig_set_from_config().

(cherry picked from commit 1ce152a42e)

* bpo-38234: Add tests for Python init path config (GH-16358)


(cherry picked from commit bb6bf7d342)

* bpo-38234: test_embed: test pyvenv.cfg and pybuilddir.txt (GH-16366)

Add test_init_pybuilddir() and test_init_pyvenv_cfg() to test_embed
to test pyvenv.cfg and pybuilddir.txt configuration files.

Fix sysconfig._generate_posix_vars(): pybuilddir.txt uses UTF-8
encoding, not ASCII.

(cherry picked from commit 52ad33abbf)

* bpo-38234: Cleanup getpath.c (GH-16367)

* search_for_prefix() directly calls reduce() if found is greater
  than 0.
* Add calculate_pybuilddir() subfunction.
* search_for_prefix(): add path string buffer for readability.
* Fix some error handling code paths: release resources on error.
* calculate_read_pyenv(): rename tmpbuffer to filename.
* test.pythoninfo now also logs windows.dll_path

(cherry picked from commit 221fd84703)

* bpo-38234: Fix test_embed pathconfig tests (GH-16390)

bpo-38234: On macOS and FreeBSD, the temporary directory can be
symbolic link. For example, /tmp can be a symbolic link to /var/tmp.
Call realpath() to resolve all symbolic links.

(cherry picked from commit 00508a7407)

* bpo-38234: Add test_init_setpath_config() to test_embed (GH-16402)

* Add test_embed.test_init_setpath_config(): test Py_SetPath()
  with PyConfig.
* test_init_setpath() and test_init_setpythonhome() no longer call
  Py_SetProgramName(), but use the default program name.
* _PyPathConfig: isolated, site_import  and base_executable
  fields are now only available on Windows.
* If executable is set explicitly in the configuration, ignore
  calculated base_executable: _PyConfig_InitPathConfig() copies
  executable to base_executable.
* Complete path config documentation.

(cherry picked from commit 8bf39b606e)

* bpo-38234: Complete init config documentation (GH-16404)


(cherry picked from commit 88feaecd46)

* bpo-38234: Fix test_embed.test_init_setpath_config() on FreeBSD (GH-16406)

Explicitly preinitializes with a Python preconfiguration to avoid
Py_SetPath() implicit preinitialization with a compat
preconfiguration.

Fix also test_init_setpath() and test_init_setpythonhome() on macOS:
use self.test_exe as the executable (and base_executable), rather
than shutil.which('python3').

(cherry picked from commit 49d99f01e6)

* bpo-38234: Py_Initialize() sets global path configuration (GH-16421)

* Py_InitializeFromConfig() now writes PyConfig path configuration to
  the global path configuration (_Py_path_config).
* Add test_embed.test_get_pathconfig().
* Fix typo in _PyWideStringList_Join().

(cherry picked from commit 12f2f177fc)
2019-09-26 16:17:34 +02:00
Miss Islington (bot) be2aa58fdc bpo-35224: Additional documentation for Assignment Expressions (GH-15935) (GH-15967)
Add or update assignment expression documentation for:
- FAQ - Design
- Reference - Expressions
- Reference - Lexical Analysis

https://bugs.python.org/issue35224

Automerge-Triggered-By: @matrixise
(cherry picked from commit 6357c95716)

Co-authored-by: Emily Morehouse <emily@cuttlesoft.com>
2019-09-11 17:12:09 +02:00
Miss Islington (bot) aa527174f0
Doc: Indicate locations of parse_qs, parse_qsl, escape (GH-14828)
Since they have been removed from cgi it's useful to remind people where they
can be found instead.
(cherry picked from commit 1abf54336f)

Co-authored-by: Simon Willison <swillison@gmail.com>
2019-09-11 08:04:02 -07:00
Miss Islington (bot) 0ba5dbd992 bpo-32972: Document IsolatedAsyncioTestCase of unittest module (GH-15878) (GH-15918)
* Document `unittest.IsolatedAsyncioTestCase` API
* Add a simple example with respect to order of evaluation of setup and teardown calls.

https://bugs.python.org/issue32972

Automerge-Triggered-By: @asvetlov
(cherry picked from commit 6a9fd66f6e)

Co-authored-by: Xtreak <tir.karthi@gmail.com>
2019-09-11 14:17:14 +03:00
Miss Islington (bot) 5e053eb98e
Fix typo in math.prod example (GH-15614)
(cherry picked from commit 1a8de82d3a)

Co-authored-by: Ashwin Vishnu <9155111+ashwinvis@users.noreply.github.com>
2019-09-09 06:42:50 -07:00
Miss Islington (bot) 4dd1c9d9c2
closes bpo-37966: Fully implement the UAX GH-15 quick-check algorithm. (GH-15558)
The purpose of the `unicodedata.is_normalized` function is to answer
the question `str == unicodedata.normalized(form, str)` more
efficiently than writing just that, by using the "quick check"
optimization described in the Unicode standard in UAX GH-15.

However, it turns out the code doesn't implement the full algorithm
from the standard, and as a result we often miss the optimization and
end up having to compute the whole normalized string after all.

Implement the standard's algorithm.  This greatly speeds up
`unicodedata.is_normalized` in many cases where our partial variant
of quick-check had been returning MAYBE and the standard algorithm
returns NO.

At a quick test on my desktop, the existing code takes about 4.4 ms/MB
(so 4.4 ns per byte) when the partial quick-check returns MAYBE and it
has to do the slow normalize-and-compare:

  $ build.base/python -m timeit -s 'import unicodedata; s = "\uf900"*500000' \
      -- 'unicodedata.is_normalized("NFD", s)'
  50 loops, best of 5: 4.39 msec per loop

With this patch, it gets the answer instantly (58 ns) on the same 1 MB
string:

  $ build.dev/python -m timeit -s 'import unicodedata; s = "\uf900"*500000' \
      -- 'unicodedata.is_normalized("NFD", s)'
  5000000 loops, best of 5: 58.2 nsec per loop

This restores a small optimization that the original version of this
code had for the `unicodedata.normalize` use case.

With this, that case is actually faster than in master!

$ build.base/python -m timeit -s 'import unicodedata; s = "\u0338"*500000' \
    -- 'unicodedata.normalize("NFD", s)'
500 loops, best of 5: 561 usec per loop

$ build.dev/python -m timeit -s 'import unicodedata; s = "\u0338"*500000' \
    -- 'unicodedata.normalize("NFD", s)'
500 loops, best of 5: 512 usec per loop
(cherry picked from commit 2f09413947)

Co-authored-by: Greg Price <gnprice@gmail.com>
2019-09-03 20:03:37 -07:00
Miss Islington (bot) 03c52f2f63
bpo-37951: Lift subprocess's fork() restriction (GH-15544)
(cherry picked from commit 98d90f745d)

Co-authored-by: Christian Heimes <christian@python.org>
2019-08-27 14:56:27 -07:00
Miss Islington (bot) 522a394a72 [3.8] bpo-36917: Add default implementation of ast.NodeVisitor.visit_Constant(). (GH-15490) (GH-15509)
It emits a deprecation warning and calls corresponding method
visit_Num(), visit_Str(), etc.
(cherry picked from commit c3ea41e9bf)
2019-08-26 10:43:33 +03:00
Steve Dower 9eb3d54639
bpo-37834: Normalise handling of reparse points on Windows (GH-15370)
bpo-37834: Normalise handling of reparse points on Windows
* ntpath.realpath() and nt.stat() will traverse all supported reparse points (previously was mixed)
* nt.lstat() will let the OS traverse reparse points that are not name surrogates (previously would not traverse any reparse point)
* nt.[l]stat() will only set S_IFLNK for symlinks (previous behaviour)
* nt.readlink() will read destinations for symlinks and junction points only

bpo-1311: os.path.exists('nul') now returns True on Windows
* nt.stat('nul').st_mode is now S_IFCHR (previously was an error)
2019-08-21 15:52:42 -07:00
Miss Islington (bot) c30c869e8d
bpo-9949: Enable symlink traversal for ntpath.realpath (GH-15287)
(cherry picked from commit 75e064962e)

Co-authored-by: Steve Dower <steve.dower@python.org>
2019-08-21 14:09:33 -07:00
Raymond Hettinger 9bedb8c9e6
bpo-37759: Second round of edits to Whatsnew 3.8 (GH-15204) (GH-15240)
(cherry picked from commit 66a34d35e4)
2019-08-12 18:02:58 -07:00
Serhiy Storchaka 4c5b6bac24 [3.8] bpo-32912: Revert SyntaxWarning on invalid escape sequences (GH-15142)
* bpo-32912: Revert warnings for invalid escape sequences.

DeprecationWarning will continue to be emitted for invalid escape sequences in string and bytes literals in 3.8 just as it did in 3.7.

SyntaxWarning may be emitted in the future. But per mailing list discussion, we don't yet know when because we haven't settled on how to do so in a non-disruptive manner.
2019-08-09 15:34:22 -07:00
Miss Islington (bot) 26f91db5ba bpo-37759: First round of major edits to Whatsnew 3.8 (GH-15127) (GH-15139)
(cherry picked from commit 4f9ffc9d1a)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-05 15:22:13 -07:00
Miss Islington (bot) c7236b498f
bpo-33822: Add IDLE section of What's New 3.8 (GH-15035)
* bpo-33822: Add IDLE section of What's New 3.8

* Fix role.
(cherry picked from commit a72ca90eb9)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2019-07-30 22:16:45 -07:00
Miss Islington (bot) 7026737d77
bpo-36084: Add threading Native ID information to What's New documentation (GH-14845)
(cherry picked from commit 84846b0187)

Co-authored-by: Jake Tesler <jake.tesler@gmail.com>
2019-07-30 14:49:23 -07:00
Miss Islington (bot) 1da6a313dd
bpo-17535: IDLE editor line numbers (GH-14030)
(cherry picked from commit 7123ea009b)

Co-authored-by: Tal Einat <taleinat@gmail.com>
2019-07-23 06:04:13 -07:00
Miss Islington (bot) b4cd6ba1a0
bpo-37481: Deprecate distutils bdist_wininst command (GH-14553)
The distutils bdist_wininst command is now deprecated, use
bdist_wheel (wheel packages) instead.
(cherry picked from commit 1da4462765)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-07-05 02:03:23 -07:00
Miss Islington (bot) e224d2865a bpo-37209: Add pickle entry for 3.8 whatsnew (GH-14503) (GH-14512)
(cherry picked from commit ec6c1bd049)

Co-authored-by: Pierre Glaser <pierreglaser@msn.com>
2019-07-01 16:05:02 +02:00
Miss Islington (bot) cb083f7cdf bpo-37221: Add PyCode_NewWithPosOnlyArgs to be used internally and set PyCode_New as a compatibility wrapper (GH-13959) (#14505)
Add PyCode_NewEx to be used internally and set PyCode_New as a compatibility wrapper
(cherry picked from commit 4a2edc34a4)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2019-07-01 13:29:14 +02:00
Miss Islington (bot) 63429c839b
bpo-37412: os.getcwdb() now uses UTF-8 on Windows (GH-14396)
The os.getcwdb() function now uses the UTF-8 encoding on Windows,
rather than the ANSI code page: see PEP 529 for the rationale. The
function is no longer deprecated on Windows.

os.getcwd() and os.getcwdb() now detect integer overflow on memory
allocations. On Unix, these functions properly report MemoryError on
memory allocation failure.
(cherry picked from commit 689830ee62)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-26 09:14:30 -07:00
Miss Islington (bot) 8d6668c92b
Fix minor spelling error in What's new for Python 3.8 (GH-14371)
(cherry picked from commit de9b606c90)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2019-06-25 04:02:49 -07:00
Miss Islington (bot) ced9e11931
bpo-35224: Add What's new entry for evaluation order in dict comprehensions (GH-14319)
(cherry picked from commit b51b7137fa)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2019-06-24 18:49:07 -07:00
Steve Dower fa23bd286f
bpo-37351: Removes libpython38.a from standard Windows distribution (GH-14276) 2019-06-22 14:08:02 -07:00
Victor Stinner b0338be5d2
Update What's New in Python 3.8 (GH-14253) (GH-14294)
Fix bpo number of PyByteArray_Init removal

(cherry picked from commit c68e3fb15d)
2019-06-21 23:15:27 +02:00
Miss Islington (bot) 67cf0ae78a
Update What's New in Python 3.8 (GH-14239)
* Mention issue in which ByByteArray_Init() has been removed.
* Fix typo
(cherry picked from commit af41c567af)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-19 16:52:47 -07:00
Miss Islington (bot) 45da7437f5
[3.8] bpo-33416: Document changes in PyNode_AddChild and PyParser_AddToken (GH-14214) (GH-14215)
I didn't find any entries in the docs about these functions, so I just mentioned them, in "What's New".
(cherry picked from commit 47c2de7725)


Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>


https://bugs.python.org/issue33416
2019-06-18 17:33:34 -07:00
Miss Islington (bot) 298023633f
bpo-36785: PEP 574 What's New entry (GH-13931)
(cherry picked from commit c879ff247a)

Co-authored-by: Antoine Pitrou <antoine@python.org>
2019-06-15 09:02:57 -07:00
Miss Islington (bot) 3fde750cc4
bpo-36707: Document "m" removal from sys.abiflags (GH-14090)
(cherry picked from commit 7efc526e5c)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-14 18:31:44 -07:00
Miss Islington (bot) 322281e7ca
Document C API changes in What's New in Python 3.8 (GH-14092)
(cherry picked from commit bd5798f6d4)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-06-14 10:51:32 -07:00
Victor Stinner f9445a391e
[3.8] bpo-37253: Document PyCompilerFlags.cf_feature_version (GH-14019) (GH-14038)
* Update PyCompilerFlags structure documentation.
* Document the new cf_feature_version field in the Changes in the C
  API section of the What's New in Python 3.8 doc.

(cherry picked from commit 2c9b498759)
2019-06-13 02:40:41 +02:00
Miss Islington (bot) 669e07be48 Add some placeholder notes for major 3.8 features (GH-13927) (#13929)
(cherry picked from commit b9438ceb20)

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
2019-06-12 13:31:13 +02:00
Miss Islington (bot) 3ba21070c6 bpo-35766: Change format for feature_version to (major, minor) (GH-13992) (GH-13993)
(A single int is still allowed, but undocumented.)

https://bugs.python.org/issue35766
(cherry picked from commit 10b55c1643)

Co-authored-by: Guido van Rossum <guido@python.org>
2019-06-12 02:55:28 +02:00
Miss Islington (bot) 785688832d
bpo-35766: What's new in the ast and typing modules (GH-13984)
(cherry picked from commit 9b33ce48a7)

Co-authored-by: Guido van Rossum <guido@python.org>
2019-06-11 14:13:25 -07:00
Petter Strandmark 001d63cefa bpo-35047: Update whatsnew/3.8 for better mock error message (GH-13746) 2019-06-04 21:34:48 +02:00
Victor Stinner 01ae897efd
Add credits to What's New in Python 3.8 (GH-13776)
* Credit myself and others.
* Complete asyncio changes.
2019-06-03 16:28:01 +02:00
Inada Naoki 91234a1636
bpo-26219: per opcode cache for LOAD_GLOBAL (GH-12884)
This patch implements per opcode cache mechanism, and use it in
only LOAD_GLOBAL opcode.

Based on Yury's opcache3.patch in bpo-26219.
2019-06-03 21:30:58 +09:00
Jeroen Demeyer 9e3e06e582 bpo-36974: document PEP 590 (GH-13450) 2019-06-03 01:43:13 +02:00
Xtreak 0d70227e41 Fix typos in docs and docstrings (GH-13745) 2019-06-03 01:12:33 +02:00
Mark Dickinson c52996785a
bpo-36027: Extend three-argument pow to negative second argument (GH-13266) 2019-06-02 10:24:06 +01:00
Serhiy Storchaka bdbad71b9d
bpo-20092. Use __index__ in constructors of int, float and complex. (GH-13108) 2019-06-02 00:05:48 +03:00
Pablo Galindo cd74e66a8c
bpo-37122: Make co->co_argcount represent the total number of positonal arguments in the code object (GH-13726) 2019-06-01 18:08:04 +01:00
Mark Dickinson a0adffb902
Move whats-new entry for math.factorial to the math module section. (GH-13723) 2019-06-01 12:21:53 +01:00
Serhiy Storchaka 2085bd0877
bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700) 2019-06-01 11:00:15 +03:00
Pablo Galindo 545a3b8814
Document changes for PyCode_New regarding PEP570 (GH-13706) 2019-05-31 19:33:41 +01:00