Victor Stinner [Fri, 22 Jun 2018 17:25:44 +0000 (19:25 +0200)]
bpo-33671: Add support.MS_WINDOWS and support.MACOS (GH-7800)
* Add support.MS_WINDOWS: True if Python is running on Microsoft Windows.
* Add support.MACOS: True if Python is running on Apple macOS.
* Replace support.is_android with support.ANDROID
* Replace support.is_jython with support.JYTHON
* Cleanup code to initialize unix_shell
Victor Stinner [Fri, 22 Jun 2018 17:14:51 +0000 (19:14 +0200)]
bpo-33932: Calling Py_Initialize() twice does nothing (GH-7845)
Calling Py_Initialize() twice does nothing, instead of failing with a
fatal error: restore the Python 3.6 behaviour.
Terry Jan Reedy [Fri, 22 Jun 2018 02:19:56 +0000 (22:19 -0400)]
bpo-33905: Add test for idlelib.stackview.StackBrowser. (GH-7852)
Increases coverage by 44%.
Christopher Frederickson [Thu, 21 Jun 2018 16:12:56 +0000 (12:12 -0400)]
bpo-33912: Fix test_warnings when run with -Werror (GH-7839)
Add missing warning filter to test_exec_filename().
Pablo Galindo [Thu, 21 Jun 2018 11:30:37 +0000 (12:30 +0100)]
bpo-33716, test_concurrent_futures: increase timeout (GH-7828)
Increase the timeout from 1 min to 5 min.
Replace also time.time() with time.monotonic() for timeouts.
Clarified the tempfile.tempdir documentation (GH-7829)
Terry Jan Reedy [Thu, 21 Jun 2018 02:49:55 +0000 (22:49 -0400)]
bpo-33924: Change IDLE mainmenu.menudefs key 'windows' to 'window' (GH-7836)
Every other menudef key is the lowercase version of the
corresponding main menu entry (in this case, 'Window').
Terry Jan Reedy [Thu, 21 Jun 2018 01:25:59 +0000 (21:25 -0400)]
bpo-33906: Rename idlelib.windows as window (#7833)
Match Window on the main menu and remove last plural module name.
Change imports, test, and attribute references to match new name.
Terry Jan Reedy [Wed, 20 Jun 2018 21:08:31 +0000 (17:08 -0400)]
bpo-33917: Fix and document idlelib/idle_test/template.py (GH-7830)
The revised file compiles, runs, and tests OK. idle_test/README.txt
explains how to use it to create new IDLE test files.
Xiang Zhang [Wed, 20 Jun 2018 13:23:30 +0000 (21:23 +0800)]
Fix compiling error when missing gdbm version macros (GH-7823)
Nick Coghlan [Wed, 20 Jun 2018 11:25:01 +0000 (21:25 +1000)]
bpo-33499: PYTHONPYCACHEPREFIX What's New entry (GH-7749)
Initial What's New in Python 3.8 entry for `PYTHONPYCACHEPREFIX`.
Victor Stinner [Wed, 20 Jun 2018 09:29:33 +0000 (11:29 +0200)]
bpo-33746: Fix test_unittest.testRegisterResult() in verbose mode (GH-7799)
Only make sure that the result is in unittest.signals._results, don't
check the full content of unittest.signals._results.
support._run_suite() uses TextTestRunner in verbose mode, but
TextTestRunner.run() calls registerResult(result) which made the test
fail with "odd object in result set".
Call also removeResult() to restore unittest.signals._results to
avoid test side effect.
bpo-33904: In IDLE's rstrip, rename class RstripExtension as Rstrip (GH-7811)
Terry Jan Reedy [Wed, 20 Jun 2018 06:18:49 +0000 (02:18 -0400)]
bpo-33907: Rename an IDLE module and classes. (GH-7810)
Fix-up class name duplication in PR #7807. Combined effect is that
module calltips and its class CallTips are now calltip and Calltip.
In module calltip_w class CallTip is now CalltipWindow.
bpo-33908: Remove two superfluous assignments (GH-7116)
Signed-off-by: Srinivas Reddy Thatiparthy <thatiparthysreenivas@gmail.com>
Terry Jan Reedy [Wed, 20 Jun 2018 03:00:35 +0000 (23:00 -0400)]
bpo-33907: Rename an IDLE module and class. (GH-7807)
Improve consistency and appearance. Module idlelib.calltips is now calltip.
Class idlelib.calltip_w.CallTip is now Calltip.
Terry Jan Reedy [Tue, 19 Jun 2018 23:12:52 +0000 (19:12 -0400)]
bpo-33855: Still more edits and minimal tests for IDLE (GH-7784)
Part 3 of 3, continuing PR #7689. This covers 14 idlelib modules and their tests,
rpc to zoomheight except for run (already done) and tooltip (being done separately).
Victor Stinner [Tue, 19 Jun 2018 21:29:22 +0000 (23:29 +0200)]
bpo-33901: Add _gdbm._GDBM_VERSION (GH-7794)
* Fix also PyInit__gdbm() to catch errors.
* test.pythoninfo: add gdbm.version
* test_dbm_gnu now logs GDBM_VERSION when run in verbose mode.
* pythoninfo: rename function to collect_gdbm()
Victor Stinner [Tue, 19 Jun 2018 16:24:58 +0000 (18:24 +0200)]
bpo-30345: Add -g to LDFLAGS for LTO (GH-7709)
Add -g to LDFLAGS when compiling with LTO to get debug symbols.
Victor Stinner [Tue, 19 Jun 2018 15:37:07 +0000 (17:37 +0200)]
bpo-33901: Better test_dbm_gnu.test_reorganize() fix (GH-7795)
Fix test_dbm_gnu.test_reorganize() on macOS with gdbm 1.15: add a
larger value to make sure that the file size changes.
Giampaolo Rodola [Tue, 19 Jun 2018 15:27:29 +0000 (08:27 -0700)]
bpo-33671 / shutil.copyfile: use memoryview() with dynamic size on Windows (#7681)
bpo-33671
* use memoryview() with size == file size on Windows, see https://github.com/python/cpython/pull/7160#discussion_r195405230
* release intermediate (sliced) memoryview immediately
* replace "OSX" occurrences with "macOS"
* add some unittests for copyfileobj()
Marco Strigl [Tue, 19 Jun 2018 13:20:58 +0000 (15:20 +0200)]
bpo-33365: print the header values beside the keys (GH-6611)
with debuglevel=1 only the header keys got printed. With
this change the header values get printed as well and the single
header entries get '\n' as a separator.
Victor Stinner [Tue, 19 Jun 2018 12:19:54 +0000 (14:19 +0200)]
bpo-33901: Fix test_dbm_gnu for gdbm 1.15 (GH-7791)
Using gdbm 1.15, creating a database creates a file of 16 MiB. Adding
a small entry and then modifying the small entry doesn't change the
file size. Modify test_dbm_gnu to be less strict: allow that the file
size doesn't change.
Serhiy Storchaka [Tue, 19 Jun 2018 10:31:48 +0000 (13:31 +0300)]
Use more specific asserts in dbm tests. (GH-7786)
This may help to investigate bpo-33901.
Bup [Tue, 19 Jun 2018 08:59:55 +0000 (03:59 -0500)]
Change tp_size to tp_basicsize in comment and realign the comments (GH-6775)
INADA Naoki [Tue, 19 Jun 2018 08:28:50 +0000 (17:28 +0900)]
bpo-33843: Remove deprecated stuff in cgi module (GH-7662)
Pablo Galindo [Tue, 19 Jun 2018 08:19:50 +0000 (09:19 +0100)]
bpo-33630: Fix using of freed memory in old versions of glicb for posix_spawn(). (GH-7685)
ValeriyaSinevich [Mon, 18 Jun 2018 21:17:53 +0000 (14:17 -0700)]
bpo-33663: Convert content length to string before putting to header (GH-7754)
INADA Naoki [Mon, 18 Jun 2018 16:14:26 +0000 (01:14 +0900)]
bpo-33866: enum: Stop using OrderedDict (GH-7698)
Terry Jan Reedy [Mon, 18 Jun 2018 08:47:59 +0000 (04:47 -0400)]
bpo-33855: More edits and new minimal tests for IDLE (GH-7761)
Part 2 of 3. Continues PR #7689, changeset
ee5ef30.
Edit and add tests for 18 modules, help_about to replace and run.
Andrés Delfino [Mon, 18 Jun 2018 04:34:30 +0000 (01:34 -0300)]
bpo-33892: Doc: Use gender neutral words (GH-7770)
Stéphane Wirtel [Sat, 16 Jun 2018 21:20:56 +0000 (23:20 +0200)]
bpo-33856: Add "help" to the welcome message of IDLE (GH-7755)
Make it the same as when one runs 'python'.
Serhiy Storchaka [Sat, 16 Jun 2018 10:25:55 +0000 (13:25 +0300)]
bpo-33861: Minor improvements of tests for os.path. (GH-7715)
* Test exists(), lexists(), isdir(), isfile(), islink(), ismount()
with bytes paths.
* Remove unneeded silencing DeprecationWarning for ismount() with
bytes path.
* Test common functions with unencodable and undecodable paths.
* Minor clean up and refactoring.
Xtreak [Sat, 16 Jun 2018 05:08:31 +0000 (10:38 +0530)]
bpo-33859: Fix spelling mistakes in docs. (GH-7691)
Carl Meyer [Sat, 16 Jun 2018 04:40:56 +0000 (22:40 -0600)]
bpo-33499: Add PYTHONPYCACHEPREFIX env var for alt bytecode cache location. (GH-6834)
In some development setups it is inconvenient or impossible to write bytecode
caches to the code tree, but the bytecode caches are still useful. The
PYTHONPYCACHEPREFIX environment variable allows specifying an alternate
location for cached bytecode files, within which a directory tree mirroring the code
tree will be created. This cache tree is then used (for both reading and writing)
instead of the local `__pycache__` subdirectory within each source directory.
Exposed at runtime as sys.pycache_prefix (defaulting to None), and can
be set from the CLI as "-X pycache_prefix=path".
Patch by Carl Meyer.
Andrés Delfino [Sat, 16 Jun 2018 03:46:38 +0000 (00:46 -0300)]
bpo-33571: Improve the glossary description for '...' prompt (GH-6971)
Mention that it can be triggered by triple quotes and after specifying decorators.
Noah Haasis [Sat, 16 Jun 2018 03:29:11 +0000 (05:29 +0200)]
bpo-33836: Recommend keyword-only param for memoization in FAQ (GH-7687)
Update the the signature in the code example to make `_cache` a keyword-only parameter.
Andrés Delfino [Sat, 16 Jun 2018 02:42:09 +0000 (23:42 -0300)]
Use singular, we are talking about the access (GH-7727)
Pablo Galindo [Sat, 16 Jun 2018 00:20:56 +0000 (01:20 +0100)]
bpo-33873: regrtest: Add warning on -R 1:3 (GH-7736)
regrtest: Add warning when using less than 3 warmup runs like -R 1:3.
Zackery Spytz [Fri, 15 Jun 2018 22:39:04 +0000 (16:39 -0600)]
Add missing va_end() calls in PC/launcher.c (GH-7690)
Terry Jan Reedy [Fri, 15 Jun 2018 22:20:55 +0000 (18:20 -0400)]
bpo-33855: Minimally test all IDLE modules. (GH-7689)
Create a template for minimally testing a tkinter-using module by importing it and instantiating its class(es). Add a test file for all non-startup IDLE modules. Edit existing files and update coverage. This is part 1 of 3, covering the 21 autocomplete to help modules and touching 33 idlelib files.
Victor Stinner [Fri, 15 Jun 2018 22:06:28 +0000 (00:06 +0200)]
bpo-33824, bpo-32030: Fix pymain_read_conf() (GH-7712)
Fix "LC_ALL=C python3.7 -V": reset properly the command line parser
when the encoding changes after reading the Python configuration.
Fix pymain_read_conf(): use memset(0) to reset properly cmdline.
Victor Stinner [Fri, 15 Jun 2018 20:54:35 +0000 (22:54 +0200)]
Revert "bpo-32962: Fix test_gdb failure in debug build with -mcet -fcf-protection -O0 (GH-6754)" (#7723)
This reverts commit
9b7c74ca32d1bec7128d550a9ab1b2ddc7046287.
Andrés Delfino [Fri, 15 Jun 2018 19:42:20 +0000 (16:42 -0300)]
bpo-33854: Add PEP 461 title to 'See also' note (GH-7688)
Andrés Delfino [Fri, 15 Jun 2018 19:23:00 +0000 (16:23 -0300)]
bpo-33847: Add '@' operator entry to index (GH-7669)
Andrés Delfino [Fri, 15 Jun 2018 18:24:25 +0000 (15:24 -0300)]
bpo-33852: Remove misplaced parentheses around 'list'. (GH-7672)
'expresson list' refers to the grammar term 'expression_list' in the subscription production.
Marcel Plch [Fri, 15 Jun 2018 15:56:24 +0000 (17:56 +0200)]
bpo-32962: Fix test_gdb failure in debug build with -mcet -fcf-protection -O0 (#6754)
When Python is built with the intel control-flow protection flags,
-mcet -fcf-protection, gdb is not able to read the stack without
actually jumping inside the function. This means an extra
'next' command is required to make the $pc (program counter)
enter the function and make the stack of the function exposed to gdb.
INADA Naoki [Fri, 15 Jun 2018 15:45:02 +0000 (00:45 +0900)]
gitattribute: Mark generated files (GH-7619)
Marked files are collapsed by default in Github pull request.
https://github.com/github/linguist#generated-code
Wonsup Yoon [Fri, 15 Jun 2018 12:03:14 +0000 (21:03 +0900)]
bpo-29456: Fix bugs in unicodedata.normalize: u1176, u11a7 and u11c3 (GH-1958)
Hangul composition check boundaries are wrong for the second character
([0x1161, 0x1176) instead of [0x1161, 0x1176]) and third character ((0x11A7, 0x11C3)
instead of [0x11A7, 0x11C3]).
Serhiy Storchaka [Fri, 15 Jun 2018 08:09:43 +0000 (11:09 +0300)]
bpo-33818: PyExceptionClass_Name() will now return "const char *". (GH-7581)
Serhiy Storchaka [Fri, 15 Jun 2018 08:05:15 +0000 (11:05 +0300)]
bpo-33851: Fix ast.get_docstring() for a node that lacks a docstring. (GH-7682)
Eric Snow [Thu, 14 Jun 2018 21:46:35 +0000 (15:46 -0600)]
bpo-17045: Improve C-API doc for PyTypeObject. (gh-7413)
The existing doc had a number of info gaps and was a little hard to use. This patch provides several quick-reference tables as well as examples.
Victor Stinner [Thu, 14 Jun 2018 20:34:52 +0000 (22:34 +0200)]
bpo-32962: python-gdb catchs UnicodeDecodeError (GH-7693)
python-gdb now catchs UnicodeDecodeError exceptions when calling
string().
Victor Stinner [Thu, 14 Jun 2018 14:28:07 +0000 (16:28 +0200)]
bpo-32962: python-gdb catchs ValueError on read_var() (GH-7692)
python-gdb now catchs ValueError on read_var(): when Python has no
debug symbols for example.
Victor Stinner [Thu, 14 Jun 2018 12:58:13 +0000 (14:58 +0200)]
bpo-33718: regrtest: use format_duration() to display failed tests (GH-7686)
* Enhance also format_duration(): work on integers and rounds towards
+infinity (math.ceil).
* Write unit tests on format_duration()
Jaysinh Shukla [Thu, 14 Jun 2018 07:05:35 +0000 (12:35 +0530)]
bpo-19382: Adding test cases for module tabnanny (GH-851)
Testing strategy: whitebox.
Eric Snow [Wed, 13 Jun 2018 14:02:39 +0000 (08:02 -0600)]
bpo-33615: Re-enable subinterpreter tests. (#7552)
All the subinterpreter tests were disabled in gh-7513. This commit re-enables them, but leaves one bad test disabled. The test is partly causing problems because it makes assumptions about the availability of a high-level interpreters module (see PEP 554). So I'm disabling the test until such a high-level module is available.
Zackery Spytz [Wed, 13 Jun 2018 09:09:31 +0000 (03:09 -0600)]
bpo-31378: Document sqlite3.OperationalError exception (GH-7677)
Xiang Zhang [Wed, 13 Jun 2018 01:42:44 +0000 (09:42 +0800)]
bpo-33828: Add missing versionchanged note for string.Formatter. (GH-7668)
string.Formatter auto-numbering feature was added in 3.4 and there
is no versionchanged note in its documentation, making the documentation
ambiguous about which version the feature is available.
Steve Dower [Tue, 12 Jun 2018 21:35:11 +0000 (14:35 -0700)]
Fixes upload script to always run commands even when previous ones fail (GH-7670)
Giampaolo Rodola [Tue, 12 Jun 2018 21:04:50 +0000 (23:04 +0200)]
bpo-33671: efficient zero-copy for shutil.copy* functions (Linux, OSX and Win) (#7160)
* have shutil.copyfileobj use sendfile() if possible
* refactoring: use ctx manager
* add test with non-regular file obj
* emulate case where file size can't be determined
* reference _copyfileobj_sendfile directly
* add test for offset() at certain position
* add test for empty file
* add test for non regular file dst
* small refactoring
* leave copyfileobj() alone in order to not introduce any incompatibility
* minor refactoring
* remove old test
* update docstring
* update docstring; rename exception class
* detect platforms which only support file to socket zero copy
* don't run test on platforms where file-to-file zero copy is not supported
* use tempfiles
* reset verbosity
* add test for smaller chunks
* add big file size test
* add comment
* update doc
* update whatsnew doc
* update doc
* catch Exception
* remove unused import
* add test case for error on second sendfile() call
* turn docstring into comment
* add one more test
* update comment
* add Misc/NEWS entry
* get rid of COPY_BUFSIZE; it belongs to another PR
* update doc
* expose posix._fcopyfile() for OSX
* merge from linux branch
* merge from linux branch
* expose fcopyfile
* arg clinic for the win implementation
* convert path type to path_t
* expose CopyFileW
* fix windows tests
* release GIL
* minor refactoring
* update doc
* update comment
* update docstrings
* rename functions
* rename test classes
* update doc
* update doc
* update docstrings and comments
* avoid do import nt|posix modules if unnecessary
* set nt|posix modules to None if not available
* micro speedup
* update description
* add doc note
* use better wording in doc
* rename function using 'fastcopy' prefix instead of 'zerocopy'
* use :ref: in rst doc
* change wording in doc
* add test to make sure sendfile() doesn't get called aymore in case it doesn't support file to file copies
* move CopyFileW in _winapi and actually expose CopyFileExW instead
* fix line endings
* add tests for mode bits
* add docstring
* remove test file mode class; let's keep it for later when Istart addressing OSX fcopyfile() specific copies
* update doc to reflect new changes
* update doc
* adjust tests on win
* fix argument clinic error
* update doc
* OSX: expose copyfile(3) instead of fcopyfile(3); also expose flags arg to python
* osx / copyfile: use path_t instead of char
* do not set dst name in the OSError exception in order to remain consistent with platforms which cannot do that (e.g. linux)
* add same file test
* add test for same file
* have osx copyfile() pre-emptively check if src and dst are the same, otherwise it will return immedialtey and src file content gets deleted
* turn PermissionError into appropriate SameFileError
* expose ERROR_SHARING_VIOLATION in order to raise more appropriate SameFileError
* honour follow_symlinks arg when using CopyFileEx
* update Misc/NEWS
* expose CreateDirectoryEx mock
* change C type
* CreateDirectoryExW actual implementation
* provide specific makedirs() implementation for win
* fix typo
* skeleton for SetNamedSecurityInfo
* get security info for src path
* finally set security attrs
* add unit tests
* mimick os.makedirs() behavior and raise if dst dir exists
* set 2 paths for OSError object
* set 2 paths for OSError object
* expand windows test
* in case of exception on os.sendfile() set filename and filename2 exception attributes
* set 2 filenames (src, dst) for OSError in case copyfile() fails on OSX
* update doc
* do not use CreateDirectoryEx() in copytree() if source dir is a symlink (breaks test_copytree_symlink_dir); instead just create a plain dir and remain consistent with POSIX implementation
* use bytearray() and readinto()
* use memoryview() with bytearray()
* refactoring + introduce a new _fastcopy_binfileobj() fun
* remove CopyFileEx and other C wrappers
* remove code related to CopyFileEx
* Recognize binary files in copyfileobj()
...and use fastest _fastcopy_binfileobj() when possible
* set 1MB copy bufsize on win; also add a global _COPY_BUFSIZE variable
* use ctx manager for memoryview()
* update doc
* remove outdated doc
* remove last CopyFileEx remnants
* OSX - use fcopyfile(3) instead of copyfile(3)
...as an extra safety measure: in case src/dst are "exotic" files (non
regular or living on a network fs etc.) we better fail on open() instead
of copyfile(3) as we're not quite sure what's gonna happen in that
case.
* update doc
Cheryl Sabella [Tue, 12 Jun 2018 20:37:51 +0000 (16:37 -0400)]
bpo-32108: Don't clear configparser values if key is assigned to itself (GH-7588)
Tal Einat [Tue, 12 Jun 2018 12:46:22 +0000 (15:46 +0300)]
bpo-27397: Make email module properly handle invalid-length base64 strings (#7583)
When attempting to base64-decode a payload of invalid length (1 mod 4),
properly recognize and handle it. The given data will be returned as-is,
i.e. not decoded, along with a new defect, InvalidBase64LengthDefect.
Ned Deily [Tue, 12 Jun 2018 08:51:38 +0000 (04:51 -0400)]
Fix nested list in 3.7 What's New (GH-7659)
Ned Deily [Tue, 12 Jun 2018 03:20:34 +0000 (23:20 -0400)]
bpo-25612: Add minimal What's New in 3.7 entry (GH-7656)
Zackery Spytz [Tue, 12 Jun 2018 03:16:18 +0000 (21:16 -0600)]
bpo-33582: Remove duplicate space in inspect.formatargspec() deprecation warning (GH-7655)
Ned Deily [Tue, 12 Jun 2018 02:38:03 +0000 (22:38 -0400)]
Update macOS installer Welcome and ReadMe files for 3.7.0. (GH-7653)
Ned Deily [Tue, 12 Jun 2018 00:26:28 +0000 (20:26 -0400)]
bpo-31432: Revert unrelated code changes to _ssl.c and test_ssl (GH-7650)
Christian Heimes [Mon, 11 Jun 2018 22:59:45 +0000 (00:59 +0200)]
bpo-31432: Clarify ssl CERT_NONE/OPTIONAL/REQUIRED docs. (GH-3530)
The documentation for CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED were
misleading and partly wrong. It fails to explain that OpenSSL behaves
differently in client and server mode. Also OpenSSL does validate the
cert chain everytime. With SSL_VERIFY_NONE a validation error is not
fatal in client mode and does not request a client cert in server mode.
Also discourage people from using CERT_OPTIONAL in client mode.
Terry Jan Reedy [Mon, 11 Jun 2018 20:53:41 +0000 (16:53 -0400)]
bpo-33656: Mention color in idlelib/NEWS.txt entry. (#7646)
Matthias Bussonnier [Mon, 11 Jun 2018 20:08:16 +0000 (22:08 +0200)]
bpo-33582: Emit deprecation warning for `formatargspec` (GH-6994)
Terry Jan Reedy [Mon, 11 Jun 2018 19:45:27 +0000 (15:45 -0400)]
bpo-33656: Add enum name for argument of Windows call. (GH-7642)
Change suggested by Eryk Sun in a comment on PR 7137 after it was merged.
Terry Jan Reedy [Mon, 11 Jun 2018 18:15:37 +0000 (14:15 -0400)]
bpo-33656: Add entry to What's New 3.7. (GH-7638)
This is a separate PR because this does not backport to 3.6.
Terry Jan Reedy [Mon, 11 Jun 2018 18:14:32 +0000 (14:14 -0400)]
bpo-33656: On Windows, add API call saying that tk scales for DPI (GH-7137)
On Windows 8.1+ or 10, with DPI compatibility properties of the Python binary
unchanged, and a monitor resolution greater than 96 DPI, this should
make text and lines sharper. It should otherwise have no effect.
Using a magnifier, I determined that the improvement comes from horizontal and
lines being better lined up with the monitor pixels. I checked that this call causes
no problem on any Windows buildbot, including the Win7 buildbots. Unlike most
IDLE patches, this one can be easily reverted by users by removing a few lines,
at the top of idlelib/pyshell.py.
Andrés Delfino [Mon, 11 Jun 2018 16:58:18 +0000 (13:58 -0300)]
bpo-33831: Make htmlview run again (GH-7628)
Zackery Spytz [Mon, 11 Jun 2018 14:47:47 +0000 (08:47 -0600)]
bpo-30820: Remove incorrect docs for email.contentmanager.raw_data_manager (#7631)
The docs claimed that a list of EmailMessage objects could be
passed to set_content(), but this was never implemented.
Serhiy Storchaka [Mon, 11 Jun 2018 12:01:47 +0000 (15:01 +0300)]
Clean up after bpo-33738. (GH-7627)
* Add declarations even if they are overridden by macros.
* Make the declaration and the definition of PyExceptionClass_Name
consistent.
Ned Deily [Mon, 11 Jun 2018 08:09:34 +0000 (04:09 -0400)]
bpo-23404: Update/sync What's New files for 3.6/3.5/2.7 (GH-7620)
Ned Deily [Mon, 11 Jun 2018 04:45:50 +0000 (00:45 -0400)]
pypi.python.org -> pypi.org (GH-7613)
Ned Deily [Mon, 11 Jun 2018 02:41:09 +0000 (22:41 -0400)]
bpo-33745: Add What's New for empty function docstring change. (GH-7611)
Ned Deily [Mon, 11 Jun 2018 02:17:56 +0000 (22:17 -0400)]
bpo-33109: Remove now-obsolete What's New entry for bpo-26510. (GH-7609)
Steve Weber [Mon, 11 Jun 2018 00:49:34 +0000 (20:49 -0400)]
bpo-30167: Prevent site.main() exception if PYTHONSTARTUP is set. (GH-6731)
Before Python 3.6, os.path.abspath(None) used to report an AttributeError which was properly caught inside site.abs_paths, making it ignore __main__, one of sys.modules, which has __file__ and __cached__ set to None. With 3.6, os.path.abspath(None) raises TypeError instead which site.abs_path was not expecting. This resulted in an uncaught exception if a user had PYTHONSTARTUP set and the application called site.main() which a number of third-party programs do.
Christian Tismer [Sun, 10 Jun 2018 22:48:28 +0000 (00:48 +0200)]
bpo-33738: Address review comments in GH #7477 (GH-7585)
Alexander Belopolsky [Sun, 10 Jun 2018 21:02:58 +0000 (17:02 -0400)]
bpo-33812: Corrected astimezone for naive datetimes. (GH-7578)
A datetime object d is aware if d.tzinfo is not None and
d.tzinfo.utcoffset(d) does not return None. If d.tzinfo is None,
or if d.tzinfo is not None but d.tzinfo.utcoffset(d) returns None,
d is naive.
This commit ensures that instances with non-None d.tzinfo, but
d.tzinfo.utcoffset(d) returning None are treated as naive.
In addition, C acceleration code will raise TypeError if
d.tzinfo.utcoffset(d) returns an object with the type other than
timedelta.
* Updated the documentation.
Assume that the term "naive" is defined elsewhere and remove the
not entirely correct clarification. Thanks, Tim.
Terry Jan Reedy [Sun, 10 Jun 2018 19:48:41 +0000 (15:48 -0400)]
bpo-33610: Update IDLE Code Context doc entry (GH-7597)
Users can now click on context lines.
Terry Jan Reedy [Sun, 10 Jun 2018 18:57:38 +0000 (14:57 -0400)]
bpo-33820: Fix IDLE What's New typo (#7594)
Terry Jan Reedy [Sun, 10 Jun 2018 18:15:04 +0000 (14:15 -0400)]
bpo-33821: Update idlelib subsection of What's New 3.7 (#7590)
Terry Jan Reedy [Sun, 10 Jun 2018 18:03:40 +0000 (14:03 -0400)]
bpo-33820: Update idlelib subsection of What's New 3.6 (GH-7589)
Zackery Spytz [Sun, 10 Jun 2018 07:28:01 +0000 (01:28 -0600)]
Remove unneeded PyErr_Occurred() check in os_lseek_impl() (GH-7557)
This call became unneeded after the posix module was converted to the
Argument Clinic in
2f93635d342a500053e97c9c7c30f1eaf11fc3ac and should
have been removed as part of that change.
Tal Einat [Sun, 10 Jun 2018 07:10:28 +0000 (10:10 +0300)]
bpo-33748: fix tests altering sys.path and sys.modules (GH-7433)
Tal Einat [Sun, 10 Jun 2018 07:01:50 +0000 (10:01 +0300)]
bpo-33770: improve base64 exception message for encoded inputs of invalid length (#7416)
Serhiy Storchaka [Sun, 10 Jun 2018 06:46:50 +0000 (09:46 +0300)]
Fix spaces added after hyphens in news entries. (GH-7579)
Seems they were added by double applying blurb.
Andrés Delfino [Sun, 10 Jun 2018 01:43:45 +0000 (22:43 -0300)]
Remove hyphens from phrase "picks up where it left off" (GH-7410)
Andrés Delfino [Sun, 10 Jun 2018 00:41:09 +0000 (21:41 -0300)]
Fix typo in object.__getnewargs__() documentation (GH-7554)
Ammar Askar [Sat, 9 Jun 2018 23:49:39 +0000 (16:49 -0700)]
bpo-33766: Document that end of file or string is a newline (GH-7383)
MarcoFalke [Sat, 9 Jun 2018 23:09:13 +0000 (19:09 -0400)]
doc: Fix typo in asyncio-eventloop.rst (GH-7345)
This is a fixup to
19a44f63c738388ef3c8515348b4ffc061dfd627
Ned Deily [Sat, 9 Jun 2018 22:19:57 +0000 (18:19 -0400)]
bpo-32493: Correct test for uuid_enc_be availability in configure.ac. (GH-7511) (GH-7567)
Christian Tismer [Sat, 9 Jun 2018 18:32:25 +0000 (20:32 +0200)]
bpo-33738: Fix macros which contradict PEP 384 (GH-7477)
During development of the limited API support for PySide,
we saw an error in a macro that accessed a type field.
This patch fixes the 7 errors in the Python headers.
Macros which were not written as capitals were implemented
as function.
To do the necessary analysis again, a script was included that
parses all headers and looks for "->tp_" in serctions which can
be reached with active limited API.
It is easily possible to call this script as a test.
Error listing:
../../Include/objimpl.h:243
#define PyObject_IS_GC(o) (PyType_IS_GC(Py_TYPE(o)) && \
(Py_TYPE(o)->tp_is_gc == NULL || Py_TYPE(o)->tp_is_gc(o)))
Action: commented only
../../Include/objimpl.h:362
#define PyType_SUPPORTS_WEAKREFS(t) ((t)->tp_weaklistoffset > 0)
Action: commented only
../../Include/objimpl.h:364
#define PyObject_GET_WEAKREFS_LISTPTR(o) \
((PyObject **) (((char *) (o)) + Py_TYPE(o)->tp_weaklistoffset))
Action: commented only
../../Include/pyerrors.h:143
#define PyExceptionClass_Name(x) \
((char *)(((PyTypeObject*)(x))->tp_name))
Action: implemented function
../../Include/abstract.h:593
#define PyIter_Check(obj) \
((obj)->ob_type->tp_iternext != NULL && \
(obj)->ob_type->tp_iternext != &_PyObject_NextNotImplemented)
Action: implemented function
../../Include/abstract.h:713
#define PyIndex_Check(obj) \
((obj)->ob_type->tp_as_number != NULL && \
(obj)->ob_type->tp_as_number->nb_index != NULL)
Action: implemented function
../../Include/abstract.h:924
#define PySequence_ITEM(o, i)\
( Py_TYPE(o)->tp_as_sequence->sq_item(o, i) )
Action: commented only
Zackery Spytz [Sat, 9 Jun 2018 17:09:45 +0000 (11:09 -0600)]
bpo-33375: Fix GCC warning in Python/_warnings.c (GH-7556)
_Py_IDENTIFIER(argv) is now unused.
Nick Coghlan [Sat, 9 Jun 2018 06:54:08 +0000 (16:54 +1000)]
bpo-33409: Clarify PEP 538/540 relationship (GH-7534)
While locale coercion and UTF-8 mode turned out to
be complementary ideas rather than competing ones,
it isn't immediately obvious why it's useful to
have both, or how they interact at runtime.
This updates both the Python 3.7 What's New doc
and the PYTHONCOERCECLOCALE and PYTHONUTF8
documentation in an attempt to clarify that
relationship:
- in the respective What's New sections, add a closing paragraph
explaining which problem each one solves, and pointing to the
other PEP's section for the specific aspects it relies on the other
PEP to solve
- use "locale-aware mode" as a more descriptive term for the
default non-UTF-8 mode
- improve wording conistenccy between the PYTHONCOERCECLOCALE
and PYTHONUTF8 docs when they cover the same thing (mostly
related to legacy locale detection and setting the standard
stream error handler)
- improve the description of the locale coercion trigger conditions
(including pointing out that setting LC_ALL turns off locale coercion)
- port the full description of the UTF-8 mode behaviour changes
from PEP 540 into the PYTHONUTF8 documentation
- be explicit that PYTHONIOENCODING still overrides the settings
for the standard streams
- mention concrete examples of things that do and don't get their
text encoding assumptions adjusted by the two text encoding
assumption override techniques