[Distutils] setup.py sdist hangs on windows with 1.6 and 2.0b1
Greg Ward
gward@python.net
Sun Sep 17 20:40:01 2000
On 13 September 2000, Thomas Heller said:
> This may not be directly related to distutils,
> it may also be a bug in 1.6 and 2.0b1 re implementation.
>
> 'setup.py sdist' with the current distutils CVS version
> hangs while parsing MANIFEST.in,
> executing the re.sub command in these lines in text_file.py:
>
> # collapse internal whitespace (*after* joining lines!)
> if self.collapse_ws:
> line = re.sub (r'(\S)\s+(\S)', r'\1 \2', line)
That was a very suboptimal use of regex substitution; I discovered (and
fixed) this several months ago in the version of text_file.py we use at
work, but forgot to propagate the change to the distutils version.
Coincidentally, I finally got around to doing that this weekend:
revision 1.10
date: 2000/09/16 18:04:55; author: gward; state: Exp; lines: +31 -27
[change from 2000/04/17, propagating now to distutils copy]
Dropped the 'collapse_ws' option and replaced it with 'collapse_join' --
it's *much* faster (no 're.sub()') and this is the reason I really added
'collapse_ws', ie. to remove leading whitespace from a line being joined
to the previous line.
So this problem should no longer be there.
However, if the sre engine really did *hang* (whereas pcre was just
slow), that might be an sre bug.
[...a few moments pass...]
Yep, you're right: if I do this single, simple regex substitution with
Python 2.0, it hangs. I've submitted a bug to SourceForge -- thanks!
Greg