Nick Coghlan [Sat, 25 Feb 2017 08:40:07 +0000 (18:40 +1000)]
bpo-29644: suppress subprocess output from webbrowser (#289)
When checking for the default X web browser, xdg-settings
may emit messages on stderr if some components (such as
kreadconfig5) are unavailable. These messages aren't of
interest to Python, so we just ignore them.
- Add 'preferred' argument to webbrowser.register
- Use xdg-settings to specify preferred X browser
The first change replaces the existing undocumented tri-state
'try_order' parameter with the documented boolean keyword-only
'preferred' parameter. Setting it to True places the browser at the
front of the list, preferring it as the return to a subsequent get() call.
The second change adds a private `_os_preferred_browser` setting
and then uses that to make the default browser reported by
`xdg-settings` first in the try list when running under X (or
another environment that sets the `DISPLAY` variable).
This avoids the problem where the first entry in the tryorder
queue otherwise defaults to xdg-open, which doesn't support
the "new window" option.
INADA Naoki [Thu, 23 Feb 2017 17:48:17 +0000 (02:48 +0900)]
bpo-29622: Make AST constructor to accept less than enough number of positional arguments (GH-249)
bpo-29463 added optional "docstring" field to 4 AST types.
While it is optional, it breaks backward compatibility because AST constructor
requires number of positional argument is same to number of fields.
AST types accepts empty arguments, and incomplete keyword arguments.
But it's not big problem because field can be filled after creation, and checked when compiling.
So stop requiring complete set of fields for positional arguments too.
Martijn Pieters [Thu, 23 Feb 2017 13:38:04 +0000 (13:38 +0000)]
bpo-28598: Support __rmod__ for RHS subclasses of str in % string formatting operations (#51)
When you use `'%s' % SubClassOfStr()`, where `SubClassOfStr.__rmod__` exists, the reverse operation is ignored as normally such string formatting operations use the `PyUnicode_Format()` fast path. This patch tests for subclasses of `str` first and picks the slow path in that case.
Christian Heimes [Wed, 22 Feb 2017 11:12:00 +0000 (12:12 +0100)]
Add sockaddr_alg to sock_addr_t (#234)
sock_addr_t is used to define the minimum size of any socket address on
the stack. Let's make sure that an AF_ALG address always fits. Coverity
complains because in theory, AF_ALG might be larger than any of the other
structs. In practice it already fits.
> inspect.getargvalues() and inspect.formatargvalues() were deprecated
> in Python 3.5 as part of implementing bpo-20438
> This is incorrect, as these are *frame* introspection related functions,
> not callable introspection ones. The documentation and implementation
> layout is confusing though, as they're interleaved with the callable
> introspection operation
This commit undeprecates these functions and adds a note to ignore
previous deprecation notices.
bpo-29453: Remove reference to undefined dictionary ordering in Tutorial (GH-140)
As of Python 3.6 **kwargs are ordered, thus, remove the paragraph stating that
ordering is undefined and change snippet to remove the unecessary sorted call.
* Add sentence mentioning guaranteed output order of kwargs
Vinay Sajip [Mon, 20 Feb 2017 00:16:33 +0000 (00:16 +0000)]
Fixed bpo-29565: Corrected ctypes passing of large structs by value on Windows AMD64. (#168)
* Fixed bpo-29565: Corrected ctypes passing of large structs by value.
Added code and test to check that when a structure passed by value
is large enough to need to be passed by reference, a copy of the
original structure is passed. The callee updates the passed-in value,
and the test verifies that the caller's copy is unchanged. A similar
change was also added to the test added for bpo-20160 (that test was
passing, but the changes should guard against regressions).
Nick Coghlan [Sat, 18 Feb 2017 09:31:22 +0000 (15:01 +0530)]
bpo-29571: Use correct locale encoding in test_re (#149)
``local.getlocale(locale.LC_CTYPE)`` and
``locale.getpreferredencoding(False)`` may give different answers
in some cases (such as the ``en_IN`` locale).
``re.LOCALE`` uses the latter, so update the test case to match.
Eric Appelt [Thu, 16 Feb 2017 10:00:45 +0000 (05:00 -0500)]
bpo-29026: Clarify documentation of time.time (#34)
* bpo-29026: Clarity documentation of time.time
Clarify the documentation of time.time by more
precisely defining what is meant by "seconds since
the epoch" on most platforms. Additionally explain
how gmtime and localtime may be used to extract
calendar components and convert to a more common
date format.
bltinmodule.c: Added in b744ba1 and no longer necessary since d64e8a7
posixmodule.c: Added in d1cd4d4 and no longer necessary since efb00c0
pythonrun.c: Added in 73d538b and no longer necessary since d600951
sysmodule.c: Added in 5467d4c and no longer necessary since a2c17c5
Zachary Ware [Wed, 15 Feb 2017 22:18:03 +0000 (16:18 -0600)]
More Travis docs build tweaks (GH-113)
- Return to always building the docs, it's a relatively cheap operation,
the check had a bug, and the docs build depends on other files.
- Add `make suspicious`
- Do all three checks as one `make check suspicious html` invocation for
earliest possible exit in case of issues.
Donald Stufft [Wed, 15 Feb 2017 01:21:32 +0000 (20:21 -0500)]
Only run Travis tests on master and X.Y branches (GH-102)
If someone pushes a branch to python/cpython and then creates a PR
it will cause Travis to run tests needlessly, once for the PR and
once for the push. This will limit the branches that Travis will
run tests for to the `master` branch and branches that match the regex
`^\d\.\d$`.
This will have the effect that if someone purposely makes another branch
they won't get tests to run, but in that rare case they can adjust this
themselves.
David Wilemski [Tue, 14 Feb 2017 22:37:49 +0000 (14:37 -0800)]
bpo-29557: Remove ambiguous line in binhex docs (#90)
"appears to not work in all cases" does not inspire confidence in this
module. I can find no context for what bug this was referencing so it
should be removed.
Victor Stinner [Mon, 13 Feb 2017 15:57:30 +0000 (16:57 +0100)]
Add Travis CI and Codecov badges to README (#70)
Badges are small images which gives the status of the Travis CI and
the coverage percentage of Codecode. It helps to check the status of
the Travis CI and to get the link to Travis CI.
Victor Stinner [Mon, 13 Feb 2017 14:30:05 +0000 (15:30 +0100)]
Travis CI: run rstlint.py in the docs job (#68)
Currently, http://buildbot.python.org/all/buildslaves/ware-docs
buildbot is only run as post-commit. For example, bpo-29521 (PR#41)
introduced two warnings, unnotified by the Travis CI docs job.
Modify the docs job to run toosl/rstlint.py.
Fix also the two minor warnings which causes the buildbot slave to
fail.
Jim DeLaHunt [Mon, 13 Feb 2017 13:57:13 +0000 (05:57 -0800)]
bpo-29521 Fix two minor documentation build warnings (#41)
Much of bpo-29521 was fixed in parallel with commit e7ffb99 . This cleans up the rest.
Apply parallel change to Doc/make.bat to read
"set SPHINXOPTS=-D latex_elements.papersize="
I don't have a Windows system on which to observe the warning,
but it should be necessary.
In the Windows FAQ, `How do I keep editors from inserting tabs
into my Python source?`, contained a reference to a Python -t
option. In Python 2.x, this caused Python to issue warnings
about lines with mixed spaces and tabs, but as of Python 3.6
it does nothing.
Per discussion at http://bugs.python.org/issue29387, take
their wording. Python [3] raises an IndentationError or
TabError. Tabnanny is now a module.
Victor Stinner [Sun, 12 Feb 2017 18:27:05 +0000 (19:27 +0100)]
bpo-29524: Add Objects/call.c file (#12)
* Move all functions to call objects in a new Objects/call.c file.
* Rename fast_function() to _PyFunction_FastCallKeywords().
* Copy null_error() from Objects/abstract.c
* Inline type_error() in call.c to not have to copy it, it was only
called once.
* Export _PyEval_EvalCodeWithName() since it is now called
from call.c.
bpo-27122: Fix comment to point to correct issue number (#47)
It took me quite a bit to figure out what this was referring to,
since the given issue number is wrong, and the original commit
message I found through git blame lists a different, also wrong
issue number... see https://bugs.python.org/issue27122#msg279449
Donald Stufft [Sat, 11 Feb 2017 00:58:34 +0000 (19:58 -0500)]
Fix bpo-29528 Use a secure variable to stop spam (#13)
If the IRC notification is stored in plaintext, then anyone who forks
the repository and also adds it to travis will send notifications to
the IRC channel for their fork by default. Since the secure variable
is encrypted using a repository specific key, this will only work when
it is being built using the correct repository.
Victor Stinner [Fri, 10 Feb 2017 12:32:29 +0000 (13:32 +0100)]
Issue #29465: Add Objects/call.c file
* Move all functions to call objects in a new Objects/call.c file.
* Rename fast_function() to _PyFunction_FastCallKeywords().
* Copy null_error() from Objects/abstract.c
* Inline type_error() in call.c to not have to copy it, it was only
called once.
* Export _PyEval_EvalCodeWithName() since it is now called
from call.c.