Victor Stinner [Tue, 27 Aug 2013 22:53:59 +0000 (00:53 +0200)]
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
"Issue #18408: PyObject_Str(), PyObject_Repr() and type_call() now fail with an
assertion error if they are called with an exception set (PyErr_Occurred()).
As PyEval_EvalFrameEx(), they may clear the current exception and so the caller
looses its exception."
Victor Stinner [Mon, 26 Aug 2013 12:04:10 +0000 (14:04 +0200)]
Issue #18664, #18408: Rewrite PyErr_WriteUnraisable() to handle errors
* Catch PyFile_WriteString() and PyFile_WriteObject() errors
* Clear the current exception on _PyObject_GetAttrId() failure
* Use PyUnicode_CompareWithASCIIString() and PyFile_WriteObject() instead of
_PyUnicode_AsString() and strcmp() to avoid Unicode encoding error. stderr
has a more tolerant error handler than utf-8/strict.
Eli Bendersky [Sun, 25 Aug 2013 22:27:36 +0000 (15:27 -0700)]
Update XMLParser.close documentation and fix formatting.
Using ``method`` markup because the method is on a callback object, not an
explicitly documented method. :meth: markup creates links within the current
class which is incorrect.
R David Murray [Sun, 25 Aug 2013 15:09:02 +0000 (11:09 -0400)]
#16611: BaseCookie now parses 'secure' and 'httponly' flags.
Previously it generated them if they were given a value, but completely
ignored them if they were present in the string passed in to be parsed. Now
if the flag appears on a cookie, the corresponding Morsel key will reference a
True value. Other pre-existing behavior is retained in this maintenance
patch: if the source contains something like 'secure=foo', morsel['secure']
will return 'foo'. Since such a value doesn't round trip and never did (and
would be a surprising occurrence) a subsequent non-bug-fix patch may change
this behavior.
Inspired by a patch from Julien Phalip, who reviewed this one.
Eli Bendersky [Sat, 24 Aug 2013 22:11:44 +0000 (15:11 -0700)]
Clarify the documentation of XMLParser.close
The return value of close() is not always a toplevel element. It depends on
what the underlying target returns. By default, TreeBuilder returns the
toplevel document element.
Brett Cannon [Fri, 23 Aug 2013 14:58:49 +0000 (10:58 -0400)]
Emphasize that people should not override __import__.
With importlib getting used more and more, changing __import__ will
not work as well as people used to hope as it will potentially bypass
importers, etc. It also will not work with importlib.import_module()
as it uses "importlib.__import__" (i.e. importlib's implementation of
import) directly and not builtins.__import__.
Christian Heimes [Thu, 22 Aug 2013 11:19:56 +0000 (13:19 +0200)]
Issue #18747: Use a parent atfork handler instead of a child atfork handler.
fork() is suppose to be async-signal safe but the handler calls unsafe functions. A parent handler mitigates the issue.
Christian Heimes [Thu, 22 Aug 2013 11:19:48 +0000 (13:19 +0200)]
Issue #18747: Use a parent atfork handler instead of a child atfork handler.
fork() is suppose to be async-signal safe but the handler calls unsafe functions. A parent handler mitigates the issue.
R David Murray [Thu, 22 Aug 2013 01:10:31 +0000 (21:10 -0400)]
#18324: set_payload now correctly handles binary input.
This also backs out the previous fixes for for #14360, #1717, and #16564.
Those bugs were actually caused by the fact that set_payload didn't decode to
str, thus rendering the model inconsistent. This fix does mean the data
processed by the encoder functions goes through an extra encode/decode cycle,
but it means the model is always consistent. Future API updates will provide
a better way to encode payloads, which will bypass this minor de-optimization.
Antoine Pitrou [Wed, 21 Aug 2013 22:39:46 +0000 (00:39 +0200)]
Issue #18792: Use "127.0.0.1" or "::1" instead of "localhost" as much as possible, since "localhost" goes through a DNS lookup under recent Windows versions.
Antoine Pitrou [Wed, 21 Aug 2013 22:39:46 +0000 (00:39 +0200)]
Issue #18792: Use "127.0.0.1" or "::1" instead of "localhost" as much as possible, since "localhost" goes through a DNS lookup under recent Windows versions.