From d26d5383735d900c38cc6ce8dda2d297201be2ab Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tarek=20Ziad=C3=A9?= Date: Sun, 6 Dec 2009 09:30:47 +0000 Subject: [PATCH] Merged revisions 76686 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r76686 | tarek.ziade | 2009-12-06 10:28:17 +0100 (Sun, 06 Dec 2009) | 9 lines Merged revisions 76684 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r76684 | tarek.ziade | 2009-12-06 10:22:40 +0100 (Sun, 06 Dec 2009) | 1 line Fixed #1923: make sure we don't strip meaningful whitespace in PKG-INFO Description field ........ ................ --- Lib/distutils/tests/test_dist.py | 16 ++++++++++++++++ Lib/distutils/util.py | 4 ++-- Misc/NEWS | 3 +++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Lib/distutils/tests/test_dist.py b/Lib/distutils/tests/test_dist.py index 5f96b97f9e..3b7637f3af 100644 --- a/Lib/distutils/tests/test_dist.py +++ b/Lib/distutils/tests/test_dist.py @@ -5,6 +5,7 @@ import io import sys import unittest import warnings +import textwrap from distutils.dist import Distribution, fix_help_options from distutils.cmd import Command @@ -301,6 +302,21 @@ class MetadataTestCase(support.TempdirManager, support.EnvironGuard, if line.strip() != ''] self.assertTrue(len(output) > 0) + def test_long_description(self): + long_desc = textwrap.dedent("""\ + example:: + We start here + and continue here + and end here.""") + attrs = {"name": "package", + "version": "1.0", + "long_description": long_desc} + + dist = Distribution(attrs) + meta = self.format_metadata(dist) + meta = meta.replace('\n' + 8 * ' ', '\n') + self.assertTrue(long_desc in meta) + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(DistributionTestCase)) diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py index 4bc4c98413..50ad8fef98 100644 --- a/Lib/distutils/util.py +++ b/Lib/distutils/util.py @@ -557,8 +557,8 @@ def rfc822_escape (header): """Return a version of the string escaped for inclusion in an RFC-822 header, by ensuring there are 8 spaces space after each newline. """ - lines = [x.strip() for x in header.split('\n')] - sep = '\n' + 8*' ' + lines = header.split('\n') + sep = '\n' + 8 * ' ' return sep.join(lines) # 2to3 support diff --git a/Misc/NEWS b/Misc/NEWS index 00a9add531..39ed84bb54 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -55,6 +55,9 @@ Core and Builtins Library ------- +- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is + generated in Distutils. Patch by Stephen Emslie. + - Issue #4120: Drop reference to CRT from manifest when building extensions with msvc9compiler. -- 2.50.0