The public names (Thread, Condition, etc.) used to be factory functions
returning instances of hidden classes (_Thread, _Condition, etc.),
because (if Guido recalls correctly) this code pre-dates the ability to
subclass extension types.
It is now possible to inherit from Thread and other classes, without
having to import the private underscored names like multiprocessing did.
A doc update will follow: a patch is under discussion on the issue.
Add shlex.quote function, to escape filenames and command lines (#9723).
This function used to live as pipes.quote, where it was undocumented but
used anyway. (An alias still exists for backward compatibility.) The
tests have been moved as is, but the code of the function was changed to
use a regex instead of a loop with string comparisons (at Ian Bicking’s
suggestion). I’m terrible at regexes, so any feedback is welcome.
Jason R. Coombs [Tue, 26 Jul 2011 15:57:08 +0000 (11:57 -0400)]
Merge with 3.2 Issue #10639: reindent.py should not convert newlines.
reindent.py now will use the newline detected in the original file and will report an error if mixed newlines are encountered.
Jason R. Coombs [Tue, 26 Jul 2011 15:18:40 +0000 (11:18 -0400)]
Fixes #10639: reindent.py should not convert newlines
reindent.py now will use the newline detected in the original file and will report an error if mixed newlines are encountered.
Antoine Pitrou [Sat, 23 Jul 2011 20:37:52 +0000 (22:37 +0200)]
Issue #12624: It is now possible to fail after the first failure when
running in verbose mode (`-v` or `-W`), by using the `--failfast`
(or `-G`) option to regrtest. This is useful with long test suites
such as test_io or test_subprocess.
Antoine Pitrou [Sat, 23 Jul 2011 20:33:39 +0000 (22:33 +0200)]
Issue #12624: It is now possible to fail after the first failure when
running in verbose mode (`-v` or `-W`), by using the `--failfast`
(or `-G`) option to regrtest. This is useful with long test suites
such as test_io or test_subprocess.
Antoine Pitrou [Sat, 23 Jul 2011 19:50:21 +0000 (21:50 +0200)]
Issue #12591: Allow io.TextIOWrapper to work with raw IO objects (without
a read1() method), and add a *write_through* parameter to
mandate unbuffered writes.
Antoine Pitrou [Sat, 23 Jul 2011 19:46:35 +0000 (21:46 +0200)]
Issue #12591: Allow io.TextIOWrapper to work with raw IO objects (without
a read1() method), and add an undocumented *write_through* parameter to
mandate unbuffered writes.
Merge: #10883: Fix socket leaks in urllib.request.
* ftpwrapper now uses reference counting to ensure that the underlying socket
is closed when the ftpwrapper object is no longer in use
* ftplib.FTP.ntransfercmd() now closes the socket if an error occurs
* ftpwrapper now uses reference counting to ensure that the underlying socket
is closed when the ftpwrapper object is no longer in use
* ftplib.FTP.ntransfercmd() now closes the socket if an error occurs
Antoine Pitrou [Wed, 20 Jul 2011 23:11:30 +0000 (01:11 +0200)]
Issue #12551: Provide a get_channel_binding() method on SSL sockets so as
to get channel binding data for the current SSL session (only the
"tls-unique" channel binding is implemented). This allows the
implementation of certain authentication mechanisms such as SCRAM-SHA-1-PLUS.
Barry Warsaw [Tue, 19 Jul 2011 23:23:56 +0000 (19:23 -0400)]
- Issue #10309: Define _GNU_SOURCE so that mremap() gets the proper
signature. Without this, architectures where sizeof void* != sizeof int are
broken. Patch given by Hallvard B Furuseth.
Barry Warsaw [Tue, 19 Jul 2011 22:28:30 +0000 (18:28 -0400)]
- Issue #10309: Define _GNU_SOURCE so that mremap() gets the proper
signature. Without this, architectures where sizeof void* != sizeof int are
broken. Patch given by Hallvard B Furuseth.
R David Murray [Tue, 19 Jul 2011 01:59:53 +0000 (21:59 -0400)]
#7484: simplify quoteaddr: if parseaddr throws an error it is a bug.
As far as I can tell, the try/except was ancient code, from before the email
package rewrite where the philosophy of never throwing parsing errors was
adopted.
R David Murray [Tue, 19 Jul 2011 01:38:54 +0000 (21:38 -0400)]
#7484: no more <> around addresses in VRFY or EXPN
The RFC doesn't say that they are allowed; apparently many mailers accept
them, but not postfix. Contributions to this patch were made by Felipe Cruz
and Catalin Iacob.
The changeset also adds additional indirect tests for quoteaddr (null address
and IDNA-encoded address).
Make warnings accept a callable for showwarnings instead of
restricting itself to just functions and methods (which allows
built-in functions to be used, etc.).
Closes issue #10271. Thanks to lekma for the bug report.