From df872d47d90ee61633d36d4d308457238889e887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tarek=20Ziad=C3=A9?= Date: Sun, 6 Dec 2009 09:28:17 +0000 Subject: [PATCH] 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 b1b184ea185..0e7d532df01 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 @@ -353,6 +354,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 = distutils.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 a50621e3f47..cca7b49f5e4 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) _RE_VERSION = re.compile(b'(\d+\.\d+(\.\d+)*)') diff --git a/Misc/NEWS b/Misc/NEWS index 06075e99a81..0f524a52bac 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -154,6 +154,9 @@ C-API 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.