summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* bpo-25810: Clarify eval() docs, it does not keywords (GH-15173)smokephil2019-09-111-1/+1
|
* bpo-37409: fix relative import with no parent (#14956)Ben Lewis2019-09-115-11/+25
| | | | | | | | | | | | | Relative imports use resolve_name to get the absolute target name, which first seeks the current module's absolute package name from the globals: If __package__ (and __spec__.parent) are missing then import uses __name__, truncating the last segment if the module is a submodule rather than a package __init__.py (which it guesses from whether __path__ is defined). The __name__ attempt should fail if there is no parent package (top level modules), if __name__ is '__main__' (-m entry points), or both (scripts). That is, if both __name__ has no subcomponents and the module does not seem to be a package __init__ module then import should fail.
* bpo-37585: Add clarification regarding comparing dict.values() (GH-14954)Kyle Stanley2019-09-111-0/+8
|
* bpo-16438: Doc: confusing text regarding numeric precedence corrected (GH-10521)Anjali2019-09-111-3/+2
|
* bpo-38081: Fixes ntpath.realpath('NUL') (GH-15899)Steve Dower2019-09-113-6/+12
|
* bpo-37936: Systematically distinguish rooted vs. unrooted in .gitignore ↵Greg Price2019-09-113-51/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-15823) A root cause of bpo-37936 is that it's easy to write a .gitignore rule that's intended to apply to a specific file (e.g., the `pyconfig.h` generated by `./configure`) but actually applies to all similarly-named files in the tree (e.g., `PC/pyconfig.h`.) Specifically, any rule with no non-trailing slashes is applied in an "unrooted" way, to files anywhere in the tree. This means that if we write the rules in the most obvious-looking way, then * for specific files we want to ignore that happen to be in subdirectories (like `Modules/config.c`), the rule will work as intended, staying "rooted" to the top of the tree; but * when a specific file we want to ignore happens to be at the root of the repo (like `platform`), then the obvious rule (`platform`) will apply much more broadly than intended: if someone tries to add a file or directory named `platform` somewhere else in the tree, it will unexpectedly get ignored. That's surprising behavior that can make the .gitignore file's behavior feel finicky and unpredictable. To avoid it, we can simply always give a rule "rooted" behavior when that's what's intended, by systematically using leading slashes. Further, to help make the pattern obvious when looking at the file and minimize any need for thinking about the syntax when adding new rules: separate the rules into one group for each type, with brief comments identifying them. For most of these rules it's clear whether they're meant to be rooted or unrooted, but in a handful of cases I've only guessed. In that case the safer default (the choice that won't hide information) is the narrower, rooted meaning, with a leading slash. If for some of these the unrooted meaning is desired after all, it'll be easy to move them to the unrooted section at the top.
* bpo-37424: Avoid a hang in subprocess.run timeout output capture (GH-14490)Gregory P. Smith2019-09-113-9/+53
| | | | | | | Fixes a possible hang when using a timeout on subprocess.run() while capturing output. If the child process spawned its own children or otherwise connected its stdout or stderr handles with another process, we could hang after the timeout was reached and our child was killed when attempting to read final output from the pipes.
* Overhaul datetime documentation (GH-13410)Brad2019-09-112-476/+731
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a restructuring of the datetime documentation to hopefully make them more user-friendly and approachable to new users without losing any of the detail. Changes include: - Creating dedicated subsections for some concepts such as: - "Constants" - "Naive vs Aware" - "Determining if an Object is Aware" - Give 'naive vs aware' its own subsection - Give 'constants' their own subsection - Overhauling the strftime-strptime section by: - Breaking it into logical, linkable, and digestable parts - Adding a high-level comparison table - Moving the technical detail to bottom: readers come to this section primarily to remind themselves to things: - How do I write the format code for X? - strptime/strftime: which one is which again? - Touching up fromisoformat + isoformat sections by: - Revising fromisoformat + isoformat for date, time, and datetime - Adding basic examples - Enforcing consistency about putting formats (i.e. ``HH:MM``) in double backticks. This was previously done in some places but not all - Putting long 'supported formats', on their own line to improve readability - Moving the 'seealso' section to the top and add a link to dateutil Rationale: This doesn't really belong nested under the 'constants' section. Let readers know right away that datetime is one of several related tools. - Moving common features of several types into one place: Previously, each type went out of its way to note separately that it was hashable and picklable. These can be brought into one single place that is more prominent. - Reducing some verbose explanations to improve readability - Breaking up long paragraphs into digestable chunks - Displaying longer "equivalent to" examples, as short code blocks - Using the dot notation for datetime/time classes: Use :class:`.time` and :class:`.datetime` rather than :class:`time` and :class:`datetime`; otherwise, the generated links will route to the respective modules, not classes. - Rewording the tzinfo class description The top paragraph should get straight to the point of telling the reader what subclasses of tzinfo _do_. Previously, that was hidden in a later paragraph. - Adding a note on .today() versus .now() - Rearranging and expanding example blocks, including: - Moved long, multiline inline examples to standalone examples - Simplified the example block for timedelta arithmetic: - Broke the example into two logical sections: 1. normalization/parameter 'merging' 2. timedelta arithmetic - Reduced the complexity of the some of the examples. Show reasonable, real-world uses cases that are easy to follow along with and progres in difficult slightly. - Broke up the example sections for date and datetime sections by putting the easy examples first, progressing to more esoteric situations and breaking it up into logical sections based on what the methods are doing at a high level. - Simplified the KabulTz example: - Put the class definition itself into a non-REPL block since there is no interactive output involved there - Briefly explained what's happening before launching into the code - Broke the example section into visually separate chunks - Various whitespace, formatting, style and grammar fixes including: - Consistently using backctics for 'date_string' formats - Consistently using one space after periods. - Consistently using bold for vocab terms - Consistently using italics when referring to params: See https://devguide.python.org/documenting/#id4 - Using '::' to lead into code blocks Per https://devguide.python.org/documenting/#source-code, this will let the reader use the 'expand/collapse' top-right button for REPL blocks to hide or show the prompt. - Using consistent captialization schemes - Removing use of the default role - Put 'example' blocks in Markdown subsections This is a combination of 66 commits. See bpo-36960: https://bugs.python.org/issue36960
* bpo-37879: Suppress subtype_dealloc decref when base type is a C heap type ↵Eddie Elizondo2019-09-114-10/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-15323) The instance destructor for a type is responsible for preparing an instance for deallocation by decrementing the reference counts of its referents. If an instance belongs to a heap type, the type object of an instance has its reference count decremented while for static types, which are permanently allocated, the type object is unaffected by the instance destructor. Previously, the default instance destructor searched the class hierarchy for an inherited instance destructor and, if present, would invoke it. Then, if the instance type is a heap type, it would decrement the reference count of that heap type. However, this could result in the premature destruction of a type because the inherited instance destructor should have already decremented the reference count of the type object. This change avoids the premature destruction of the type object by suppressing the decrement of its reference count when an inherited, non-default instance destructor has been invoked. Finally, an assertion on the Py_SIZE of a type was deleted. Heap types have a non zero size, making this into an incorrect assertion. https://github.com/python/cpython/pull/15323
* bpo-36373: Fix deprecation warnings (GH-15889)Andrew Svetlov2019-09-115-12/+12
| | | https://bugs.python.org/issue36373
* bpo-38034: Fix typo in logging.handlers.rst (GH-15708)wwuck2019-09-111-1/+1
|
* bpo-28494: Test existing zipfile working behavior. (GH-15853)Gregory P. Smith2019-09-106-0/+101
| | | | Add unittests for executables with a zipfile appended to test_zipfile, as zipfile.is_zipfile and zipfile.ZipFile work properly on these today.
* Remove unneeded assignment in PyBytes_Concat() (GH-15274)Sergey Fedoseev2019-09-101-1/+0
| | | The `wb.len = -1` assignment is unneeded since its introduction in 161d695fb0455ce52530d4f43a9eac4c738f64bb as `PyObject_GetBuffer` always fills it in.
* bpo-37574: Mention helper functions for find_spec documentation (GH-14739)jdkandersson2019-09-101-1/+4
|
* bpo-37752: Delete redundant Py_CHARMASK in normalizestring() (GH-15095)Jordon Xu2019-09-107-15/+15
|
* bpo-38089: Move Azure Pipelines to latest VM versions and make macOS tests ↵Steve Dower2019-09-104-4/+7
| | | | optional (GH-15851)
* bpo-32424: Deprecate xml.etree.ElementTree.Element.copy() in favor of ↵Gordon P. Hemsley2019-09-103-0/+39
| | | | copy.copy() (GH-12995)
* bpo-36253: Remove use after free reference in ctypes test suite (GH-12257)Ben Harper2019-09-101-2/+2
|
* bpo-33602: Doc: Remove set and queue references from Data Types (GH-7055)Andre Delfino2019-09-101-3/+4
|
* Docs: Small tweaks to c-api/intro#Include_Files (GH-14698)Kyle Stanley2019-09-101-7/+9
|
* Correct info about "f.read(size)". (GH13852)William Andrea2019-09-101-2/+2
| | | In text mode, the "size" parameter indicates the number of characters, not bytes.
* Correct minor grammatical mistake in open docs (GH-15865)Andre Delfino2019-09-101-2/+2
|
* bpo-37504: Fix documentation build with texinfo builder (GH-14606)Dmitry Shachnev2019-09-102-1/+19
| | | | | | | | | In the table model used by docutils, the `cols` attribute of `tgroup` nodes is mandatory, see [1]. It is used in texinfo builder in [2]. [1]: https://www.oasis-open.org/specs/tm9901.htm#AEN348 [2]: https://github.com/sphinx-doc/sphinx/blob/v2.1.2/sphinx/writers/texinfo.py#L1129 * Doc: Add texinfo support to the Makefile
* bpo-37913: Link to NotImplemented from new docs (GH-15860)Steve Dower2019-09-101-3/+3
|
* bpo-37913: document that __length_hint__ can return NotImplemented (GH-15383)Jeroen Demeyer2019-09-101-2/+4
|
* bpo-38086: Sync importlib.metadata with importlib_metadata 0.21. (GH-15840)Jason R. Coombs2019-09-108-661/+712
| | | https://gitlab.com/python-devs/importlib_metadata/-/tags/0.21
* bpo-38087: Fix case sensitivity in test_pathlib and test_ntpath (GH-15850)Steve Dower2019-09-103-107/+125
|
* bpo-38088: Fixes distutils not finding vcruntime140.dll with only v142 ↵Steve Dower2019-09-102-1/+3
| | | | toolset installed (GH-15849)
* Fix subprocess docstring typo (GH-15812)Matthias2019-09-101-1/+1
|
* Fix typo in ssl.RAND_bytes documentation (GH-14791)Zach Thompson2019-09-101-1/+1
| | | | | It looks like "cryptographically strong" is the preferred phrase from the surrounding documentation. Automerge-Triggered-By: @tiran
* bpo-38090: Fix reference leak in ceval.c (GH-15848)Pablo Galindo2019-09-101-1/+0
|
* bpo-36781: Optimize sum() for bools. (#13074)Serhiy Storchaka2019-09-103-2/+24
| | | | | | | | * Optimize sum() for bools. * Fix sum([], False). * Add a NEWS entry.
* Note regarding + mode truncation applies to both text and binary mode (#11314)Andre Delfino2019-09-101-3/+3
| | | | | | | | * Improve doc on open's mode + * Improve wording * Address comment from Rémi
* bpo-38073: Make pwd module PEP-384 compatible (GH-15790)Dino Viehland2019-09-102-16/+36
| | | | | | | | | | Makes the pwd module PEP-384 compatible https://bugs.python.org/issue38073 Automerge-Triggered-By: @tiran
* bpo-38066: Hide internal Stream methods (GH-15762)Andrew Svetlov2019-09-105-92/+155
| | | | | | feed_eof(), feed_data(), set_exception(), and set_transport() are prefixed with underscore now. https://bugs.python.org/issue38066
* bpo-21018: added missing documentation about escaping characters for ↵Arun Persaud2019-09-101-0/+5
| | | | | configparser (GH-6137) Document how $ and % can be escaped in configparser.
* closes bpo-25461: Update os.walk() docstring to match the online docs. ↵Bernt Røskar Brenna2019-09-101-4/+5
| | | | (GH-11836)
* bpo-36373: Deprecate explicit loop parameter in all public asyncio APIs ↵Emmanuel Arias2019-09-102-0/+8
| | | | | | | | | | | | | | | [queue] (GH-13950) This PR deprecate explicit loop parameters in all public asyncio APIs This issues is split to be easier to review. fourth step: queue.py https://bugs.python.org/issue36373
* bpo-37619: update_one_slot() should not ignore wrapper descriptors for wrong ↵Jeroen Demeyer2019-09-103-6/+28
| | | | type (GH-14836)
* bpo-37499: Test various C calling conventions (GH-15776)Petr Viktorin2019-09-103-195/+435
| | | | | | | | | | Add functions with various calling conventions to `_testcapi`, expose them as module-level functions, bound methods, class methods, and static methods, and test calling them and introspecting them through GDB. https://bugs.python.org/issue37499 Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be> Automerge-Triggered-By: @pganssle
* bpo-37251: Removes __code__ check from _is_async_obj. (GH-15830)Lisa Roach2019-09-103-3/+20
|
* bpo-38069: Convert _posixsubprocess to PEP-384 (GH-15780)Dino Viehland2019-09-102-8/+59
| | | | | | | | | | Summary: Eliminate uses of `_Py_IDENTIFIER` from `_posixsubprocess`, replacing them with interned strings. Also tries to find an existing version of the module, which will allow subinterpreters. https://bugs.python.org/issue38069
* bpo-36373: Deprecate explicit loop parameter in all public asyncio APIs ↵Emmanuel Arias2019-09-107-265/+419
| | | | | | | | | | | | | | | [locks] (GH-13920) This PR deprecate explicit loop parameters in all public asyncio APIs This issues is split to be easier to review. Third step: locks.py https://bugs.python.org/issue36373
* bpo-36971: add subsections in C API "Common Object Structures" page (#13446)Jeroen Demeyer2019-09-101-0/+10
|
* bpo-38068: Clean up gettimeofday configure logic. (GH-15775)Benjamin Peterson2019-09-105-59/+1
| | | Assume gettimeofday exists and takes two arguments.
* bpo-37052: Add examples for mocking async iterators and context managers ↵Xtreak2019-09-101-0/+39
| | | | | | | | (GH-14660) Add examples for mocking asynchronous iterators and asynchronous context managers. https://bugs.python.org/issue37052
* bpo-38071: Make termios PEP-384 compatible (GH-15785)Dino Viehland2019-09-102-20/+48
| | | | Make the termios module PEP-384 compatible.
* bpo-38072: PEP-384 grpmodule (GH-15788)Dino Viehland2019-09-102-19/+41
| | | | Make the grp module PEP-384 compliant.
* Fix calling order of PyEval_InitThreads. (GH-4602)Kenta Murata2019-09-101-1/+1
| | | | As described in Doc/c-api/init.rst, PyEval_InitThreads() cannot be called before Py_Initialize() function.
* Remove macOS tests from Travis. (GH-15809)Benjamin Peterson2019-09-101-10/+0
| | | Azure runs macOS, so we don't need Travis to do it.