summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bpo-27961: Remove leftovers from the times when long long wasn't required ↵Sergey Fedoseev2019-08-225-38/+26
| | | | (GH-15388)
* Add missing space to warning message (GH-14915)Florian Bruhin2019-08-221-1/+1
| | | This typo was introduced in GH-13409 when changing the message text.
* Refactor Parser/pgen and add documentation and explanations (GH-15373)Pablo Galindo2019-08-227-332/+753
| | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor Parser/pgen and add documentation and explanations To improve the readability and maintainability of the parser generator perform the following transformations: * Separate the metagrammar parser in its own class to simplify the parser generator logic. * Create separate classes for DFAs and NFAs and move methods that act exclusively on them from the parser generator to these classes. * Add docstrings and comment documenting the process to go from the grammar file into NFAs and then DFAs. Detail some of the algorithms and give some background explanations of some concepts that will helps readers not familiar with the parser generation process. * Select more descriptive names for some variables and variables. * PEP8 formatting and quote-style homogenization. The output of the parser generator remains the same (Include/graminit.h and Python/graminit.c remain untouched by running the new parser generator).
* bpo-37834: Fix test on Windows 7 (GH-15377)Steve Dower2019-08-221-0/+3
|
* bpo-9949: Call normpath() in realpath() and avoid unnecessary prefixes ↵Steve Dower2019-08-212-5/+10
| | | | (GH-15369)
* bpo-36311: Fixes decoding multibyte characters around chunk boundaries and ↵Steve Dower2019-08-213-9/+29
| | | | improves decoding performance (GH-15083)
* bpo-37482: Fix email address name with encoded words and special chars ↵bsiem2019-08-213-0/+28
| | | | | | | | | | | | | | | | | | | | | | | (GH-14561) Special characters in email address header display names are normally put within double quotes. However, encoded words (=?charset?x?...?=) are not allowed withing double quotes. When the header contains a word with special characters and another word that must be encoded, the first one must also be encoded. In the next example, the display name in the From header is quoted and therefore the comma is allowed; in the To header, the comma is not within quotes and not encoded, which is not allowed and therefore rejected by some mail servers. From: "Foo Bar, France" <foo@example.com> To: Foo Bar, =?utf-8?q?Espa=C3=B1a?= <foo@example.com> https://bugs.python.org/issue37482
* bpo-37663: have venv activation scripts all consistently use __VENV_PROMPT__ ↵Brett Cannon2019-08-215-46/+30
| | | | | | | for prompt customization (GH-14941) The activation scripts generated by venv were inconsistent in how they changed the shell's prompt. Some used `__VENV_PROMPT__` exclusively, some used `__VENV_PROMPT__` if it was set even though by default `__VENV_PROMPT__` is always set and the fallback matched the default, and one ignored `__VENV_PROMPT__` and used `__VENV_NAME__` instead (and even used a differing format to the default prompt). This change now has all activation scripts use `__VENV_PROMPT__` only and relies on the fact that venv sets that value by default. The color of the customization is also now set in fish to the blue from the Python logo for as hex color support is built into that shell (much like PowerShell where the built-in green color is used).
* bpo-37834: Normalise handling of reparse points on Windows (GH-15231)Steve Dower2019-08-2116-233/+470
| | | | | | | | | | 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)
* Revert mode change that loses information in directory listings on Linux. ↵Stefan Krah2019-08-211-0/+0
| | | | (#15366)
* bpo-9949: Enable symlink traversal for ntpath.realpath (GH-15287)Steve Dower2019-08-218-32/+304
|
* Fix difflib `?` hint in diff output when dealing with tabs (#15201)Anthony Sottile2019-08-213-23/+20
|
* Update asyncio.ensure_future() documentation (GH-15347)Roger Iyengar2019-08-211-1/+3
| | | | Added back mention that ensure_future actually scheduled obj. This documentation just mentions what ensure_future returns, so I did not realize that ensure_future also schedules obj.
* bpo-37751: Fix codecs.lookup() normalization (GH-15092)Jordon Xu2019-08-212-16/+17
| | | | | Fix codecs.lookup() to normalize the encoding name the same way than encodings.normalize_encoding(), except that codecs.lookup() also converts the name to lower case.
* bpo-37860: Add netlify deploy preview for docs (GH-15288)Ashwin Ramaswami2019-08-213-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add netlify deploy preview * fix publish path * install python3 venv * add sudo * try without venv * install right dependencies * use python3, not python * use pip3 * python3.7 * use requirements.txt * move requirements.txt to Doc * use python 3.7 in runtime.txt * move runtime.txt * Update requirements.txt
* bpo-37851: faulthandler allocates its stack on demand (GH-15358)Victor Stinner2019-08-212-48/+101
| | | | | | | | | | | | | | | | | | The faulthandler module no longer allocates its alternative stack at Python startup. Now the stack is only allocated at the first faulthandler usage. faulthandler no longer ignores memory allocation failure when allocating the stack. sigaltstack() failure now raises an OSError exception, rather than being ignored. The alternative stack is no longer used if sigaction() is not available. In practice, sigaltstack() should only be available when sigaction() is avaialble, so this change should have no effect in practice. faulthandler.dump_traceback_later() internal locks are now only allocated at the first dump_traceback_later() call, rather than always being allocated at Python startup.
* bpo-37823: Fix open() link in telnetlib doc (GH-15281)Michael Anckaert2019-08-211-1/+1
| | | Fixed wrong link to Telnet.open() method in telnetlib documentation.
* bpo-37531: Enhance regrtest multiprocess timeout (GH-15345)Victor Stinner2019-08-212-18/+66
| | | | | | | * Write a message when killing a worker process * Put a timeout on the second popen.communicate() call (after killing the process) * Put a timeout on popen.wait() call * Catch popen.kill() and popen.wait() exceptions
* Unmark files as executable that can't actually be executed. (GH-15353)Greg Price2019-08-2116-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are plenty of legitimate scripts in the tree that begin with a `#!`, but also a few that seem to be marked executable by mistake. Found them with this command -- it gets executable files known to Git, filters to the ones that don't start with a `#!`, and then unmarks them as executable: $ git ls-files --stage \ | perl -lane 'print $F[3] if (!/^100644/)' \ | while read f; do head -c2 "$f" | grep -qxF '#!' \ || chmod a-x "$f"; \ done Looking at the list by hand confirms that we didn't sweep up any files that should have the executable bit after all. In particular * The `.psd` files are images from Photoshop. * The `.bat` files sure look like things that can be run. But we have lots of other `.bat` files, and they don't have this bit set, so it must not be needed for them. Automerge-Triggered-By: @benjaminp
* bpo-35518: Skip test that relies on a deceased network service. (GH-15349)Greg Price2019-08-211-0/+1
| | | | | | | | | | | | | If this service had thoroughly vanished, we could just ignore the test until someone gets around to either recreating such a service or redesigning the test to somehow work locally. The `support.transient_internet` mechanism catches the failure to resolve the domain name, and skips the test. But in fact the domain snakebite.net does still exist, as do its nameservers -- and they can be quite slow to reply. As a result this test can easily take 20-30s before it gets auto-skipped. So, skip the test explicitly up front.
* abstract.c should not be executable. (GH-15348)Benjamin Peterson2019-08-211-0/+0
|
* Remove a dead comment from ossaudiodev.c (#15346)Brett Cannon2019-08-201-2/+0
|
* bpo-32793: Fix a duplicate debug message in smtplib (GH-15341)Zackery Spytz2019-08-202-2/+1
| | | | | | | | | | | _get_socket() already prints a debug message for the host and port. https://bugs.python.org/issue32793 Automerge-Triggered-By: @maxking
* bpo-15913: Implement PyBuffer_SizeFromFormat() (GH-13873)Joannah Nanjekye2019-08-206-3/+83
| | | | Implement PyBuffer_SizeFromFormat() function (previously documented but not implemented): call struct.calcsize().
* bpo-37732: Fix GCC warning in _PyObject_Malloc() (GH-15333)Victor Stinner2019-08-201-21/+16
| | | | | | | pymalloc_alloc() now returns directly the pointer, return NULL on memory allocation error. allocate_from_new_pool() already uses NULL as marker for "allocation failed".
* bpo-37868: Improve is_dataclass for instances. (GH-15325)Eric V. Smith2019-08-203-2/+32
|
* Minor documentation fixes on library/enum (GH-15234)Antoine2019-08-202-5/+5
| | | * Minor documentation fixes on library/enum
* Delete stale comment in Python/getopt.c. (GH-14719)Hansraj Das2019-08-201-4/+0
|
* Revert "bpo-37788: Fix a reference leak if a thread is not joined ↵Victor Stinner2019-08-193-19/+0
| | | | | (GH-15228)" (GH-15338) This reverts commit d3dcc92778807ae8f7ebe85178f36a29711cd478.
* bpo-37788: Fix a reference leak if a thread is not joined (GH-15228)Victor Stinner2019-08-193-0/+19
| | | | | Add threading.Thread.__del__() method to ensure that the thread state lock is removed from the _shutdown_locks list when a thread completes.
* Remove 'unstable' warning for Windows Store package in docs (GH-15334)Steve Dower2019-08-191-7/+4
|
* bpo-36266: Add module name in ImportError when DLL not found on Windows ↵shireenrao2019-08-172-4/+5
| | | | (GH-15180)
* Insert a missing close parenthesis (GH-15316)cocoatomo2019-08-171-1/+1
|
* fix link to time function from time_ns doc (GH-15285)Éric Araujo2019-08-171-1/+1
| | | Because mod, func, class, etc all share one namespace, :func:time creates a link to the time module doc page rather than the time.time function.
* Add a minor `Fraction.__hash__()` optimization (GH-15313)Tim Peters2019-08-171-2/+17
| | | | | | * Add a minor `Fraction.__hash__` optimization that got lost in the shuffle. Document the optimizations.
* bpo-37540: vectorcall: keyword names must be strings (GH-14682)Jeroen Demeyer2019-08-1610-46/+43
| | | | | | | | The fact that keyword names are strings is now part of the vectorcall and `METH_FASTCALL` protocols. The biggest concrete change is that `_PyStack_UnpackDict` now checks that and raises `TypeError` if not. CC @markshannon @vstinner https://bugs.python.org/issue37540
* bpo-37863: Optimize Fraction.__hash__() (#15298)Raymond Hettinger2019-08-162-15/+12
|
* Indent code inside if block. (GH-15284)Hansraj Das2019-08-151-1/+1
| | | Without indendation, seems like strcpy line is parallel to `if` condition.
* bpo-37207: enable vectorcall for type.__call__ (GH-14588)Jeroen Demeyer2019-08-152-2/+6
| | | | | | | | | | | | Base PR for other PRs that want to play with `type.__call__` such as #13930 and #14589. The author is really @markshannon I just made the PR. https://bugs.python.org/issue37207 Automerge-Triggered-By: @encukou
* Replace usage of the obscure PEM_read_bio_X509_AUX with the more standard ↵Alex Gaynor2019-08-151-1/+1
| | | | | | | PEM_read_bio_X509 (GH-15303) X509_AUX is an odd, note widely used, OpenSSL extension to the X509 file format. This function doesn't actually use any of the extra metadata that it parses, so just use the standard API. Automerge-Triggered-By: @tiran
* bpo-37760: Avoid cluttering work tree with downloaded Unicode files. (GH-15128)Greg Price2019-08-152-2/+6
|
* bpo-37775: Update compileall doc for invalidation_mode parameter (GH-15148)Hai Shi2019-08-141-3/+12
|
* bpo-21131: Fix faulthandler.register(chain=True) stack (GH-15276)Victor Stinner2019-08-142-1/+9
| | | | | | faulthandler now allocates a dedicated stack of SIGSTKSZ*2 bytes, instead of just SIGSTKSZ bytes. Calling the previous signal handler in faulthandler signal handler uses more than SIGSTKSZ bytes of stack memory on some platforms.
* bpo-37811: FreeBSD, OSX: fix poll(2) usage in sockets module (GH-15202)Artem Khramov2019-08-143-0/+16
| | | | | | | | | | | | | | | | FreeBSD implementation of poll(2) restricts the timeout argument to be either zero, or positive, or equal to INFTIM (-1). Unless otherwise overridden, socket timeout defaults to -1. This value is then converted to milliseconds (-1000) and used as argument to the poll syscall. poll returns EINVAL (22), and the connection fails. This bug was discovered during the EINTR handling testing, and the reproduction code can be found in https://bugs.python.org/issue23618 (see connect_eintr.py, attached). On GNU/Linux, the example runs as expected. This change is trivial: If the supplied timeout value is negative, truncate it to -1.
* bpo-37826: Document exception chaining in Python tutorial for errors. (GH-15243)Abhilash Raj2019-08-141-0/+47
| | | https://bugs.python.org/issue37826
* bpo-37849: IDLE: fix completion window positioning above line (GH-15267)Tal Einat2019-08-143-2/+20
|
* bpo-36030: Improve performance of some tuple operations (GH-12052)Sergey Fedoseev2019-08-141-32/+71
|
* bpo-37531: Fix regrtest timeout for subprocesses (GH-15072)Victor Stinner2019-08-145-14/+78
| | | Co-Authored-By: Joannah Nanjekye <joannah.nanjekye@ibm.com>
* bpo-36502: Correct documentation of str.isspace() (GH-15019)Greg Price2019-08-142-4/+19
| | | | | | | | | | | | | | | | | | The documented definition was much broader than the real one: there are tons of characters with general category "Other", and we don't (and shouldn't) treat most of them as whitespace. Rewrite the definition to agree with the comment on _PyUnicode_IsWhitespace, and with the logic in makeunicodedata.py, which is what generates that function and so ultimately governs. Add suitable breadcrumbs so that a reader who wants to pin down exactly what this definition means (what's a "bidirectional class" of "B"?) can do so. The `unicodedata` module documentation is an appropriate central place for our references to Unicode's own copious documentation, so point there. Also add to the isspace() test a thorough check that the implementation agrees with the intended definition.
* bpo-37738: Fix curses addch(str, color_pair) (GH-15071)Victor Stinner2019-08-142-3/+17
| | | | | Fix the implementation of curses addch(str, color_pair): pass the color pair to setcchar(), instead of always passing 0 as the color pair.