Barry Warsaw [Thu, 30 Aug 2007 14:28:55 +0000 (14:28 +0000)]
More email package related repairs. This fixes smtplib's import and use of
email.base64mime, but test_smtplib still has failures for me. They are
timeout errors so think they're more related to my current wacky network setup
than bugs remaining in the code related to the email package.
This also r57693 that got clobbered with the sandbox sync, and fixes a couple
of other minor problems that cropped up. I will kill the sandbox branch next.
Guido van Rossum [Thu, 30 Aug 2007 03:46:43 +0000 (03:46 +0000)]
Oops. I copied a slightly older version of the email package from the sandbox.
This should restore the email package in the py3k branch to exactly what's in
the sandbox.
This wipes out 1-2 fixes made post-copy, which I'll re-apply shortly.
Guido van Rossum [Wed, 29 Aug 2007 20:39:13 +0000 (20:39 +0000)]
[Oops, I forgot half of the patch.]
Patch # 1050 by Amaury Forgeot d'Arc.
On Windows, debug builds insert stack probes, and recursive functions
tend to exhaust the stack faster.
This patch reduces the marshal maximum depth from 2000 to 1500 for debug
builds only. Optimized builds are not affected.
This allows test_marshal to pass with debug builds.
Guido van Rossum [Wed, 29 Aug 2007 18:44:54 +0000 (18:44 +0000)]
Patch # 1050 by Amaury Forgeot d'Arc.
On Windows, debug builds insert stack probes, and recursive functions
tend to exhaust the stack faster.
This patch reduces the marshal maximum depth from 2000 to 1500 for debug
builds only. Optimized builds are not affected.
This allows test_marshal to pass with debug builds.
Guido van Rossum [Wed, 29 Aug 2007 18:42:15 +0000 (18:42 +0000)]
Patch # 1048 by Amaury Forgeot d'Arc.
test_float crashes on Windows, because the %zd format is used in a call
to PyOS_snprintf().
The attached patch properly uses PY_FORMAT_SIZE_T.
Guido van Rossum [Wed, 29 Aug 2007 18:38:11 +0000 (18:38 +0000)]
Three patches from issue #1047, by Amaury Forgeot d'Arc:
1/ getargs.diff adds the 'Z' and 'Z#' format specifiers for
PyArg_ParseTuple. They mimic z and z# for unicode strings, by accepting
a Unicode or None (in which case the Py_UNICODE* pointer is set to
NULL). With doc and tests.
2/ subprocess.diff converts file PC/_subprocess.c to unicode. We use the
Unicode version of the win32 api (and Z conversion from previous patch)
3/ stdout.diff: sys.stdout must not convert the line endings, Windows
already does it.
Without this patch, when redirecting the output of python, the file
contains \r\r\n for each line. (test_subprocess did catch this)
However, I (GvR) removed the change to _fileio.c (included in the
patches) that prevents closing file descripors < 3 from being closed;
I think that needs to be solved in a different way.
Guido van Rossum [Wed, 29 Aug 2007 13:53:23 +0000 (13:53 +0000)]
Add PyUnicode_AsStringAndSize(), which is like PyUnicode_AsString() but
has an extra (optional) output parameter through which it returns the size.
Use this in a few places where I used PyUnicode_AsString() + strlen(),
and in one new place (which fixes test_pep263).
Eric Smith [Wed, 29 Aug 2007 12:38:45 +0000 (12:38 +0000)]
Added conditional compilation for '()', which was an allowed sign code in a
previous version of PEP 3101. It's currently not compiled in, but I want to
leave it because it might be useful in the future and it makes
calc_number_widths() clearer. It justifies NumberFieldWidths.rsign
and .n__rsign.
Guido van Rossum [Wed, 29 Aug 2007 04:05:57 +0000 (04:05 +0000)]
Commit strict str/bytes distinction.
From now on, trying to write str to a binary stream
is an error (I'm still working on the reverse).
There are still (at least) two failing tests:
- test_asynchat
- test_urllib2_localnet
but I'm sure these will be fixed by someone.