sympy/sympy — pull request #1037 by smichr (2012-02-09 04:04:12+00:00)
Title: 3050: content removal defers break for 1 iteration

When the domain is QQ we should not break from content
extraction if the first term leads to a 1 for content since
the next term may change that:

>>> g = 0
>>> for i in [1,S.Half]:
... g = gcd(g, i)
... print g
...
1
1/2

So now anywhere there was a is_one(cont) appearing in polys,
if it was in a loop, an enumeration is used and the break
only occurs if i > 0. One known failing example was added, but
if the other loops are every traversed with domain QQ and similar
coefficients, similar failure will be avoided.

see http://code.google.com/p/sympy/issues/detail?id=3050